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
102 real(DP),
private :: time_wallclock_safelim
104 real(DP),
private,
parameter :: eps = 1.e-6_dp
111 setup_TimeIntegration )
168 logical,
intent(in) :: setup_timeintegration
170 real(DP) :: time_duration = undef8
171 character(len=H_SHORT) :: time_duration_unit =
"SEC" 172 real(DP) :: time_dt = undef8
173 character(len=H_SHORT) :: time_dt_unit =
"SEC" 175 real(DP) :: time_dt_atmos_dyn = undef8
176 character(len=H_SHORT) :: time_dt_atmos_dyn_unit =
"SEC" 178 real(DP) :: time_dt_atmos_phy_cp = undef8
179 character(len=H_SHORT) :: time_dt_atmos_phy_cp_unit =
"" 180 real(DP) :: time_dt_atmos_phy_mp = undef8
181 character(len=H_SHORT) :: time_dt_atmos_phy_mp_unit =
"" 182 real(DP) :: time_dt_atmos_phy_rd = undef8
183 character(len=H_SHORT) :: time_dt_atmos_phy_rd_unit =
"" 184 real(DP) :: time_dt_atmos_phy_sf = undef8
185 character(len=H_SHORT) :: time_dt_atmos_phy_sf_unit =
"" 186 real(DP) :: time_dt_atmos_phy_tb = undef8
187 character(len=H_SHORT) :: time_dt_atmos_phy_tb_unit =
"" 188 real(DP) :: time_dt_atmos_phy_ch = undef8
189 character(len=H_SHORT) :: time_dt_atmos_phy_ch_unit =
"" 190 real(DP) :: time_dt_atmos_phy_ae = undef8
191 character(len=H_SHORT) :: time_dt_atmos_phy_ae_unit =
"" 192 real(DP) :: time_dt_atmos_restart = undef8
193 character(len=H_SHORT) :: time_dt_atmos_restart_unit =
"" 195 real(DP) :: time_dt_ocean = undef8
196 character(len=H_SHORT) :: time_dt_ocean_unit =
"" 197 real(DP) :: time_dt_ocean_restart = undef8
198 character(len=H_SHORT) :: time_dt_ocean_restart_unit =
"" 200 real(DP) :: time_dt_land = undef8
201 character(len=H_SHORT) :: time_dt_land_unit =
"" 202 real(DP) :: time_dt_land_restart = undef8
203 character(len=H_SHORT) :: time_dt_land_restart_unit =
"" 205 real(DP) :: time_dt_urban = undef8
206 character(len=H_SHORT) :: time_dt_urban_unit =
"" 207 real(DP) :: time_dt_urban_restart = undef8
208 character(len=H_SHORT) :: time_dt_urban_restart_unit =
"" 210 real(DP) :: time_dt_resume = undef8
211 character(len=H_SHORT) :: time_dt_resume_unit =
"" 213 real(DP) :: time_dt_wallclock_check = undef8
214 character(len=H_SHORT) :: time_dt_wallclock_check_unit =
"" 216 namelist / param_time / &
220 time_duration_unit, &
224 time_dt_atmos_dyn_unit, &
226 time_dt_atmos_phy_cp, &
227 time_dt_atmos_phy_cp_unit, &
228 time_dt_atmos_phy_mp, &
229 time_dt_atmos_phy_mp_unit, &
230 time_dt_atmos_phy_rd, &
231 time_dt_atmos_phy_rd_unit, &
232 time_dt_atmos_phy_sf, &
233 time_dt_atmos_phy_sf_unit, &
234 time_dt_atmos_phy_tb, &
235 time_dt_atmos_phy_tb_unit, &
236 time_dt_atmos_phy_ch, &
237 time_dt_atmos_phy_ch_unit, &
238 time_dt_atmos_phy_ae, &
239 time_dt_atmos_phy_ae_unit, &
240 time_dt_atmos_restart, &
241 time_dt_atmos_restart_unit, &
243 time_dt_ocean_unit, &
244 time_dt_ocean_restart, &
245 time_dt_ocean_restart_unit, &
248 time_dt_land_restart, &
249 time_dt_land_restart_unit, &
251 time_dt_urban_unit, &
252 time_dt_urban_restart, &
253 time_dt_urban_restart_unit, &
254 time_dt_wallclock_check, &
255 time_dt_wallclock_check_unit, &
257 time_dt_resume_unit, &
258 time_wallclock_limit, &
264 character(len=H_MID) :: cfunits
266 real(DP) :: time_durationsec
267 character(len=27) :: startchardate
268 character(len=27) :: endchardate
274 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[TIME] / Categ[ADMIN] / Origin[SCALE-RM]' 282 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 283 elseif( ierr > 0 )
then 284 write(*,*)
'xxx Not appropriate names in namelist PARAM_TIME. Check!' 290 if ( setup_timeintegration )
then 293 if(
io_l )
write(
io_fid_log,*)
'*** Check time interval and unit for each component ***' 295 if ( time_dt == undef8 )
then 296 write(*,*)
'xxx Not found TIME_DT. STOP.' 299 if ( time_duration == undef8 )
then 300 write(*,*)
'xxx Not found TIME_DURATION. STOP.' 305 if ( time_dt_atmos_dyn == undef8 )
then 307 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_DYN. ', &
309 time_dt_atmos_dyn = time_dt
312 if ( time_dt_atmos_dyn_unit ==
'' )
then 313 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_DYN_UNIT. ', &
314 'TIME_DT_UNIT is used.' 315 time_dt_atmos_dyn_unit = time_dt_unit
318 if ( time_dt_atmos_phy_cp == undef8 )
then 319 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_CP. ', &
321 time_dt_atmos_phy_cp = time_dt
323 if ( time_dt_atmos_phy_cp_unit ==
'' )
then 324 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_CP_UNIT. ', &
325 'TIME_DT_UNIT is used.' 326 time_dt_atmos_phy_cp_unit = time_dt_unit
329 if ( time_dt_atmos_phy_mp == undef8 )
then 330 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_MP. ', &
332 time_dt_atmos_phy_mp = time_dt
334 if ( time_dt_atmos_phy_mp_unit ==
'' )
then 335 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_MP_UNIT. ', &
336 'TIME_DT_UNIT is used.' 337 time_dt_atmos_phy_mp_unit = time_dt_unit
340 if ( time_dt_atmos_phy_rd == undef8 )
then 341 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_RD. ', &
343 time_dt_atmos_phy_rd = time_dt
345 if ( time_dt_atmos_phy_rd_unit ==
'' )
then 346 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_RD_UNIT. ', &
347 'TIME_DT_UNIT is used.' 348 time_dt_atmos_phy_rd_unit = time_dt_unit
351 if ( time_dt_atmos_phy_sf == undef8 )
then 352 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_SF. ', &
354 time_dt_atmos_phy_sf = time_dt
356 if ( time_dt_atmos_phy_sf_unit ==
'' )
then 357 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_SF_UNIT. ', &
358 'TIME_DT_UNIT is used.' 359 time_dt_atmos_phy_sf_unit = time_dt_unit
362 if ( time_dt_atmos_phy_tb == undef8 )
then 363 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_TB. ', &
365 time_dt_atmos_phy_tb = time_dt
367 if ( time_dt_atmos_phy_tb_unit ==
'' )
then 368 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_TB_UNIT. ', &
369 'TIME_DT_UNIT is used.' 370 time_dt_atmos_phy_tb_unit = time_dt_unit
373 if ( time_dt_atmos_phy_ch == undef8 )
then 374 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_CH. ', &
376 time_dt_atmos_phy_ch = time_dt
378 if ( time_dt_atmos_phy_ch_unit ==
'' )
then 379 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_CH_UNIT. ', &
380 'TIME_DT_UNIT is used.' 381 time_dt_atmos_phy_ch_unit = time_dt_unit
384 if ( time_dt_atmos_phy_ae == undef8 )
then 385 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_AE. ', &
387 time_dt_atmos_phy_ae = time_dt
389 if ( time_dt_atmos_phy_ae_unit ==
'' )
then 390 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_PHY_AE_UNIT. ', &
391 'TIME_DT_UNIT is used.' 392 time_dt_atmos_phy_ae_unit = time_dt_unit
395 if ( time_dt_atmos_restart == undef8 )
then 396 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_RESTART. ', &
397 'TIME_DURATION is used.' 398 time_dt_atmos_restart = time_duration
400 if ( time_dt_atmos_restart_unit ==
'' )
then 401 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_ATMOS_RESTART_UNIT. ', &
402 'TIME_DURATION_UNIT is used.' 403 time_dt_atmos_restart_unit = time_duration_unit
406 if ( time_dt_ocean == undef8 )
then 407 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_OCEAN. ', &
409 time_dt_ocean = time_dt
411 if ( time_dt_ocean_unit ==
'' )
then 412 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_OCEAN_UNIT. ', &
413 'TIME_DT_UNIT is used.' 414 time_dt_ocean_unit = time_dt_unit
417 if ( time_dt_ocean_restart == undef8 )
then 418 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_OCEAN_RESTART. ', &
419 'TIME_DURATION is used.' 420 time_dt_ocean_restart = time_duration
422 if ( time_dt_ocean_restart_unit ==
'' )
then 423 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_OCEAN_RESTART_UNIT. ', &
424 'TIME_DURATION_UNIT is used.' 425 time_dt_ocean_restart_unit = time_duration_unit
428 if ( time_dt_land == undef8 )
then 429 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_LAND. ', &
431 time_dt_land = time_dt
433 if ( time_dt_land_unit ==
'' )
then 434 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_LAND_UNIT. ', &
435 'TIME_DT_UNIT is used.' 436 time_dt_land_unit = time_dt_unit
439 if ( time_dt_land_restart == undef8 )
then 440 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_LAND_RESTART. ', &
441 'TIME_DURATION is used.' 442 time_dt_land_restart = time_duration
444 if ( time_dt_land_restart_unit ==
'' )
then 445 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_LAND_RESTART_UNIT. ', &
446 'TIME_DURATION_UNIT is used.' 447 time_dt_land_restart_unit = time_duration_unit
450 if ( time_dt_urban == undef8 )
then 451 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_URBAN. ', &
453 time_dt_urban = time_dt
455 if ( time_dt_urban_unit ==
'' )
then 456 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_URBAN_UNIT. ', &
457 'TIME_DT_UNIT is used.' 458 time_dt_urban_unit = time_dt_unit
461 if ( time_dt_urban_restart == undef8 )
then 462 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_URBAN_RESTART. ', &
463 'TIME_DURATION is used.' 464 time_dt_urban_restart = time_duration
466 if ( time_dt_urban_restart_unit ==
'' )
then 467 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_URBAN_RESTART_UNIT. ', &
468 'TIME_DURATION_UNIT is used.' 469 time_dt_urban_restart_unit = time_duration_unit
472 if ( time_dt_resume == undef8 )
then 473 time_dt_resume = time_duration
475 if ( time_dt_resume_unit ==
'' )
then 476 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_RESUME_UNIT. ', &
477 'TIME_DURATION_UNIT is used.' 478 time_dt_resume_unit = time_duration_unit
483 if ( time_startdate(1) == -999 )
then 484 if ( restart_in_basename /=
'' )
then 485 call filegetdatainfo( restart_in_basename, &
489 time_start = cftime, &
490 time_units = cfunits )
503 time_startdate = (/ 0, 1, 1, 0, 0, 0 /)
504 time_startms = 0.0_dp
507 time_startms = time_startms * 1.e-3_dp
530 time_endday = time_startday
532 if ( setup_timeintegration )
then 534 time_endsec = time_startsec + time_durationsec
536 time_endsec = time_startsec
552 if(
io_l )
write(
io_fid_log,*)
'*** Global date / time setting ***' 553 if(
io_l )
write(
io_fid_log,
'(1x,A,A)')
'*** START Date : ', startchardate
554 if(
io_l )
write(
io_fid_log,
'(1x,A,A)')
'*** END Date : ', endchardate
556 if ( setup_timeintegration )
then 567 if ( time_dt_atmos_dyn /= undef8 )
then 629 write(*,*)
'xxx delta t(ATMOS_DYN) must be a multiple of delta t ', &
634 write(*,*)
'xxx delta t(ATMOS_PHY_CP) must be a multiple of delta t ', &
639 write(*,*)
'xxx delta t(ATMOS_PHY_MP) must be a multiple of delta t ', &
644 write(*,*)
'xxx delta t(ATMOS_PHY_RD) must be a multiple of delta t ', &
649 write(*,*)
'xxx delta t(ATMOS_PHY_SF) must be a multiple of delta t ', &
654 write(*,*)
'xxx delta t(ATMOS_PHY_TB) must be a multiple of delta t ', &
659 write(*,*)
'xxx delta t(ATMOS_PHY_CH) must be a multiple of delta t ', &
664 write(*,*)
'xxx delta t(ATMOS_PHY_AE) must be a multiple of delta t ', &
669 write(*,*)
'xxx delta t(OCEAN) must be a multiple of delta t ', &
674 write(*,*)
'xxx delta t(LAND) must be a multiple of delta t ', &
679 write(*,*)
'xxx delta t(URBAN) must be a multiple of delta t ', &
684 write(*,*)
'xxx delta t(ATMOS_RESTART) must be a multiple of delta t ', &
689 write(*,*)
'xxx delta t(OCEAN_RESTART) must be a multiple of delta t ', &
694 write(*,*)
'xxx delta t(LAND_RESTART) must be a multiple of delta t ', &
699 write(*,*)
'xxx delta t(URBAN_RESTART) must be a multiple of delta t ', &
704 write(*,*)
'xxx delta t(URBAN_RESTART) must be a multiple of delta t ', &
709 write(*,*)
'xxx delta t(RESUME) must be a multiple of delta t ', &
715 if(
io_l )
write(
io_fid_log,*)
'*** Time interval for each component (sec.)' 741 if(
io_l )
write(
io_fid_log,*)
'*** Time interval for restart (sec.)' 759 if ( time_wallclock_limit > 0.0_dp )
then 761 if(
io_l )
write(
io_fid_log,*)
'*** Wall clock time limit of execution is specified.' 763 if ( time_dt_wallclock_check == undef8 )
then 764 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_WALLCLOCK_CHECK. ', &
765 ' largest time step interval is used.' 778 if ( time_dt_wallclock_check_unit ==
'' )
then 779 if(
io_l )
write(
io_fid_log,
'(1x,2A)')
'*** Not found TIME_DT_WALLCLOCK_CHECK_UNIT. ', &
780 'TIME_DURATION_UNIT is used.' 781 time_dt_wallclock_check_unit = time_duration_unit
789 time_wallclock_safe = max( min( time_wallclock_safe, 1.0_dp ), 0.0_dp )
790 time_wallclock_safelim = time_wallclock_limit * time_wallclock_safe
792 if(
io_l )
write(
io_fid_log,
'(1x,A,F10.1,A)')
'*** This job stops after ', time_wallclock_safelim,
' seconds.' 826 real(DP) :: wallclock_elapse
827 character(len=27) :: nowchardate
845 time_res_atmos_dyn = time_res_atmos_dyn + 1
846 time_res_atmos_phy_cp = time_res_atmos_phy_cp + 1
847 time_res_atmos_phy_mp = time_res_atmos_phy_mp + 1
848 time_res_atmos_phy_rd = time_res_atmos_phy_rd + 1
849 time_res_atmos_phy_sf = time_res_atmos_phy_sf + 1
850 time_res_atmos_phy_tb = time_res_atmos_phy_tb + 1
851 time_res_atmos_phy_ch = time_res_atmos_phy_ch + 1
852 time_res_atmos_phy_ae = time_res_atmos_phy_ae + 1
853 time_res_ocean = time_res_ocean + 1
854 time_res_land = time_res_land + 1
855 time_res_urban = time_res_urban + 1
856 time_res_resume = time_res_resume + 1
861 time_res_atmos_dyn = 0
866 time_res_atmos_phy_cp = 0
871 time_res_atmos_phy_mp = 0
876 time_res_atmos_phy_rd = 0
881 time_res_atmos_phy_sf = 0
886 time_res_atmos_phy_tb = 0
891 time_res_atmos_phy_ch = 0
896 time_res_atmos_phy_ae = 0
925 wallclock_elapse =
prc_mpitime() - time_wallclock_start
927 if ( time_wallclock_limit > 0.0_dp )
then 928 if(
io_l )
write(
io_fid_log,
'(1x,2A,2(A,I7),2(A,F10.1))')
'*** TIME: ', nowchardate,
' STEP:',
time_nowstep,
'/',
time_nstep, &
929 ' WCLOCK:', wallclock_elapse,
'/', time_wallclock_safelim
931 if(
io_l )
write(*,
'(1x,2A,2(A,I7),2(A,F10.1))')
'*** TIME: ', nowchardate,
' STEP:',
time_nowstep,
'/',
time_nstep, &
932 ' WCLOCK:', wallclock_elapse,
'/', time_wallclock_safelim
935 if(
io_l )
write(
io_fid_log,
'(1x,2A,2(A,I7),A,F10.1)')
'*** TIME: ', nowchardate,
' STEP:',
time_nowstep,
'/',
time_nstep, &
936 ' WCLOCK:', wallclock_elapse
938 if(
io_l )
write(*,
'(1x,2A,2(A,I7),A,F10.1)')
'*** TIME: ', nowchardate,
' STEP:',
time_nowstep,
'/',
time_nstep, &
939 ' WCLOCK:', wallclock_elapse
969 real(DP) :: wallclock_elapse
994 if ( time_wallclock_limit > 0.0_dp &
996 wallclock_elapse =
prc_mpitime() - time_wallclock_start
998 if ( wallclock_elapse > time_wallclock_safelim )
then 1000 if(
io_l )
write(
io_fid_log,*)
'********************************************************************' 1001 if(
io_l )
write(
io_fid_log,*)
'*** Elapse time limit is detected. Termination operation starts. ***' 1002 if(
io_l )
write(
io_fid_log,*)
'********************************************************************' 1010 inquire(file=
'QUIT', exist=exists)
1014 if(
io_l )
write(
io_fid_log,*)
'*********************************************************' 1015 if(
io_l )
write(
io_fid_log,*)
'*** QUIT file is found. Termination operation starts. ***' 1016 if(
io_l )
write(
io_fid_log,*)
'*********************************************************' 1027 time_res_atmos_restart = time_res_atmos_restart + 1
1028 time_res_ocean_restart = time_res_ocean_restart + 1
1029 time_res_land_restart = time_res_land_restart + 1
1030 time_res_urban_restart = time_res_urban_restart + 1
1034 time_res_atmos_restart = 0
1041 time_res_ocean_restart = 0
1048 time_res_land_restart = 0
1055 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]
logical, public prc_universal_ismaster
master process in universal communicator?
integer, public io_step_to_stdout
interval for output current step to STDOUT (negative is off)
logical, public io_nml
output log or not? (for namelist, this process)
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, 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.
character(len=h_long), public atmos_restart_in_basename
Basename of the input 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]
integer, parameter, public dp
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.
integer, public io_fid_nml
Log file ID (only for output namelist)
subroutine, public admin_time_checkstate
Evaluate component execution.