FE-Project
Loading...
Searching...
No Matches
mod_dg_prep Module Reference

module SCALE-DG prep More...

Functions/Subroutines

subroutine, public dg_prep (comm_world, cnf_fname, path, add_path)

Detailed Description

module SCALE-DG prep

Description
This program is driver of preprocess tools 1) boundary data (e.g. topography, land use index) 2) initial data for ideal/real test cases
Author
Team SCALE

Function/Subroutine Documentation

◆ dg_prep()

subroutine, public mod_dg_prep::dg_prep ( integer, intent(in) comm_world,
character(len=*), intent(in) cnf_fname,
character(len=*), intent(in) path,
logical, intent(in) add_path )

Definition at line 77 of file mod_dg_prep.F90.

79
80 use scale_time_manager, only: &
82 time_nowdate, time_nowsubsec, time_nowstep, time_nstep, &
84
85 implicit none
86
87 integer, intent(in) :: comm_world
88 character(len=*), intent(in) :: cnf_fname
89 character(len=*), intent(in) :: path
90 logical, intent(in) :: add_path
91
92
93 integer :: myrank
94 logical :: ismaster
95
96 logical :: output
97 logical :: output_topo
98 !---------------------------------------------------------------------------
99
100 !########## Initial setup ##########
101
102#ifdef SCALE_DEVELOP
103 ! setup standard I/O
104 if ( add_path .and. path /= "" ) then
105 call io_setup( modelname, trim(path)//cnf_fname, prefix=path )
106 else
107#endif
108 call io_setup( modelname, trim(path)//cnf_fname )
109#ifdef SCALE_DEVELOP
110 end if
111#endif
112
113 ! setup MPI
114 call prc_local_setup( comm_world, & ! [IN]
115 myrank, & ! [OUT]
116 ismaster ) ! [OUT]
117
118 ! setup Log
119 call io_log_setup( myrank, ismaster )
120
121 call initialize()
122
123 !###########################################################################
124
125 !########## main ##########
126 call prof_setprefx('MAIN')
127 call prof_rapstart('Main_prep', 0)
128
129 !- Execute preprocess
130
131 !- Execute mktopo
132 call prof_rapstart('MkTopo',1)
133 call mktopo( output_topo, &
134 atmos%mesh, atmos%mesh%topography )
135 call prof_rapend ('MkTopo',1)
136
137 !- Re-setup
138 call atmos%mesh%Setup_vcoordinate()
139
140 !- Execute mkinit
141 call prof_rapstart('MkInit',1)
142 call mkinit( output, &
143 atmos%mesh, &
144 atmos%vars%container%PROGVARS_manager, &
145 atmos%vars%container%AUXVARS_manager, &
146 atmos%vars%container%QTRCVARS_manager )
147
148! call USER_mkinit( atmos )
149 call user_%mkinit( atmos )
150 if ( atmos%dyn_proc%dyncore_driver%ENTOT_CONSERVE_SCHEME_FLAG ) then
151 call set_total_energy( atmos%vars%container%PROGVARS_manager, &
152 atmos%vars%container%AUXVARS_manager, atmos%mesh )
153 end if
154
155 if ( ocean%IsActivated() ) call user_%mkinit_ocn( ocean )
156
157 call prof_rapend ('MkInit',1)
158 call prof_rapend('Main_prep', 0)
159
160 !- Output
161
162 if ( output_topo ) call mktopo_write( atmos%mesh, atmos%mesh%topography )
163
164 if ( output ) then
165 call prof_rapstart('MkInit_restart',1)
166 call restart_write()
167 call prof_rapend ('MkInit_restart',1)
168 end if
169
170 !########## Finalize ##########
171 call user_%mkfinal()
172 call finalize()
173
174 return
Module common / time.
subroutine, public time_manager_advance()
subroutine, public time_manager_checkstate()
logical, public time_doresume

References scale_atm_dyn_dgm_nonhydro3d_common::atm_dyn_dgm_nonhydro3d_common_calc_rhot_hyd(), scale_atm_dyn_dgm_nonhydro3d_common::atm_dyn_dgm_nonhydro3d_common_drhot2entot(), scale_file_history_meshfield::file_history_meshfield_finalize(), scale_file_restart_meshfield::file_restart_meshfield_finalize(), scale_file_restart_meshfield::file_restart_meshfield_setup(), mod_mkinit::mkinit(), mod_mkinit::mkinit_setup(), mod_mktopo::mktopo(), mod_mktopo::mktopo_setup(), mod_mktopo::mktopo_write(), scale_time_manager::time_doend, scale_time_manager::time_doresume, scale_time_manager::time_manager_advance(), scale_time_manager::time_manager_checkstate(), scale_time_manager::time_manager_final(), and scale_time_manager::time_manager_init().

Referenced by mod_dg_launcher::launcher().