SCALE-RM
Functions/Subroutines | Variables
mod_urban_admin Module Reference

module Urban admin More...

Functions/Subroutines

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

Variables

logical, public urban_do = .true.
 
character(len=h_short), public urban_type = 'NONE'
 
logical, public urban_sw
 

Detailed Description

module Urban admin

Description
Urban submodel administrator
Author
Team SCALE
NAMELIST
  • PARAM_URBAN
    nametypedefault valuecomment
    URBAN_DO logical .true. main switch for the model
    URBAN_TYPE character(len=H_SHORT) 'NONE'

History Output
No history output

Function/Subroutine Documentation

◆ urban_admin_setup()

subroutine, public mod_urban_admin::urban_admin_setup ( )

Setup.

Definition at line 52 of file mod_urban_admin.f90.

References scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_l, scale_stdio::io_lnml, scale_process::prc_mpistop(), urban_do, urban_sw, and urban_type.

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

52  use scale_process, only: &
54  implicit none
55 
56  namelist / param_urban / &
57  urban_do, &
58  urban_type
59  integer :: ierr
60  !---------------------------------------------------------------------------
61 
62  if( io_l ) write(io_fid_log,*)
63  if( io_l ) write(io_fid_log,*) '++++++ Module[ADMIN] / Categ[URBAN] / Origin[SCALE-RM]'
64 
65  !--- read namelist
66  rewind(io_fid_conf)
67  read(io_fid_conf,nml=param_urban,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_URBAN. Check!'
72  call prc_mpistop
73  endif
74  if( io_lnml ) write(io_fid_log,nml=param_urban)
75 
76  !-----< module component check >-----
77 
78  if( io_l ) write(io_fid_log,*)
79  if( io_l ) write(io_fid_log,*) '*** Urban model components ***'
80 
81  if ( urban_type == 'OFF' .OR. urban_type == 'NONE' ) then
82  urban_do = .false. ! force off
83  endif
84 
85  if ( urban_do ) then
86  if( io_l ) write(io_fid_log,*) '*** Urban model : ON'
87  else
88  if( io_l ) write(io_fid_log,*) '*** Urban model : OFF'
89  endif
90 
91  if ( urban_type /= 'OFF' .AND. urban_type /= 'NONE' ) then
92  if( io_l ) write(io_fid_log,*) '*** + Urban physics : ON, ', trim(urban_type)
93  urban_sw = .true.
94  else
95  if( io_l ) write(io_fid_log,*) '*** + Urban physics : OFF'
96  urban_sw = .false.
97  endif
98 
99  return
subroutine, public prc_mpistop
Abort MPI.
logical, public io_l
output log or not? (this process)
Definition: scale_stdio.F90:59
module PROCESS
logical, public io_lnml
output log or not? (for namelist, this process)
Definition: scale_stdio.F90:60
integer, public io_fid_conf
Config file ID.
Definition: scale_stdio.F90:55
integer, public io_fid_log
Log file ID.
Definition: scale_stdio.F90:56
Here is the call graph for this function:
Here is the caller graph for this function:

◆ urban_admin_getscheme()

subroutine, public mod_urban_admin::urban_admin_getscheme ( character(len=h_short), intent(out)  scheme_name)

Get name of scheme for each component.

Definition at line 106 of file mod_urban_admin.f90.

References scale_process::prc_mpistop(), and urban_type.

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

Variable Documentation

◆ urban_do

logical, public mod_urban_admin::urban_do = .true.

Definition at line 33 of file mod_urban_admin.f90.

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

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

◆ urban_type

character(len=h_short), public mod_urban_admin::urban_type = 'NONE'

Definition at line 35 of file mod_urban_admin.f90.

Referenced by urban_admin_getscheme(), urban_admin_setup(), and mod_urban_phy_driver::urban_phy_driver_setup().

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

◆ urban_sw

logical, public mod_urban_admin::urban_sw