SCALE-RM
Functions/Subroutines
mod_atmos_driver Module Reference

module ATMOSPHERE driver More...

Functions/Subroutines

subroutine, public atmos_driver_tracer_setup
 Tracer setup. More...
 
subroutine, public atmos_driver_setup
 Setup. More...
 
subroutine, public atmos_driver_calc_tendency (force)
 Calculation tendency. More...
 
subroutine, public atmos_driver_calc_tendency_from_sflux (force)
 Calculation tendency from surface flux with coupler. More...
 
subroutine, public atmos_driver_update (last_step)
 advance atmospheric state More...
 
subroutine, public atmos_driver_finalize
 Finalize. More...
 
subroutine, public atmos_surface_get
 Get surface boundary condition. More...
 
subroutine, public atmos_surface_set (countup)
 Set surface boundary condition. More...
 
subroutine atmos_driver_boundary_update
 

Detailed Description

module ATMOSPHERE driver

Description
Atmosphere module
Author
Team SCALE

Function/Subroutine Documentation

◆ atmos_driver_tracer_setup()

subroutine, public mod_atmos_driver::atmos_driver_tracer_setup

Tracer setup.

Definition at line 54 of file mod_atmos_driver.F90.

54  use mod_atmos_phy_mp_driver, only: &
58  use mod_atmos_phy_mp_vars, only: &
59  qa_mp, &
60  qs_mp, &
61  qe_mp
62  use mod_atmos_phy_ae_driver, only: &
64  use mod_atmos_phy_ch_driver, only: &
66  use mod_atmos_phy_tb_driver, only: &
68  use mod_atmos_phy_bl_driver, only: &
70  use scale_atmos_hydrometeor, only: &
73  use mod_atmos_admin, only: &
75  use mod_atmos_phy_lt_driver, only: &
77  implicit none
78 
79  !---------------------------------------------------------------------------
80 
81  log_newline
82  log_info("ATMOS_driver_tracer_setup",*) 'Setup'
83 
84 
91 
92  if ( atmos_hydrometeor_dry .and. atmos_use_qv ) then
93  log_info("ATMOS_driver_tracer_setup",*) 'Regist QV'
94  call atmos_hydrometeor_regist( 0, 0, & ! (in)
95  (/'QV'/), & ! (in)
96  (/'Ratio of Water Vapor mass to total mass (Specific humidity)'/), & ! (in)
97  (/'kg/kg'/), & ! (in)
98  qs_mp ) ! (out)
99  qa_mp = 1
100  qe_mp = qs_mp
102 
103  end if
104 
105  return

References scale_atmos_hydrometeor::atmos_hydrometeor_dry, scale_atmos_hydrometeor::atmos_hydrometeor_regist(), mod_atmos_phy_ae_driver::atmos_phy_ae_driver_tracer_setup(), mod_atmos_phy_bl_driver::atmos_phy_bl_driver_tracer_setup(), mod_atmos_phy_ch_driver::atmos_phy_ch_driver_tracer_setup(), mod_atmos_phy_lt_driver::atmos_phy_lt_driver_tracer_setup(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_qhyd2qtrc_onlyqv(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_tracer_setup(), mod_atmos_phy_mp_driver::atmos_phy_mp_user_qhyd2qtrc, mod_atmos_phy_tb_driver::atmos_phy_tb_driver_tracer_setup(), mod_atmos_admin::atmos_use_qv, mod_atmos_phy_mp_vars::qa_mp, mod_atmos_phy_mp_vars::qe_mp, and mod_atmos_phy_mp_vars::qs_mp.

Referenced by mod_rm_driver::rm_driver(), and mod_rm_prep::rm_prep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_driver_setup()

subroutine, public mod_atmos_driver::atmos_driver_setup

Setup.

Definition at line 111 of file mod_atmos_driver.F90.

111  use scale_time, only: &
113  use scale_atmos_solarins, only: &
115  use scale_atmos_refstate, only: &
117  use mod_atmos_bnd_driver, only: &
119  use mod_atmos_dyn_driver, only: &
121  use mod_atmos_phy_mp_driver, only: &
123  use mod_atmos_phy_mp_vars, only: &
124  qa_mp, &
125  qs_mp, &
126  qe_mp
127  use mod_atmos_phy_ch_driver, only: &
129  use mod_atmos_phy_ae_driver, only: &
131  use mod_atmos_phy_rd_driver, only: &
133  use mod_atmos_phy_sf_driver, only: &
135  use mod_atmos_phy_tb_driver, only: &
137  use mod_atmos_phy_bl_driver, only: &
139  use mod_atmos_phy_cp_driver, only: &
141  use mod_atmos_phy_lt_driver, only: &
143  use scale_atmos_grid_cartesc, only: &
144  cz => atmos_grid_cartesc_cz, &
146  use scale_atmos_grid_cartesc_real, only: &
149  real_cz => atmos_grid_cartesc_real_cz, &
150  real_fz => atmos_grid_cartesc_real_fz, &
151  real_phi => atmos_grid_cartesc_real_phi
152  implicit none
153  !---------------------------------------------------------------------------
154 
155  log_newline
156  log_info("ATMOS_driver_setup",*) 'Setup'
157 
158  log_newline
159  log_info("ATMOS_driver_setup",*) 'Setup each atmospheric components ...'
160 
161  !--- setup solar insolation
162  call atmos_solarins_setup( base_lon, base_lat, time_nowdate(1) )
163 
164  call prof_rapstart('ATM_Refstate', 2)
165  call atmos_refstate_setup( ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
166  cz(:), fz(:), real_cz(:,:,:), real_fz(:,:,:), real_phi(:,:,:) )
167 
168  call prof_rapend ('ATM_Refstate', 2)
169 
170  call prof_rapstart('ATM_Boundary', 2)
172  call prof_rapend ('ATM_Boundary', 2)
173 
174  ! setup each components
185 
186  log_newline
187  log_info("ATMOS_driver_setup",*) 'Finish setup of each atmospheric components.'
188 
189  return

References mod_atmos_bnd_driver::atmos_boundary_driver_setup(), mod_atmos_dyn_driver::atmos_dyn_driver_setup(), scale_atmos_grid_cartesc::atmos_grid_cartesc_cz, scale_atmos_grid_cartesc::atmos_grid_cartesc_fz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_basepoint_lat, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_basepoint_lon, 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, mod_atmos_phy_ae_driver::atmos_phy_ae_driver_setup(), mod_atmos_phy_bl_driver::atmos_phy_bl_driver_setup(), mod_atmos_phy_ch_driver::atmos_phy_ch_driver_setup(), mod_atmos_phy_cp_driver::atmos_phy_cp_driver_setup(), mod_atmos_phy_lt_driver::atmos_phy_lt_driver_setup(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_setup(), mod_atmos_phy_rd_driver::atmos_phy_rd_driver_setup(), mod_atmos_phy_sf_driver::atmos_phy_sf_driver_setup(), mod_atmos_phy_tb_driver::atmos_phy_tb_driver_setup(), scale_atmos_refstate::atmos_refstate_setup(), scale_atmos_solarins::atmos_solarins_setup(), scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ieb, scale_atmos_grid_cartesc_index::isb, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::jeb, scale_atmos_grid_cartesc_index::jsb, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), mod_atmos_phy_mp_vars::qa_mp, mod_atmos_phy_mp_vars::qe_mp, mod_atmos_phy_mp_vars::qs_mp, and scale_time::time_nowdate.

Referenced by mod_rm_driver::rm_driver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_driver_calc_tendency()

subroutine, public mod_atmos_driver::atmos_driver_calc_tendency ( logical, intent(in)  force)

Calculation tendency.

Definition at line 195 of file mod_atmos_driver.F90.

195  use mod_atmos_vars, only: &
196  dens_tp, &
197  momz_tp, &
198  rhou_tp, &
199  rhov_tp, &
200  rhot_tp, &
201  rhoh_p, &
202  rhoq_tp, &
203  momx_tp, &
204  momy_tp
205  use mod_atmos_phy_mp_driver, only: &
207  use mod_atmos_phy_ch_driver, only: &
209  use mod_atmos_phy_ae_driver, only: &
211  use mod_atmos_phy_rd_driver, only: &
213  use mod_atmos_phy_sf_driver, only: &
215  use mod_atmos_phy_tb_driver, only: &
217  use mod_atmos_phy_cp_driver, only: &
219  use mod_atmos_phy_bl_driver, only: &
221  use mod_admin_time, only: &
222  do_phy_mp => time_doatmos_phy_mp, &
223  do_phy_ae => time_doatmos_phy_ae, &
224  do_phy_ch => time_doatmos_phy_ch, &
225  do_phy_rd => time_doatmos_phy_rd, &
226  do_phy_sf => time_doatmos_phy_sf, &
227  do_phy_tb => time_doatmos_phy_tb, &
228  do_phy_bl => time_doatmos_phy_bl, &
229  do_phy_cp => time_doatmos_phy_cp, &
230  do_phy_lt => time_doatmos_phy_lt
231  use mod_atmos_admin, only: &
232  atmos_sw_phy_mp, &
233  atmos_sw_phy_ae, &
234  atmos_sw_phy_ch, &
235  atmos_sw_phy_rd, &
236  atmos_sw_phy_sf, &
237  atmos_sw_phy_tb, &
238  atmos_sw_phy_bl, &
240  use mod_cpl_admin, only: &
241  cpl_sw
242  implicit none
243  logical, intent(in) :: force
244  !---------------------------------------------------------------------------
245 
246  !########## Get Surface Boundary from coupler ##########
247  call atmos_surface_get
248 
249  !########## calculate tendency ##########
250  ! reset tendencies
251 !OCL XFILL
252  dens_tp(:,:,:) = 0.0_rp
253 !OCL XFILL
254  momz_tp(:,:,:) = 0.0_rp
255 !OCL XFILL
256  rhou_tp(:,:,:) = 0.0_rp
257 !OCL XFILL
258  rhov_tp(:,:,:) = 0.0_rp
259 !OCL XFILL
260  rhot_tp(:,:,:) = 0.0_rp
261 !OCL XFILL
262  rhoh_p(:,:,:) = 0.0_rp
263 !OCL XFILL
264  rhoq_tp(:,:,:,:) = 0.0_rp
265 !OCL XFILL
266  momx_tp(:,:,:) = 0.0_rp
267 !OCL XFILL
268  momy_tp(:,:,:) = 0.0_rp
269 
270  ! Microphysics
271  if ( atmos_sw_phy_mp ) then
272  call prof_rapstart('ATM_Microphysics', 1)
273  call atmos_phy_mp_driver_calc_tendency( update_flag = do_phy_mp .or. force )
274  call prof_rapend ('ATM_Microphysics', 1)
275  endif
276  ! Aerosol
277  if ( atmos_sw_phy_ae ) then
278  call prof_rapstart('ATM_Aerosol', 1)
279  call atmos_phy_ae_driver_calc_tendency( update_flag = do_phy_ae .or. force )
280  call prof_rapend ('ATM_Aerosol', 1)
281  endif
282  ! Chemistry
283  if ( atmos_sw_phy_ch ) then
284  call prof_rapstart('ATM_Chemistry', 1)
285  call atmos_phy_ch_driver_calc_tendency( update_flag = do_phy_ch .or. force )
286  call prof_rapend ('ATM_Chemistry', 1)
287  endif
288  ! Radiation
289  if ( atmos_sw_phy_rd ) then
290  call prof_rapstart('ATM_Radiation', 1)
291  call atmos_phy_rd_driver_calc_tendency( update_flag = do_phy_rd .or. force )
292  call prof_rapend ('ATM_Radiation', 1)
293  endif
294  ! Turbulence
295  if ( atmos_sw_phy_tb ) then
296  call prof_rapstart('ATM_Turbulence', 1)
297  call atmos_phy_tb_driver_calc_tendency( update_flag = do_phy_tb .or. force )
298  call prof_rapend ('ATM_Turbulence', 1)
299  endif
300  ! Cumulus
301  if ( atmos_sw_phy_cp ) then
302  call prof_rapstart('ATM_Cumulus', 1)
303  call atmos_phy_cp_driver_calc_tendency( update_flag = do_phy_cp .or. force )
304  call prof_rapend ('ATM_Cumulus', 1)
305  endif
306  if ( .not. cpl_sw ) then
307  ! Surface Flux
308  if ( atmos_sw_phy_sf ) then
309  call prof_rapstart('ATM_SurfaceFlux', 1)
310  call atmos_phy_sf_driver_calc_tendency( update_flag = do_phy_sf .or. force )
311  call prof_rapend ('ATM_SurfaceFlux', 1)
312  endif
313  ! Planetary Boundary layer
314  if ( atmos_sw_phy_bl ) then
315  call prof_rapstart('ATM_PBL', 1)
316  call atmos_phy_bl_driver_calc_tendency( update_flag = do_phy_bl .or. force )
317  call prof_rapend ('ATM_PBL', 1)
318  endif
319  end if
320 
321  !########## Set Surface Boundary Condition ##########
322  call atmos_surface_set( countup = .true. )
323 
324  return

References mod_atmos_phy_ae_driver::atmos_phy_ae_driver_calc_tendency(), mod_atmos_phy_bl_driver::atmos_phy_bl_driver_calc_tendency(), mod_atmos_phy_ch_driver::atmos_phy_ch_driver_calc_tendency(), mod_atmos_phy_cp_driver::atmos_phy_cp_driver_calc_tendency(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_calc_tendency(), mod_atmos_phy_rd_driver::atmos_phy_rd_driver_calc_tendency(), mod_atmos_phy_sf_driver::atmos_phy_sf_driver_calc_tendency(), mod_atmos_phy_tb_driver::atmos_phy_tb_driver_calc_tendency(), atmos_surface_get(), atmos_surface_set(), mod_atmos_admin::atmos_sw_phy_ae, mod_atmos_admin::atmos_sw_phy_bl, mod_atmos_admin::atmos_sw_phy_ch, mod_atmos_admin::atmos_sw_phy_cp, mod_atmos_admin::atmos_sw_phy_mp, mod_atmos_admin::atmos_sw_phy_rd, mod_atmos_admin::atmos_sw_phy_sf, mod_atmos_admin::atmos_sw_phy_tb, mod_cpl_admin::cpl_sw, mod_atmos_vars::dens_tp, mod_atmos_vars::momx_tp, mod_atmos_vars::momy_tp, mod_atmos_vars::momz_tp, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), mod_atmos_vars::rhoh_p, mod_atmos_vars::rhoq_tp, mod_atmos_vars::rhot_tp, mod_atmos_vars::rhou_tp, mod_atmos_vars::rhov_tp, mod_admin_time::time_doatmos_phy_ae, mod_admin_time::time_doatmos_phy_bl, mod_admin_time::time_doatmos_phy_ch, mod_admin_time::time_doatmos_phy_cp, mod_admin_time::time_doatmos_phy_lt, mod_admin_time::time_doatmos_phy_mp, mod_admin_time::time_doatmos_phy_rd, mod_admin_time::time_doatmos_phy_sf, and mod_admin_time::time_doatmos_phy_tb.

Referenced by mod_rm_driver::restart_read(), and mod_rm_driver::rm_driver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_driver_calc_tendency_from_sflux()

subroutine, public mod_atmos_driver::atmos_driver_calc_tendency_from_sflux ( logical, intent(in)  force)

Calculation tendency from surface flux with coupler.

Definition at line 330 of file mod_atmos_driver.F90.

330  use mod_atmos_phy_sf_driver, only: &
332  use mod_atmos_phy_bl_driver, only: &
334  use mod_cpl_admin, only: &
335  cpl_sw
336  use mod_atmos_admin, only: &
337  atmos_sw_phy_sf, &
339  use mod_admin_time, only: &
340  do_phy_sf => time_doatmos_phy_sf, &
341  do_phy_bl => time_doatmos_phy_bl
342  implicit none
343  logical, intent(in) :: force
344  !---------------------------------------------------------------------------
345 
346  if ( cpl_sw ) then
347 
348  !########## Get Surface Boundary Condition ##########
349  call atmos_surface_get
350 
351  ! Surface Flux
352  if ( atmos_sw_phy_sf ) then
353  call prof_rapstart('ATM_SurfaceFlux', 1)
354  call atmos_phy_sf_driver_calc_tendency( update_flag = do_phy_sf .or. force )
355  call prof_rapend ('ATM_SurfaceFlux', 1)
356  endif
357 
358  ! Planetary Boundary layer
359  if ( atmos_sw_phy_bl ) then
360  call prof_rapstart('ATM_PBL', 1)
361  call atmos_phy_bl_driver_calc_tendency( update_flag = do_phy_bl .or. force )
362  call prof_rapend ('ATM_PBL', 1)
363  endif
364 
365  end if
366 
367  return

References mod_atmos_phy_bl_driver::atmos_phy_bl_driver_calc_tendency(), mod_atmos_phy_sf_driver::atmos_phy_sf_driver_calc_tendency(), atmos_surface_get(), mod_atmos_admin::atmos_sw_phy_bl, mod_atmos_admin::atmos_sw_phy_sf, mod_cpl_admin::cpl_sw, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), mod_admin_time::time_doatmos_phy_bl, and mod_admin_time::time_doatmos_phy_sf.

Referenced by mod_rm_driver::restart_read(), and mod_rm_driver::rm_driver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_driver_update()

subroutine, public mod_atmos_driver::atmos_driver_update ( logical, intent(in)  last_step)

advance atmospheric state

Definition at line 374 of file mod_atmos_driver.F90.

374  use mod_atmos_admin, only: &
375  atmos_sw_dyn, &
376  atmos_sw_phy_mp, &
377  atmos_sw_phy_ae, &
379  use mod_admin_time, only: &
380  do_dyn => time_doatmos_dyn, &
381  do_phy_mp => time_doatmos_phy_mp, &
382  do_phy_ae => time_doatmos_phy_ae
383  use scale_atmos_refstate, only: &
386  use mod_atmos_vars, only: &
389  dens, &
390  temp, &
391  pres, &
392  pott, &
393  qv
394  use mod_atmos_bnd_driver, only: &
398  use mod_atmos_dyn_driver, only: &
400  use mod_atmos_phy_mp_driver, only: &
402  use mod_atmos_phy_ae_driver, only: &
404  use mod_atmos_phy_lt_driver, only: &
406  use scale_atmos_grid_cartesc, only: &
407  cz => atmos_grid_cartesc_cz, &
408  fz => atmos_grid_cartesc_fz, &
409  fdz => atmos_grid_cartesc_fdz, &
411  use scale_atmos_grid_cartesc_real, only: &
412  real_cz => atmos_grid_cartesc_real_cz, &
413  real_fz => atmos_grid_cartesc_real_fz, &
414  real_phi => atmos_grid_cartesc_real_phi, &
416  use scale_time, only: &
418  implicit none
419 
420  logical, intent(in) :: last_step
421  !---------------------------------------------------------------------------
422 
423  !########## Dynamics ##########
424  if ( atmos_sw_dyn ) then
425  call prof_rapstart('ATM_Dynamics', 1)
426  call atmos_dyn_driver( do_dyn )
427  call prof_rapend ('ATM_Dynamics', 1)
428  endif
429 
430  !########## Lateral/Top Boundary Condition ###########
431  if ( atmos_boundary_update_flag ) then
432  call prof_rapstart('ATM_Boundary', 2)
433  call atmos_boundary_driver_update( last_step )
434  call prof_rapend ('ATM_Boundary', 2)
435  endif
436 
437  !########## Calculate diagnostic variables ##########
439 
440 
441  !########## Adjustment ##########
442  ! Microphysics
443  if ( atmos_sw_phy_mp ) then
444  call prof_rapstart('ATM_Microphysics', 1)
446  call prof_rapend ('ATM_Microphysics', 1)
449  endif
450  ! Aerosol
451  if ( atmos_sw_phy_ae ) then
452  call prof_rapstart('ATM_Aerosol', 1)
454  call prof_rapend ('ATM_Aerosol', 1)
457  endif
458  ! Lightning
459  if ( atmos_sw_phy_lt ) then
460  call prof_rapstart('ATM_Lightning', 1)
462  call prof_rapend ('ATM_Lightning', 1)
464  ! calc_diagnostics is not necessary
465  end if
466 
467  !########## Send Lateral/Top Boundary Condition (Online nesting) ###########
468  if ( atmos_boundary_update_flag ) then
469  call prof_rapstart('ATM_Boundary', 2)
471  call prof_rapend ('ATM_Boundary', 2)
472  endif
473 
474 
475  !########## Reference State ###########
476  if ( atmos_refstate_update_flag ) then
477  call prof_rapstart('ATM_Refstate', 2)
478  call atmos_refstate_update( ka, ks, ke, ia, is, ie, isb, ieb, ja, js, je, jsb, jeb, &
479  dens(:,:,:), pott(:,:,:), temp(:,:,:), pres(:,:,:), qv(:,:,:), & ! [IN]
480  cz(:), fz(:), fdz(:), rcdz(:), & ! [IN]
481  real_cz(:,:,:), real_fz(:,:,:), real_phi(:,:,:), area(:,:), & ! [IN]
482  time_nowdaysec ) ! [IN]
483  call prof_rapend ('ATM_Refstate', 2)
484  endif
485 
486 
487  return

References mod_atmos_bnd_driver::atmos_boundary_driver_send(), mod_atmos_bnd_driver::atmos_boundary_driver_update(), mod_atmos_bnd_driver::atmos_boundary_update_flag, mod_atmos_dyn_driver::atmos_dyn_driver(), 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, mod_atmos_phy_ae_driver::atmos_phy_ae_driver_adjustment(), mod_atmos_phy_lt_driver::atmos_phy_lt_driver_adjustment(), mod_atmos_phy_mp_driver::atmos_phy_mp_driver_adjustment(), scale_atmos_refstate::atmos_refstate_update(), scale_atmos_refstate::atmos_refstate_update_flag, mod_atmos_admin::atmos_sw_dyn, mod_atmos_admin::atmos_sw_phy_ae, mod_atmos_admin::atmos_sw_phy_lt, mod_atmos_admin::atmos_sw_phy_mp, mod_atmos_vars::atmos_vars_calc_diagnostics(), mod_atmos_vars::atmos_vars_fillhalo(), 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_atmos_vars::pott, mod_atmos_vars::pres, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), mod_atmos_vars::qv, mod_atmos_vars::temp, mod_admin_time::time_doatmos_dyn, mod_admin_time::time_doatmos_phy_ae, mod_admin_time::time_doatmos_phy_mp, and scale_time::time_nowdaysec.

Referenced by mod_rm_driver::rm_driver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_driver_finalize()

subroutine, public mod_atmos_driver::atmos_driver_finalize

Finalize.

Definition at line 493 of file mod_atmos_driver.F90.

493  use mod_atmos_bnd_driver, only: &
496  use scale_comm_cartesc_nest, only: &
497  nest_comm_disconnect => comm_cartesc_nest_disconnect
498  implicit none
499  !---------------------------------------------------------------------------
500 
501  !########## Lateral/Top Boundary Condition ###########
502  if ( atmos_boundary_update_flag ) then
503  ! If this run is parent of online nesting, boundary data must be sent
505 
506  ! Finialize Inter-Communicators
507  call nest_comm_disconnect
508  endif
509 
510  return

References mod_atmos_bnd_driver::atmos_boundary_driver_finalize(), mod_atmos_bnd_driver::atmos_boundary_update_flag, and scale_comm_cartesc_nest::comm_cartesc_nest_disconnect().

Referenced by mod_rm_driver::rm_driver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_surface_get()

subroutine, public mod_atmos_driver::atmos_surface_get

Get surface boundary condition.

Definition at line 516 of file mod_atmos_driver.F90.

516  use mod_atmos_phy_sf_vars, only: &
517  sfc_temp => atmos_phy_sf_sfc_temp, &
518  sfc_albedo => atmos_phy_sf_sfc_albedo, &
519  sfc_z0m => atmos_phy_sf_sfc_z0m, &
520  sfc_z0h => atmos_phy_sf_sfc_z0h, &
521  sfc_z0e => atmos_phy_sf_sfc_z0e, &
522  sflx_mw => atmos_phy_sf_sflx_mw, &
523  sflx_mu => atmos_phy_sf_sflx_mu, &
524  sflx_mv => atmos_phy_sf_sflx_mv, &
525  sflx_sh => atmos_phy_sf_sflx_sh, &
526  sflx_lh => atmos_phy_sf_sflx_lh, &
527  sflx_shex => atmos_phy_sf_sflx_shex, &
528  sflx_qvex => atmos_phy_sf_sflx_qvex, &
529  sflx_gh => atmos_phy_sf_sflx_gh, &
530  sflx_qtrc => atmos_phy_sf_sflx_qtrc, &
531  sflx_engi => atmos_phy_sf_sflx_engi, &
532  u10 => atmos_phy_sf_u10, &
533  v10 => atmos_phy_sf_v10, &
534  t2 => atmos_phy_sf_t2, &
535  q2 => atmos_phy_sf_q2
536  use mod_cpl_admin, only: &
537  cpl_sw
538  use mod_cpl_vars, only: &
540  implicit none
541  !---------------------------------------------------------------------------
542 
543  call prof_rapstart('ATM_SfcExch', 2)
544 
545  if ( cpl_sw ) then
546  call cpl_getsfc_atm( sfc_temp(:,:), & ! [OUT]
547  sfc_albedo(:,:,:,:), & ! [OUT]
548  sfc_z0m(:,:), & ! [OUT]
549  sfc_z0h(:,:), & ! [OUT]
550  sfc_z0e(:,:), & ! [OUT]
551  sflx_mw(:,:), & ! [OUT]
552  sflx_mu(:,:), & ! [OUT]
553  sflx_mv(:,:), & ! [OUT]
554  sflx_sh(:,:), & ! [OUT]
555  sflx_lh(:,:), & ! [OUT]
556  sflx_shex(:,:), & ! [OUT]
557  sflx_qvex(:,:), & ! [OUT]
558  sflx_gh(:,:), & ! [OUT]
559  sflx_qtrc(:,:,:), & ! [OUT]
560  sflx_engi(:,:), & ! [OUT]
561  u10(:,:), & ! [OUT]
562  v10(:,:), & ! [OUT]
563  t2(:,:), & ! [OUT]
564  q2(:,:) ) ! [OUT]
565  endif
566 
567  call prof_rapend ('ATM_SfcExch', 2)
568 
569  return

References mod_atmos_phy_sf_vars::atmos_phy_sf_q2, mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_albedo, mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_temp, mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0e, mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0h, mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0m, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_engi, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_gh, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_lh, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mu, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mv, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mw, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_qtrc, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_qvex, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_sh, mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_shex, mod_atmos_phy_sf_vars::atmos_phy_sf_t2, mod_atmos_phy_sf_vars::atmos_phy_sf_u10, mod_atmos_phy_sf_vars::atmos_phy_sf_v10, mod_cpl_vars::cpl_getsfc_atm(), mod_cpl_admin::cpl_sw, scale_prof::prof_rapend(), and scale_prof::prof_rapstart().

Referenced by atmos_driver_calc_tendency(), atmos_driver_calc_tendency_from_sflux(), and mod_rm_prep::rm_prep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_surface_set()

subroutine, public mod_atmos_driver::atmos_surface_set ( logical, intent(in)  countup)

Set surface boundary condition.

Definition at line 575 of file mod_atmos_driver.F90.

575  use scale_atmos_grid_cartesc_real, only: &
576  real_fz => atmos_grid_cartesc_real_fz
577  use scale_atmos_bottom, only: &
578  bottom_estimate => atmos_bottom_estimate
579  use mod_atmos_vars, only: &
580  dens, &
581  qv, &
582  temp, &
583  pres, &
584  w, &
585  u, &
586  v, &
587  prec, &
588  prec_engi
589  use mod_atmos_phy_sf_vars, only: &
590  sfc_temp => atmos_phy_sf_sfc_temp
591  use mod_atmos_phy_mp_vars, only: &
592  sflx_rain_mp => atmos_phy_mp_sflx_rain, &
593  sflx_snow_mp => atmos_phy_mp_sflx_snow, &
594  sflx_engi_mp => atmos_phy_mp_sflx_engi
595  use mod_atmos_phy_cp_vars, only: &
596  sflx_rain_cp => atmos_phy_cp_sflx_rain, &
597  sflx_engi_cp => atmos_phy_cp_sflx_engi
598  use mod_atmos_phy_rd_vars, only: &
599  sflx_rad_dn => atmos_phy_rd_sflx_down, &
600  cossza => atmos_phy_rd_cossza
601  use mod_atmos_phy_bl_vars, only: &
602  atm_pbl => atmos_phy_bl_zi
603  use mod_cpl_admin, only: &
604  cpl_sw
605  use mod_cpl_vars, only: &
606  cpl_putatm
607  implicit none
608 
609  ! arguments
610  logical, intent(in) :: countup
611 
612  ! works
613  real(RP) :: SFC_DENS(IA,JA)
614  real(RP) :: SFC_PRES(IA,JA)
615 
616  integer :: i,j
617  !---------------------------------------------------------------------------
618 
619  call prof_rapstart('ATM_SfcExch', 2)
620 
621  ! sum of rainfall from mp and cp
622  !$omp parallel do private(i,j) OMP_SCHEDULE_
623  do j = js, je
624  do i = is, ie
625  prec(i,j) = sflx_rain_mp(i,j) + sflx_rain_cp(i,j) + sflx_snow_mp(i,j)
626  prec_engi(i,j) = sflx_engi_mp(i,j) + sflx_engi_cp(i,j)
627  enddo
628  enddo
629 
630  if ( cpl_sw ) then
631 
632  ! planetary boundary layer
633  call bottom_estimate( ka, ks, ke, ia, is, ie, ja, js, je, &
634  dens(:,:,:), pres(:,:,:), qv(:,:,:), & ! [IN]
635  sfc_temp(:,:), & ! [IN]
636  real_fz(:,:,:), & ! [IN]
637  sfc_dens(:,:), sfc_pres(:,:) ) ! [OUT]
638 
639  call cpl_putatm( temp(ks,:,:), & ! [IN]
640  pres(ks,:,:), & ! [IN]
641  w(ks,:,:), & ! [IN]
642  u(ks,:,:), & ! [IN]
643  v(ks,:,:), & ! [IN]
644  dens(ks,:,:), & ! [IN]
645  qv(ks,:,:), & ! [IN]
646  atm_pbl(:,:), & ! [IN]
647  sfc_dens(:,:), & ! [IN]
648  sfc_pres(:,:), & ! [IN]
649  sflx_rad_dn(:,:,:,:), & ! [IN]
650  cossza(:,:), & ! [IN]
651  prec(:,:), & ! [IN]
652  prec_engi(:,:), & ! [IN]
653  countup ) ! [IN]
654  endif
655 
656  call prof_rapend ('ATM_SfcExch', 2)
657 
658  return

References scale_atmos_bottom::atmos_bottom_estimate(), scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz, mod_atmos_phy_bl_vars::atmos_phy_bl_zi, mod_atmos_phy_cp_vars::atmos_phy_cp_sflx_engi, mod_atmos_phy_cp_vars::atmos_phy_cp_sflx_rain, mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_engi, mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_rain, mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_snow, mod_atmos_phy_rd_vars::atmos_phy_rd_cossza, mod_atmos_phy_rd_vars::atmos_phy_rd_sflx_down, mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_temp, mod_cpl_vars::cpl_putatm(), 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::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, mod_atmos_vars::prec, mod_atmos_vars::prec_engi, mod_atmos_vars::pres, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), mod_atmos_vars::qv, mod_atmos_vars::temp, mod_atmos_vars::u, mod_atmos_vars::v, and mod_atmos_vars::w.

Referenced by atmos_driver_calc_tendency(), and mod_rm_driver::restart_read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_driver_boundary_update()

subroutine mod_atmos_driver::atmos_driver_boundary_update

Definition at line 662 of file mod_atmos_driver.F90.

662 
mod_atmos_phy_rd_vars::atmos_phy_rd_sflx_down
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_rd_sflx_down
Definition: mod_atmos_phy_rd_vars.F90:71
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0m
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0m
Definition: mod_atmos_phy_sf_vars.F90:66
mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_engi
real(rp), dimension(:,:), allocatable, public atmos_phy_mp_sflx_engi
Definition: mod_atmos_phy_mp_vars.F90:75
mod_admin_time::time_doatmos_phy_mp
logical, public time_doatmos_phy_mp
execute physics in this step? (microphysics)
Definition: mod_admin_time.F90:49
mod_atmos_phy_mp_vars
module Atmosphere / Physics Cloud Microphysics
Definition: mod_atmos_phy_mp_vars.F90:12
scale_time::time_nowdaysec
real(dp), public time_nowdaysec
second of current time [sec]
Definition: scale_time.F90:70
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mu
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mu
Definition: mod_atmos_phy_sf_vars.F90:77
mod_atmos_bnd_driver::atmos_boundary_update_flag
logical, public atmos_boundary_update_flag
Definition: mod_atmos_bnd_driver.F90:64
mod_atmos_admin::atmos_sw_phy_tb
logical, public atmos_sw_phy_tb
Definition: mod_atmos_admin.F90:57
mod_atmos_phy_mp_vars::qa_mp
integer, public qa_mp
Definition: mod_atmos_phy_mp_vars.F90:77
mod_admin_time::time_doatmos_phy_ch
logical, public time_doatmos_phy_ch
execute physics in this step? (chemistry )
Definition: mod_admin_time.F90:54
mod_atmos_vars::rhoq_tp
real(rp), dimension(:,:,:,:), allocatable, public rhoq_tp
Definition: mod_atmos_vars.F90:120
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_atmos_phy_sf_vars::atmos_phy_sf_v10
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_v10
Definition: mod_atmos_phy_sf_vars.F90:94
mod_atmos_vars::pott
real(rp), dimension(:,:,:), allocatable, target, public pott
Definition: mod_atmos_vars.F90:132
mod_atmos_vars::atmos_vars_fillhalo
subroutine, public atmos_vars_fillhalo(FILL_BND)
HALO Communication.
Definition: mod_atmos_vars.F90:847
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0e
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0e
Definition: mod_atmos_phy_sf_vars.F90:68
scale_comm_cartesc_nest::comm_cartesc_nest_disconnect
subroutine, public comm_cartesc_nest_disconnect
[finalize: disconnect] Inter-communication
Definition: scale_comm_cartesC_nest.F90:2853
mod_atmos_phy_ch_driver::atmos_phy_ch_driver_tracer_setup
subroutine, public atmos_phy_ch_driver_tracer_setup
Config.
Definition: mod_atmos_phy_ch_driver.F90:53
mod_atmos_bnd_driver::atmos_boundary_driver_finalize
subroutine, public atmos_boundary_driver_finalize
Finalize boundary value.
Definition: mod_atmos_bnd_driver.F90:1702
mod_cpl_vars
module COUPLER Variables
Definition: mod_cpl_vars.F90:12
mod_atmos_phy_bl_driver::atmos_phy_bl_driver_tracer_setup
subroutine, public atmos_phy_bl_driver_tracer_setup
Config.
Definition: mod_atmos_phy_bl_driver.F90:50
mod_atmos_vars::rhov_tp
real(rp), dimension(:,:,:), allocatable, public rhov_tp
Definition: mod_atmos_vars.F90:117
mod_atmos_admin
module ATMOS admin
Definition: mod_atmos_admin.F90:11
scale_atmos_solarins::atmos_solarins_setup
subroutine, public atmos_solarins_setup(basepoint_lon, basepoint_lat, iyear)
setup solar incidence module
Definition: scale_atmos_solarins.F90:556
mod_atmos_phy_ae_driver::atmos_phy_ae_driver_setup
subroutine, public atmos_phy_ae_driver_setup
Setup.
Definition: mod_atmos_phy_ae_driver.F90:104
mod_atmos_phy_mp_vars::qs_mp
integer, public qs_mp
Definition: mod_atmos_phy_mp_vars.F90:78
scale_comm_cartesc_nest
module Communication CartesianC nesting
Definition: scale_comm_cartesC_nest.F90:12
mod_atmos_admin::atmos_sw_dyn
logical, public atmos_sw_dyn
Definition: mod_atmos_admin.F90:51
mod_atmos_phy_cp_vars::atmos_phy_cp_sflx_engi
real(rp), dimension(:,:), allocatable, public atmos_phy_cp_sflx_engi
Definition: mod_atmos_phy_cp_vars.F90:72
mod_atmos_phy_bl_driver::atmos_phy_bl_driver_setup
subroutine, public atmos_phy_bl_driver_setup
Setup.
Definition: mod_atmos_phy_bl_driver.F90:94
mod_atmos_bnd_driver::atmos_boundary_driver_send
subroutine, public atmos_boundary_driver_send
Send data to child domain.
Definition: mod_atmos_bnd_driver.F90:1806
mod_admin_time::time_doatmos_dyn
logical, public time_doatmos_dyn
execute dynamics in this step?
Definition: mod_admin_time.F90:47
mod_atmos_phy_rd_vars::atmos_phy_rd_cossza
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_cossza
Definition: mod_atmos_phy_rd_vars.F90:74
scale_atmos_refstate::atmos_refstate_update_flag
logical, public atmos_refstate_update_flag
Definition: scale_atmos_refstate.F90:36
mod_atmos_admin::atmos_sw_phy_mp
logical, public atmos_sw_phy_mp
Definition: mod_atmos_admin.F90:52
scale_atmos_hydrometeor
module atmosphere / hydrometeor
Definition: scale_atmos_hydrometeor.F90:12
mod_admin_time::time_doatmos_phy_tb
logical, public time_doatmos_phy_tb
execute physics in this step? (turbulence )
Definition: mod_admin_time.F90:52
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mv
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mv
Definition: mod_atmos_phy_sf_vars.F90:78
mod_atmos_phy_rd_vars
module Atmosphere / Physics Radiation
Definition: mod_atmos_phy_rd_vars.F90:12
scale_atmos_refstate
module atmosphere / reference state
Definition: scale_atmos_refstate.F90:12
mod_atmos_phy_ch_driver::atmos_phy_ch_driver_setup
subroutine, public atmos_phy_ch_driver_setup
Setup.
Definition: mod_atmos_phy_ch_driver.F90:108
mod_atmos_phy_sf_vars
module ATMOSPHERIC Surface Variables
Definition: mod_atmos_phy_sf_vars.F90:12
mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_rain
real(rp), dimension(:,:), allocatable, public atmos_phy_mp_sflx_rain
Definition: mod_atmos_phy_mp_vars.F90:73
mod_atmos_vars::prec_engi
real(rp), dimension(:,:), allocatable, public prec_engi
Definition: mod_atmos_vars.F90:145
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mw
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mw
Definition: mod_atmos_phy_sf_vars.F90:76
scale_atmos_hydrometeor::atmos_hydrometeor_dry
logical, public atmos_hydrometeor_dry
Definition: scale_atmos_hydrometeor.F90:97
scale_atmos_solarins
module atmosphere / SOLARINS
Definition: scale_atmos_solarins.F90:14
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
mod_atmos_bnd_driver::atmos_boundary_driver_setup
subroutine, public atmos_boundary_driver_setup
Setup.
Definition: mod_atmos_bnd_driver.F90:223
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0h
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0h
Definition: mod_atmos_phy_sf_vars.F90:67
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_temp
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_temp
Definition: mod_atmos_phy_sf_vars.F90:64
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_basepoint_lat
real(rp), public atmos_grid_cartesc_real_basepoint_lat
position of base point in real world [rad,-pi,pi]
Definition: scale_atmos_grid_cartesC_real.F90:36
mod_admin_time::time_doatmos_phy_cp
logical, public time_doatmos_phy_cp
execute physics in this step? (cumulus )
Definition: mod_admin_time.F90:48
mod_admin_time::time_doatmos_phy_ae
logical, public time_doatmos_phy_ae
execute physics in this step? (aerosol )
Definition: mod_admin_time.F90:55
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_basepoint_lon
real(rp), public atmos_grid_cartesc_real_basepoint_lon
position of base point in real world [rad,0-2pi]
Definition: scale_atmos_grid_cartesC_real.F90:35
mod_atmos_phy_bl_driver::atmos_phy_bl_driver_calc_tendency
subroutine, public atmos_phy_bl_driver_calc_tendency(update_flag)
calculate tendency
Definition: mod_atmos_phy_bl_driver.F90:127
mod_atmos_phy_mp_driver
module atmosphere / physics / cloud microphysics
Definition: mod_atmos_phy_mp_driver.F90:12
mod_atmos_phy_ae_driver::atmos_phy_ae_driver_adjustment
subroutine, public atmos_phy_ae_driver_adjustment
adjustment
Definition: mod_atmos_phy_ae_driver.F90:139
mod_atmos_phy_tb_driver::atmos_phy_tb_driver_calc_tendency
subroutine, public atmos_phy_tb_driver_calc_tendency(update_flag)
calclate tendency
Definition: mod_atmos_phy_tb_driver.F90:172
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_qvex
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_qvex
Definition: mod_atmos_phy_sf_vars.F90:82
mod_atmos_admin::atmos_sw_phy_ae
logical, public atmos_sw_phy_ae
Definition: mod_atmos_admin.F90:53
mod_atmos_phy_sf_vars::atmos_phy_sf_u10
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_u10
Definition: mod_atmos_phy_sf_vars.F90:93
mod_atmos_phy_sf_driver::atmos_phy_sf_driver_calc_tendency
subroutine, public atmos_phy_sf_driver_calc_tendency(update_flag)
calculation tendency
Definition: mod_atmos_phy_sf_driver.F90:131
mod_cpl_vars::cpl_putatm
subroutine, public cpl_putatm(TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_water, SFLX_ENGI, countup)
Definition: mod_cpl_vars.F90:462
mod_atmos_vars::rhou_tp
real(rp), dimension(:,:,:), allocatable, public rhou_tp
Definition: mod_atmos_vars.F90:116
mod_admin_time::time_doatmos_phy_sf
logical, public time_doatmos_phy_sf
execute physics in this step? (surface flux)
Definition: mod_admin_time.F90:51
mod_atmos_vars::prec
real(rp), dimension(:,:), allocatable, target, public prec
Definition: mod_atmos_vars.F90:144
mod_atmos_phy_bl_vars
module atmosphere / physics / PBL
Definition: mod_atmos_phy_bl_vars.F90:12
mod_atmos_vars::dens
real(rp), dimension(:,:,:), allocatable, target, public dens
Definition: mod_atmos_vars.F90:75
mod_atmos_dyn_driver
module Atmosphere / Dynamics
Definition: mod_atmos_dyn_driver.F90:11
mod_atmos_phy_lt_driver
module ATMOSPHERE / Physics Chemistry
Definition: mod_atmos_phy_lt_driver.F90:12
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_shex
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_shex
Definition: mod_atmos_phy_sf_vars.F90:81
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_albedo
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_sf_sfc_albedo
Definition: mod_atmos_phy_sf_vars.F90:65
mod_atmos_phy_lt_driver::atmos_phy_lt_driver_adjustment
subroutine, public atmos_phy_lt_driver_adjustment
Driver.
Definition: mod_atmos_phy_lt_driver.F90:251
mod_atmos_phy_sf_driver::atmos_phy_sf_driver_setup
subroutine, public atmos_phy_sf_driver_setup
Setup.
Definition: mod_atmos_phy_sf_driver.F90:50
mod_atmos_admin::atmos_sw_phy_lt
logical, public atmos_sw_phy_lt
Definition: mod_atmos_admin.F90:60
mod_atmos_phy_mp_driver::atmos_phy_mp_user_qhyd2qtrc
procedure(qhyd2qtrc), pointer, public atmos_phy_mp_user_qhyd2qtrc
Definition: mod_atmos_phy_mp_driver.F90:54
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
mod_atmos_phy_mp_driver::atmos_phy_mp_driver_tracer_setup
subroutine, public atmos_phy_mp_driver_tracer_setup
Config.
Definition: mod_atmos_phy_mp_driver.F90:93
mod_admin_time::time_doatmos_phy_rd
logical, public time_doatmos_phy_rd
execute physics in this step? (radiation )
Definition: mod_admin_time.F90:50
mod_atmos_phy_tb_driver::atmos_phy_tb_driver_tracer_setup
subroutine, public atmos_phy_tb_driver_tracer_setup
Tracer setup.
Definition: mod_atmos_phy_tb_driver.F90:55
mod_atmos_vars::v
real(rp), dimension(:,:,:), allocatable, target, public v
Definition: mod_atmos_vars.F90:130
mod_atmos_phy_bl_vars::atmos_phy_bl_zi
real(rp), dimension(:,:), allocatable, public atmos_phy_bl_zi
Definition: mod_atmos_phy_bl_vars.F90:64
mod_atmos_bnd_driver
module ATMOSPHERE / Boundary treatment
Definition: mod_atmos_bnd_driver.F90:13
mod_atmos_vars::w
real(rp), dimension(:,:,:), allocatable, target, public w
Definition: mod_atmos_vars.F90:128
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
mod_atmos_vars::momz_tp
real(rp), dimension(:,:,:), allocatable, public momz_tp
Definition: mod_atmos_vars.F90:115
mod_atmos_phy_mp_driver::atmos_phy_mp_driver_adjustment
subroutine, public atmos_phy_mp_driver_adjustment
adjustment
Definition: mod_atmos_phy_mp_driver.F90:441
mod_atmos_phy_tb_driver
module ATMOSPHERE / Physics Turbulence
Definition: mod_atmos_phy_tb_driver.F90:12
mod_atmos_admin::atmos_sw_phy_cp
logical, public atmos_sw_phy_cp
Definition: mod_atmos_admin.F90:59
mod_atmos_admin::atmos_sw_phy_ch
logical, public atmos_sw_phy_ch
Definition: mod_atmos_admin.F90:54
mod_atmos_vars::temp
real(rp), dimension(:,:,:), allocatable, target, public temp
Definition: mod_atmos_vars.F90:133
mod_atmos_vars::dens_tp
real(rp), dimension(:,:,:), allocatable, public dens_tp
Definition: mod_atmos_vars.F90:114
mod_atmos_phy_tb_driver::atmos_phy_tb_driver_setup
subroutine, public atmos_phy_tb_driver_setup
Setup.
Definition: mod_atmos_phy_tb_driver.F90:96
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
mod_atmos_admin::atmos_use_qv
logical, public atmos_use_qv
Definition: mod_atmos_admin.F90:48
mod_atmos_dyn_driver::atmos_dyn_driver
subroutine, public atmos_dyn_driver(do_flag)
Dynamical Process (Wrapper)
Definition: mod_atmos_dyn_driver.F90:209
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_qtrc
real(rp), dimension(:,:,:), allocatable, target, public atmos_phy_sf_sflx_qtrc
Definition: mod_atmos_phy_sf_vars.F90:84
mod_atmos_phy_cp_driver
module ATMOSPHERE / Physics Cumulus
Definition: mod_atmos_phy_cp_driver.F90:12
mod_atmos_phy_rd_driver
module ATMOSPHERE / Physics Radiation
Definition: mod_atmos_phy_rd_driver.F90:12
mod_atmos_phy_ae_driver::atmos_phy_ae_driver_tracer_setup
subroutine, public atmos_phy_ae_driver_tracer_setup
Setup.
Definition: mod_atmos_phy_ae_driver.F90:50
mod_atmos_dyn_driver::atmos_dyn_driver_setup
subroutine, public atmos_dyn_driver_setup
Setup.
Definition: mod_atmos_dyn_driver.F90:90
mod_atmos_vars::pres
real(rp), dimension(:,:,:), allocatable, target, public pres
Definition: mod_atmos_vars.F90:134
mod_atmos_phy_sf_driver
module ATMOSPHERE / Physics Surface fluxes
Definition: mod_atmos_phy_sf_driver.F90:12
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_engi
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_engi
Definition: mod_atmos_phy_sf_vars.F90:85
mod_atmos_admin::atmos_sw_phy_rd
logical, public atmos_sw_phy_rd
Definition: mod_atmos_admin.F90:55
mod_atmos_phy_mp_driver::atmos_phy_mp_driver_setup
subroutine, public atmos_phy_mp_driver_setup
Setup.
Definition: mod_atmos_phy_mp_driver.F90:226
mod_admin_time
module ADMIN TIME
Definition: mod_admin_time.F90:11
mod_atmos_vars::u
real(rp), dimension(:,:,:), allocatable, target, public u
Definition: mod_atmos_vars.F90:129
mod_atmos_phy_bl_driver
module atmosphere / physics / PBL
Definition: mod_atmos_phy_bl_driver.F90:12
mod_atmos_phy_sf_vars::atmos_phy_sf_t2
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_t2
Definition: mod_atmos_phy_sf_vars.F90:95
mod_atmos_phy_cp_driver::atmos_phy_cp_driver_setup
subroutine, public atmos_phy_cp_driver_setup
Setup.
Definition: mod_atmos_phy_cp_driver.F90:49
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_lh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_lh
Definition: mod_atmos_phy_sf_vars.F90:80
mod_atmos_phy_ch_driver
module ATMOSPHERE / Physics Chemistry
Definition: mod_atmos_phy_ch_driver.F90:12
mod_atmos_phy_mp_driver::atmos_phy_mp_driver_calc_tendency
subroutine, public atmos_phy_mp_driver_calc_tendency(update_flag)
calculate tendency
Definition: mod_atmos_phy_mp_driver.F90:576
mod_atmos_vars::rhoh_p
real(rp), dimension(:,:,:), allocatable, public rhoh_p
Definition: mod_atmos_vars.F90:119
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_vars
module ATMOSPHERIC Variables
Definition: mod_atmos_vars.F90:12
scale_atmos_bottom
module atmosphere / bottom boundary extrapolation
Definition: scale_atmos_bottom.F90:12
mod_atmos_phy_ae_driver
module ATMOSPHERE / Physics Aerosol Microphysics
Definition: mod_atmos_phy_ae_driver.F90:12
scale_time::time_nowdate
integer, dimension(6), public time_nowdate
current time [YYYY MM DD HH MM SS]
Definition: scale_time.F90:66
mod_atmos_vars::rhot_tp
real(rp), dimension(:,:,:), allocatable, public rhot_tp
Definition: mod_atmos_vars.F90:118
mod_atmos_phy_cp_vars::atmos_phy_cp_sflx_rain
real(rp), dimension(:,:), allocatable, public atmos_phy_cp_sflx_rain
Definition: mod_atmos_phy_cp_vars.F90:70
mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_snow
real(rp), dimension(:,:), allocatable, public atmos_phy_mp_sflx_snow
Definition: mod_atmos_phy_mp_vars.F90:74
mod_atmos_vars::momy_tp
real(rp), dimension(:,:,:), allocatable, public momy_tp
Definition: mod_atmos_vars.F90:124
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_sh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_sh
Definition: mod_atmos_phy_sf_vars.F90:79
mod_atmos_phy_cp_driver::atmos_phy_cp_driver_calc_tendency
subroutine, public atmos_phy_cp_driver_calc_tendency(update_flag)
Driver.
Definition: mod_atmos_phy_cp_driver.F90:99
mod_atmos_admin::atmos_sw_phy_bl
logical, public atmos_sw_phy_bl
Definition: mod_atmos_admin.F90:58
scale_atmos_hydrometeor::atmos_hydrometeor_regist
subroutine, public atmos_hydrometeor_regist(NL, NI, NAME, DESC, UNIT, Q0, ADVC)
ATMOS_HYDROMETEOR_regist Regist tracer.
Definition: scale_atmos_hydrometeor.F90:237
mod_atmos_vars::momx_tp
real(rp), dimension(:,:,:), allocatable, public momx_tp
Definition: mod_atmos_vars.F90:123
mod_admin_time::time_doatmos_phy_bl
logical, public time_doatmos_phy_bl
execute physics in this step? (boudary layer )
Definition: mod_admin_time.F90:53
mod_atmos_vars::atmos_vars_calc_diagnostics
subroutine, public atmos_vars_calc_diagnostics
Calc diagnostic variables.
Definition: mod_atmos_vars.F90:1620
mod_atmos_phy_sf_vars::atmos_phy_sf_q2
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_q2
Definition: mod_atmos_phy_sf_vars.F90:96
mod_admin_time::time_doatmos_phy_lt
logical, public time_doatmos_phy_lt
execute physics in this step? (lightning )
Definition: mod_admin_time.F90:56
mod_atmos_phy_mp_vars::qe_mp
integer, public qe_mp
Definition: mod_atmos_phy_mp_vars.F90:79
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
mod_atmos_phy_lt_driver::atmos_phy_lt_driver_tracer_setup
subroutine, public atmos_phy_lt_driver_tracer_setup
Config.
Definition: mod_atmos_phy_lt_driver.F90:71
mod_cpl_vars::cpl_getsfc_atm
subroutine, public cpl_getsfc_atm(SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_SHEX, SFLX_QVEX, SFLX_GH, SFLX_QTRC, SFLX_ENGI, U10, V10, T2, Q2)
Definition: mod_cpl_vars.F90:1003
mod_atmos_phy_rd_driver::atmos_phy_rd_driver_setup
subroutine, public atmos_phy_rd_driver_setup
Setup.
Definition: mod_atmos_phy_rd_driver.F90:52
mod_atmos_phy_mp_driver::atmos_phy_mp_driver_qhyd2qtrc_onlyqv
subroutine, public atmos_phy_mp_driver_qhyd2qtrc_onlyqv(KA, KS, KE, IA, IS, IE, JA, JS, JE, QV, QHYD, QTRC, QNUM)
Definition: mod_atmos_phy_mp_driver.F90:1461
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
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_gh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_gh
Definition: mod_atmos_phy_sf_vars.F90:83
scale_atmos_grid_cartesc
module atmosphere / grid / cartesC
Definition: scale_atmos_grid_cartesC.F90:12
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
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_atmos_refstate::atmos_refstate_setup
subroutine, public atmos_refstate_setup(KA, KS, KE, IA, IS, IE, JA, JS, JE, CZ, FZ, REAL_CZ, REAL_FZ, REAL_PHI)
Setup.
Definition: scale_atmos_refstate.F90:83
mod_atmos_bnd_driver::atmos_boundary_driver_update
subroutine, public atmos_boundary_driver_update(last_step)
Update boundary value with a constant time boundary.
Definition: mod_atmos_bnd_driver.F90:1736
mod_atmos_phy_ch_driver::atmos_phy_ch_driver_calc_tendency
subroutine, public atmos_phy_ch_driver_calc_tendency(update_flag)
Driver.
Definition: mod_atmos_phy_ch_driver.F90:140
mod_atmos_phy_cp_vars
module Atmosphere / Physics Cumulus
Definition: mod_atmos_phy_cp_vars.F90:12
mod_cpl_admin::cpl_sw
logical, public cpl_sw
Definition: mod_cpl_admin.F90:33
mod_atmos_phy_rd_driver::atmos_phy_rd_driver_calc_tendency
subroutine, public atmos_phy_rd_driver_calc_tendency(update_flag)
Driver.
Definition: mod_atmos_phy_rd_driver.F90:134
scale_atmos_bottom::atmos_bottom_estimate
subroutine, public atmos_bottom_estimate(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS, PRES, QV, SFC_TEMP, FZ, SFC_DENS, SFC_PRES)
Calc bottom boundary of atmosphere (just above surface)
Definition: scale_atmos_bottom.F90:51
mod_cpl_admin
module Coupler admin
Definition: mod_cpl_admin.F90:11
mod_atmos_phy_ae_driver::atmos_phy_ae_driver_calc_tendency
subroutine, public atmos_phy_ae_driver_calc_tendency(update_flag)
Driver.
Definition: mod_atmos_phy_ae_driver.F90:168
mod_atmos_phy_lt_driver::atmos_phy_lt_driver_setup
subroutine, public atmos_phy_lt_driver_setup
Setup.
Definition: mod_atmos_phy_lt_driver.F90:158
mod_atmos_admin::atmos_sw_phy_sf
logical, public atmos_sw_phy_sf
Definition: mod_atmos_admin.F90:56