SCALE-RM
Functions/Subroutines | Variables
mod_cpl_admin Module Reference

module Coupler admin More...

Functions/Subroutines

subroutine, public cpl_admin_setup
 Setup. More...
 
subroutine, public cpl_admin_getscheme
 Get name of scheme for each component. More...
 

Variables

logical, public cpl_sw
 

Detailed Description

module Coupler admin

Description
Coupler submodel administrator
Author
Team SCALE

Function/Subroutine Documentation

◆ cpl_admin_setup()

subroutine, public mod_cpl_admin::cpl_admin_setup ( )

Setup.

Definition at line 47 of file mod_cpl_admin.f90.

References mod_atmos_admin::atmos_phy_sf_type, mod_atmos_admin::atmos_sw_phy_sf, cpl_sw, scale_stdio::io_fid_log, scale_stdio::io_l, mod_land_admin::land_sw, mod_ocean_admin::ocean_sw, scale_process::prc_mpistop(), and mod_urban_admin::urban_sw.

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

47  use scale_process, only: &
49  use mod_atmos_admin, only: &
52  use mod_ocean_admin, only: &
53  ocean_sw
54  use mod_land_admin, only: &
55  land_sw
56  use mod_urban_admin, only: &
57  urban_sw
58  implicit none
59  !---------------------------------------------------------------------------
60 
61  if( io_l ) write(io_fid_log,*)
62  if( io_l ) write(io_fid_log,*) '++++++ Module[ADMIN] / Categ[CPL] / Origin[SCALE-RM]'
63 
64  !-----< module component check >-----
65 
66  if( io_l ) write(io_fid_log,*)
67  if( io_l ) write(io_fid_log,*) '*** Coupler components ***'
68 
69  ! Atoms-Ocean/Land/Urban Switch
70  if ( ocean_sw .OR. land_sw .OR. urban_sw ) then
71  cpl_sw = .true.
72  else
73  cpl_sw = .false.
74  endif
75 
76  ! Check Atmos_Surface setting
77  if ( cpl_sw ) then
78  if( io_l ) write(io_fid_log,*) '*** Coupler : ON'
79 
80  if ( atmos_phy_sf_type == 'COUPLE' ) then
81  ! do nothing
82  elseif( atmos_phy_sf_type == 'NONE' ) then
83  if( io_l ) write(io_fid_log,*) '*** -> Surface Flux Type is forced to change from NONE to COUPLE.'
84  ! overwrite
85  atmos_phy_sf_type = 'COUPLE'
86  atmos_sw_phy_sf = .true.
87  else
88  if( io_l ) write(io_fid_log,*) '*** Surface Flux : ', trim(atmos_phy_sf_type)
89  if( io_l ) write(io_fid_log,*) 'xxx Setting conflicts between coupler and surface flux! STOP.'
90  write(*,*) 'xxx Setting conflicts between coupler and surface flux! STOP.'
91  call prc_mpistop
92  endif
93  else
94  if( io_l ) write(io_fid_log,*) '*** Coupler : OFF'
95  endif
96 
97  return
module ATMOS admin
module Land admin
logical, public ocean_sw
logical, public urban_sw
subroutine, public prc_mpistop
Abort MPI.
character(len=h_short), public atmos_phy_sf_type
module PROCESS
module Ocean admin
logical, public atmos_sw_phy_sf
logical, public cpl_sw
logical, public land_sw
module Urban admin
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cpl_admin_getscheme()

subroutine, public mod_cpl_admin::cpl_admin_getscheme ( )

Get name of scheme for each component.

Definition at line 103 of file mod_cpl_admin.f90.

103  implicit none
104  !---------------------------------------------------------------------------
105 
106  return

Variable Documentation

◆ cpl_sw

logical, public mod_cpl_admin::cpl_sw