SCALE-RM
mod_rm_driver.F90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
11 !-------------------------------------------------------------------------------
12 #include "scalelib.h"
14  !-----------------------------------------------------------------------------
15  !
16  !++ used modules
17  !
18  use scale_precision
19  use scale_io
20  use scale_prof
21  !-----------------------------------------------------------------------------
22  implicit none
23  private
24  !-----------------------------------------------------------------------------
25  !
26  !++ included parameters
27  !
28 #include "scale-rm.h"
29  !-----------------------------------------------------------------------------
30  !
31  !++ Public procedure
32  !
33  public :: rm_driver
34 
35  !-----------------------------------------------------------------------------
36  !
37  !++ Public parameters & variables
38  !
39  !-----------------------------------------------------------------------------
40  !
41  !++ Private procedure
42  !
43  !-----------------------------------------------------------------------------
44  !
45  !++ Private parameters & variables
46  !
47  character(len=H_MID), private, parameter :: MODELNAME = "SCALE-RM ver. "//version
48 
49  !-----------------------------------------------------------------------------
50 contains
51  !-----------------------------------------------------------------------------
53  subroutine rm_driver( &
54  comm_world, &
55  intercomm_parent, &
56  intercomm_child, &
57  cnf_fname )
58  use scale_file, only: &
60  use scale_prc, only: &
61  prc_abort, &
63  use scale_fpm, only: &
64  fpm_alive, &
65  fpm_polling, &
67  use scale_prc_cartesc, only: &
69  use scale_const, only: &
71  use scale_calendar, only: &
73  use scale_random, only: &
75  use scale_atmos_hydrometeor, only: &
79  ia, ja
80  use scale_atmos_grid_cartesc, only: &
82  domain_center_y => atmos_grid_cartesc_domain_center_y, &
83  cy => atmos_grid_cartesc_cy, &
84  dx, dy
88  real_lat => atmos_grid_cartesc_real_lat
94  use scale_ocean_grid_cartesc, only: &
101  use scale_land_grid_cartesc, only: &
103  use scale_land_grid_cartesc_real, only: &
106  use scale_urban_grid_cartesc_index, only: &
108  use scale_urban_grid_cartesc, only: &
110  use scale_urban_grid_cartesc_real, only: &
113  use scale_file_cartesc, only: &
116  use scale_comm_cartesc, only: &
117  comm_setup , &
119  use scale_comm_cartesc_nest, only: &
121  use scale_topography, only: &
124  use scale_landuse, only: &
125  landuse_setup, &
127  use scale_statistics, only: &
129  use scale_time, only: &
130  time_nowdate, &
131  time_nowsubsec, &
132  time_nowstep, &
133  time_dtsec
134  use scale_coriolis, only: &
136  use scale_atmos_hydrostatic, only: &
138  use scale_atmos_thermodyn, only: &
140  use scale_atmos_saturation, only: &
142  use scale_bulkflux, only: &
146  use scale_file_history, only: &
150  use scale_file_history_cartesc, only: &
152  use scale_monitor_cartesc, only: &
154  use scale_monitor, only: &
155  monitor_write, &
157  use mod_atmos_driver, only: &
159  use mod_admin_versioncheck, only: &
161  use mod_admin_time, only: &
169  time_doresume, &
170  time_doend
171  use mod_admin_restart, only: &
174  use mod_atmos_admin, only: &
176  atmos_do, &
178  use mod_atmos_vars, only: &
185  use mod_atmos_driver, only: &
191  use mod_atmos_phy_mp_vars, only: &
192  qa_mp
193  use mod_ocean_admin, only: &
195  ocean_do
196  use mod_ocean_vars, only: &
200  use mod_ocean_driver, only: &
204  use mod_land_admin, only: &
206  land_do
207  use mod_land_vars, only: &
208  land_vars_setup, &
211  use mod_land_driver, only: &
215  use mod_urban_admin, only: &
217  urban_do, &
218  urban_land
219  use mod_urban_vars, only: &
223  use mod_urban_driver, only: &
227  use mod_lake_admin, only: &
229  lake_do
230  use mod_cpl_admin, only: &
231  cpl_admin_setup, &
232  cpl_sw
233  use mod_cpl_vars, only: &
235  use mod_user, only: &
237  user_setup, &
240  implicit none
241 
242  integer, intent(in) :: comm_world
243  integer, intent(in) :: intercomm_parent
244  integer, intent(in) :: intercomm_child
245  character(len=*), intent(in) :: cnf_fname
246 
247  integer :: myrank
248  integer :: fpm_counter
249  logical :: ismaster
250  logical :: sign_exit
251  !---------------------------------------------------------------------------
252 
253  !########## Initial setup ##########
254 
255  ! setup standard I/O
256  call io_setup( modelname, cnf_fname )
257 
258  ! setup MPI
259  call prc_local_setup( comm_world, & ! [IN]
260  myrank, & ! [OUT]
261  ismaster ) ! [OUT]
262 
263  ! setup Log
264  call io_log_setup( myrank, ismaster )
265 
266  ! namelist compatibility check
267  call admin_versioncheck
268 
269  ! setup process
270  call prc_cartesc_setup
271 
272  ! setup PROF
273  call prof_setup
274 
275  !###########################################################################
276  ! profiler start
277  call prof_setprefx('INIT')
278  call prof_rapstart('Initialize', 0)
279 
280  ! setup constants
281  call const_setup
282 
283  ! setup calendar
284  call calendar_setup
285 
286  ! setup random number
287  call random_setup
288 
289  ! setup submodel administrator
290  call atmos_admin_setup
291  call ocean_admin_setup
292  call land_admin_setup
293  call urban_admin_setup
294  call lake_admin_setup
295  call cpl_admin_setup
296 
297  ! setup horizontal/vertical grid coordinates (cartesian,idealized)
298  if ( atmos_do ) then
301  endif
302 
303  if ( ocean_do ) then
306  endif
307 
308  if ( land_do ) then
311  endif
312 
313  if ( urban_do ) then
316  endif
317 
318  ! setup tracer index
320  call atmos_driver_tracer_setup
321  call user_tracer_setup
322 
323  ! setup file I/O
324  call file_cartesc_setup
325 
326  ! setup mpi communication
327  call comm_setup
328 
329  ! setup topography
330  call topography_setup
331  ! setup land use category index/fraction
332  call landuse_setup( ocean_do, (.not. urban_land), lake_do )
333 
334  ! setup grid coordinates (real world)
335  if ( atmos_do ) then
337  ! setup grid transfer metrics (uses in ATMOS_dynamics)
340  endif
341  if ( ocean_do ) then
344  end if
345  if ( land_do ) then
348  end if
349  if ( urban_do ) then
352  end if
353 
354  ! setup restart
356  ! setup time
357  call admin_time_setup( setup_timeintegration = .true. )
358  ! setup statistics
359  call statistics_setup
360  ! setup history I/O
362  ! setup monitor I/O
364  ! setup external in
366 
367  ! setup nesting grid
368  call comm_cartesc_nest_setup ( qa_mp, atmos_phy_mp_type, intercomm_parent, intercomm_child )
369 
370  ! setup coriolis parameter
371  call coriolis_setup( ia, ja, real_lat(:,:), cy(:), domain_center_y )
372 
373  ! setup common tools
377 
378  call bulkflux_setup( sqrt(dx**2+dy**2) )
379 
380  ! setup variable container
381  if ( atmos_do ) call atmos_vars_setup
382  if ( ocean_do ) call ocean_vars_setup
383  if ( land_do ) call land_vars_setup
384  if ( urban_do ) call urban_vars_setup
385  if ( cpl_sw ) call cpl_vars_setup
386 
387  ! setup driver
388  if ( atmos_do ) call atmos_driver_setup
389  if ( ocean_do ) call ocean_driver_setup
390  if ( land_do ) call land_driver_setup
391  if ( urban_do ) call urban_driver_setup
392 
393  call user_setup
394 
395  ! output
396  call topography_write
397  call landuse_write
398 
399  call prof_rapend('Initialize', 0)
400 
401  !########## main ##########
402 
403 #ifdef FIPP
404  call fipp_start
405 #endif
406 #ifdef PAPI
407  call prof_papi_rapstart
408 #endif
409 
410  log_newline
411  log_progress(*) 'START TIMESTEP'
412  call prof_setprefx('MAIN')
413  call prof_rapstart('Main_Loop', 0)
414 
415  fpm_counter = 0
416  do
417  ! report current time
419 
420  if ( time_doresume ) then
421  ! set state from restart files
422  call restart_read
423 
424  ! history&monitor file output
425  call monitor_write('MAIN', time_nowstep)
426  call file_history_write ! if needed
427  endif
428 
429  ! time advance
430  call admin_time_advance
432 
433  ! change to next state
438  call user_update
439  ! restart & monitor output
440  if ( ocean_do ) call ocean_vars_monitor
441  if ( land_do ) call land_vars_monitor
442  if ( urban_do ) call urban_vars_monitor
443  if ( atmos_do ) call atmos_vars_monitor
445  call monitor_write('MAIN', time_nowstep)
446 
447  ! calc tendencies and diagnostices
448  if( atmos_do .AND. time_doatmos_step ) call atmos_driver_calc_tendency( force = .false. )
449  if( ocean_do .AND. time_doocean_step ) call ocean_driver_calc_tendency( force = .false. )
450  if( land_do .AND. time_doland_step ) call land_driver_calc_tendency( force = .false. )
451  if( urban_do .AND. time_dourban_step ) call urban_driver_calc_tendency( force = .false. )
452  if( cpl_sw .AND. time_doatmos_step ) call atmos_driver_calc_tendency_from_sflux( force = .false. )
453  call user_calc_tendency
454 
455  ! history file output
456  ! Set hydrostatic pressure coordinate
458  if ( atmos_do ) call atmos_vars_history
459  if ( ocean_do ) call ocean_vars_history
460  if ( land_do ) call land_vars_history
461  if ( urban_do ) call urban_vars_history
462 
463  call file_history_write
464 
465  if( time_doend ) exit
466 
467  if( io_l ) call flush(io_fid_log)
468 
469  ! FPM polling
470  if ( fpm_alive .AND. fpm_polling_freq > 0 ) then
471  if ( fpm_counter > fpm_polling_freq ) then
472  sign_exit = .false.
473  call fpm_polling( .true., sign_exit )
474  if ( sign_exit ) then
475  log_error("scalerm",*) 'receive stop signal'
476  call prc_abort
477  endif
478  fpm_counter = 0
479  endif
480 
481  fpm_counter = fpm_counter + 1
482  endif
483 
484  enddo
485 
486  call prof_rapend('Main_Loop', 0)
487 
488  log_progress(*) 'END TIMESTEP'
489  log_newline
490 
491 #ifdef FIPP
492  call fipp_stop
493 #endif
494 #ifdef PAPI
495  call prof_papi_rapstop
496 #endif
497 
498  !########## Finalize ##########
499 
500  call prof_setprefx('FIN')
501 
502  call prof_rapstart('All', 1)
503 
505 
506  ! check data
508 
509  call prof_rapstart('Monit', 2)
510  call monitor_finalize
511  call prof_rapend ('Monit', 2)
512 
513  call prof_rapstart('File', 2)
515  ! clean up resource allocated for I/O
517 
518  call comm_cleanup
519 
520  call file_close_all
521  call prof_rapend ('File', 2)
522 
523  call prof_rapend ('All', 1)
524 
525  call prof_rapreport
526 #ifdef PAPI
527  call prof_papi_rapreport
528 #endif
529 
530  return
531  end subroutine rm_driver
532 
533  !-----------------------------------------------------------------------------
534  subroutine restart_read
536  use scale_atmos_grid_cartesc, only: &
537  cz => atmos_grid_cartesc_cz, &
538  fz => atmos_grid_cartesc_fz, &
539  fdz => atmos_grid_cartesc_fdz, &
541  use scale_atmos_grid_cartesc_real, only: &
542  real_cz => atmos_grid_cartesc_real_cz, &
543  real_fz => atmos_grid_cartesc_real_fz, &
544  real_phi => atmos_grid_cartesc_real_phi, &
546  use scale_time, only: &
548  use mod_admin_restart, only: &
550  use mod_atmos_admin, only: &
551  atmos_do
552  use mod_atmos_driver, only: &
556  use mod_atmos_vars, only: &
561  dens, &
562  pott, &
563  temp, &
564  pres, &
565  qv
566  use mod_atmos_bnd_driver, only: &
568  use scale_atmos_refstate, only: &
570  use mod_ocean_admin, only: &
571  ocean_do
572  use mod_ocean_driver, only: &
575  use mod_ocean_vars, only: &
578  use mod_land_admin, only: &
579  land_do
580  use mod_land_driver, only: &
583  use mod_land_vars, only: &
586  use mod_urban_admin, only: &
587  urban_do
588  use mod_urban_driver, only: &
591  use mod_urban_vars, only: &
594  use mod_cpl_admin, only: &
595  cpl_sw
596  use mod_user, only: &
598  implicit none
599  !---------------------------------------------------------------------------
600 
601  ! read restart data
602  call admin_restart_read
603 
604  if ( atmos_do ) then
605  ! calc diagnostics
607  call atmos_refstate_update( ka, ks, ke, ia, is, ie, isb, ieb, ja, js, je, jsb, jeb, &
608  dens(:,:,:), pott(:,:,:), temp(:,:,:), pres(:,:,:), qv(:,:,:), & ! [IN]
609  cz(:), fz(:), fdz(:), rcdz(:), & ! [IN]
610  real_cz(:,:,:), real_fz(:,:,:), real_phi(:,:,:), area(:,:), & ! [IN]
611  time_nowdaysec, & ! [IN]
612  force = .true. )
616  endif
617 
618  ! setup surface condition
619  if( atmos_do ) call atmos_surface_set( countup=.false. )
620  if( ocean_do ) call ocean_surface_set( countup=.false. )
621  if( land_do ) call land_surface_set ( countup=.false. )
622  if( urban_do ) call urban_surface_set( countup=.false. )
623 
624  ! calc tendencies
625  if( atmos_do ) call atmos_driver_calc_tendency ( force=.true. )
626  if( ocean_do ) call ocean_driver_calc_tendency ( force=.true. )
627  if( land_do ) call land_driver_calc_tendency ( force=.true. )
628  if( urban_do ) call urban_driver_calc_tendency ( force=.true. )
629  if( cpl_sw ) call atmos_driver_calc_tendency_from_sflux( force=.true. )
630  call user_calc_tendency
631 
632  !########## History & Monitor ##########
633  if( atmos_do ) call atmos_vars_history
634  if( ocean_do ) call ocean_vars_history
635  if( land_do ) call land_vars_history
636  if( urban_do ) call urban_vars_history
637 
638  if( atmos_do ) call atmos_vars_monitor
639  if( ocean_do ) call ocean_vars_monitor
640  if( land_do ) call land_vars_monitor
641  if( urban_do ) call urban_vars_monitor
642 
643  return
644  end subroutine restart_read
645 
646 end module mod_rm_driver
scale_atmos_grid_cartesc_index::isb
integer, public isb
Definition: scale_atmos_grid_cartesC_index.F90:63
mod_ocean_driver
module OCEAN driver
Definition: mod_ocean_driver.F90:11
scale_comm_cartesc::comm_setup
subroutine, public comm_setup
Setup.
Definition: scale_comm_cartesC.F90:145
scale_land_grid_cartesc_real::land_grid_cartesc_real_setup
subroutine, public land_grid_cartesc_real_setup
Setup real grid.
Definition: scale_land_grid_cartesC_real.F90:53
scale_statistics
module Statistics
Definition: scale_statistics.F90:11
mod_atmos_phy_mp_vars
module Atmosphere / Physics Cloud Microphysics
Definition: mod_atmos_phy_mp_vars.F90:12
mod_urban_admin::urban_do
logical, public urban_do
Definition: mod_urban_admin.F90:32
scale_atmos_grid_cartesc_index::ke
integer, public ke
end point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:52
mod_ocean_driver::ocean_driver_update
subroutine, public ocean_driver_update
Ocean step.
Definition: mod_ocean_driver.F90:881
mod_admin_restart
module administrator for restart
Definition: mod_admin_restart.F90:11
scale_time::time_nowdaysec
real(dp), public time_nowdaysec
second of current time [sec]
Definition: scale_time.F90:70
mod_user
module USER
Definition: mod_user.F90:12
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
mod_atmos_phy_mp_vars::qa_mp
integer, public qa_mp
Definition: mod_atmos_phy_mp_vars.F90:77
scale_file_history::file_history_finalize
subroutine, public file_history_finalize
finalization
Definition: scale_file_history.F90:1726
mod_user::user_setup
subroutine, public user_setup
Setup before setup of other components.
Definition: mod_user.F90:83
mod_land_driver
module LAND driver
Definition: mod_land_driver.F90:11
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_cz
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_cz
geopotential height [m] (zxy)
Definition: scale_atmos_grid_cartesC_real.F90:38
mod_cpl_admin::cpl_admin_setup
subroutine, public cpl_admin_setup
Setup.
Definition: mod_cpl_admin.F90:48
mod_atmos_vars::pott
real(rp), dimension(:,:,:), allocatable, target, public pott
Definition: mod_atmos_vars.F90:132
scale_file::file_close_all
subroutine, public file_close_all(skip_abort)
Definition: scale_file.F90:4787
mod_atmos_driver::atmos_driver_tracer_setup
subroutine, public atmos_driver_tracer_setup
Tracer setup.
Definition: mod_atmos_driver.F90:54
scale_comm_cartesc::comm_cleanup
subroutine, public comm_cleanup
Definition: scale_comm_cartesC.F90:3628
mod_user::user_tracer_setup
subroutine, public user_tracer_setup
Config before setup of tracers.
Definition: mod_user.F90:54
scale_atmos_grid_cartesc::atmos_grid_cartesc_setup
subroutine, public atmos_grid_cartesc_setup(basename, aggregate)
Setup.
Definition: scale_atmos_grid_cartesC.F90:108
mod_cpl_vars
module COUPLER Variables
Definition: mod_cpl_vars.F90:12
scale_landuse::landuse_setup
subroutine, public landuse_setup(OCEAN_do, URBAN_do, LAKE_do)
Setup.
Definition: scale_landuse.F90:101
mod_land_vars::land_vars_history
subroutine, public land_vars_history
History output set for land variables.
Definition: mod_land_vars.F90:679
scale_monitor::monitor_write
subroutine, public monitor_write(memo, nowstep)
Flush monitor buffer to formatted file.
Definition: scale_monitor.F90:503
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_atmos_grid_cartesc_index::ka
integer, public ka
Definition: scale_atmos_grid_cartesC_index.F90:47
mod_atmos_admin
module ATMOS admin
Definition: mod_atmos_admin.F90:11
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_setup
subroutine, public ocean_grid_cartesc_real_setup
Setup area and volume.
Definition: scale_ocean_grid_cartesC_real.F90:54
scale_coriolis
module Coriolis
Definition: scale_coriolis.F90:12
mod_atmos_admin::atmos_do
logical, public atmos_do
Definition: mod_atmos_admin.F90:33
mod_ocean_admin::ocean_admin_setup
subroutine, public ocean_admin_setup
Setup.
Definition: mod_ocean_admin.F90:62
mod_rm_driver::restart_read
subroutine restart_read
Definition: mod_rm_driver.F90:535
scale_comm_cartesc_nest
module Communication CartesianC nesting
Definition: scale_comm_cartesC_nest.F90:12
mod_urban_admin::urban_admin_setup
subroutine, public urban_admin_setup
Setup.
Definition: mod_urban_admin.F90:55
mod_admin_time::time_doland_step
logical, public time_doland_step
execute land component in this step?
Definition: mod_admin_time.F90:60
scale_file_external_input_cartesc
module file / external_input_cartesC
Definition: scale_file_external_input_cartesC.F90:12
scale_time::time_nowsubsec
real(dp), public time_nowsubsec
subsecond part of current time [sec]
Definition: scale_time.F90:69
scale_prof::prof_rapstart
subroutine, public prof_rapstart(rapname_base, level, disable_barrier)
Start raptime.
Definition: scale_prof.F90:159
scale_atmos_grid_cartesc_metric
module Atmosphere Grid CartesianC metirc
Definition: scale_atmos_grid_cartesC_metric.F90:12
scale_bulkflux
module Surface bulk flux
Definition: scale_bulkflux.F90:12
mod_ocean_vars::ocean_vars_monitor
subroutine, public ocean_vars_monitor
monitor output
Definition: mod_ocean_vars.F90:1024
scale_atmos_hydrometeor
module atmosphere / hydrometeor
Definition: scale_atmos_hydrometeor.F90:12
scale_fpm::fpm_polling
subroutine, public fpm_polling(run_stat, stop_signal)
Main system of FPM.
Definition: scale_fpm.F90:176
scale_atmos_refstate
module atmosphere / reference state
Definition: scale_atmos_refstate.F90:12
mod_urban_vars::urban_vars_monitor
subroutine, public urban_vars_monitor
monitor output
Definition: mod_urban_vars.F90:766
scale_topography::topography_write
subroutine, public topography_write
Write topography.
Definition: scale_topography.F90:190
scale_random
module RANDOM
Definition: scale_random.F90:11
scale_topography
module TOPOGRAPHY
Definition: scale_topography.F90:11
scale_calendar
module CALENDAR
Definition: scale_calendar.F90:13
scale_urban_grid_cartesc_index
module urban / grid / icosahedralA / index
Definition: scale_urban_grid_cartesC_index.F90:11
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_calc_areavol
subroutine, public atmos_grid_cartesc_real_calc_areavol(MAPF)
Calc control area/volume.
Definition: scale_atmos_grid_cartesC_real.F90:601
scale_atmos_grid_cartesc::atmos_grid_cartesc_rcdz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_rcdz
reciprocal of center-dz
Definition: scale_atmos_grid_cartesC.F90:44
scale_ocean_grid_cartesc
module ocean / grid / cartesianC
Definition: scale_ocean_grid_cartesC.F90:12
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
mod_atmos_driver::atmos_driver_update
subroutine, public atmos_driver_update(last_step)
advance atmospheric state
Definition: mod_atmos_driver.F90:374
scale_random::random_setup
subroutine, public random_setup
Setup.
Definition: scale_random.F90:64
mod_atmos_driver
module ATMOSPHERE driver
Definition: mod_atmos_driver.F90:12
mod_urban_driver::urban_driver_update
subroutine, public urban_driver_update
Urban step.
Definition: mod_urban_driver.F90:529
mod_admin_time::admin_time_setup
subroutine, public admin_time_setup(setup_TimeIntegration)
Setup.
Definition: mod_admin_time.F90:120
scale_io::io_setup
subroutine, public io_setup(APPNAME, conf_name, allow_noconf)
Setup.
Definition: scale_io.F90:93
scale_file_history
module file_history
Definition: scale_file_history.F90:15
scale_atmos_grid_cartesc::dx
real(rp), public dx
Definition: scale_atmos_grid_cartesC.F90:38
mod_land_vars::land_vars_monitor
subroutine, public land_vars_monitor
monitor output
Definition: mod_land_vars.F90:811
scale_coriolis::coriolis_setup
subroutine, public coriolis_setup(IA, JA, LAT, CY, DOMAIN_CENTER_Y)
Setup.
Definition: scale_coriolis.F90:59
mod_lake_admin::lake_admin_setup
subroutine, public lake_admin_setup
Setup.
Definition: mod_lake_admin.F90:51
scale_file
module file
Definition: scale_file.F90:15
mod_atmos_driver::atmos_driver_finalize
subroutine, public atmos_driver_finalize
Finalize.
Definition: mod_atmos_driver.F90:493
scale_prc_cartesc::prc_cartesc_setup
subroutine, public prc_cartesc_setup
Setup Processor topology.
Definition: scale_prc_cartesC.F90:70
scale_file_history::file_history_set_nowdate
subroutine, public file_history_set_nowdate(NOWDATE, NOWSUBSEC, NOWSTEP)
set now step
Definition: scale_file_history.F90:1697
scale_atmos_grid_cartesc::atmos_grid_cartesc_domain_center_y
real(rp), public atmos_grid_cartesc_domain_center_y
center position of global domain [m]: y
Definition: scale_atmos_grid_cartesC.F90:91
mod_urban_driver::urban_driver_calc_tendency
subroutine, public urban_driver_calc_tendency(force)
Calclate tendency.
Definition: mod_urban_driver.F90:114
mod_atmos_vars::atmos_restart_check
logical, public atmos_restart_check
Check value consistency?
Definition: mod_atmos_vars.F90:70
scale_land_grid_cartesc_index
module land / grid / cartesianC / index
Definition: scale_land_grid_cartesC_index.F90:11
scale_atmos_grid_cartesc_index::jeb
integer, public jeb
Definition: scale_atmos_grid_cartesC_index.F90:66
mod_ocean_driver::ocean_surface_set
subroutine, public ocean_surface_set(countup)
Put surface boundary to other model.
Definition: mod_ocean_driver.F90:1100
scale_prc
module PROCESS
Definition: scale_prc.F90:11
mod_atmos_vars::atmos_vars_monitor
subroutine, public atmos_vars_monitor
monitor output
Definition: mod_atmos_vars.F90:3114
scale_file_external_input_cartesc::file_external_input_cartesc_setup
subroutine, public file_external_input_cartesc_setup
Setup.
Definition: scale_file_external_input_cartesC.F90:55
scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_mapf
real(rp), dimension(:,:,:,:), allocatable, public atmos_grid_cartesc_metric_mapf
map factor
Definition: scale_atmos_grid_cartesC_metric.F90:34
scale_prc::prc_local_setup
subroutine, public prc_local_setup(comm, myrank, ismaster)
Setup MPI in local communicator.
Definition: scale_prc.F90:223
scale_atmos_grid_cartesc_index::ie
integer, public ie
end point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:54
mod_urban_admin::urban_land
logical, public urban_land
Definition: mod_urban_admin.F90:33
scale_io
module STDIO
Definition: scale_io.F90:10
scale_bulkflux::bulkflux_setup
subroutine, public bulkflux_setup(dx)
Definition: scale_bulkflux.F90:126
mod_atmos_vars::dens
real(rp), dimension(:,:,:), allocatable, target, public dens
Definition: mod_atmos_vars.F90:75
scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_set_areavol
subroutine, public ocean_grid_cartesc_real_set_areavol
Definition: scale_ocean_grid_cartesC_real.F90:63
mod_ocean_admin
module Ocean admin
Definition: mod_ocean_admin.F90:11
scale_urban_grid_cartesc_index::urban_grid_cartesc_index_setup
subroutine, public urban_grid_cartesc_index_setup
Setup.
Definition: scale_urban_grid_cartesC_index.F90:61
mod_admin_restart::admin_restart_setup
subroutine, public admin_restart_setup
Setup.
Definition: mod_admin_restart.F90:58
scale_atmos_grid_cartesc_index
module atmosphere / grid / cartesC index
Definition: scale_atmos_grid_cartesC_index.F90:12
scale_const
module CONSTANT
Definition: scale_const.F90:11
scale_atmos_grid_cartesc_index::ia
integer, public ia
Definition: scale_atmos_grid_cartesC_index.F90:48
mod_atmos_bnd_driver::atmos_boundary_driver_set
subroutine, public atmos_boundary_driver_set
set
Definition: mod_atmos_bnd_driver.F90:600
mod_land_driver::land_surface_set
subroutine, public land_surface_set(countup)
Put surface boundary to other model.
Definition: mod_land_driver.F90:832
mod_urban_vars::urban_vars_setup
subroutine, public urban_vars_setup
Setup.
Definition: mod_urban_vars.F90:304
mod_urban_vars::urban_vars_history
subroutine, public urban_vars_history
History output set for urban variables.
Definition: mod_urban_vars.F90:667
mod_atmos_vars::atmos_vars_setup
subroutine, public atmos_vars_setup
Setup.
Definition: mod_atmos_vars.F90:467
mod_atmos_vars::atmos_vars_history_setpres
subroutine, public atmos_vars_history_setpres
Set pressure for history output.
Definition: mod_atmos_vars.F90:1135
scale_topography::topography_setup
subroutine, public topography_setup
Setup.
Definition: scale_topography.F90:66
mod_atmos_vars::atmos_vars_restart_check
subroutine, public atmos_vars_restart_check
Check and compare between last data and sample data.
Definition: mod_atmos_vars.F90:1165
mod_land_admin
module Land admin
Definition: mod_land_admin.F90:11
mod_lake_admin::lake_do
logical, public lake_do
Definition: mod_lake_admin.F90:32
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_set_areavol
subroutine, public urban_grid_cartesc_real_set_areavol
Definition: scale_urban_grid_cartesC_real.F90:63
scale_urban_grid_cartesc
module urban / grid / cartesianC
Definition: scale_urban_grid_cartesC.F90:12
scale_land_grid_cartesc_real
module land / grid / cartesianC / real
Definition: scale_land_grid_cartesC_real.F90:11
mod_admin_time::time_doend
logical, public time_doend
finish program in this step?
Definition: mod_admin_time.F90:65
scale_prof::prof_setprefx
subroutine, public prof_setprefx(prefxname)
Definition: scale_prof.F90:141
mod_land_vars
module LAND Variables
Definition: mod_land_vars.F90:11
scale_atmos_refstate::atmos_refstate_update
subroutine, public atmos_refstate_update(KA, KS, KE, IA, IS, IE, ISB, IEB, JA, JS, JE, JSB, JEB, DENS, POTT, TEMP, PRES, QV, CZ, FZ, FDZ, RCDZ, REAL_CZ, REAL_FZ, REAL_PHI, AREA, nowsec, force)
Update reference state profile (Horizontal average)
Definition: scale_atmos_refstate.F90:559
scale_prc_cartesc
module process / cartesC
Definition: scale_prc_cartesC.F90:11
scale_io::io_fid_log
integer, public io_fid_log
Log file ID.
Definition: scale_io.F90:57
scale_land_grid_cartesc_index::land_grid_cartesc_index_setup
subroutine, public land_grid_cartesc_index_setup
Setup.
Definition: scale_land_grid_cartesC_index.F90:61
mod_urban_driver
module URBAN driver
Definition: mod_urban_driver.F90:11
mod_admin_time::time_doatmos_step
logical, public time_doatmos_step
execute atmosphere component in this step?
Definition: mod_admin_time.F90:46
scale_time::time_nowstep
integer, public time_nowstep
current step [number]
Definition: scale_time.F90:71
mod_ocean_driver::ocean_driver_calc_tendency
subroutine, public ocean_driver_calc_tendency(force)
Calculate tendency.
Definition: mod_ocean_driver.F90:188
mod_atmos_bnd_driver
module ATMOSPHERE / Boundary treatment
Definition: mod_atmos_bnd_driver.F90:13
mod_land_driver::land_driver_setup
subroutine, public land_driver_setup
Setup.
Definition: mod_land_driver.F90:56
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_setup
subroutine, public atmos_grid_cartesc_real_setup
Setup.
Definition: scale_atmos_grid_cartesC_real.F90:109
scale_prof
module profiler
Definition: scale_prof.F90:11
scale_file_cartesc::file_cartesc_cleanup
subroutine, public file_cartesc_cleanup
deallocate buffers
Definition: scale_file_cartesC.F90:314
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_area
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:65
scale_land_grid_cartesc::land_grid_cartesc_setup
subroutine, public land_grid_cartesc_setup
Setup.
Definition: scale_land_grid_cartesC.F90:59
mod_user::user_calc_tendency
subroutine, public user_calc_tendency
Calculation tendency.
Definition: mod_user.F90:125
scale_atmos_grid_cartesc_index::is
integer, public is
start point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:53
mod_ocean_vars
module OCEAN Variables
Definition: mod_ocean_vars.F90:12
mod_urban_driver::urban_surface_set
subroutine, public urban_surface_set(countup)
Set surface boundary to other model.
Definition: mod_urban_driver.F90:686
mod_admin_restart::admin_restart_write
subroutine, public admin_restart_write
Write data to restart files.
Definition: mod_admin_restart.F90:389
scale_ocean_grid_cartesc_index
module ocean / grid / cartesianC / index
Definition: scale_ocean_grid_cartesC_index.F90:11
mod_atmos_admin::atmos_admin_setup
subroutine, public atmos_admin_setup
Setup.
Definition: mod_atmos_admin.F90:75
mod_atmos_vars::temp
real(rp), dimension(:,:,:), allocatable, target, public temp
Definition: mod_atmos_vars.F90:133
mod_ocean_vars::ocean_vars_history
subroutine, public ocean_vars_history
History output set for ocean variables.
Definition: mod_ocean_vars.F90:706
mod_cpl_vars::cpl_vars_setup
subroutine, public cpl_vars_setup
Setup.
Definition: mod_cpl_vars.F90:175
scale_atmos_grid_cartesc_index::ja
integer, public ja
Definition: scale_atmos_grid_cartesC_index.F90:49
scale_fpm::fpm_polling_freq
integer, public fpm_polling_freq
Definition: scale_fpm.F90:31
scale_time
module TIME
Definition: scale_time.F90:11
mod_atmos_vars::qv
real(rp), dimension(:,:,:), allocatable, pointer, target, public qv
Definition: mod_atmos_vars.F90:96
scale_ocean_grid_cartesc_index::ocean_grid_cartesc_index_setup
subroutine, public ocean_grid_cartesc_index_setup
Setup.
Definition: scale_ocean_grid_cartesC_index.F90:61
scale_monitor_cartesc::monitor_cartesc_setup
subroutine, public monitor_cartesc_setup(dt, ATMOS_do, OCEAN_do, LAND_do, URBAN_do)
Setup.
Definition: scale_monitor_cartesC.F90:52
mod_land_driver::land_driver_update
subroutine, public land_driver_update
Land step.
Definition: mod_land_driver.F90:695
mod_admin_time::admin_time_advance
subroutine, public admin_time_advance
Advance the time & evaluate restart & stop.
Definition: mod_admin_time.F90:1005
mod_admin_time::time_doresume
logical, public time_doresume
resume in this step?
Definition: mod_admin_time.F90:64
mod_admin_time::admin_time_checkstate
subroutine, public admin_time_checkstate
Evaluate component execution.
Definition: mod_admin_time.F90:842
scale_atmos_saturation::atmos_saturation_setup
subroutine, public atmos_saturation_setup
Setup.
Definition: scale_atmos_saturation.F90:215
mod_atmos_vars::pres
real(rp), dimension(:,:,:), allocatable, target, public pres
Definition: mod_atmos_vars.F90:134
scale_atmos_grid_cartesc::dy
real(rp), public dy
Definition: scale_atmos_grid_cartesC.F90:38
scale_calendar::calendar_setup
subroutine, public calendar_setup
Setup.
Definition: scale_calendar.F90:89
mod_admin_time
module ADMIN TIME
Definition: mod_admin_time.F90:11
scale_atmos_grid_cartesc_index::atmos_grid_cartesc_index_setup
subroutine, public atmos_grid_cartesc_index_setup(KMAX, IMAXG, JMAXG, IMAX, JMAX, KHALO, IHALO, JHALO, IBLOCK, JBLOCK)
setup index
Definition: scale_atmos_grid_cartesC_index.F90:117
scale_atmos_grid_cartesc_index::ks
integer, public ks
start point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:51
scale_fpm::fpm_alive
logical, public fpm_alive
Definition: scale_fpm.F90:32
mod_user::user_update
subroutine, public user_update
User step.
Definition: mod_user.F90:134
mod_rm_driver
module SCALE-RM (a main routine of regional model)
Definition: mod_rm_driver.F90:13
mod_ocean_admin::ocean_do
logical, public ocean_do
Definition: mod_ocean_admin.F90:32
scale_atmos_hydrostatic
module atmosphere / hydrostatic barance
Definition: scale_atmos_hydrostatic.F90:12
mod_land_vars::land_vars_setup
subroutine, public land_vars_setup
Setup.
Definition: mod_land_vars.F90:284
scale_file_history_cartesc
module file / history_cartesC
Definition: scale_file_history_cartesC.F90:12
mod_urban_driver::urban_driver_setup
subroutine, public urban_driver_setup
Setup.
Definition: mod_urban_driver.F90:54
scale_atmos_grid_cartesc::atmos_grid_cartesc_fz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_fz
face coordinate [m]: z, local
Definition: scale_atmos_grid_cartesC.F90:41
mod_atmos_driver::atmos_surface_set
subroutine, public atmos_surface_set(countup)
Set surface boundary condition.
Definition: mod_atmos_driver.F90:575
scale_file_history::file_history_write
subroutine, public file_history_write
Definition: scale_file_history.F90:1643
mod_land_driver::land_driver_calc_tendency
subroutine, public land_driver_calc_tendency(force)
Calculate tendency.
Definition: mod_land_driver.F90:119
scale_monitor_cartesc
module MONITOR CartesC
Definition: scale_monitor_cartesC.F90:12
scale_time::time_dtsec
real(dp), public time_dtsec
time interval of model [sec]
Definition: scale_time.F90:33
scale_comm_cartesc
module COMMUNICATION
Definition: scale_comm_cartesC.F90:11
scale_fpm
module FPM
Definition: scale_fpm.F90:10
scale_ocean_grid_cartesc::ocean_grid_cartesc_setup
subroutine, public ocean_grid_cartesc_setup
Setup.
Definition: scale_ocean_grid_cartesC.F90:61
mod_atmos_vars
module ATMOSPHERIC Variables
Definition: mod_atmos_vars.F90:12
scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_setup
subroutine, public atmos_grid_cartesc_metric_setup
Setup.
Definition: scale_atmos_grid_cartesC_metric.F90:72
mod_atmos_vars::atmos_vars_history
subroutine, public atmos_vars_history
History output set for atmospheric variables.
Definition: mod_atmos_vars.F90:1301
scale_land_grid_cartesc_real::land_grid_cartesc_real_set_areavol
subroutine, public land_grid_cartesc_real_set_areavol
Definition: scale_land_grid_cartesC_real.F90:62
mod_land_admin::land_do
logical, public land_do
Definition: mod_land_admin.F90:41
scale_time::time_nowdate
integer, dimension(6), public time_nowdate
current time [YYYY MM DD HH MM SS]
Definition: scale_time.F90:66
scale_urban_grid_cartesc::urban_grid_cartesc_setup
subroutine, public urban_grid_cartesc_setup
Setup.
Definition: scale_urban_grid_cartesC.F90:60
mod_ocean_driver::ocean_driver_setup
subroutine, public ocean_driver_setup
Setup.
Definition: mod_ocean_driver.F90:57
scale_atmos_grid_cartesc_index::js
integer, public js
start point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:55
mod_ocean_vars::ocean_vars_setup
subroutine, public ocean_vars_setup
Setup.
Definition: mod_ocean_vars.F90:284
scale_atmos_grid_cartesc::atmos_grid_cartesc_cy
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cy
center coordinate [m]: y, local
Definition: scale_atmos_grid_cartesC.F90:56
scale_prof::prof_setup
subroutine, public prof_setup
Definition: scale_prof.F90:105
scale_atmos_grid_cartesc_index::ieb
integer, public ieb
Definition: scale_atmos_grid_cartesC_index.F90:64
scale_landuse::landuse_write
subroutine, public landuse_write
Write landuse data.
Definition: scale_landuse.F90:501
mod_atmos_admin::atmos_phy_mp_type
character(len=h_short), public atmos_phy_mp_type
Definition: mod_atmos_admin.F90:36
scale_atmos_thermodyn
module atmosphere / thermodyn
Definition: scale_atmos_thermodyn.F90:11
scale_file_history_cartesc::file_history_cartesc_setup
subroutine, public file_history_cartesc_setup
Setup.
Definition: scale_file_history_cartesC.F90:79
mod_atmos_vars::atmos_vars_calc_diagnostics
subroutine, public atmos_vars_calc_diagnostics
Calc diagnostic variables.
Definition: mod_atmos_vars.F90:1620
scale_io::io_l
logical, public io_l
output log or not? (this process)
Definition: scale_io.F90:62
scale_monitor::monitor_finalize
subroutine, public monitor_finalize
Close file.
Definition: scale_monitor.F90:610
scale_prof::prof_rapend
subroutine, public prof_rapend(rapname_base, level, disable_barrier)
Save raptime.
Definition: scale_prof.F90:217
scale_ocean_grid_cartesc_real
module ocean / grid / cartesianC / real
Definition: scale_ocean_grid_cartesC_real.F90:12
scale_statistics::statistics_setup
subroutine, public statistics_setup
Setup.
Definition: scale_statistics.F90:81
scale_atmos_hydrostatic::atmos_hydrostatic_setup
subroutine, public atmos_hydrostatic_setup
Setup.
Definition: scale_atmos_hydrostatic.F90:116
mod_admin_time::time_dourban_step
logical, public time_dourban_step
execute urban component in this step?
Definition: mod_admin_time.F90:62
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_phi
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_phi
geopotential [m2/s2] (cell center)
Definition: scale_atmos_grid_cartesC_real.F90:63
scale_land_grid_cartesc
module land / grid / cartesianC
Definition: scale_land_grid_cartesC.F90:11
scale_atmos_thermodyn::atmos_thermodyn_setup
subroutine, public atmos_thermodyn_setup
Setup.
Definition: scale_atmos_thermodyn.F90:156
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lat
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_lat
latitude [rad,-pi,pi]
Definition: scale_atmos_grid_cartesC_real.F90:52
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_fz
geopotential height [m] (wxy)
Definition: scale_atmos_grid_cartesC_real.F90:42
scale_io::io_log_setup
subroutine, public io_log_setup(myrank, is_master)
Setup LOG.
Definition: scale_io.F90:148
mod_admin_versioncheck
module ADMIN VERSIONCHECK
Definition: mod_admin_versioncheck.F90:11
scale_atmos_grid_cartesc
module atmosphere / grid / cartesC
Definition: scale_atmos_grid_cartesC.F90:12
scale_landuse
module LANDUSE
Definition: scale_landuse.F90:19
scale_atmos_grid_cartesc::atmos_grid_cartesc_fdz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_fdz
z-length of grid(i+1) to grid(i) [m]
Definition: scale_atmos_grid_cartesC.F90:43
mod_urban_admin
module Urban admin
Definition: mod_urban_admin.F90:11
scale_atmos_grid_cartesc::atmos_grid_cartesc_cz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cz
center coordinate [m]: z, local
Definition: scale_atmos_grid_cartesC.F90:40
scale_file_cartesc::file_cartesc_setup
subroutine, public file_cartesc_setup
Setup.
Definition: scale_file_cartesC.F90:209
scale_urban_grid_cartesc_real
module urban / grid / cartesianC / real
Definition: scale_urban_grid_cartesC_real.F90:12
scale_comm_cartesc_nest::comm_cartesc_nest_setup
subroutine, public comm_cartesc_nest_setup(QA_MP, MP_TYPE_in, inter_parent, inter_child)
Setup.
Definition: scale_comm_cartesC_nest.F90:261
mod_admin_versioncheck::admin_versioncheck
subroutine, public admin_versioncheck
Setup.
Definition: mod_admin_versioncheck.F90:45
mod_admin_restart::admin_restart_read
subroutine, public admin_restart_read
Read from restart files.
Definition: mod_admin_restart.F90:463
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_setup
subroutine, public urban_grid_cartesc_real_setup
Setup real grid.
Definition: scale_urban_grid_cartesC_real.F90:54
scale_atmos_hydrometeor::atmos_hydrometeor_setup
subroutine, public atmos_hydrometeor_setup
Setup.
Definition: scale_atmos_hydrometeor.F90:154
mod_lake_admin
module Lake admin
Definition: mod_lake_admin.F90:11
scale_atmos_grid_cartesc_index::jsb
integer, public jsb
Definition: scale_atmos_grid_cartesC_index.F90:65
mod_admin_time::time_doocean_step
logical, public time_doocean_step
execute ocean component in this step?
Definition: mod_admin_time.F90:58
scale_atmos_saturation
module atmosphere / saturation
Definition: scale_atmos_saturation.F90:12
mod_rm_driver::rm_driver
subroutine, public rm_driver(comm_world, intercomm_parent, intercomm_child, cnf_fname)
Setup.
Definition: mod_rm_driver.F90:58
mod_land_admin::land_admin_setup
subroutine, public land_admin_setup
Setup.
Definition: mod_land_admin.F90:57
scale_atmos_grid_cartesc_index::je
integer, public je
end point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:56
scale_file_cartesc
module file / cartesianC
Definition: scale_file_cartesC.F90:11
mod_cpl_admin::cpl_sw
logical, public cpl_sw
Definition: mod_cpl_admin.F90:33
mod_urban_vars
module URBAN Variables
Definition: mod_urban_vars.F90:12
mod_atmos_driver::atmos_driver_setup
subroutine, public atmos_driver_setup
Setup.
Definition: mod_atmos_driver.F90:111
scale_prof::prof_rapreport
subroutine, public prof_rapreport
Report raptime.
Definition: scale_prof.F90:271
mod_atmos_driver::atmos_driver_calc_tendency_from_sflux
subroutine, public atmos_driver_calc_tendency_from_sflux(force)
Calculation tendency from surface flux with coupler.
Definition: mod_atmos_driver.F90:330
mod_cpl_admin
module Coupler admin
Definition: mod_cpl_admin.F90:11
mod_atmos_driver::atmos_driver_calc_tendency
subroutine, public atmos_driver_calc_tendency(force)
Calculation tendency.
Definition: mod_atmos_driver.F90:195
scale_const::const_setup
subroutine, public const_setup
Setup.
Definition: scale_const.F90:115
scale_monitor
module MONITOR
Definition: scale_monitor.F90:12