SCALE-RM
scale_land_phy_matsiro.F90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
9 !-------------------------------------------------------------------------------
10 #include "scalelib.h"
12  !-----------------------------------------------------------------------------
13  !
14  !++ used modules
15  !
16  use scale_precision
17  use scale_io
18  use scale_prof
19  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_prc, only: &
49  prc_abort
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  log_newline
63  log_info("LAND_PHY_MATSIRO_setup",*) 'Setup'
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  log_info("LAND_PHY_MATSIRO_setup",*) 'Not found namelist. Default used.'
70  elseif( ierr > 0 ) then !--- fatal error
71  log_error("LAND_PHY_MATSIRO_setup",*) 'Not appropriate names in namelist PARAM_LAND_MATSIRO. Check!'
72  call prc_abort
73  endif
74  log_nml(param_land_matsiro)
75 
76  log_error("LAND_PHY_MATSIRO", *) "This scheme is under development"
77  call prc_abort
78 
79  return
80  end subroutine land_phy_matsiro_setup
81 
82  !-----------------------------------------------------------------------------
84  subroutine land_phy_matsiro( &
85  LAND_TEMP_t, &
86  LAND_WATER_t, &
87  LAND_TEMP, &
88  LAND_WATER, &
89  LAND_WaterLimit, &
90  LAND_ThermalCond, &
91  LAND_HeatCapacity, &
92  LAND_WaterDiff, &
93  LAND_SFLX_GH, &
94  LAND_SFLX_prec, &
95  LAND_SFLX_evap, &
96  CDZ, &
97  dt )
99  implicit none
100 
101  ! arguments
102  real(rp), intent(out) :: land_temp_t (lkmax,lia,lja)
103  real(rp), intent(out) :: land_water_t (lkmax,lia,lja)
104 
105  real(rp), intent(in) :: land_temp (lkmax,lia,lja)
106  real(rp), intent(in) :: land_water (lkmax,lia,lja)
107  real(rp), intent(in) :: land_waterlimit (lia,lja)
108  real(rp), intent(in) :: land_thermalcond (lia,lja)
109  real(rp), intent(in) :: land_heatcapacity(lia,lja)
110  real(rp), intent(in) :: land_waterdiff (lia,lja)
111  real(rp), intent(in) :: land_sflx_gh (lia,lja)
112  real(rp), intent(in) :: land_sflx_prec (lia,lja)
113  real(rp), intent(in) :: land_sflx_evap (lia,lja)
114  real(rp), intent(in) :: cdz (lkmax)
115  real(dp), intent(in) :: dt
116  !---------------------------------------------------------------------------
117 
118  log_progress(*) 'land / physics / Matsiro'
119 
120  land_temp_t(:,:,:) = 0.0_rp
121  land_water_t(:,:,:) = 0.0_rp
122 
123  return
124  end subroutine land_phy_matsiro
125 
126 end module scale_land_phy_matsiro
scale_land_phy_matsiro
module land / physics / MATSIRO
Definition: scale_land_phy_matsiro.F90:11
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
scale_land_phy_matsiro::land_phy_matsiro_setup
subroutine, public land_phy_matsiro_setup(LAND_TYPE)
Setup.
Definition: scale_land_phy_matsiro.F90:48
scale_land_grid_cartesc_index::lia
integer, public lia
Definition: scale_land_grid_cartesC_index.F90:37
scale_land_grid_cartesc_index::lja
integer, public lja
Definition: scale_land_grid_cartesC_index.F90:38
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_land_grid_cartesc_index::lkmax
integer, public lkmax
Definition: scale_land_grid_cartesC_index.F90:32
scale_land_grid_cartesc_index
module land / grid / cartesianC / index
Definition: scale_land_grid_cartesC_index.F90:11
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_precision::rp
integer, parameter, public rp
Definition: scale_precision.F90:41
scale_io
module STDIO
Definition: scale_io.F90:10
scale_atmos_grid_cartesc_index
module atmosphere / grid / cartesC index
Definition: scale_atmos_grid_cartesC_index.F90:12
scale_prof
module profiler
Definition: scale_prof.F90:11
scale_precision::dp
integer, parameter, public dp
Definition: scale_precision.F90:32
scale_debug
module DEBUG
Definition: scale_debug.F90:11
scale_land_phy_matsiro::land_phy_matsiro
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.
Definition: scale_land_phy_matsiro.F90:98
scale_io::io_fid_conf
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:56