SCALE-RM
Functions/Subroutines
mod_user Module Reference

module USER More...

Functions/Subroutines

subroutine, public user_config
 Config before setup of other components. More...
 
subroutine, public user_setup
 Setup before setup of other components. More...
 
subroutine, public user_resume0
 Resuming operation, before calculating tendency. More...
 
subroutine, public user_resume
 Resuming operation. More...
 
subroutine, public user_step
 User step. More...
 

Detailed Description

module USER

Description
User defined module
Author
Team SCALE
History
  • 2012-12-26 (H.Yashiro) [new]
NAMELIST
  • PARAM_USER
    nametypedefault valuecomment
    USER_DO logical .false. do user step?

History Output
No history output

Function/Subroutine Documentation

◆ user_config()

subroutine, public mod_user::user_config ( )

Config before setup of other components.

Definition at line 56 of file mod_user.f90.

References scale_tracer::tracer_regist().

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

56  use scale_tracer, only: &
58  implicit none
59 
60  ! if you want to add tracers, call the TRACER_regist subroutine.
61  ! e.g.,
62 ! integer, parameter :: NQ = 1
63 ! integer :: QS
64 ! character(len=H_SHORT) :: NAME(NQ)
65 ! character(len=H_MID) :: DESC(NQ)
66 ! character(len=H_SHORT) :: UNIT(NQ)
67 !
68 ! data NAME (/ 'name' /)
69 ! data DESC (/ 'tracer name' /)
70 ! data UNIT (/ 'kg/kg' /)
71  !---------------------------------------------------------------------------
72 
73 ! call TRACER_regist( QS, & ! [OUT]
74 ! NQ, & ! [IN]
75 ! NAME, & ! [IN]
76 ! DESC, & ! [IN]
77 ! UNIT ) ! [IN]
78 
79  return
module TRACER
subroutine, public tracer_regist(QS, NQ, NAME, DESC, UNIT, CV, CP, R, ADVC, MASS)
Regist tracer.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ user_setup()

subroutine, public mod_user::user_setup ( )

Setup before setup of other components.

Definition at line 85 of file mod_user.f90.

References scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_fid_nml, scale_stdio::io_l, scale_stdio::io_nml, and scale_process::prc_mpistop().

Referenced by mod_rm_driver::scalerm().

85  use scale_process, only: &
87  implicit none
88 
89  namelist / param_user / &
90  user_do
91 
92  integer :: ierr
93  !---------------------------------------------------------------------------
94 
95  if( io_l ) write(io_fid_log,*)
96  if( io_l ) write(io_fid_log,*) '++++++ Module[DRIVER] / Categ[USER] / Origin[SCALE-RM]'
97 
98  !--- read namelist
99  rewind(io_fid_conf)
100  read(io_fid_conf,nml=param_user,iostat=ierr)
101  if( ierr < 0 ) then !--- missing
102  if( io_l ) write(io_fid_log,*) '*** Not found namelist. Default used.'
103  elseif( ierr > 0 ) then !--- fatal error
104  write(*,*) 'xxx Not appropriate names in namelist PARAM_USER. Check!'
105  call prc_mpistop
106  endif
107  if( io_nml ) write(io_fid_nml,nml=param_user)
108 
109  if( io_l ) write(io_fid_log,*)
110  if( io_l ) write(io_fid_log,*) '*** This module is dummy.'
111 
112  return
subroutine, public prc_mpistop
Abort MPI.
module PROCESS
Here is the call graph for this function:
Here is the caller graph for this function:

◆ user_resume0()

subroutine, public mod_user::user_resume0 ( )

Resuming operation, before calculating tendency.

Definition at line 118 of file mod_user.f90.

Referenced by mod_rm_driver::resume_state().

118  implicit none
119  !---------------------------------------------------------------------------
120 
121  ! If you need, calculate first step and put diagnostic value to history buffer.
122  ! USER_resume0 calls before setup of Atmos/Ocean/Land/Urban submodels.
123  ! All variables are set before surface coupling.
124 
125  !call USER_step
126 
127  return
Here is the caller graph for this function:

◆ user_resume()

subroutine, public mod_user::user_resume ( )

Resuming operation.

Definition at line 133 of file mod_user.f90.

Referenced by mod_rm_driver::resume_state().

133  implicit none
134  !---------------------------------------------------------------------------
135 
136  ! If you need, calculate first step and put diagnostic value to history buffer.
137  ! USER_resume calls after setup of Atmos/Ocean/Land/Urban submodels.
138  ! All variables are set after surface coupling.
139 
140  !call USER_step
141 
142  return
Here is the caller graph for this function:

◆ user_step()

subroutine, public mod_user::user_step ( )

User step.

Definition at line 148 of file mod_user.f90.

References scale_process::prc_mpistop().

Referenced by mod_rm_driver::scalerm().

148  use scale_process, only: &
150  implicit none
151  !---------------------------------------------------------------------------
152 
153  if ( user_do ) then
154  call prc_mpistop
155  endif
156 
157  return
subroutine, public prc_mpistop
Abort MPI.
module PROCESS
Here is the call graph for this function:
Here is the caller graph for this function: