SCALE-RM
scale-rm
src
land
mod_land_admin.F90
Go to the documentation of this file.
1
!-------------------------------------------------------------------------------
9
!-------------------------------------------------------------------------------
10
#include "scalelib.h"
11
module
mod_land_admin
12
!-----------------------------------------------------------------------------
13
!
14
!++ used modules
15
!
16
use
scale_precision
17
use
scale_io
18
use
scale_prof
19
!-----------------------------------------------------------------------------
20
implicit none
21
private
22
!-----------------------------------------------------------------------------
23
!
24
!++ Public procedure
25
!
26
public
::
land_admin_setup
27
28
!-----------------------------------------------------------------------------
29
!
30
!++ Public parameters & variables
31
!
32
character(len=H_SHORT)
,
public
::
land_dyn_type
=
'NONE'
33
! 'OFF'
34
! 'BUCKET'
35
! 'INIT'
36
character(len=H_SHORT)
,
public
::
land_sfc_type
=
'SKIN'
37
! 'FIXED-TEMP'
38
character(len=H_SHORT)
,
public
::
snow_type
=
'NONE'
39
! 'OFF'
40
! 'KY90'
41
logical
,
public
::
land_do
42
logical
,
public
::
snow_sw
43
44
!-----------------------------------------------------------------------------
45
!
46
!++ Private procedure
47
!
48
!-----------------------------------------------------------------------------
49
!
50
!++ Private parameters & variables
51
!
52
!-----------------------------------------------------------------------------
53
contains
54
!-----------------------------------------------------------------------------
56
subroutine
land_admin_setup
57
use
scale_prc
,
only
: &
58
prc_abort
59
implicit none
60
61
namelist / param_land / &
62
land_dyn_type
, &
63
land_sfc_type
, &
64
snow_type
65
66
integer
:: ierr
67
!---------------------------------------------------------------------------
68
69
log_newline
70
log_info(
"LAND_ADMIN_setup"
,*)
'Setup'
71
72
!--- read namelist
73
rewind(
io_fid_conf
)
74
read
(
io_fid_conf
,nml=param_land,iostat=ierr)
75
if
( ierr < 0 )
then
!--- missing
76
log_info(
"LAND_ADMIN_setup"
,*)
'Not found namelist. Default used.'
77
elseif
( ierr > 0 )
then
!--- fatal error
78
log_error(
"LAND_ADMIN_setup"
,*)
'Not appropriate names in namelist PARAM_LAND. Check!'
79
call
prc_abort
80
endif
81
log_nml(param_land)
82
83
!-----< module component check >-----
84
85
log_newline
86
log_info(
"LAND_ADMIN_setup"
,*)
'Land model components '
87
88
if
(
land_dyn_type
/=
'OFF'
.AND.
land_dyn_type
/=
'NONE'
)
then
89
log_info_cont(*)
'Land model : ON, '
, trim(
land_dyn_type
)
90
land_do
= .true.
91
else
92
log_info_cont(*)
'Land model : OFF'
93
land_do
= .false.
94
endif
95
96
if
(
land_do
)
then
97
98
if
(
snow_type
/=
'OFF'
.AND.
snow_type
/=
'NONE'
)
then
99
log_info_cont(*)
'+ Snow physics : ON, '
, trim(
snow_type
)
100
snow_sw
= .true.
101
else
102
log_info_cont(*)
'+ Snow physics : OFF'
103
snow_sw
= .false.
104
endif
105
106
log_info_cont(*)
'+ Land surface model : '
, trim(
land_sfc_type
)
107
108
end if
109
110
return
111
end subroutine
land_admin_setup
112
113
end module
mod_land_admin
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition:
scale_prc.F90:342
scale_precision
module PRECISION
Definition:
scale_precision.F90:14
mod_land_admin::land_sfc_type
character(len=h_short), public land_sfc_type
Definition:
mod_land_admin.F90:36
mod_land_admin::snow_type
character(len=h_short), public snow_type
Definition:
mod_land_admin.F90:38
mod_land_admin::land_dyn_type
character(len=h_short), public land_dyn_type
Definition:
mod_land_admin.F90:32
scale_prc
module PROCESS
Definition:
scale_prc.F90:11
scale_io
module STDIO
Definition:
scale_io.F90:10
mod_land_admin
module Land admin
Definition:
mod_land_admin.F90:11
scale_prof
module profiler
Definition:
scale_prof.F90:11
mod_land_admin::land_do
logical, public land_do
Definition:
mod_land_admin.F90:41
mod_land_admin::snow_sw
logical, public snow_sw
Definition:
mod_land_admin.F90:42
mod_land_admin::land_admin_setup
subroutine, public land_admin_setup
Setup.
Definition:
mod_land_admin.F90:57
scale_io::io_fid_conf
integer, public io_fid_conf
Config file ID.
Definition:
scale_io.F90:56
Generated by
1.8.17