module SCALE-RM (a main routine of regional model)
More...
module SCALE-RM (a main routine of regional model)
- Description
- SCALE: Scalable Computing by Advanced Library and Environment Limited area model for regional weather, regional climate, and large-Eddy Simulation (LES)
- Author
- Team SCALE
◆ rm_driver()
subroutine, public mod_rm_driver::rm_driver |
( |
integer, intent(in) |
comm_world, |
|
|
integer, intent(in) |
intercomm_parent, |
|
|
integer, intent(in) |
intercomm_child, |
|
|
character(len=*), intent(in) |
cnf_fname |
|
) |
| |
Setup.
Definition at line 58 of file mod_rm_driver.F90.
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
248 integer :: fpm_counter
256 call io_setup( modelname, cnf_fname )
264 call io_log_setup( myrank, ismaster )
277 call prof_setprefx(
'INIT')
278 call prof_rapstart(
'Initialize', 0)
320 call atmos_driver_tracer_setup
399 call prof_rapend(
'Initialize', 0)
407 call prof_papi_rapstart
411 log_progress(*)
'START TIMESTEP'
412 call prof_setprefx(
'MAIN')
413 call prof_rapstart(
'Main_Loop', 0)
467 if( io_l )
call flush(io_fid_log)
474 if ( sign_exit )
then
475 log_error(
"scalerm",*)
'receive stop signal'
481 fpm_counter = fpm_counter + 1
486 call prof_rapend(
'Main_Loop', 0)
488 log_progress(*)
'END TIMESTEP'
495 call prof_papi_rapstop
500 call prof_setprefx(
'FIN')
502 call prof_rapstart(
'All', 1)
509 call prof_rapstart(
'Monit', 2)
511 call prof_rapend (
'Monit', 2)
513 call prof_rapstart(
'File', 2)
521 call prof_rapend (
'File', 2)
523 call prof_rapend (
'All', 1)
527 call prof_papi_rapreport
References mod_admin_restart::admin_restart_setup(), mod_admin_restart::admin_restart_write(), mod_admin_time::admin_time_advance(), mod_admin_time::admin_time_checkstate(), mod_admin_time::admin_time_setup(), mod_admin_versioncheck::admin_versioncheck(), mod_atmos_admin::atmos_admin_setup(), mod_atmos_admin::atmos_do, mod_atmos_driver::atmos_driver_calc_tendency(), mod_atmos_driver::atmos_driver_calc_tendency_from_sflux(), mod_atmos_driver::atmos_driver_finalize(), mod_atmos_driver::atmos_driver_setup(), mod_atmos_driver::atmos_driver_tracer_setup(), mod_atmos_driver::atmos_driver_update(), scale_atmos_grid_cartesc::atmos_grid_cartesc_cy, scale_atmos_grid_cartesc::atmos_grid_cartesc_domain_center_y, scale_atmos_grid_cartesc_index::atmos_grid_cartesc_index_setup(), scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_mapf, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_setup(), scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_calc_areavol(), scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_lat, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_setup(), scale_atmos_grid_cartesc::atmos_grid_cartesc_setup(), scale_atmos_hydrometeor::atmos_hydrometeor_setup(), scale_atmos_hydrostatic::atmos_hydrostatic_setup(), mod_atmos_admin::atmos_phy_mp_type, mod_atmos_vars::atmos_restart_check, scale_atmos_saturation::atmos_saturation_setup(), scale_atmos_thermodyn::atmos_thermodyn_setup(), mod_atmos_vars::atmos_vars_history(), mod_atmos_vars::atmos_vars_history_setpres(), mod_atmos_vars::atmos_vars_monitor(), mod_atmos_vars::atmos_vars_restart_check(), mod_atmos_vars::atmos_vars_setup(), scale_bulkflux::bulkflux_setup(), scale_calendar::calendar_setup(), scale_comm_cartesc_nest::comm_cartesc_nest_setup(), scale_comm_cartesc::comm_cleanup(), scale_comm_cartesc::comm_setup(), scale_const::const_setup(), scale_coriolis::coriolis_setup(), mod_cpl_admin::cpl_admin_setup(), mod_cpl_admin::cpl_sw, mod_cpl_vars::cpl_vars_setup(), scale_atmos_grid_cartesc::dx, scale_atmos_grid_cartesc::dy, scale_file_cartesc::file_cartesc_cleanup(), scale_file_cartesc::file_cartesc_setup(), scale_file::file_close_all(), scale_file_external_input_cartesc::file_external_input_cartesc_setup(), scale_file_history_cartesc::file_history_cartesc_setup(), scale_file_history::file_history_finalize(), scale_file_history::file_history_set_nowdate(), scale_file_history::file_history_write(), scale_fpm::fpm_alive, scale_fpm::fpm_polling(), scale_fpm::fpm_polling_freq, scale_atmos_grid_cartesc_index::ia, scale_io::io_fid_log, scale_io::io_l, scale_io::io_log_setup(), scale_io::io_setup(), scale_atmos_grid_cartesc_index::ja, mod_lake_admin::lake_admin_setup(), mod_lake_admin::lake_do, mod_land_admin::land_admin_setup(), mod_land_admin::land_do, mod_land_driver::land_driver_calc_tendency(), mod_land_driver::land_driver_setup(), mod_land_driver::land_driver_update(), scale_land_grid_cartesc_index::land_grid_cartesc_index_setup(), scale_land_grid_cartesc_real::land_grid_cartesc_real_set_areavol(), scale_land_grid_cartesc_real::land_grid_cartesc_real_setup(), scale_land_grid_cartesc::land_grid_cartesc_setup(), mod_land_vars::land_vars_history(), mod_land_vars::land_vars_monitor(), mod_land_vars::land_vars_setup(), scale_landuse::landuse_setup(), scale_landuse::landuse_write(), scale_monitor_cartesc::monitor_cartesc_setup(), scale_monitor::monitor_finalize(), scale_monitor::monitor_write(), mod_ocean_admin::ocean_admin_setup(), mod_ocean_admin::ocean_do, mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_setup(), mod_ocean_driver::ocean_driver_update(), scale_ocean_grid_cartesc_index::ocean_grid_cartesc_index_setup(), scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_set_areavol(), scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_setup(), scale_ocean_grid_cartesc::ocean_grid_cartesc_setup(), mod_ocean_vars::ocean_vars_history(), mod_ocean_vars::ocean_vars_monitor(), mod_ocean_vars::ocean_vars_setup(), scale_prc::prc_abort(), scale_prc_cartesc::prc_cartesc_setup(), scale_prc::prc_local_setup(), scale_prof::prof_rapend(), scale_prof::prof_rapreport(), scale_prof::prof_rapstart(), scale_prof::prof_setprefx(), scale_prof::prof_setup(), mod_atmos_phy_mp_vars::qa_mp, scale_random::random_setup(), restart_read(), scale_statistics::statistics_setup(), mod_admin_time::time_doatmos_step, mod_admin_time::time_doend, mod_admin_time::time_doland_step, mod_admin_time::time_doocean_step, mod_admin_time::time_doresume, mod_admin_time::time_dourban_step, scale_time::time_dtsec, scale_time::time_nowdate, scale_time::time_nowstep, scale_time::time_nowsubsec, scale_topography::topography_setup(), scale_topography::topography_write(), mod_urban_admin::urban_admin_setup(), mod_urban_admin::urban_do, mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_setup(), mod_urban_driver::urban_driver_update(), scale_urban_grid_cartesc_index::urban_grid_cartesc_index_setup(), scale_urban_grid_cartesc_real::urban_grid_cartesc_real_set_areavol(), scale_urban_grid_cartesc_real::urban_grid_cartesc_real_setup(), scale_urban_grid_cartesc::urban_grid_cartesc_setup(), mod_urban_admin::urban_land, mod_urban_vars::urban_vars_history(), mod_urban_vars::urban_vars_monitor(), mod_urban_vars::urban_vars_setup(), mod_user::user_calc_tendency(), mod_user::user_setup(), mod_user::user_tracer_setup(), and mod_user::user_update().
Referenced by scalerm(), scalerm_init(), and scalerm_pp().
◆ restart_read()
subroutine mod_rm_driver::restart_read |
Definition at line 535 of file mod_rm_driver.F90.
607 call atmos_refstate_update(
ka,
ks,
ke,
ia,
is,
ie,
isb,
ieb,
ja,
js,
je,
jsb,
jeb, &
608 dens(:,:,:),
pott(:,:,:),
temp(:,:,:),
pres(:,:,:),
qv(:,:,:), &
609 cz(:), fz(:), fdz(:), rcdz(:), &
610 real_cz(:,:,:), real_fz(:,:,:), real_phi(:,:,:), area(:,:), &
References mod_admin_restart::admin_restart_read(), mod_atmos_bnd_driver::atmos_boundary_driver_set(), mod_atmos_admin::atmos_do, mod_atmos_driver::atmos_driver_calc_tendency(), mod_atmos_driver::atmos_driver_calc_tendency_from_sflux(), scale_atmos_grid_cartesc::atmos_grid_cartesc_cz, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdz, scale_atmos_grid_cartesc::atmos_grid_cartesc_fz, scale_atmos_grid_cartesc::atmos_grid_cartesc_rcdz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_area, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_cz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_phi, scale_atmos_refstate::atmos_refstate_update(), mod_atmos_driver::atmos_surface_set(), mod_atmos_vars::atmos_vars_calc_diagnostics(), mod_atmos_vars::atmos_vars_history(), mod_atmos_vars::atmos_vars_history_setpres(), mod_atmos_vars::atmos_vars_monitor(), mod_cpl_admin::cpl_sw, mod_atmos_vars::dens, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::ieb, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::isb, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::jeb, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::jsb, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, mod_land_admin::land_do, mod_land_driver::land_driver_calc_tendency(), mod_land_driver::land_surface_set(), mod_land_vars::land_vars_history(), mod_land_vars::land_vars_monitor(), mod_ocean_admin::ocean_do, mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), mod_ocean_vars::ocean_vars_history(), mod_ocean_vars::ocean_vars_monitor(), mod_atmos_vars::pott, mod_atmos_vars::pres, mod_atmos_vars::qv, mod_atmos_vars::temp, scale_time::time_nowdaysec, mod_urban_admin::urban_do, mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), mod_urban_vars::urban_vars_history(), mod_urban_vars::urban_vars_monitor(), and mod_user::user_calc_tendency().
Referenced by rm_driver().
subroutine, public comm_setup
Setup.
subroutine, public land_grid_cartesc_real_setup
Setup real grid.
module Atmosphere / Physics Cloud Microphysics
integer, public ke
end point of inner domain: z, local
subroutine, public ocean_driver_update
Ocean step.
module administrator for restart
real(dp), public time_nowdaysec
second of current time [sec]
subroutine, public prc_abort
Abort Process.
subroutine, public file_history_finalize
finalization
subroutine, public user_setup
Setup before setup of other components.
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_cz
geopotential height [m] (zxy)
subroutine, public cpl_admin_setup
Setup.
real(rp), dimension(:,:,:), allocatable, target, public pott
subroutine, public file_close_all(skip_abort)
subroutine, public atmos_driver_tracer_setup
Tracer setup.
subroutine, public comm_cleanup
subroutine, public user_tracer_setup
Config before setup of tracers.
subroutine, public atmos_grid_cartesc_setup(basename, aggregate)
Setup.
subroutine, public landuse_setup(OCEAN_do, URBAN_do, LAKE_do)
Setup.
subroutine, public land_vars_history
History output set for land variables.
subroutine, public monitor_write(memo, nowstep)
Flush monitor buffer to formatted file.
subroutine, public ocean_grid_cartesc_real_setup
Setup area and volume.
subroutine, public ocean_admin_setup
Setup.
module Communication CartesianC nesting
subroutine, public urban_admin_setup
Setup.
logical, public time_doland_step
execute land component in this step?
real(dp), public time_nowsubsec
subsecond part of current time [sec]
module Atmosphere Grid CartesianC metirc
subroutine, public ocean_vars_monitor
monitor output
module atmosphere / hydrometeor
subroutine, public fpm_polling(run_stat, stop_signal)
Main system of FPM.
module atmosphere / reference state
subroutine, public urban_vars_monitor
monitor output
subroutine, public topography_write
Write topography.
module urban / grid / icosahedralA / index
subroutine, public atmos_grid_cartesc_real_calc_areavol(MAPF)
Calc control area/volume.
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_rcdz
reciprocal of center-dz
module ocean / grid / cartesianC
module Atmosphere GRID CartesC Real(real space)
subroutine, public atmos_driver_update(last_step)
advance atmospheric state
subroutine, public random_setup
Setup.
subroutine, public urban_driver_update
Urban step.
subroutine, public admin_time_setup(setup_TimeIntegration)
Setup.
subroutine, public land_vars_monitor
monitor output
subroutine, public coriolis_setup(IA, JA, LAT, CY, DOMAIN_CENTER_Y)
Setup.
subroutine, public lake_admin_setup
Setup.
subroutine, public atmos_driver_finalize
Finalize.
subroutine, public prc_cartesc_setup
Setup Processor topology.
subroutine, public file_history_set_nowdate(NOWDATE, NOWSUBSEC, NOWSTEP)
set now step
real(rp), public atmos_grid_cartesc_domain_center_y
center position of global domain [m]: y
subroutine, public urban_driver_calc_tendency(force)
Calclate tendency.
logical, public atmos_restart_check
Check value consistency?
module land / grid / cartesianC / index
subroutine, public ocean_surface_set(countup)
Put surface boundary to other model.
subroutine, public atmos_vars_monitor
monitor output
real(rp), dimension(:,:,:,:), allocatable, public atmos_grid_cartesc_metric_mapf
map factor
subroutine, public prc_local_setup(comm, myrank, ismaster)
Setup MPI in local communicator.
integer, public ie
end point of inner domain: x, local
logical, public urban_land
subroutine, public bulkflux_setup(dx)
real(rp), dimension(:,:,:), allocatable, target, public dens
subroutine, public ocean_grid_cartesc_real_set_areavol
subroutine, public urban_grid_cartesc_index_setup
Setup.
subroutine, public admin_restart_setup
Setup.
module atmosphere / grid / cartesC index
subroutine, public atmos_boundary_driver_set
set
subroutine, public land_surface_set(countup)
Put surface boundary to other model.
subroutine, public urban_vars_setup
Setup.
subroutine, public urban_vars_history
History output set for urban variables.
subroutine, public atmos_vars_setup
Setup.
subroutine, public atmos_vars_history_setpres
Set pressure for history output.
subroutine, public topography_setup
Setup.
subroutine, public atmos_vars_restart_check
Check and compare between last data and sample data.
subroutine, public urban_grid_cartesc_real_set_areavol
module urban / grid / cartesianC
module land / grid / cartesianC / real
logical, public time_doend
finish program in this step?
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)
subroutine, public land_grid_cartesc_index_setup
Setup.
logical, public time_doatmos_step
execute atmosphere component in this step?
integer, public time_nowstep
current step [number]
subroutine, public ocean_driver_calc_tendency(force)
Calculate tendency.
module ATMOSPHERE / Boundary treatment
subroutine, public land_driver_setup
Setup.
subroutine, public atmos_grid_cartesc_real_setup
Setup.
subroutine, public file_cartesc_cleanup
deallocate buffers
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
subroutine, public land_grid_cartesc_setup
Setup.
subroutine, public user_calc_tendency
Calculation tendency.
integer, public is
start point of inner domain: x, local
subroutine, public urban_surface_set(countup)
Set surface boundary to other model.
subroutine, public admin_restart_write
Write data to restart files.
module ocean / grid / cartesianC / index
subroutine, public atmos_admin_setup
Setup.
real(rp), dimension(:,:,:), allocatable, target, public temp
subroutine, public ocean_vars_history
History output set for ocean variables.
subroutine, public cpl_vars_setup
Setup.
integer, public fpm_polling_freq
real(rp), dimension(:,:,:), allocatable, pointer, target, public qv
subroutine, public ocean_grid_cartesc_index_setup
Setup.
subroutine, public monitor_cartesc_setup(dt, ATMOS_do, OCEAN_do, LAND_do, URBAN_do)
Setup.
subroutine, public land_driver_update
Land step.
subroutine, public admin_time_advance
Advance the time & evaluate restart & stop.
logical, public time_doresume
resume in this step?
subroutine, public admin_time_checkstate
Evaluate component execution.
subroutine, public atmos_saturation_setup
Setup.
real(rp), dimension(:,:,:), allocatable, target, public pres
subroutine, public calendar_setup
Setup.
subroutine, public atmos_grid_cartesc_index_setup(KMAX, IMAXG, JMAXG, IMAX, JMAX, KHALO, IHALO, JHALO, IBLOCK, JBLOCK)
setup index
integer, public ks
start point of inner domain: z, local
logical, public fpm_alive
subroutine, public user_update
User step.
module atmosphere / hydrostatic barance
subroutine, public land_vars_setup
Setup.
module file / history_cartesC
subroutine, public urban_driver_setup
Setup.
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_fz
face coordinate [m]: z, local
subroutine, public atmos_surface_set(countup)
Set surface boundary condition.
subroutine, public file_history_write
subroutine, public land_driver_calc_tendency(force)
Calculate tendency.
real(dp), public time_dtsec
time interval of model [sec]
subroutine, public ocean_grid_cartesc_setup
Setup.
module ATMOSPHERIC Variables
subroutine, public atmos_grid_cartesc_metric_setup
Setup.
subroutine, public atmos_vars_history
History output set for atmospheric variables.
subroutine, public land_grid_cartesc_real_set_areavol
integer, dimension(6), public time_nowdate
current time [YYYY MM DD HH MM SS]
subroutine, public urban_grid_cartesc_setup
Setup.
subroutine, public ocean_driver_setup
Setup.
integer, public js
start point of inner domain: y, local
subroutine, public ocean_vars_setup
Setup.
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cy
center coordinate [m]: y, local
subroutine, public landuse_write
Write landuse data.
character(len=h_short), public atmos_phy_mp_type
module atmosphere / thermodyn
subroutine, public file_history_cartesc_setup
Setup.
subroutine, public atmos_vars_calc_diagnostics
Calc diagnostic variables.
subroutine, public monitor_finalize
Close file.
module ocean / grid / cartesianC / real
subroutine, public statistics_setup
Setup.
subroutine, public atmos_hydrostatic_setup
Setup.
logical, public time_dourban_step
execute urban component in this step?
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_phi
geopotential [m2/s2] (cell center)
module land / grid / cartesianC
subroutine, public atmos_thermodyn_setup
Setup.
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_lat
latitude [rad,-pi,pi]
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_fz
geopotential height [m] (wxy)
module ADMIN VERSIONCHECK
module atmosphere / grid / cartesC
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_fdz
z-length of grid(i+1) to grid(i) [m]
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cz
center coordinate [m]: z, local
subroutine, public file_cartesc_setup
Setup.
module urban / grid / cartesianC / real
subroutine, public comm_cartesc_nest_setup(QA_MP, MP_TYPE_in, inter_parent, inter_child)
Setup.
subroutine, public admin_versioncheck
Setup.
subroutine, public admin_restart_read
Read from restart files.
subroutine, public urban_grid_cartesc_real_setup
Setup real grid.
subroutine, public atmos_hydrometeor_setup
Setup.
logical, public time_doocean_step
execute ocean component in this step?
module atmosphere / saturation
subroutine, public land_admin_setup
Setup.
integer, public je
end point of inner domain: y, local
subroutine, public atmos_driver_setup
Setup.
subroutine, public atmos_driver_calc_tendency_from_sflux(force)
Calculation tendency from surface flux with coupler.
subroutine, public atmos_driver_calc_tendency(force)
Calculation tendency.
subroutine, public const_setup
Setup.