SCALE-RM
scale_land_phy_matsiro.F90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
9 !-------------------------------------------------------------------------------
11  !-----------------------------------------------------------------------------
12  !
13  !++ used modules
14  !
15  use scale_precision
16  use scale_stdio
17  use scale_prof
18  use scale_debug
21  !-----------------------------------------------------------------------------
22  implicit none
23  private
24  !-----------------------------------------------------------------------------
25  !
26  !++ Public procedure
27  !
28  public :: land_phy_matsiro_setup
29  public :: land_phy_matsiro
30 
31  !-----------------------------------------------------------------------------
32  !
33  !++ Public parameters & variables
34  !
35  !-----------------------------------------------------------------------------
36  !
37  !++ Private procedure
38  !
39  !-----------------------------------------------------------------------------
40  !
41  !++ Private parameters & variables
42  !
43  !-----------------------------------------------------------------------------
44 contains
45  !-----------------------------------------------------------------------------
47  subroutine land_phy_matsiro_setup( LAND_TYPE )
48  use scale_process, only: &
50  implicit none
51 
52  character(len=*), intent(in) :: LAND_TYPE
53 
54  logical :: dummy
55 
56  namelist / param_land_matsiro / &
57  dummy
58 
59  integer :: ierr
60  !---------------------------------------------------------------------------
61 
62  if( io_l ) write(io_fid_log,*)
63  if( io_l ) write(io_fid_log,*) '++++++ Module[MATSIRO] / Categ[LAND PHY] / Origin[SCALElib]'
64 
65  !--- read namelist
66  rewind(io_fid_conf)
67  read(io_fid_conf,nml=param_land_matsiro,iostat=ierr)
68  if( ierr < 0 ) then !--- missing
69  if( io_l ) write(io_fid_log,*) '*** Not found namelist. Default used.'
70  elseif( ierr > 0 ) then !--- fatal error
71  write(*,*) 'xxx Not appropriate names in namelist PARAM_LAND_MATSIRO. Check!'
72  call prc_mpistop
73  endif
74  if( io_lnml ) write(io_fid_log,nml=param_land_matsiro)
75 
76  return
77  end subroutine land_phy_matsiro_setup
78 
79  !-----------------------------------------------------------------------------
81  subroutine land_phy_matsiro( &
82  LAND_TEMP_t, &
83  LAND_WATER_t, &
84  LAND_TEMP, &
85  LAND_WATER, &
86  LAND_WaterLimit, &
87  LAND_ThermalCond, &
88  LAND_HeatCapacity, &
89  LAND_WaterDiff, &
90  LAND_SFLX_GH, &
91  LAND_SFLX_prec, &
92  LAND_SFLX_evap, &
93  CDZ, &
94  dt )
96  implicit none
97 
98  ! arguments
99  real(RP), intent(out) :: LAND_TEMP_t (lkmax,ia,ja)
100  real(RP), intent(out) :: LAND_WATER_t (lkmax,ia,ja)
101 
102  real(RP), intent(in) :: LAND_TEMP (lkmax,ia,ja)
103  real(RP), intent(in) :: LAND_WATER (lkmax,ia,ja)
104  real(RP), intent(in) :: LAND_WaterLimit (ia,ja)
105  real(RP), intent(in) :: LAND_ThermalCond (ia,ja)
106  real(RP), intent(in) :: LAND_HeatCapacity(ia,ja)
107  real(RP), intent(in) :: LAND_WaterDiff (ia,ja)
108  real(RP), intent(in) :: LAND_SFLX_GH (ia,ja)
109  real(RP), intent(in) :: LAND_SFLX_prec (ia,ja)
110  real(RP), intent(in) :: LAND_SFLX_evap (ia,ja)
111  real(RP), intent(in) :: CDZ (lkmax)
112  real(DP), intent(in) :: dt
113  !---------------------------------------------------------------------------
114 
115  if( io_l ) write(io_fid_log,*) '*** Land step: Matsiro'
116 
117  land_temp_t(:,:,:) = 0.0_rp
118  land_water_t(:,:,:) = 0.0_rp
119 
120  return
121  end subroutine land_phy_matsiro
122 
123 end module scale_land_phy_matsiro
module DEBUG
Definition: scale_debug.F90:13
subroutine, public land_phy_matsiro_setup(LAND_TYPE)
Setup.
subroutine, public prc_mpistop
Abort MPI.
logical, public io_l
output log or not? (this process)
Definition: scale_stdio.F90:59
module STDIO
Definition: scale_stdio.F90:12
module grid index
integer, public ia
of x whole cells (local, with HALO)
module PROCESS
module profiler
Definition: scale_prof.F90:10
logical, public io_lnml
output log or not? (for namelist, this process)
Definition: scale_stdio.F90:60
module PRECISION
module land grid index
integer, public io_fid_conf
Config file ID.
Definition: scale_stdio.F90:55
subroutine, public land_phy_matsiro(LAND_TEMP_t, LAND_WATER_t, LAND_TEMP, LAND_WATER, LAND_WaterLimit, LAND_ThermalCond, LAND_HeatCapacity, LAND_WaterDiff, LAND_SFLX_GH, LAND_SFLX_prec, LAND_SFLX_evap, CDZ, dt)
Physical processes for land submodel.
integer, public io_fid_log
Log file ID.
Definition: scale_stdio.F90:56
module LAND / Physics Matsiro model
integer, public ja
of y whole cells (local, with HALO)