SCALE-RM
scale-rm
src
coupler
mod_cpl_admin.F90
Go to the documentation of this file.
1
!-------------------------------------------------------------------------------
9
!-------------------------------------------------------------------------------
10
#include "scalelib.h"
11
module
mod_cpl_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
::
cpl_admin_setup
27
public
::
cpl_admin_getscheme
28
29
!-----------------------------------------------------------------------------
30
!
31
!++ Public parameters & variables
32
!
33
logical
,
public
::
cpl_sw
! do coupler calculation?
34
35
!-----------------------------------------------------------------------------
36
!
37
!++ Private procedure
38
!
39
!-----------------------------------------------------------------------------
40
!
41
!++ Private parameters & variables
42
!
43
!-----------------------------------------------------------------------------
44
contains
45
!-----------------------------------------------------------------------------
47
subroutine
cpl_admin_setup
48
use
scale_prc
,
only
: &
49
prc_abort
50
use
mod_atmos_admin
,
only
: &
51
atmos_phy_sf_type
, &
52
atmos_sw_phy_sf
53
use
mod_ocean_admin
,
only
: &
54
ocean_do
55
use
mod_land_admin
,
only
: &
56
land_do
57
use
mod_urban_admin
,
only
: &
58
urban_do
59
implicit none
60
!---------------------------------------------------------------------------
61
62
log_newline
63
log_info(
"CPL_ADMIN_setup"
,*)
'Setup'
64
65
!-----< module component check >-----
66
67
log_newline
68
log_info(
"CPL_ADMIN_setup"
,*)
'Coupler components '
69
70
! Atmos-Ocean/Land/Urban Switch
71
if
(
ocean_do
.OR.
land_do
.OR.
urban_do
)
then
72
cpl_sw
= .true.
73
else
74
cpl_sw
= .false.
75
endif
76
77
! Check Atmos_Surface setting
78
if
(
cpl_sw
)
then
79
log_info_cont(*)
'Coupler : ON'
80
81
if
(
atmos_phy_sf_type
==
'COUPLE'
)
then
82
! do nothing
83
elseif
(
atmos_phy_sf_type
==
'NONE'
)
then
84
log_info_cont(*)
'-> Surface Flux Type is forced to change from NONE to COUPLE.'
85
! overwrite
86
atmos_phy_sf_type
=
'COUPLE'
87
atmos_sw_phy_sf
= .true.
88
else
89
log_error(
"CPL_ADMIN_setup"
,*)
'Setting conflicts between coupler and surface flux! STOP.'
90
log_error_cont(*)
'Surface Flux : '
, trim(
atmos_phy_sf_type
)
91
call
prc_abort
92
endif
93
else
94
log_info_cont(*)
'Coupler : OFF'
95
endif
96
97
return
98
end subroutine
cpl_admin_setup
99
100
!-----------------------------------------------------------------------------
102
subroutine
cpl_admin_getscheme
103
implicit none
104
!---------------------------------------------------------------------------
105
106
return
107
end subroutine
cpl_admin_getscheme
108
109
end module
mod_cpl_admin
mod_urban_admin::urban_do
logical, public urban_do
Definition:
mod_urban_admin.F90:32
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition:
scale_prc.F90:342
mod_cpl_admin::cpl_admin_setup
subroutine, public cpl_admin_setup
Setup.
Definition:
mod_cpl_admin.F90:48
scale_precision
module PRECISION
Definition:
scale_precision.F90:14
mod_atmos_admin
module ATMOS admin
Definition:
mod_atmos_admin.F90:11
scale_prc
module PROCESS
Definition:
scale_prc.F90:11
mod_atmos_admin::atmos_phy_sf_type
character(len=h_short), public atmos_phy_sf_type
Definition:
mod_atmos_admin.F90:40
scale_io
module STDIO
Definition:
scale_io.F90:10
mod_ocean_admin
module Ocean admin
Definition:
mod_ocean_admin.F90:11
mod_land_admin
module Land admin
Definition:
mod_land_admin.F90:11
scale_prof
module profiler
Definition:
scale_prof.F90:11
mod_ocean_admin::ocean_do
logical, public ocean_do
Definition:
mod_ocean_admin.F90:32
mod_cpl_admin::cpl_admin_getscheme
subroutine, public cpl_admin_getscheme
Get name of scheme for each component.
Definition:
mod_cpl_admin.F90:103
mod_land_admin::land_do
logical, public land_do
Definition:
mod_land_admin.F90:41
mod_urban_admin
module Urban admin
Definition:
mod_urban_admin.F90:11
mod_cpl_admin::cpl_sw
logical, public cpl_sw
Definition:
mod_cpl_admin.F90:33
mod_cpl_admin
module Coupler admin
Definition:
mod_cpl_admin.F90:11
mod_atmos_admin::atmos_sw_phy_sf
logical, public atmos_sw_phy_sf
Definition:
mod_atmos_admin.F90:56
Generated by
1.8.17