72 integer,
private :: time_startdate(6) = (/ -999, 1, 1, 0, 0, 0 /)
73 real(DP),
private :: time_startms = 0.0_dp
74 integer,
private :: time_startday
75 real(DP),
private :: time_startsec
77 integer,
private :: time_enddate(6)
78 real(DP),
private :: time_endms
79 integer,
private :: time_endday
80 real(DP),
private :: time_endsec
82 integer,
private :: time_res_atmos_dyn = 0
83 integer,
private :: time_res_atmos_phy_cp = 0
84 integer,
private :: time_res_atmos_phy_mp = 0
85 integer,
private :: time_res_atmos_phy_rd = 0
86 integer,
private :: time_res_atmos_phy_sf = 0
87 integer,
private :: time_res_atmos_phy_tb = 0
88 integer,
private :: time_res_atmos_phy_ch = 0
89 integer,
private :: time_res_atmos_phy_ae = 0
90 integer,
private :: time_res_atmos_restart = 0
91 integer,
private :: time_res_ocean = 0
92 integer,
private :: time_res_ocean_restart = 0
93 integer,
private :: time_res_land = 0
94 integer,
private :: time_res_land_restart = 0
95 integer,
private :: time_res_urban = 0
96 integer,
private :: time_res_urban_restart = 0
97 integer,
private :: time_res_resume
99 real(DP),
private :: time_wallclock_start
100 real(DP),
private :: time_wallclock_limit = -1.0_dp
101 real(DP),
private :: time_wallclock_safe = 0.9_dp
103 real(DP),
private,
parameter :: eps = 1.e-6_dp
110 setup_TimeIntegration )
167 logical,
intent(in) :: setup_TimeIntegration
169 real(DP) :: TIME_DURATION = undef8
170 character(len=H_SHORT) :: TIME_DURATION_UNIT =
"SEC" 171 real(DP) :: TIME_DT = undef8
172 character(len=H_SHORT) :: TIME_DT_UNIT =
"SEC" 174 real(DP) :: TIME_DT_ATMOS_DYN = undef8
175 character(len=H_SHORT) :: TIME_DT_ATMOS_DYN_UNIT =
"SEC" 176 integer :: TIME_NSTEP_ATMOS_DYN = -1
177 real(DP) :: TIME_DT_ATMOS_PHY_CP = undef8
178 character(len=H_SHORT) :: TIME_DT_ATMOS_PHY_CP_UNIT =
"" 179 real(DP) :: TIME_DT_ATMOS_PHY_MP = undef8
180 character(len=H_SHORT) :: TIME_DT_ATMOS_PHY_MP_UNIT =
"" 181 real(DP) :: TIME_DT_ATMOS_PHY_RD = undef8
182 character(len=H_SHORT) :: TIME_DT_ATMOS_PHY_RD_UNIT =
"" 183 real(DP) :: TIME_DT_ATMOS_PHY_SF = undef8
184 character(len=H_SHORT) :: TIME_DT_ATMOS_PHY_SF_UNIT =
"" 185 real(DP) :: TIME_DT_ATMOS_PHY_TB = undef8
186 character(len=H_SHORT) :: TIME_DT_ATMOS_PHY_TB_UNIT =
"" 187 real(DP) :: TIME_DT_ATMOS_PHY_CH = undef8
188 character(len=H_SHORT) :: TIME_DT_ATMOS_PHY_CH_UNIT =
"" 189 real(DP) :: TIME_DT_ATMOS_PHY_AE = undef8
190 character(len=H_SHORT) :: TIME_DT_ATMOS_PHY_AE_UNIT =
"" 191 real(DP) :: TIME_DT_ATMOS_RESTART = undef8
192 character(len=H_SHORT) :: TIME_DT_ATMOS_RESTART_UNIT =
"" 194 real(DP) :: TIME_DT_OCEAN = undef8
195 character(len=H_SHORT) :: TIME_DT_OCEAN_UNIT =
"" 196 real(DP) :: TIME_DT_OCEAN_RESTART = undef8
197 character(len=H_SHORT) :: TIME_DT_OCEAN_RESTART_UNIT =
"" 199 real(DP) :: TIME_DT_LAND = undef8
200 character(len=H_SHORT) :: TIME_DT_LAND_UNIT =
"" 201 real(DP) :: TIME_DT_LAND_RESTART = undef8
202 character(len=H_SHORT) :: TIME_DT_LAND_RESTART_UNIT =
"" 204 real(DP) :: TIME_DT_URBAN = undef8
205 character(len=H_SHORT) :: TIME_DT_URBAN_UNIT =
"" 206 real(DP) :: TIME_DT_URBAN_RESTART = undef8
207 character(len=H_SHORT) :: TIME_DT_URBAN_RESTART_UNIT =
"" 209 real(DP) :: TIME_DT_RESUME = undef8
210 character(len=H_SHORT) :: TIME_DT_RESUME_UNIT =
"" 212 real(DP) :: TIME_DT_WALLCLOCK_CHECK = undef8
213 character(len=H_SHORT) :: TIME_DT_WALLCLOCK_CHECK_UNIT =
"" 215 namelist / param_time / &
219 time_duration_unit, &
223 time_dt_atmos_dyn_unit, &
224 time_nstep_atmos_dyn, &
225 time_dt_atmos_phy_cp, &
226 time_dt_atmos_phy_cp_unit, &
227 time_dt_atmos_phy_mp, &
228 time_dt_atmos_phy_mp_unit, &
229 time_dt_atmos_phy_rd, &
230 time_dt_atmos_phy_rd_unit, &
231 time_dt_atmos_phy_sf, &
232 time_dt_atmos_phy_sf_unit, &
233 time_dt_atmos_phy_tb, &
234 time_dt_atmos_phy_tb_unit, &
235 time_dt_atmos_phy_ch, &
236 time_dt_atmos_phy_ch_unit, &
237 time_dt_atmos_phy_ae, &
238 time_dt_atmos_phy_ae_unit, &
239 time_dt_atmos_restart, &
240 time_dt_atmos_restart_unit, &
242 time_dt_ocean_unit, &
243 time_dt_ocean_restart, &
244 time_dt_ocean_restart_unit, &
247 time_dt_land_restart, &
248 time_dt_land_restart_unit, &
250 time_dt_urban_unit, &
251 time_dt_urban_restart, &
252 time_dt_urban_restart_unit, &
253 time_dt_wallclock_check, &
254 time_dt_wallclock_check_unit, &
256 time_dt_resume_unit, &
257 time_wallclock_limit, &
263 character(len=H_MID) :: cfunits
265 real(DP) :: TIME_DURATIONSEC
266 character(len=27) :: startchardate
267 character(len=27) :: endchardate
273 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[TIME] / Categ[COMMON] / Origin[SCALElib]' 275 time_nstep_atmos_dyn = -1
281 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 282 elseif( ierr > 0 )
then 283 write(*,*)
'xxx Not appropriate names in namelist PARAM_TIME. Check!' 289 if ( setup_timeintegration )
then 290 if ( time_dt == undef8 )
then 291 write(*,*)
'xxx Not found TIME_DT.' 294 if ( time_duration == undef8 )
then 295 write(*,*)
'xxx Not found TIME_DURATION.' 300 if ( time_dt_atmos_dyn == undef8 )
then 301 if ( time_nstep_atmos_dyn < 0 )
then 302 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_DYN. TIME_DT is used.' 303 time_dt_atmos_dyn = time_dt
306 if ( time_dt_atmos_dyn_unit ==
'' )
then 307 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_DYN_UNIT. TIME_DT_UNIT is used.' 308 time_dt_atmos_dyn_unit = time_dt_unit
311 if ( time_dt_atmos_phy_cp == undef8 )
then 312 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_CP. TIME_DT is used.' 313 time_dt_atmos_phy_cp = time_dt
315 if ( time_dt_atmos_phy_cp_unit ==
'' )
then 316 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_CP_UNIT. TIME_DT_UNIT is used.' 317 time_dt_atmos_phy_cp_unit = time_dt_unit
320 if ( time_dt_atmos_phy_mp == undef8 )
then 321 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_MP. TIME_DT is used.' 322 time_dt_atmos_phy_mp = time_dt
324 if ( time_dt_atmos_phy_mp_unit ==
'' )
then 325 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_MP_UNIT. TIME_DT_UNIT is used.' 326 time_dt_atmos_phy_mp_unit = time_dt_unit
329 if ( time_dt_atmos_phy_rd == undef8 )
then 330 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_RD. TIME_DT is used.' 331 time_dt_atmos_phy_rd = time_dt
333 if ( time_dt_atmos_phy_rd_unit ==
'' )
then 334 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_RD_UNIT. TIME_DT_UNIT is used.' 335 time_dt_atmos_phy_rd_unit = time_dt_unit
338 if ( time_dt_atmos_phy_sf == undef8 )
then 339 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_SF. TIME_DT is used.' 340 time_dt_atmos_phy_sf = time_dt
342 if ( time_dt_atmos_phy_sf_unit ==
'' )
then 343 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_SF_UNIT. TIME_DT_UNIT is used.' 344 time_dt_atmos_phy_sf_unit = time_dt_unit
347 if ( time_dt_atmos_phy_tb == undef8 )
then 348 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_TB. TIME_DT is used.' 349 time_dt_atmos_phy_tb = time_dt
351 if ( time_dt_atmos_phy_tb_unit ==
'' )
then 352 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_TB_UNIT. TIME_DT_UNIT is used.' 353 time_dt_atmos_phy_tb_unit = time_dt_unit
356 if ( time_dt_atmos_phy_ch == undef8 )
then 357 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_CH. TIME_DT is used.' 358 time_dt_atmos_phy_ch = time_dt
360 if ( time_dt_atmos_phy_ch_unit ==
'' )
then 361 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_CH_UNIT. TIME_DT_UNIT is used.' 362 time_dt_atmos_phy_ch_unit = time_dt_unit
365 if ( time_dt_atmos_phy_ae == undef8 )
then 366 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_AE. TIME_DT is used.' 367 time_dt_atmos_phy_ae = time_dt
369 if ( time_dt_atmos_phy_ae_unit ==
'' )
then 370 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_PHY_AE_UNIT. TIME_DT_UNIT is used.' 371 time_dt_atmos_phy_ae_unit = time_dt_unit
374 if ( time_dt_atmos_restart == undef8 )
then 375 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_RESTART. TIME_DURATION is used.' 376 time_dt_atmos_restart = time_duration
378 if ( time_dt_atmos_restart_unit ==
'' )
then 379 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_ATMOS_RESTART_UNIT. TIME_DURATION_UNIT is used.' 380 time_dt_atmos_restart_unit = time_duration_unit
383 if ( time_dt_ocean == undef8 )
then 384 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_OCEAN. TIME_DT is used.' 385 time_dt_ocean = time_dt
387 if ( time_dt_ocean_unit ==
'' )
then 388 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_OCEAN_UNIT. TIME_DT_UNIT is used.' 389 time_dt_ocean_unit = time_dt_unit
392 if ( time_dt_ocean_restart == undef8 )
then 393 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_OCEAN_RESTART. TIME_DURATION is used.' 394 time_dt_ocean_restart = time_duration
396 if ( time_dt_ocean_restart_unit ==
'' )
then 397 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_OCEAN_RESTART_UNIT. TIME_DURATION_UNIT is used.' 398 time_dt_ocean_restart_unit = time_duration_unit
401 if ( time_dt_land == undef8 )
then 402 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_LAND. TIME_DT is used.' 403 time_dt_land = time_dt
405 if ( time_dt_land_unit ==
'' )
then 406 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_LAND_UNIT. TIME_DT_UNIT is used.' 407 time_dt_land_unit = time_dt_unit
410 if ( time_dt_land_restart == undef8 )
then 411 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_LAND_RESTART. TIME_DURATION is used.' 412 time_dt_land_restart = time_duration
414 if ( time_dt_land_restart_unit ==
'' )
then 415 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_LAND_RESTART_UNIT. TIME_DURATION_UNIT is used.' 416 time_dt_land_restart_unit = time_duration_unit
419 if ( time_dt_urban == undef8 )
then 420 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_URBAN. TIME_DT is used.' 421 time_dt_urban = time_dt
423 if ( time_dt_urban_unit ==
'' )
then 424 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_URBAN_UNIT. TIME_DT_UNIT is used.' 425 time_dt_urban_unit = time_dt_unit
428 if ( time_dt_urban_restart == undef8 )
then 429 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_URBAN_RESTART. TIME_DURATION is used.' 430 time_dt_urban_restart = time_duration
432 if ( time_dt_urban_restart_unit ==
'' )
then 433 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_URBAN_RESTART_UNIT. TIME_DURATION_UNIT is used.' 434 time_dt_urban_restart_unit = time_duration_unit
437 if ( time_dt_resume == undef8 )
then 438 time_dt_resume = time_duration
440 if ( time_dt_resume_unit ==
'' )
then 441 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_RESUME_UNIT. TIME_DURATION_UNIT is used.' 442 time_dt_resume_unit = time_duration_unit
447 if ( time_startdate(1) == -999 )
then 448 if ( restart_in_basename /=
'' )
then 453 time_start = cftime, &
454 time_units = cfunits )
467 time_startdate = (/ 0, 1, 1, 0, 0, 0 /)
468 time_startms = 0.0_dp
471 time_startms = time_startms * 1.e-3_dp
494 time_endday = time_startday
496 if ( setup_timeintegration )
then 498 time_endsec = time_startsec + time_durationsec
500 time_endsec = time_startsec
517 if(
io_l )
write(
io_fid_log,
'(1x,A,A)')
'*** START Date : ', startchardate
518 if(
io_l )
write(
io_fid_log,
'(1x,A,A)')
'*** END Date : ', endchardate
520 if ( setup_timeintegration )
then 531 if ( time_dt_atmos_dyn /= undef8 )
then 553 nstep_dyn = time_nstep_atmos_dyn
593 write(*,*)
'xxx delta t(ATMOS_DYN) must be a multiple of delta t ', &
598 write(*,*)
'xxx delta t(ATMOS_PHY_CP) must be a multiple of delta t ', &
603 write(*,*)
'xxx delta t(ATMOS_PHY_MP) must be a multiple of delta t ', &
608 write(*,*)
'xxx delta t(ATMOS_PHY_RD) must be a multiple of delta t ', &
613 write(*,*)
'xxx delta t(ATMOS_PHY_SF) must be a multiple of delta t ', &
618 write(*,*)
'xxx delta t(ATMOS_PHY_TB) must be a multiple of delta t ', &
623 write(*,*)
'xxx delta t(ATMOS_PHY_CH) must be a multiple of delta t ', &
628 write(*,*)
'xxx delta t(ATMOS_PHY_AE) must be a multiple of delta t ', &
633 write(*,*)
'xxx delta t(OCEAN) must be a multiple of delta t ', &
638 write(*,*)
'xxx delta t(LAND) must be a multiple of delta t ', &
643 write(*,*)
'xxx delta t(URBAN) must be a multiple of delta t ', &
648 write(*,*)
'xxx delta t(ATMOS_RESTART) must be a multiple of delta t ', &
653 write(*,*)
'xxx delta t(OCEAN_RESTART) must be a multiple of delta t ', &
658 write(*,*)
'xxx delta t(LAND_RESTART) must be a multiple of delta t ', &
663 write(*,*)
'xxx delta t(URBAN_RESTART) must be a multiple of delta t ', &
668 write(*,*)
'xxx delta t(URBAN_RESTART) must be a multiple of delta t ', &
673 write(*,*)
'xxx delta t(RESUME) must be a multiple of delta t ', &
679 if(
io_l )
write(
io_fid_log,*)
'*** Time interval for each processes (sec.)' 682 if(
io_l )
write(
io_fid_log,
'(1x,A,I10,A,I8,A)')
'*** (step) : ', time_nstep_atmos_dyn, &
705 if(
io_l )
write(
io_fid_log,*)
'*** Time interval for restart (sec.)' 721 if ( time_wallclock_limit > 0.0_dp )
then 723 if(
io_l )
write(
io_fid_log,*)
'*** Wall clock time limit of execution is specified.' 725 if ( time_dt_wallclock_check == undef8 )
then 726 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_WALLCLOCK_CHECK. largest time step interval is used.' 739 if ( time_dt_wallclock_check_unit ==
'' )
then 740 if(
io_l )
write(
io_fid_log,*)
'*** Not found TIME_DT_WALLCLOCK_CHECK_UNIT. TIME_DURATION_UNIT is used.' 741 time_dt_wallclock_check_unit = time_duration_unit
749 time_wallclock_safe = max( min( time_wallclock_safe, 1.0_dp ), 0.0_dp )
752 if(
io_l )
write(
io_fid_log,
'(1x,A,F10.1,A)')
'*** This job stops after ', &
753 time_wallclock_limit * time_wallclock_safe,
' seconds.' 786 real(DP) :: wallclock_elapse
787 character(len=27) :: nowchardate
804 time_res_atmos_dyn = time_res_atmos_dyn + 1
805 time_res_atmos_phy_cp = time_res_atmos_phy_cp + 1
806 time_res_atmos_phy_mp = time_res_atmos_phy_mp + 1
807 time_res_atmos_phy_rd = time_res_atmos_phy_rd + 1
808 time_res_atmos_phy_sf = time_res_atmos_phy_sf + 1
809 time_res_atmos_phy_tb = time_res_atmos_phy_tb + 1
810 time_res_atmos_phy_ch = time_res_atmos_phy_ch + 1
811 time_res_atmos_phy_ae = time_res_atmos_phy_ae + 1
812 time_res_ocean = time_res_ocean + 1
813 time_res_land = time_res_land + 1
814 time_res_urban = time_res_urban + 1
815 time_res_resume = time_res_resume + 1
820 time_res_atmos_dyn = 0
825 time_res_atmos_phy_cp = 0
830 time_res_atmos_phy_mp = 0
835 time_res_atmos_phy_rd = 0
840 time_res_atmos_phy_sf = 0
845 time_res_atmos_phy_tb = 0
850 time_res_atmos_phy_ch = 0
855 time_res_atmos_phy_ae = 0
879 if ( time_wallclock_limit > 0.0_dp )
then 880 wallclock_elapse =
prc_mpitime() - time_wallclock_start
881 if(
io_l )
write(
io_fid_log,
'(1x,3A,I7,A,I7,A,F10.1)')
'*** TIME: ', nowchardate,
' STEP:',
time_nowstep,
'/',
time_nstep, &
882 ' WCLOCK:', wallclock_elapse
884 if(
io_l )
write(
io_fid_log,
'(1x,3A,I7,A,I7)')
'*** TIME: ', nowchardate,
' STEP:',
time_nowstep,
'/',
time_nstep 913 real(DP) :: WALLCLOCK_elapse
921 time_nowsec = time_startsec +
real(TIME_NOWSTEP-1,kind=DP) * TIME_DTSEC
938 if ( time_wallclock_limit > 0.0_dp &
940 wallclock_elapse =
prc_mpitime() - time_wallclock_start
942 if ( wallclock_elapse > time_wallclock_limit * time_wallclock_safe )
then 943 if(
io_l )
write(
io_fid_log,*)
'*** Elapse time limit is detected. Termination operation starts.' 950 inquire(file=
'QUIT', exist=exists)
953 if(
io_l )
write(
io_fid_log,*)
'*** QUIT file is found. Termination operation starts.' 963 time_res_atmos_restart = time_res_atmos_restart + 1
964 time_res_ocean_restart = time_res_ocean_restart + 1
965 time_res_land_restart = time_res_land_restart + 1
966 time_res_urban_restart = time_res_urban_restart + 1
970 time_res_atmos_restart = 0
977 time_res_ocean_restart = 0
984 time_res_land_restart = 0
991 time_res_urban_restart = 0
integer, public time_nowstep
current step [number]
real(dp), public time_dtsec_ocean
time interval of ocean step [sec]
integer, public time_dstep_atmos_phy_mp
step interval of physics(microphysics)
subroutine, public calendar_unit2sec(second, value, unit)
Convert several units to second.
logical, public prc_ismaster
master process in local communicator?
subroutine, public prc_mpistop
Abort MPI.
logical, public time_doatmos_phy_rd
execute physics in this step? (radiation )
logical, public time_dourban_step
execute urban component in this step?
real(dp) function, public calendar_combine_daysec(absday, abssec)
Combine day and second.
real(dp), public time_dtsec_atmos_phy_rd
time interval of physics(radiation ) [sec]
integer, public time_dstep_atmos_restart
interval of atmosphere restart [step]
integer, public time_nstep_atmos_dyn
small step of dynamics
real(dp), public time_nowms
subsecond part of current time [millisec]
logical, public time_doend
finish program in this step?
real(dp), public time_nowsec
subday part of current time [sec]
subroutine, public calendar_date2char(chardate, ymdhms, subsec)
Convert from gregorian date to absolute day/second.
integer, public time_nstep
total steps [number]
integer, public time_dstep_urban_restart
interval of urban restart [step]
real(dp), public time_dtsec_atmos_phy_mp
time interval of physics(microphysics) [sec]
logical, public io_l
output log or not? (this process)
real(dp), public time_dtsec_atmos_phy_ch
time interval of physics(chemistry ) [sec]
module ATMOSPHERIC Variables
integer, public time_dstep_atmos_dyn
step interval of dynamics
real(dp), public time_nowdaysec
second of current time [sec]
real(dp), public time_startdaysec
second of start time [sec]
logical, public time_doatmos_restart
execute atmosphere restart output in this step?
logical, public time_doocean_restart
execute ocean restart output in this step?
integer, public time_nowday
absolute day of current time [day]
integer, public time_dstep_urban
step interval of urban step
real(dp), public time_dtsec_atmos_restart
time interval of atmosphere restart [sec]
logical, public time_doatmos_phy_mp
execute physics in this step? (microphysics)
real(dp), public time_dtsec_land
time interval of land step [sec]
integer, public time_dstep_land_restart
interval of land restart [step]
integer, public time_dstep_wallclock_check
step interval of wallclock terminator
real(dp), public time_dtsec_resume
time interval for resume [sec]
subroutine, public admin_time_setup(setup_TimeIntegration)
Setup.
subroutine, public calendar_adjust_daysec(absday, abssec)
Adjust day and second.
integer, public time_dstep_ocean
step interval of ocean step
integer, public time_dstep_ocean_restart
interval of ocean restart [step]
logical, public time_doocean_step
execute ocean component in this step?
real(dp), public time_dtsec
time interval of model [sec]
logical, public time_doresume
resume in this step?
real(dp) function, public calendar_cfunits2sec(cftime, cfunits, offset_year, startdaysec)
Convert time in units of the CF convention to second.
integer, public time_dstep_atmos_phy_sf
step interval of physics(surface flux)
integer, parameter, public dp
integer, public time_offset_year
time offset [year]
integer, public time_dstep_atmos_phy_tb
step interval of physics(turbulence )
real(dp), public time_dtsec_wallclock_check
time interval of wallclock terminator [sec]
integer, public time_dstep_atmos_phy_rd
step interval of physics(radiation )
real(dp), public time_dtsec_atmos_dyn
time interval of dynamics [sec]
real(dp) function, public prc_mpitime()
Get MPI time.
real(dp), public time_dtsec_atmos_phy_sf
time interval of physics(surface flux) [sec]
real(dp), public time_dtsec_atmos_phy_tb
time interval of physics(turbulence ) [sec]
integer, public time_dstep_land
step interval of land step
logical, public time_doatmos_phy_ch
execute physics in this step? (chemistry )
real(dp), public time_dtsec_urban_restart
time interval of urban restart [sec]
logical, public time_doatmos_phy_cp
execute physics in this step? (cumulus )
real(dp), public time_dtsec_atmos_phy_ae
time interval of physics(aerosol ) [sec]
integer, public time_dstep_atmos_phy_cp
step interval of physics(cumulus )
real(dp), public time_dtsec_land_restart
time interval of land restart [sec]
real(dp), public time_dtsec_atmos_phy_cp
time interval of physics(cumulus ) [sec]
integer, public prc_myrank
process num in local communicator
integer, public time_dstep_resume
interval for resume [step]
logical, public time_dourban_restart
execute urban restart output in this step?
real(dp), parameter, public const_undef8
undefined value (REAL8)
integer, public time_dstep_atmos_phy_ae
step interval of physics(aerosol )
subroutine, public calendar_daysec2date(ymdhms, subsec, absday, abssec, offset_year)
Convert from gregorian date to absolute day/second.
integer, public time_dstep_atmos_phy_ch
step interval of physics(chemistry )
real(dp), public time_dtsec_ocean_restart
time interval of ocean restart [sec]
logical, public time_doatmos_phy_ae
execute physics in this step? (aerosol )
subroutine, public admin_time_advance
Advance the time & evaluate restart & stop.
logical, public io_lnml
output log or not? (for namelist, this process)
character(len=h_long), public atmos_restart_in_basename
basename of the restart file
logical, public time_doatmos_step
execute atmosphere component in this step?
logical, public time_doatmos_phy_tb
execute physics in this step? (turbulence )
logical, public time_doland_restart
execute land restart output in this step?
integer, dimension(6), public time_nowdate
current time [YYYY MM DD HH MM SS]
integer, public io_fid_conf
Config file ID.
logical, public time_doatmos_dyn
execute dynamics in this step?
integer, public io_fid_log
Log file ID.
logical, public time_doatmos_phy_sf
execute physics in this step? (surface flux)
real(dp), public time_dtsec_urban
time interval of urban step [sec]
logical, public time_doland_step
execute land component in this step?
subroutine, public calendar_date2daysec(absday, abssec, ymdhms, subsec, offset_year)
Convert from gregorian date to absolute day/second.
subroutine, public admin_time_checkstate
Evaluate component execution.