SCALE-RM
scale-rm
src
lake
mod_lake_admin.F90
Go to the documentation of this file.
1
!-------------------------------------------------------------------------------
9
!-------------------------------------------------------------------------------
10
#include "scalelib.h"
11
module
mod_lake_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
::
lake_admin_setup
27
28
!-----------------------------------------------------------------------------
29
!
30
!++ Public parameters & variables
31
!
32
logical
,
public
::
lake_do
= .true.
! main switch for the model
33
34
character(len=H_SHORT)
,
public
::
lake_dyn_type
=
'NONE'
35
! 'OFF'
36
character(len=H_SHORT)
,
public
::
lake_sfc_type
=
'NONE'
37
38
!-----------------------------------------------------------------------------
39
!
40
!++ Private procedure
41
!
42
!-----------------------------------------------------------------------------
43
!
44
!++ Private parameters & variables
45
!
46
!-----------------------------------------------------------------------------
47
contains
48
!-----------------------------------------------------------------------------
50
subroutine
lake_admin_setup
51
use
scale_prc
,
only
: &
52
prc_abort
53
implicit none
54
55
! namelist / PARAM_LAKE / &
56
! LAKE_DYN_TYPE
57
58
! integer :: ierr
59
!---------------------------------------------------------------------------
60
61
log_newline
62
log_info(
"LAKE_ADMIN_setup"
,*)
'Setup'
63
64
!--- read namelist
65
!!$ rewind(IO_FID_CONF)
66
!!$ read(IO_FID_CONF,nml=PARAM_LAKE,iostat=ierr)
67
!!$ if( ierr < 0 ) then !--- missing
68
!!$ LOG_INFO("LAKE_ADMIN_setup",*) 'Not found namelist. Default used.'
69
!!$ elseif( ierr > 0 ) then !--- fatal error
70
!!$ LOG_ERROR("LAKE_ADMIN_setup",*) 'Not appropriate names in namelist PARAM_LAKE. Check!'
71
!!$ call PRC_abort
72
!!$ endif
73
!!$ LOG_NML(PARAM_LAKE)
74
75
!-----< module component check >-----
76
77
log_newline
78
log_info(
"LAKE_ADMIN_setup"
,*)
'Lake model components '
79
80
if
(
lake_dyn_type
/=
'OFF'
.AND.
lake_dyn_type
/=
'NONE'
)
then
81
log_error(
"LAKE_ADMIN_setup"
,*)
'Currently, no lake model is impremented'
82
!!$ if ( WKMAX < 0 ) then
83
!!$ LOG_ERROR("LAKE_ADMIN_setup",*) 'LAKE_DYN_TYPE is set but WKMAX < 0'
84
!!$ call PRC_abort
85
!!$ end if
86
log_info_cont(*)
'Lake model : ON, '
, trim(
lake_dyn_type
)
87
lake_do
= .true.
88
else
89
log_info_cont(*)
'Lake model : OFF'
90
lake_do
= .false.
91
endif
92
93
return
94
end subroutine
lake_admin_setup
95
96
end module
mod_lake_admin
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition:
scale_prc.F90:342
mod_lake_admin::lake_sfc_type
character(len=h_short), public lake_sfc_type
Definition:
mod_lake_admin.F90:36
scale_precision
module PRECISION
Definition:
scale_precision.F90:14
mod_lake_admin::lake_admin_setup
subroutine, public lake_admin_setup
Setup.
Definition:
mod_lake_admin.F90:51
scale_prc
module PROCESS
Definition:
scale_prc.F90:11
scale_io
module STDIO
Definition:
scale_io.F90:10
mod_lake_admin::lake_do
logical, public lake_do
Definition:
mod_lake_admin.F90:32
scale_prof
module profiler
Definition:
scale_prof.F90:11
mod_lake_admin
module Lake admin
Definition:
mod_lake_admin.F90:11
mod_lake_admin::lake_dyn_type
character(len=h_short), public lake_dyn_type
Definition:
mod_lake_admin.F90:34
Generated by
1.8.17