SCALE-RM
Functions/Subroutines | Variables
mod_land_admin Module Reference

module Land admin More...

Functions/Subroutines

subroutine, public land_admin_setup
 Setup. More...
 
subroutine, public land_admin_getscheme (scheme_name)
 Get name of scheme for each component. More...
 

Variables

logical, public land_do = .true.
 
character(len=h_short), public land_type = 'NONE'
 
logical, public land_sw
 

Detailed Description

module Land admin

Description
Land submodel administrator
Author
Team SCALE
NAMELIST
  • PARAM_LAND
    nametypedefault valuecomment
    LAND_DO logical .true. main switch for the model
    LAND_TYPE character(len=H_SHORT) 'NONE'

History Output
No history output

Function/Subroutine Documentation

◆ land_admin_setup()

subroutine, public mod_land_admin::land_admin_setup ( )

Setup.

Definition at line 52 of file mod_land_admin.f90.

References scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_l, scale_stdio::io_lnml, land_do, land_sw, land_type, and scale_process::prc_mpistop().

Referenced by mod_rm_driver::scalerm(), and mod_rm_prep::scalerm_prep().

52  use scale_process, only: &
54  implicit none
55 
56  namelist / param_land / &
57  land_do, &
58  land_type
59 
60  integer :: ierr
61  !---------------------------------------------------------------------------
62 
63  if( io_l ) write(io_fid_log,*)
64  if( io_l ) write(io_fid_log,*) '++++++ Module[ADMIN] / Categ[LAND] / Origin[SCALE-RM]'
65 
66  !--- read namelist
67  rewind(io_fid_conf)
68  read(io_fid_conf,nml=param_land,iostat=ierr)
69  if( ierr < 0 ) then !--- missing
70  if( io_l ) write(io_fid_log,*) '*** Not found namelist. Default used.'
71  elseif( ierr > 0 ) then !--- fatal error
72  write(*,*) 'xxx Not appropriate names in namelist PARAM_LAND. Check!'
73  call prc_mpistop
74  endif
75  if( io_lnml ) write(io_fid_log,nml=param_land)
76 
77  !-----< module component check >-----
78 
79  if( io_l ) write(io_fid_log,*)
80  if( io_l ) write(io_fid_log,*) '*** Land model components ***'
81 
82  if ( land_type == 'OFF' .OR. land_type == 'NONE' ) then
83  land_do = .false. ! force off
84  endif
85 
86  if ( land_do ) then
87  if( io_l ) write(io_fid_log,*) '*** Land model : ON'
88  else
89  if( io_l ) write(io_fid_log,*) '*** Land model : OFF'
90  endif
91 
92  if ( land_type /= 'OFF' .AND. land_type /= 'NONE' ) then
93  if( io_l ) write(io_fid_log,*) '*** + Land physics : ON, ', trim(land_type)
94  land_sw = .true.
95  else
96  if( io_l ) write(io_fid_log,*) '*** + Land physics : OFF'
97  land_sw = .false.
98  endif
99 
100  return
subroutine, public prc_mpistop
Abort MPI.
module PROCESS
logical, public land_sw
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_admin_getscheme()

subroutine, public mod_land_admin::land_admin_getscheme ( character(len=h_short), intent(out)  scheme_name)

Get name of scheme for each component.

Definition at line 107 of file mod_land_admin.f90.

References land_type, and scale_process::prc_mpistop().

107  use scale_process, only: &
109  implicit none
110 
111  character(len=H_SHORT), intent(out) :: scheme_name
112  !---------------------------------------------------------------------------
113 
114  scheme_name = land_type
115 
116  return
subroutine, public prc_mpistop
Abort MPI.
module PROCESS
Here is the call graph for this function:

Variable Documentation

◆ land_do

logical, public mod_land_admin::land_do = .true.

Definition at line 33 of file mod_land_admin.f90.

Referenced by land_admin_setup(), mod_rm_driver::resume_state(), and mod_rm_driver::scalerm().

33  logical, public :: land_do = .true. ! main switch for the model

◆ land_type

character(len=h_short), public mod_land_admin::land_type = 'NONE'

Definition at line 35 of file mod_land_admin.f90.

Referenced by land_admin_getscheme(), land_admin_setup(), and mod_land_phy_driver::land_phy_driver_setup().

35  character(len=H_SHORT), public :: land_type = 'NONE'

◆ land_sw

logical, public mod_land_admin::land_sw