SCALE-RM
Functions/Subroutines
mod_atmos_phy_tb_driver Module Reference

module ATMOSPHERE / Physics Turbulence More...

Functions/Subroutines

subroutine, public atmos_phy_tb_driver_tracer_setup
 Tracer setup. More...
 
subroutine, public atmos_phy_tb_driver_setup
 Setup. More...
 
subroutine, public atmos_phy_tb_driver_finalize
 finalize More...
 
subroutine, public atmos_phy_tb_driver_calc_tendency (update_flag)
 calclate tendency More...
 

Detailed Description

module ATMOSPHERE / Physics Turbulence

Description
Sub-grid scale turbulence process
Author
Team SCALE
NAMELIST
  • No namelist group
History Output
namedescriptionunitvariable
SGS_XFLX_{TRACER_NAME} SGS X FLUX of {TRACER_NAME};
{TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR.
kg/m2/s QFLX_RHOQ
SGS_YFLX_{TRACER_NAME} SGS Y FLUX of {TRACER_NAME};
{TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR.
kg/m2/s QFLX_RHOQ
SGS_ZFLX_{TRACER_NAME} SGS Z FLUX of {TRACER_NAME};
{TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR.
kg/m2/s QFLX_RHOQ
MOMX_t_TB MOMX tendency (TB) kg/m2/s2 MOMX_t_TB
MOMY_t_TB MOMY tendency (TB) kg/m2/s2 MOMY_t_TB
MOMZ_t_TB MOMZ tendency (TB) kg/m2/s2 MOMZ_t_TB
NU eddy viscosity m2/s NU
Pr Prantle number NIL Pr
RHOT_t_TB RHOT tendency (TB) K.kg/m3/s RHOT_t_TB
Ri Richardson number NIL Ri
SGS_XFLX_MOMX SGS X FLUX of MOMX kg/m/s2 QFLX_MOMX
SGS_XFLX_MOMY SGS X FLUX of MOMY kg/m/s2 QFLX_MOMY
SGS_XFLX_MOMZ SGS X FLUX of MOMZ kg/m/s2 QFLX_MOMZ
SGS_XFLX_RHOT SGS X FLUX of RHOT K*kg/m2/s QFLX_RHOT
SGS_YFLX_MOMX SGS Y FLUX of MOMX kg/m/s2 QFLX_MOMX
SGS_YFLX_MOMY SGS Y FLUX of MOMY kg/m/s2 QFLX_MOMY
SGS_YFLX_MOMZ SGS Y FLUX of MOMZ kg/m/s2 QFLX_MOMZ
SGS_YFLX_RHOT SGS Y FLUX of RHOT K*kg/m2/s QFLX_RHOT
SGS_ZFLX_MOMX SGS Z FLUX of MOMX kg/m/s2 QFLX_MOMX
SGS_ZFLX_MOMY SGS Z FLUX of MOMY kg/m/s2 QFLX_MOMY
SGS_ZFLX_MOMZ SGS Z FLUX of MOMZ kg/m/s2 QFLX_MOMZ
SGS_ZFLX_RHOT SGS Z FLUX of RHOT K*kg/m2/s QFLX_RHOT
{TRACER_NAME}_t_TB tendency rho*{TRACER_NAME} in TB;
{TRACER_NAME} depends on the physics schemes, e.g., QV, QC, QR.
kg/m3/s RHOQ_t_TB

Function/Subroutine Documentation

◆ atmos_phy_tb_driver_tracer_setup()

subroutine, public mod_atmos_phy_tb_driver::atmos_phy_tb_driver_tracer_setup

Tracer setup.

Definition at line 56 of file mod_atmos_phy_tb_driver.F90.

56  use scale_prc, only: &
57  prc_abort
58  use scale_atmos_phy_tb_d1980, only: &
60  use scale_atmos_phy_tb_dns, only: &
62  use mod_atmos_admin, only: &
65  use mod_atmos_phy_tb_vars, only: &
66  i_tke
67  implicit none
68  !---------------------------------------------------------------------------
69 
70  if ( .not. atmos_sw_phy_tb ) return
71 
72  log_newline
73  log_info("ATMOS_PHY_TB_driver_tracer_setup",*) 'Setup'
74 
75  select case( atmos_phy_tb_type )
76  case( 'SMAGORINSKY' )
77  i_tke = -1
78  case( 'D1980' )
80  i_tke ) ! [OUT]
81  case( 'DNS' )
83  i_tke ) ! [OUT]
84  case('OFF')
85  ! do nothing
86  case default
87  log_error("ATMOS_PHY_TB_driver_tracer_setup",*) 'ATMOS_PHY_TB_TYPE is invalid: ', atmos_phy_tb_type
88  call prc_abort
89  end select
90 
91  return

References scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_config(), scale_atmos_phy_tb_dns::atmos_phy_tb_dns_config(), mod_atmos_admin::atmos_phy_tb_type, mod_atmos_admin::atmos_sw_phy_tb, mod_atmos_phy_tb_vars::i_tke, and scale_prc::prc_abort().

Referenced by mod_atmos_driver::atmos_driver_tracer_setup().

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

◆ atmos_phy_tb_driver_setup()

subroutine, public mod_atmos_phy_tb_driver::atmos_phy_tb_driver_setup

Setup.

Definition at line 97 of file mod_atmos_phy_tb_driver.F90.

97  use scale_atmos_grid_cartesc, only: &
98  cdz => atmos_grid_cartesc_cdz, &
99  cdx => atmos_grid_cartesc_cdx, &
101  use scale_atmos_grid_cartesc_real, only: &
102  real_cz => atmos_grid_cartesc_real_cz, &
103  real_fz => atmos_grid_cartesc_real_fz
106  use scale_atmos_phy_tb_smg, only: &
108  use scale_atmos_phy_tb_d1980, only: &
110  use scale_atmos_phy_tb_dns, only: &
112  use mod_atmos_admin, only: &
114  atmos_sw_phy_tb, &
116  use mod_atmos_phy_tb_vars, only: &
117  momz_t_tb => atmos_phy_tb_momz_t
118  use scale_monitor, only: &
120  implicit none
121 
122  integer :: i, j
123  logical :: horizontal = .false.
124  !---------------------------------------------------------------------------
125 
126  if ( .not. atmos_sw_phy_tb ) return
127 
128  log_newline
129  log_info("ATMOS_PHY_TB_driver_setup",*) 'Setup'
130 
131  ! initialize
132  !$omp parallel do
133  !$acc kernels copy(MOMZ_t_TB)
134  do j = js, je
135  do i = is, ie
136  momz_t_tb(ks-1,i,j) = 0.0_rp
137  momz_t_tb(ke ,i,j) = 0.0_rp
138  enddo
139  enddo
140  !$acc end kernels
141 
142  ! setup library component
143  select case( atmos_phy_tb_type )
144  case( 'SMAGORINSKY' )
145  if ( atmos_sw_phy_bl ) horizontal = .true.
146  call atmos_phy_tb_smg_setup( real_fz, real_cz, cdx, cdy, mapf(:,:,:,i_xy), horizontal ) ! [IN]
147  case( 'D1980' )
148  call atmos_phy_tb_d1980_setup( cdz, cdx, cdy, real_cz ) ! [IN]
149  case( 'DNS' )
150  call atmos_phy_tb_dns_setup( cdz, cdx, cdy, real_cz ) ! [IN]
151  end select
152 
153 
154  ! monitor
155  call monitor_reg( "QTOTFLX_TB_WEST", "water mass flux at the western boundary", "kg", & ! [IN]
156  monit_west, & ! [OUT]
157  dim_type="ZY-W", is_tendency=.true. ) ! [IN]
158  call monitor_reg( "QTOTFLX_TB_EAST", "water mass flux at the eastern boundary", "kg", & ! [IN]
159  monit_east, & ! [OUT]
160  dim_type="ZY-E", is_tendency=.true. ) ! [IN]
161  call monitor_reg( "QTOTFLX_TB_SOUTH", "water mass flux at the southern boundary", "kg", & ! [IN]
162  monit_south, & ! [OUT]
163  dim_type="ZX-S", is_tendency=.true. ) ! [IN]
164  call monitor_reg( "QTOTFLX_TB_NORTH", "water mass flux at the northern boundary", "kg", & ! [IN]
165  monit_north, & ! [OUT]
166  dim_type="ZX-N", is_tendency=.true. ) ! [IN]
167 
168 
169  return

References scale_atmos_grid_cartesc::atmos_grid_cartesc_cdx, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdy, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdz, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_mapf, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_cz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz, scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_setup(), scale_atmos_phy_tb_dns::atmos_phy_tb_dns_setup(), mod_atmos_phy_tb_vars::atmos_phy_tb_momz_t, scale_atmos_phy_tb_smg::atmos_phy_tb_smg_setup(), mod_atmos_admin::atmos_phy_tb_type, mod_atmos_admin::atmos_sw_phy_bl, mod_atmos_admin::atmos_sw_phy_tb, scale_atmos_grid_cartesc_index::i_xy, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, and scale_monitor::monitor_reg().

Referenced by mod_atmos_driver::atmos_driver_setup().

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

◆ atmos_phy_tb_driver_finalize()

subroutine, public mod_atmos_phy_tb_driver::atmos_phy_tb_driver_finalize

finalize

Definition at line 175 of file mod_atmos_phy_tb_driver.F90.

175  use scale_atmos_phy_tb_smg, only: &
177  use scale_atmos_phy_tb_d1980, only: &
179  use mod_atmos_admin, only: &
182  implicit none
183  !---------------------------------------------------------------------------
184 
185  log_newline
186  log_info("ATMOS_PHY_TB_driver_finalize",*) 'Finalize'
187 
188  if ( .not. atmos_sw_phy_tb ) return
189 
190  select case( atmos_phy_tb_type )
191  case( 'SMAGORINSKY' )
193  case( 'D1980' )
195  end select
196 
197  return

References scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_finalize(), scale_atmos_phy_tb_smg::atmos_phy_tb_smg_finalize(), mod_atmos_admin::atmos_phy_tb_type, and mod_atmos_admin::atmos_sw_phy_tb.

Referenced by mod_atmos_driver::atmos_driver_finalize().

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

◆ atmos_phy_tb_driver_calc_tendency()

subroutine, public mod_atmos_phy_tb_driver::atmos_phy_tb_driver_calc_tendency ( logical, intent(in)  update_flag)

calclate tendency

Definition at line 203 of file mod_atmos_phy_tb_driver.F90.

203  use scale_prc_cartesc, only: &
204  prc_has_w, &
205  prc_has_e, &
206  prc_has_s, &
207  prc_has_n
208  use scale_statistics, only: &
210  statistics_total
211  use scale_atmos_grid_cartesc, only: &
212  fdz => atmos_grid_cartesc_fdz, &
213  rcdz => atmos_grid_cartesc_rcdz, &
214  rfdz => atmos_grid_cartesc_rfdz, &
215  cdx => atmos_grid_cartesc_cdx, &
216  fdx => atmos_grid_cartesc_fdx, &
217  cdy => atmos_grid_cartesc_cdy, &
219  use scale_atmos_grid_cartesc_real, only: &
235  use scale_file_history, only: &
236  file_history_in
237  use scale_monitor, only: &
238  monitor_put
239  use scale_time, only: &
240  dt_tb => time_dtsec_atmos_phy_tb
241  use scale_atmos_phy_tb_smg, only: &
243  use scale_atmos_phy_tb_d1980, only: &
245  use scale_atmos_phy_tb_dns, only: &
247  use scale_atmos_phy_tb_common, only: &
248  calc_tend_momz => atmos_phy_tb_calc_tend_momz, &
249  calc_tend_momx => atmos_phy_tb_calc_tend_momx, &
250  calc_tend_momy => atmos_phy_tb_calc_tend_momy, &
251  calc_tend_phi => atmos_phy_tb_calc_tend_phi
252  use mod_atmos_admin, only: &
254  use mod_atmos_vars, only: &
255  atmos_vars_get_diagnostic, &
256  dens => dens_av, &
257  momz => momz_av, &
258  momx => momx_av, &
259  momy => momy_av, &
260  rhot => rhot_av, &
261  pott, &
262  qtrc => qtrc_av, &
263  momz_t => momz_tp, &
264  momx_t => momx_tp, &
265  momy_t => momy_tp, &
266  rhot_t => rhot_tp, &
267  rhoq_t => rhoq_tp
268  use mod_atmos_phy_tb_vars, only: &
269  i_tke, &
270  momz_t_tb => atmos_phy_tb_momz_t, &
271  momx_t_tb => atmos_phy_tb_momx_t, &
272  momy_t_tb => atmos_phy_tb_momy_t, &
273  rhot_t_tb => atmos_phy_tb_rhot_t, &
274  rhoq_t_tb => atmos_phy_tb_rhoq_t
275  use mod_atmos_phy_sf_vars, only: &
276  sflx_mw => atmos_phy_sf_sflx_mw, &
277  sflx_mu => atmos_phy_sf_sflx_mu, &
278  sflx_mv => atmos_phy_sf_sflx_mv, &
279  sflx_sh => atmos_phy_sf_sflx_sh, &
280  sflx_q => atmos_phy_sf_sflx_qtrc
281  implicit none
282 
283  logical, intent(in) :: update_flag
284 
285  ! eddy viscosity/diffusion flux
286  real(RP) :: QFLX_MOMZ(KA,IA,JA,3)
287  real(RP) :: QFLX_MOMX(KA,IA,JA,3)
288  real(RP) :: QFLX_MOMY(KA,IA,JA,3)
289  real(RP) :: QFLX_RHOT(KA,IA,JA,3)
290  real(RP) :: QFLX_RHOQ(KA,IA,JA,3,QA)
291 
292  real(RP) :: Nu(KA,IA,JA) ! eddy viscosity
293  real(RP) :: Ri(KA,IA,JA) ! Richardson number
294  real(RP) :: Pr(KA,IA,JA) ! Prandtl number
295 
296  real(RP) :: N2(KA,IA,JA)
297 
298  real(RP) :: tend(KA,IA,JA)
299 
300  ! for monitor
301  real(RP) :: qflx_x(KA,JA)
302  real(RP) :: qflx_y(KA,IA)
303 
304  integer :: JJS, JJE
305  integer :: IIS, IIE
306 
307  integer :: k, i, j, iq
308  !---------------------------------------------------------------------------
309 
310  !$acc data create(QFLX_RHOQ)
311 
312 
313  if ( update_flag ) then
314 
315  !$acc data copyin(GSQRT, J13G, J23G, MAPF) &
316  !$acc create(QFLX_MOMZ, QFLX_MOMX, QFLX_MOMY, QFLX_RHOT, &
317  !$acc Nu, Ri, Pr, N2, tend)
318 
319  call atmos_vars_get_diagnostic( "N2", n2 )
320 
321  select case( atmos_phy_tb_type )
322  case( 'SMAGORINSKY' )
323  call atmos_phy_tb_smg( qflx_momz, qflx_momx, qflx_momy, & ! [OUT]
324  qflx_rhot, qflx_rhoq, & ! [OUT]
325  momz_t_tb, momx_t_tb, momy_t_tb, & ! [OUT]
326  rhot_t_tb, rhoq_t_tb, & ! [OUT]
327  nu, ri, pr, & ! [OUT]
328  momz, momx, momy, pott, dens, qtrc, n2, & ! [IN]
329  fz, fdz, rcdz, rfdz, cdx, fdx, cdy, fdy, & ! [IN]
330  gsqrt, j13g, j23g, j33g, mapf, & ! [IN]
331  dt_tb ) ! [IN]
332  case( 'D1980' )
333  !$acc kernels
334  momz_t_tb(:,:,:) = 0.0_rp
335  momx_t_tb(:,:,:) = 0.0_rp
336  momy_t_tb(:,:,:) = 0.0_rp
337  rhot_t_tb(:,:,:) = 0.0_rp
338  !$acc end kernels
339  !$acc update host(MOMZ,MOMX,MOMY,RHOT,DENS,QTRC,N2,SFLX_MW,SFLX_MU,SFLX_MV,SFLX_SH,SFLX_Q)
340  call atmos_phy_tb_d1980( qflx_momz, qflx_momx, qflx_momy, & ! [OUT]
341  qflx_rhot, qflx_rhoq, & ! [OUT]
342  rhoq_t_tb, & ! [OUT]
343  nu, ri, pr, & ! [OUT]
344  momz, momx, momy, rhot, dens, qtrc, n2, & ! [IN]
345  sflx_mw, sflx_mu, sflx_mv, & ! [IN]
346  sflx_sh, sflx_q, & ! [IN]
347  gsqrt, j13g, j23g, j33g, mapf, & ! [IN]
348  dt_tb ) ! [IN]
349  !$acc update device(QFLX_MOMZ,QFLX_MOMX,QFLX_MOMY,QFLX_RHOT,QFLX_RHOQ,RHOQ_t_TB,Nu,Ri,Pr)
350  case( 'DNS' )
351  !$acc kernels
352  momz_t_tb(:,:,:) = 0.0_rp
353  momx_t_tb(:,:,:) = 0.0_rp
354  momy_t_tb(:,:,:) = 0.0_rp
355  rhot_t_tb(:,:,:) = 0.0_rp
356  !$acc end kernels
357  call atmos_phy_tb_dns( qflx_momz, qflx_momx, qflx_momy, & ! [OUT]
358  qflx_rhot, qflx_rhoq, & ! [OUT]
359  rhoq_t_tb, & ! [OUT]
360  nu, ri, pr, & ! [OUT]
361  momz, momx, momy, pott, dens, qtrc, n2, & ! [IN]
362  sflx_mw, sflx_mu, sflx_mv, & ! [IN]
363  sflx_sh, sflx_q, & ! [IN]
364  fz, fdz, rcdz, rfdz, cdx, fdx, cdy, fdy, & ! [IN]
365  gsqrt, j13g, j23g, j33g, mapf, & ! [IN]
366  dt_tb ) ! [IN]
367  end select
368 
369 
370  do jjs = js, je, jblock
371  jje = jjs+jblock-1
372  do iis = is, ie, iblock
373  iie = iis+iblock-1
374 
375  call calc_tend_momz( tend(:,:,:), & ! (out)
376  qflx_momz, & ! (in)
377  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
378  iis, iie, jjs, jje ) ! (in)
379  !$omp parallel do
380  !$acc kernels
381  do j = jjs, jje
382  do i = iis, iie
383  do k = ks, ke-1
384  momz_t_tb(k,i,j) = momz_t_tb(k,i,j) + tend(k,i,j)
385  end do
386  end do
387  end do
388  !$acc end kernels
389 
390  call calc_tend_momx( tend(:,:,:), & ! (out)
391  qflx_momx, & ! (in)
392  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
393  iis, iie, jjs, jje ) ! (in)
394  !$omp parallel do
395  !$acc kernels
396  do j = jjs, jje
397  do i = iis, iie
398  do k = ks, ke
399  momx_t_tb(k,i,j) = momx_t_tb(k,i,j) + tend(k,i,j)
400  end do
401  end do
402  end do
403  !$acc end kernels
404 
405  call calc_tend_momy( tend(:,:,:), & ! (out)
406  qflx_momy, & ! (in)
407  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
408  iis, iie, jjs, jje ) ! (in)
409  !$omp parallel do
410  !$acc kernels
411  do j = jjs, jje
412  do i = iis, iie
413  do k = ks, ke
414  momy_t_tb(k,i,j) = momy_t_tb(k,i,j) + tend(k,i,j)
415  end do
416  end do
417  end do
418  !$acc end kernels
419 
420  call calc_tend_phi ( tend(:,:,:), & ! (out)
421  qflx_rhot, & ! (in)
422  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
423  iis, iie, jjs, jje ) ! (in)
424  !$omp parallel do
425  !$acc kernels
426  do j = jjs, jje
427  do i = iis, iie
428  do k = ks, ke
429  rhot_t_tb(k,i,j) = rhot_t_tb(k,i,j) + tend(k,i,j)
430  end do
431  end do
432  end do
433  !$acc end kernels
434 
435  do iq = 1, qa
436  if ( iq == i_tke .or. .not. tracer_advc(iq) ) cycle
437 
438  call calc_tend_phi( tend(:,:,:), & ! (out)
439  qflx_rhoq(:,:,:,:,iq), & ! (in)
440  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
441  iis, iie, jjs, jje ) ! (in)
442 
443  !$omp parallel do
444  !$acc kernels
445  do j = jjs, jje
446  do i = iis, iie
447  do k = ks, ke
448  rhoq_t_tb(k,i,j,iq) = rhoq_t_tb(k,i,j,iq) + tend(k,i,j)
449  end do
450  end do
451  end do
452  !$acc end kernels
453 
454  end do
455 
456  end do
457  end do
458 
459 
460  call file_history_in( nu(:,:,:), 'NU', 'eddy viscosity', 'm2/s' , fill_halo=.true. )
461  call file_history_in( ri(:,:,:), 'Ri', 'Richardson number', 'NIL' , fill_halo=.true. )
462  call file_history_in( pr(:,:,:), 'Pr', 'Prantle number', 'NIL' , fill_halo=.true. )
463 
464  call file_history_in( momz_t_tb(:,:,:), 'MOMZ_t_TB', 'MOMZ tendency (TB)', 'kg/m2/s2', fill_halo=.true. )
465  call file_history_in( momx_t_tb(:,:,:), 'MOMX_t_TB', 'MOMX tendency (TB)', 'kg/m2/s2', fill_halo=.true. )
466  call file_history_in( momy_t_tb(:,:,:), 'MOMY_t_TB', 'MOMY tendency (TB)', 'kg/m2/s2', fill_halo=.true. )
467  call file_history_in( rhot_t_tb(:,:,:), 'RHOT_t_TB', 'RHOT tendency (TB)', 'K.kg/m3/s', fill_halo=.true. )
468 
469  do iq = 1, qa
470  call file_history_in( rhoq_t_tb(:,:,:,iq), trim(tracer_name(iq))//'_t_TB', &
471  'tendency rho*'//trim(tracer_name(iq))//' in TB', 'kg/m3/s', fill_halo=.true. )
472  enddo
473 
474  call file_history_in( qflx_momz(:,:,:,zdir), 'SGS_ZFLX_MOMZ', 'SGS Z FLUX of MOMZ', 'kg/m/s2', &
475  fill_halo=.true.)
476  call file_history_in( qflx_momz(:,:,:,xdir), 'SGS_XFLX_MOMZ', 'SGS X FLUX of MOMZ', 'kg/m/s2', &
477  dim_type='ZHXHY', fill_halo=.true.)
478  call file_history_in( qflx_momz(:,:,:,ydir), 'SGS_YFLX_MOMZ', 'SGS Y FLUX of MOMZ', 'kg/m/s2', &
479  dim_type='ZHXYH', fill_halo=.true.)
480 
481  call file_history_in( qflx_momx(:,:,:,zdir), 'SGS_ZFLX_MOMX', 'SGS Z FLUX of MOMX', 'kg/m/s2', &
482  dim_type='ZHXHY', fill_halo=.true.)
483  call file_history_in( qflx_momx(:,:,:,xdir), 'SGS_XFLX_MOMX', 'SGS X FLUX of MOMX', 'kg/m/s2', &
484  fill_halo=.true.)
485  call file_history_in( qflx_momx(:,:,:,ydir), 'SGS_YFLX_MOMX', 'SGS Y FLUX of MOMX', 'kg/m/s2', &
486  dim_type='ZXHYH', fill_halo=.true.)
487 
488  call file_history_in( qflx_momy(:,:,:,zdir), 'SGS_ZFLX_MOMY', 'SGS Z FLUX of MOMY', 'kg/m/s2', &
489  dim_type='ZHXYH', fill_halo=.true.)
490  call file_history_in( qflx_momy(:,:,:,xdir), 'SGS_XFLX_MOMY', 'SGS X FLUX of MOMY', 'kg/m/s2', &
491  dim_type='ZXHYH', fill_halo=.true.)
492  call file_history_in( qflx_momy(:,:,:,ydir), 'SGS_YFLX_MOMY', 'SGS Y FLUX of MOMY', 'kg/m/s2', &
493  fill_halo=.true.)
494 
495  call file_history_in( qflx_rhot(:,:,:,zdir), 'SGS_ZFLX_RHOT', 'SGS Z FLUX of RHOT', 'K*kg/m2/s', &
496  dim_type='ZHXY', fill_halo=.true.)
497  call file_history_in( qflx_rhot(:,:,:,xdir), 'SGS_XFLX_RHOT', 'SGS X FLUX of RHOT', 'K*kg/m2/s', &
498  dim_type='ZXHY', fill_halo=.true.)
499  call file_history_in( qflx_rhot(:,:,:,ydir), 'SGS_YFLX_RHOT', 'SGS Y FLUX of RHOT', 'K*kg/m2/s', &
500  dim_type='ZXYH', fill_halo=.true.)
501 
502 
503  do iq = 1, qa
504  if ( iq == i_tke .or. .not. tracer_advc(iq) ) cycle
505 
506  call file_history_in( qflx_rhoq(:,:,:,zdir,iq), &
507  'SGS_ZFLX_'//trim(tracer_name(iq)), 'SGS Z FLUX of '//trim(tracer_name(iq)), 'kg/m2/s', &
508  dim_type='ZHXY', fill_halo=.true.)
509  call file_history_in( qflx_rhoq(:,:,:,xdir,iq), &
510  'SGS_XFLX_'//trim(tracer_name(iq)), 'SGS X FLUX of '//trim(tracer_name(iq)), 'kg/m2/s', &
511  dim_type='ZXHY', fill_halo=.true.)
512  call file_history_in( qflx_rhoq(:,:,:,ydir,iq), &
513  'SGS_YFLX_'//trim(tracer_name(iq)), 'SGS Y FLUX of '//trim(tracer_name(iq)), 'kg/m2/s', &
514  dim_type='ZXYH', fill_halo=.true.)
515  end do
516 
517  if ( statistics_checktotal ) then
518  !$acc data copyin(ATMOS_GRID_CARTESC_REAL_VOLWXY, ATMOS_GRID_CARTESC_REAL_VOLZUY, ATMOS_GRID_CARTESC_REAL_VOLZXV, ATMOS_GRID_CARTESC_REAL_VOL)
519  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
520  momz_t_tb(:,:,:), 'MOMZ_t_TB', &
523  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
524  momx_t_tb(:,:,:), 'MOMX_t_TB', &
527  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
528  momy_t_tb(:,:,:), 'MOMY_t_TB', &
531  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
532  rhot_t_tb(:,:,:), 'RHOT_t_TB', &
535  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
536  nu(:,:,:), 'Nu', &
539  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
540  ri(:,:,:), 'Ri', &
543  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
544  pr(:,:,:), 'Pr', &
547 
548  do iq = 1, qa
549  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
550  rhoq_t_tb(:,:,:,iq), trim(tracer_name(iq))//'_t_TB', &
553  enddo
554  !$acc end data
555  endif
556 
557  !$acc end data
558 
559  endif
560 
561  !$omp parallel do default(none) private(i,j,k) OMP_SCHEDULE_ collapse(2) &
562  !$omp shared(JS,JE,IS,IE,KS,KE,MOMZ_t,MOMZ_t_TB,MOMX_t,MOMX_t_TB,MOMY_t,MOMY_t_TB,RHOT_t,RHOT_t_TB)
563  !$acc kernels
564  do j = js, je
565  do i = is, ie
566  do k = ks, ke
567  momz_t(k,i,j) = momz_t(k,i,j) + momz_t_tb(k,i,j)
568  momx_t(k,i,j) = momx_t(k,i,j) + momx_t_tb(k,i,j)
569  momy_t(k,i,j) = momy_t(k,i,j) + momy_t_tb(k,i,j)
570  rhot_t(k,i,j) = rhot_t(k,i,j) + rhot_t_tb(k,i,j)
571  enddo
572  enddo
573  enddo
574  !$acc end kernels
575 
576  do iq = 1, qa
577 
578  if ( .not. ( iq == i_tke .or. tracer_advc(iq) ) ) cycle
579 
580  !$omp parallel do private(i,j,k) OMP_SCHEDULE_ collapse(2)
581 ! !$acc kernels async(iq)
582  !$acc kernels
583  do j = js, je
584  do i = is, ie
585  do k = ks, ke
586  rhoq_t(k,i,j,iq) = rhoq_t(k,i,j,iq) + rhoq_t_tb(k,i,j,iq)
587  enddo
588  enddo
589  enddo
590  !$acc end kernels
591 
592  enddo
593 
594  !$acc data create(qflx_x, qflx_y)
595 
596  if ( monit_west > 0 ) then
597  !$acc kernels
598  qflx_x(:,:) = 0.0_rp
599  !$acc end kernels
600  if ( .not. prc_has_w ) then
601  do iq = 1, qa
602  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
603  !$acc kernels
604  do j = js, je
605  do k = ks, ke
606  qflx_x(k,j) = qflx_x(k,j) + qflx_rhoq(k,is-1,j,xdir,iq)
607  end do
608  end do
609  !$acc end kernels
610  end if
611  end do
612  end if
613 !$acc update host(qflx_x)
614  call monitor_put( monit_west, qflx_x(:,:) )
615  end if
616  if ( monit_east > 0 ) then
617  !$acc kernels
618  qflx_x(:,:) = 0.0_rp
619  !$acc end kernels
620  if ( .not. prc_has_e ) then
621  do iq = 1, qa
622  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
623  !$acc kernels
624  do j = js, je
625  do k = ks, ke
626  qflx_x(k,j) = qflx_x(k,j) + qflx_rhoq(k,ie,j,xdir,iq)
627  end do
628  end do
629  !$acc end kernels
630  end if
631  end do
632  end if
633 !$acc update host(qflx_x)
634  call monitor_put( monit_east, qflx_x(:,:) )
635  end if
636  if ( monit_south > 0 ) then
637  !$acc kernels
638  qflx_y(:,:) = 0.0_rp
639  !$acc end kernels
640  if ( .not. prc_has_s ) then
641  do iq = 1, qa
642  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
643  !$acc kernels
644  do i = is, ie
645  do k = ks, ke
646  qflx_y(k,i) = qflx_y(k,i) + qflx_rhoq(k,i,js-1,ydir,iq)
647  end do
648  end do
649  !$acc end kernels
650  end if
651  end do
652  end if
653 !$acc update host(qflx_y)
654  call monitor_put( monit_south, qflx_y(:,:) )
655  end if
656  if ( monit_north > 0 ) then
657  !$acc kernels
658  qflx_y(:,:) = 0.0_rp
659  !$acc end kernels
660  if ( .not. prc_has_n ) then
661  do iq = 1, qa
662  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
663  !$acc kernels
664  do i = is, ie
665  do k = ks, ke
666  qflx_y(k,i) = qflx_y(k,i) + qflx_rhoq(k,i,je,ydir,iq)
667  end do
668  end do
669  !$acc end kernels
670  end if
671  end do
672  end if
673 !$acc update host(qflx_y)
674  call monitor_put( monit_north, qflx_y(:,:) )
675  end if
676 
677 ! !$acc wait
678 
679  !$acc end data
680  !$acc end data
681 
682  return

References scale_atmos_grid_cartesc::atmos_grid_cartesc_cdx, scale_atmos_grid_cartesc::atmos_grid_cartesc_cdy, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdx, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdy, scale_atmos_grid_cartesc::atmos_grid_cartesc_fdz, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_gsqrt, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_j13g, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_j23g, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_j33g, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_mapf, scale_atmos_grid_cartesc::atmos_grid_cartesc_rcdz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_fz, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvol, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolwxy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzuy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzxv, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_vol, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volwxy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzuy, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzxv, scale_atmos_grid_cartesc::atmos_grid_cartesc_rfdz, 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_sh, scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_momx(), scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_momy(), scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_momz(), scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_phi(), scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980(), scale_atmos_phy_tb_dns::atmos_phy_tb_dns(), mod_atmos_phy_tb_vars::atmos_phy_tb_momx_t, mod_atmos_phy_tb_vars::atmos_phy_tb_momy_t, mod_atmos_phy_tb_vars::atmos_phy_tb_momz_t, mod_atmos_phy_tb_vars::atmos_phy_tb_rhoq_t, mod_atmos_phy_tb_vars::atmos_phy_tb_rhot_t, scale_atmos_phy_tb_smg::atmos_phy_tb_smg(), mod_atmos_admin::atmos_phy_tb_type, mod_atmos_vars::dens, mod_atmos_vars::dens_av, mod_atmos_phy_tb_vars::i_tke, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::iblock, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::jblock, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::k, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, mod_atmos_vars::momx, mod_atmos_vars::momx_av, mod_atmos_vars::momx_tp, mod_atmos_vars::momy, mod_atmos_vars::momy_av, mod_atmos_vars::momy_tp, mod_atmos_vars::momz, mod_atmos_vars::momz_av, mod_atmos_vars::momz_tp, mod_atmos_vars::pott, scale_prc_cartesc::prc_has_e, scale_prc_cartesc::prc_has_n, scale_prc_cartesc::prc_has_s, scale_prc_cartesc::prc_has_w, scale_tracer::qa, mod_atmos_vars::qtrc, mod_atmos_vars::qtrc_av, mod_atmos_vars::rhoq_tp, mod_atmos_vars::rhot, mod_atmos_vars::rhot_av, mod_atmos_vars::rhot_tp, scale_statistics::statistics_checktotal, scale_time::time_dtsec_atmos_phy_tb, scale_tracer::tracer_advc, scale_tracer::tracer_mass, scale_tracer::tracer_name, scale_atmos_grid_cartesc_index::xdir, scale_atmos_grid_cartesc_index::ydir, and scale_atmos_grid_cartesc_index::zdir.

Referenced by mod_atmos_driver::atmos_driver_calc_tendency().

Here is the call graph for this function:
Here is the caller graph for this function:
mod_atmos_vars::momz_av
real(rp), dimension(:,:,:), pointer, public momz_av
Definition: mod_atmos_vars.F90:91
scale_statistics
module Statistics
Definition: scale_statistics.F90:11
scale_time::time_dtsec_atmos_phy_tb
real(dp), public time_dtsec_atmos_phy_tb
time interval of physics(turbulence ) [sec]
Definition: scale_time.F90:41
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:78
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:350
mod_atmos_admin::atmos_sw_phy_tb
logical, public atmos_sw_phy_tb
Definition: mod_atmos_admin.F90:57
scale_atmos_phy_tb_dns
module ATMOSPHERE / Physics Turbulence
Definition: scale_atmos_phy_tb_dns.F90:12
mod_atmos_vars::momx_av
real(rp), dimension(:,:,:), pointer, public momx_av
Definition: mod_atmos_vars.F90:92
scale_atmos_grid_cartesc::atmos_grid_cartesc_cdz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cdz
z-length of control volume [m]
Definition: scale_atmos_grid_cartesC.F90:43
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzxv
real(rp), public atmos_grid_cartesc_real_totvolzxv
total volume (zxv, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:91
mod_atmos_vars::rhoq_tp
real(rp), dimension(:,:,:,:), allocatable, public rhoq_tp
Definition: mod_atmos_vars.F90:121
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:39
mod_atmos_vars::pott
real(rp), dimension(:,:,:), allocatable, target, public pott
Definition: mod_atmos_vars.F90:133
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volwxy
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volwxy
control volume (wxy) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:85
mod_atmos_phy_tb_vars::atmos_phy_tb_momz_t
real(rp), dimension(:,:,:), allocatable, public atmos_phy_tb_momz_t
Definition: mod_atmos_phy_tb_vars.F90:56
scale_prc_cartesc::prc_has_s
logical, public prc_has_s
Definition: scale_prc_cartesC.F90:51
mod_atmos_vars::qtrc_av
real(rp), dimension(:,:,:,:), pointer, public qtrc_av
Definition: mod_atmos_vars.F90:95
mod_atmos_admin
module ATMOS admin
Definition: mod_atmos_admin.F90:11
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolwxy
real(rp), public atmos_grid_cartesc_real_totvolwxy
total volume (wxy, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:89
mod_atmos_phy_tb_vars::atmos_phy_tb_momx_t
real(rp), dimension(:,:,:), allocatable, public atmos_phy_tb_momx_t
Definition: mod_atmos_phy_tb_vars.F90:57
scale_atmos_grid_cartesc_metric
module Atmosphere Grid CartesianC metirc
Definition: scale_atmos_grid_cartesC_metric.F90:12
scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_momx
subroutine, public atmos_phy_tb_calc_tend_momx(MOMX_t_TB, QFLX_MOMX, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
Definition: scale_atmos_phy_tb_common.F90:1679
mod_atmos_vars::rhot_av
real(rp), dimension(:,:,:), pointer, public rhot_av
Definition: mod_atmos_vars.F90:94
scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_momy
subroutine, public atmos_phy_tb_calc_tend_momy(MOMY_t_TB, QFLX_MOMY, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
Definition: scale_atmos_phy_tb_common.F90:1741
scale_atmos_grid_cartesc::atmos_grid_cartesc_cdy
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cdy
y-length of control volume [m]
Definition: scale_atmos_grid_cartesC.F90:62
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:79
scale_atmos_phy_tb_smg::atmos_phy_tb_smg_finalize
subroutine, public atmos_phy_tb_smg_finalize
finalize
Definition: scale_atmos_phy_tb_smg.F90:252
scale_atmos_phy_tb_dns::atmos_phy_tb_dns_setup
subroutine, public atmos_phy_tb_dns_setup(CDZ, CDX, CDY, CZ)
Definition: scale_atmos_phy_tb_dns.F90:93
scale_atmos_grid_cartesc::atmos_grid_cartesc_fdy
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_fdy
y-length of grid(j+1) to grid(j) [m]
Definition: scale_atmos_grid_cartesC.F90:64
scale_atmos_phy_tb_dns::atmos_phy_tb_dns_config
subroutine, public atmos_phy_tb_dns_config(TYPE_TB, I_TKE_out)
Config.
Definition: scale_atmos_phy_tb_dns.F90:69
mod_atmos_phy_sf_vars
module ATMOSPHERIC Surface Variables
Definition: mod_atmos_phy_sf_vars.F90:12
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:77
scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_config
subroutine, public atmos_phy_tb_d1980_config(TYPE_TB, I_TKE_out)
Config.
Definition: scale_atmos_phy_tb_d1980.F90:81
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:45
mod_atmos_vars::rhot
real(rp), dimension(:,:,:), allocatable, target, public rhot
Definition: mod_atmos_vars.F90:80
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
mod_atmos_vars::qtrc
real(rp), dimension(:,:,:,:), allocatable, target, public qtrc
Definition: mod_atmos_vars.F90:81
scale_file_history
module file_history
Definition: scale_file_history.F90:15
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzuy
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volzuy
control volume (zuy) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:86
scale_prc_cartesc::prc_has_n
logical, public prc_has_n
Definition: scale_prc_cartesC.F90:49
scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_finalize
subroutine, public atmos_phy_tb_d1980_finalize
finalize
Definition: scale_atmos_phy_tb_d1980.F90:167
scale_prc_cartesc::prc_has_e
logical, public prc_has_e
Definition: scale_prc_cartesC.F90:50
scale_atmos_phy_tb_dns::atmos_phy_tb_dns
subroutine, public atmos_phy_tb_dns(qflx_sgs_MOMZ, qflx_sgs_MOMX, qflx_sgs_MOMY, qflx_sgs_rhot, qflx_sgs_rhoq, RHOQ_t, nu, Ri, Pr, MOMZ, MOMX, MOMY, POTT, DENS, QTRC, N2, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_Q, FZ, FDZ, RCDZ, RFDZ, CDX, FDX, CDY, FDY, GSQRT, J13G, J23G, J33G, MAPF, dt)
Definition: scale_atmos_phy_tb_dns.F90:145
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980
subroutine, public atmos_phy_tb_d1980(qflx_sgs_momz, qflx_sgs_momx, qflx_sgs_momy, qflx_sgs_rhot, qflx_sgs_rhoq, RHOQ_t, Km, Ri, Pr, MOMZ, MOMX, MOMY, RHOT, DENS, QTRC, N2, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_Q, GSQRT, J13G, J23G, J33G, MAPF, dt)
Definition: scale_atmos_phy_tb_d1980.F90:182
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:35
mod_atmos_vars::dens
real(rp), dimension(:,:,:), allocatable, target, public dens
Definition: mod_atmos_vars.F90:76
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_volzxv
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_volzxv
control volume (zxv) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:87
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_vol
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_vol
control volume (zxy) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:84
mod_atmos_vars::momz
real(rp), dimension(:,:,:), allocatable, target, public momz
Definition: mod_atmos_vars.F90:77
scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_gsqrt
real(rp), dimension(:,:,:,:), allocatable, public atmos_grid_cartesc_metric_gsqrt
transformation metrics from Z to Xi, {G}^1/2
Definition: scale_atmos_grid_cartesC_metric.F90:38
mod_atmos_phy_tb_vars
module Atmosphere / Physics Turbulence
Definition: mod_atmos_phy_tb_vars.F90:12
mod_atmos_vars::momy_av
real(rp), dimension(:,:,:), pointer, public momy_av
Definition: mod_atmos_vars.F90:93
scale_prc_cartesc
module process / cartesC
Definition: scale_prc_cartesC.F90:11
mod_atmos_vars::momz_tp
real(rp), dimension(:,:,:), allocatable, public momz_tp
Definition: mod_atmos_vars.F90:116
mod_atmos_vars::momx
real(rp), dimension(:,:,:), allocatable, target, public momx
Definition: mod_atmos_vars.F90:78
scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_j23g
real(rp), dimension(:,:,:,:), allocatable, public atmos_grid_cartesc_metric_j23g
(2,3) element of Jacobian matrix * {G}^1/2
Definition: scale_atmos_grid_cartesC_metric.F90:40
scale_monitor::monitor_reg
subroutine, public monitor_reg(name, desc, unit, itemid, ndims, dim_type, is_tendency)
Search existing item, or matching check between requested and registered item.
Definition: scale_monitor.F90:243
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvolzuy
real(rp), public atmos_grid_cartesc_real_totvolzuy
total volume (zuy, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:90
mod_atmos_vars::momy
real(rp), dimension(:,:,:), allocatable, target, public momy
Definition: mod_atmos_vars.F90:79
scale_time
module TIME
Definition: scale_time.F90:11
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:86
scale_atmos_grid_cartesc::atmos_grid_cartesc_fdx
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_fdx
x-length of grid(i+1) to grid(i) [m]
Definition: scale_atmos_grid_cartesC.F90:63
scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_phi
subroutine, public atmos_phy_tb_calc_tend_phi(phi_t_TB, QFLX_phi, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
Definition: scale_atmos_phy_tb_common.F90:1804
scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_setup
subroutine, public atmos_phy_tb_d1980_setup(CDZ, CDX, CDY, CZ)
Setup.
Definition: scale_atmos_phy_tb_d1980.F90:115
mod_atmos_vars::dens_av
real(rp), dimension(:,:,:), pointer, public dens_av
Definition: mod_atmos_vars.F90:90
mod_atmos_phy_tb_vars::i_tke
integer, public i_tke
Definition: mod_atmos_phy_tb_vars.F90:62
scale_statistics::statistics_checktotal
logical, public statistics_checktotal
calc&report variable totals to logfile?
Definition: scale_statistics.F90:109
mod_atmos_phy_tb_vars::atmos_phy_tb_momy_t
real(rp), dimension(:,:,:), allocatable, public atmos_phy_tb_momy_t
Definition: mod_atmos_phy_tb_vars.F90:58
scale_atmos_phy_tb_common
module ATMOSPHERE / Physics Turbulence
Definition: scale_atmos_phy_tb_common.F90:12
mod_atmos_vars
module ATMOSPHERIC Variables
Definition: mod_atmos_vars.F90:12
mod_atmos_vars::rhot_tp
real(rp), dimension(:,:,:), allocatable, public rhot_tp
Definition: mod_atmos_vars.F90:119
scale_atmos_phy_tb_smg::atmos_phy_tb_smg_setup
subroutine, public atmos_phy_tb_smg_setup(FZ, CZ, CDX, CDY, MAPF, horizontal)
Setup.
Definition: scale_atmos_phy_tb_smg.F90:102
mod_atmos_vars::momy_tp
real(rp), dimension(:,:,:), allocatable, public momy_tp
Definition: mod_atmos_vars.F90:125
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:80
scale_atmos_grid_cartesc::atmos_grid_cartesc_rfdz
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_rfdz
reciprocal of face-dz
Definition: scale_atmos_grid_cartesC.F90:46
mod_atmos_admin::atmos_sw_phy_bl
logical, public atmos_sw_phy_bl
Definition: mod_atmos_admin.F90:58
mod_atmos_vars::momx_tp
real(rp), dimension(:,:,:), allocatable, public momx_tp
Definition: mod_atmos_vars.F90:124
scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_j33g
real(rp), public atmos_grid_cartesc_metric_j33g
(3,3) element of Jacobian matrix * {G}^1/2
Definition: scale_atmos_grid_cartesC_metric.F90:41
scale_atmos_grid_cartesc::atmos_grid_cartesc_cdx
real(rp), dimension(:), allocatable, public atmos_grid_cartesc_cdx
x-length of control volume [m]
Definition: scale_atmos_grid_cartesC.F90:61
scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_j13g
real(rp), dimension(:,:,:,:), allocatable, public atmos_grid_cartesc_metric_j13g
(1,3) element of Jacobian matrix * {G}^1/2
Definition: scale_atmos_grid_cartesC_metric.F90:39
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:43
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totvol
real(rp), public atmos_grid_cartesc_real_totvol
total volume (zxy, local) [m3]
Definition: scale_atmos_grid_cartesC_real.F90:88
scale_atmos_grid_cartesc
module atmosphere / grid / cartesC
Definition: scale_atmos_grid_cartesC.F90:12
mod_atmos_phy_tb_vars::atmos_phy_tb_rhoq_t
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_tb_rhoq_t
Definition: mod_atmos_phy_tb_vars.F90:60
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:44
scale_atmos_phy_tb_d1980
module ATMOSPHERE / Physics Turbulence
Definition: scale_atmos_phy_tb_d1980.F90:18
scale_atmos_phy_tb_common::atmos_phy_tb_calc_tend_momz
subroutine, public atmos_phy_tb_calc_tend_momz(MOMZ_t_TB, QFLX_MOMZ, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
Definition: scale_atmos_phy_tb_common.F90:1616
scale_atmos_phy_tb_smg
module ATMOSPHERE / Physics Turbulence
Definition: scale_atmos_phy_tb_smg.F90:21
scale_prc_cartesc::prc_has_w
logical, public prc_has_w
Definition: scale_prc_cartesC.F90:48
mod_atmos_phy_tb_vars::atmos_phy_tb_rhot_t
real(rp), dimension(:,:,:), allocatable, public atmos_phy_tb_rhot_t
Definition: mod_atmos_phy_tb_vars.F90:59
mod_atmos_admin::atmos_phy_tb_type
character(len=h_short), public atmos_phy_tb_type
Definition: mod_atmos_admin.F90:41
scale_atmos_phy_tb_smg::atmos_phy_tb_smg
subroutine, public atmos_phy_tb_smg(qflx_sgs_momz, qflx_sgs_momx, qflx_sgs_momy, qflx_sgs_rhot, qflx_sgs_rhoq, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, RHOQ_t, Nu, Ri, Pr, MOMZ, MOMX, MOMY, POTT, DENS, QTRC, N2, FZ, FDZ, RCDZ, RFDZ, CDX, FDX, CDY, FDY, GSQRT, J13G, J23G, J33G, MAPF, dt)
Definition: scale_atmos_phy_tb_smg.F90:269
scale_monitor
module MONITOR
Definition: scale_monitor.F90:12