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  !$acc update host(MOMZ,MOMX,MOMY,RHOT,DENS,QTRC,N2,SFLX_MW,SFLX_MU,SFLX_MV,SFLX_SH,SFLX_Q)
358  call atmos_phy_tb_dns( qflx_momz, qflx_momx, qflx_momy, & ! [OUT]
359  qflx_rhot, qflx_rhoq, & ! [OUT]
360  rhoq_t_tb, & ! [OUT]
361  nu, ri, pr, & ! [OUT]
362  momz, momx, momy, rhot, dens, qtrc, n2, & ! [IN]
363  sflx_mw, sflx_mu, sflx_mv, & ! [IN]
364  sflx_sh, sflx_q, & ! [IN]
365  gsqrt, j13g, j23g, j33g, mapf, & ! [IN]
366  dt_tb ) ! [IN]
367  !$acc update device(QFLX_MOMZ,QFLX_MOMX,QFLX_MOMY,QFLX_RHOT,QFLX_RHOQ,RHOQ_t_TB,Nu,Ri,Pr)
368  end select
369 
370 
371  do jjs = js, je, jblock
372  jje = jjs+jblock-1
373  do iis = is, ie, iblock
374  iie = iis+iblock-1
375 
376  call calc_tend_momz( tend(:,:,:), & ! (out)
377  qflx_momz, & ! (in)
378  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
379  iis, iie, jjs, jje ) ! (in)
380  !$omp parallel do
381  !$acc kernels
382  do j = jjs, jje
383  do i = iis, iie
384  do k = ks, ke-1
385  momz_t_tb(k,i,j) = momz_t_tb(k,i,j) + tend(k,i,j)
386  end do
387  end do
388  end do
389  !$acc end kernels
390 
391  call calc_tend_momx( tend(:,:,:), & ! (out)
392  qflx_momx, & ! (in)
393  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
394  iis, iie, jjs, jje ) ! (in)
395  !$omp parallel do
396  !$acc kernels
397  do j = jjs, jje
398  do i = iis, iie
399  do k = ks, ke
400  momx_t_tb(k,i,j) = momx_t_tb(k,i,j) + tend(k,i,j)
401  end do
402  end do
403  end do
404  !$acc end kernels
405 
406  call calc_tend_momy( tend(:,:,:), & ! (out)
407  qflx_momy, & ! (in)
408  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
409  iis, iie, jjs, jje ) ! (in)
410  !$omp parallel do
411  !$acc kernels
412  do j = jjs, jje
413  do i = iis, iie
414  do k = ks, ke
415  momy_t_tb(k,i,j) = momy_t_tb(k,i,j) + tend(k,i,j)
416  end do
417  end do
418  end do
419  !$acc end kernels
420 
421  call calc_tend_phi ( tend(:,:,:), & ! (out)
422  qflx_rhot, & ! (in)
423  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
424  iis, iie, jjs, jje ) ! (in)
425  !$omp parallel do
426  !$acc kernels
427  do j = jjs, jje
428  do i = iis, iie
429  do k = ks, ke
430  rhot_t_tb(k,i,j) = rhot_t_tb(k,i,j) + tend(k,i,j)
431  end do
432  end do
433  end do
434  !$acc end kernels
435 
436  do iq = 1, qa
437  if ( iq == i_tke .or. .not. tracer_advc(iq) ) cycle
438 
439  call calc_tend_phi( tend(:,:,:), & ! (out)
440  qflx_rhoq(:,:,:,:,iq), & ! (in)
441  gsqrt, j13g, j23g, j33g, mapf, & ! (in)
442  iis, iie, jjs, jje ) ! (in)
443 
444  !$omp parallel do
445  !$acc kernels
446  do j = jjs, jje
447  do i = iis, iie
448  do k = ks, ke
449  rhoq_t_tb(k,i,j,iq) = rhoq_t_tb(k,i,j,iq) + tend(k,i,j)
450  end do
451  end do
452  end do
453  !$acc end kernels
454 
455  end do
456 
457  end do
458  end do
459 
460 
461  call file_history_in( nu(:,:,:), 'NU', 'eddy viscosity', 'm2/s' , fill_halo=.true. )
462  call file_history_in( ri(:,:,:), 'Ri', 'Richardson number', 'NIL' , fill_halo=.true. )
463  call file_history_in( pr(:,:,:), 'Pr', 'Prantle number', 'NIL' , fill_halo=.true. )
464 
465  call file_history_in( momz_t_tb(:,:,:), 'MOMZ_t_TB', 'MOMZ tendency (TB)', 'kg/m2/s2', fill_halo=.true. )
466  call file_history_in( momx_t_tb(:,:,:), 'MOMX_t_TB', 'MOMX tendency (TB)', 'kg/m2/s2', fill_halo=.true. )
467  call file_history_in( momy_t_tb(:,:,:), 'MOMY_t_TB', 'MOMY tendency (TB)', 'kg/m2/s2', fill_halo=.true. )
468  call file_history_in( rhot_t_tb(:,:,:), 'RHOT_t_TB', 'RHOT tendency (TB)', 'K.kg/m3/s', fill_halo=.true. )
469 
470  do iq = 1, qa
471  call file_history_in( rhoq_t_tb(:,:,:,iq), trim(tracer_name(iq))//'_t_TB', &
472  'tendency rho*'//trim(tracer_name(iq))//' in TB', 'kg/m3/s', fill_halo=.true. )
473  enddo
474 
475  call file_history_in( qflx_momz(:,:,:,zdir), 'SGS_ZFLX_MOMZ', 'SGS Z FLUX of MOMZ', 'kg/m/s2', &
476  fill_halo=.true.)
477  call file_history_in( qflx_momz(:,:,:,xdir), 'SGS_XFLX_MOMZ', 'SGS X FLUX of MOMZ', 'kg/m/s2', &
478  dim_type='ZHXHY', fill_halo=.true.)
479  call file_history_in( qflx_momz(:,:,:,ydir), 'SGS_YFLX_MOMZ', 'SGS Y FLUX of MOMZ', 'kg/m/s2', &
480  dim_type='ZHXYH', fill_halo=.true.)
481 
482  call file_history_in( qflx_momx(:,:,:,zdir), 'SGS_ZFLX_MOMX', 'SGS Z FLUX of MOMX', 'kg/m/s2', &
483  dim_type='ZHXHY', fill_halo=.true.)
484  call file_history_in( qflx_momx(:,:,:,xdir), 'SGS_XFLX_MOMX', 'SGS X FLUX of MOMX', 'kg/m/s2', &
485  fill_halo=.true.)
486  call file_history_in( qflx_momx(:,:,:,ydir), 'SGS_YFLX_MOMX', 'SGS Y FLUX of MOMX', 'kg/m/s2', &
487  dim_type='ZXHYH', fill_halo=.true.)
488 
489  call file_history_in( qflx_momy(:,:,:,zdir), 'SGS_ZFLX_MOMY', 'SGS Z FLUX of MOMY', 'kg/m/s2', &
490  dim_type='ZHXYH', fill_halo=.true.)
491  call file_history_in( qflx_momy(:,:,:,xdir), 'SGS_XFLX_MOMY', 'SGS X FLUX of MOMY', 'kg/m/s2', &
492  dim_type='ZXHYH', fill_halo=.true.)
493  call file_history_in( qflx_momy(:,:,:,ydir), 'SGS_YFLX_MOMY', 'SGS Y FLUX of MOMY', 'kg/m/s2', &
494  fill_halo=.true.)
495 
496  call file_history_in( qflx_rhot(:,:,:,zdir), 'SGS_ZFLX_RHOT', 'SGS Z FLUX of RHOT', 'K*kg/m2/s', &
497  dim_type='ZHXY', fill_halo=.true.)
498  call file_history_in( qflx_rhot(:,:,:,xdir), 'SGS_XFLX_RHOT', 'SGS X FLUX of RHOT', 'K*kg/m2/s', &
499  dim_type='ZXHY', fill_halo=.true.)
500  call file_history_in( qflx_rhot(:,:,:,ydir), 'SGS_YFLX_RHOT', 'SGS Y FLUX of RHOT', 'K*kg/m2/s', &
501  dim_type='ZXYH', fill_halo=.true.)
502 
503 
504  do iq = 1, qa
505  if ( iq == i_tke .or. .not. tracer_advc(iq) ) cycle
506 
507  call file_history_in( qflx_rhoq(:,:,:,zdir,iq), &
508  'SGS_ZFLX_'//trim(tracer_name(iq)), 'SGS Z FLUX of '//trim(tracer_name(iq)), 'kg/m2/s', &
509  dim_type='ZHXY', fill_halo=.true.)
510  call file_history_in( qflx_rhoq(:,:,:,xdir,iq), &
511  'SGS_XFLX_'//trim(tracer_name(iq)), 'SGS X FLUX of '//trim(tracer_name(iq)), 'kg/m2/s', &
512  dim_type='ZXHY', fill_halo=.true.)
513  call file_history_in( qflx_rhoq(:,:,:,ydir,iq), &
514  'SGS_YFLX_'//trim(tracer_name(iq)), 'SGS Y FLUX of '//trim(tracer_name(iq)), 'kg/m2/s', &
515  dim_type='ZXYH', fill_halo=.true.)
516  end do
517 
518  if ( statistics_checktotal ) then
519  !$acc data copyin(ATMOS_GRID_CARTESC_REAL_VOLWXY, ATMOS_GRID_CARTESC_REAL_VOLZUY, ATMOS_GRID_CARTESC_REAL_VOLZXV, ATMOS_GRID_CARTESC_REAL_VOL)
520  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
521  momz_t_tb(:,:,:), 'MOMZ_t_TB', &
524  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
525  momx_t_tb(:,:,:), 'MOMX_t_TB', &
528  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
529  momy_t_tb(:,:,:), 'MOMY_t_TB', &
532  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
533  rhot_t_tb(:,:,:), 'RHOT_t_TB', &
536  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
537  nu(:,:,:), 'Nu', &
540  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
541  ri(:,:,:), 'Ri', &
544  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
545  pr(:,:,:), 'Pr', &
548 
549  do iq = 1, qa
550  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
551  rhoq_t_tb(:,:,:,iq), trim(tracer_name(iq))//'_t_TB', &
554  enddo
555  !$acc end data
556  endif
557 
558  !$acc end data
559 
560  endif
561 
562  !$omp parallel do default(none) private(i,j,k) OMP_SCHEDULE_ collapse(2) &
563  !$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)
564  !$acc kernels
565  do j = js, je
566  do i = is, ie
567  do k = ks, ke
568  momz_t(k,i,j) = momz_t(k,i,j) + momz_t_tb(k,i,j)
569  momx_t(k,i,j) = momx_t(k,i,j) + momx_t_tb(k,i,j)
570  momy_t(k,i,j) = momy_t(k,i,j) + momy_t_tb(k,i,j)
571  rhot_t(k,i,j) = rhot_t(k,i,j) + rhot_t_tb(k,i,j)
572  enddo
573  enddo
574  enddo
575  !$acc end kernels
576 
577  do iq = 1, qa
578 
579  if ( .not. ( iq == i_tke .or. tracer_advc(iq) ) ) cycle
580 
581  !$omp parallel do private(i,j,k) OMP_SCHEDULE_ collapse(2)
582 ! !$acc kernels async(iq)
583  !$acc kernels
584  do j = js, je
585  do i = is, ie
586  do k = ks, ke
587  rhoq_t(k,i,j,iq) = rhoq_t(k,i,j,iq) + rhoq_t_tb(k,i,j,iq)
588  enddo
589  enddo
590  enddo
591  !$acc end kernels
592 
593  enddo
594 
595  !$acc data create(qflx_x, qflx_y)
596 
597  if ( monit_west > 0 ) then
598  !$acc kernels
599  qflx_x(:,:) = 0.0_rp
600  !$acc end kernels
601  if ( .not. prc_has_w ) then
602  do iq = 1, qa
603  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
604  !$acc kernels
605  do j = js, je
606  do k = ks, ke
607  qflx_x(k,j) = qflx_x(k,j) + qflx_rhoq(k,is-1,j,xdir,iq)
608  end do
609  end do
610  !$acc end kernels
611  end if
612  end do
613  end if
614 !$acc update host(qflx_x)
615  call monitor_put( monit_west, qflx_x(:,:) )
616  end if
617  if ( monit_east > 0 ) then
618  !$acc kernels
619  qflx_x(:,:) = 0.0_rp
620  !$acc end kernels
621  if ( .not. prc_has_e ) then
622  do iq = 1, qa
623  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
624  !$acc kernels
625  do j = js, je
626  do k = ks, ke
627  qflx_x(k,j) = qflx_x(k,j) + qflx_rhoq(k,ie,j,xdir,iq)
628  end do
629  end do
630  !$acc end kernels
631  end if
632  end do
633  end if
634 !$acc update host(qflx_x)
635  call monitor_put( monit_east, qflx_x(:,:) )
636  end if
637  if ( monit_south > 0 ) then
638  !$acc kernels
639  qflx_y(:,:) = 0.0_rp
640  !$acc end kernels
641  if ( .not. prc_has_s ) then
642  do iq = 1, qa
643  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
644  !$acc kernels
645  do i = is, ie
646  do k = ks, ke
647  qflx_y(k,i) = qflx_y(k,i) + qflx_rhoq(k,i,js-1,ydir,iq)
648  end do
649  end do
650  !$acc end kernels
651  end if
652  end do
653  end if
654 !$acc update host(qflx_y)
655  call monitor_put( monit_south, qflx_y(:,:) )
656  end if
657  if ( monit_north > 0 ) then
658  !$acc kernels
659  qflx_y(:,:) = 0.0_rp
660  !$acc end kernels
661  if ( .not. prc_has_n ) then
662  do iq = 1, qa
663  if ( tracer_advc(iq) .and. tracer_mass(iq) == 1.0_rp ) then
664  !$acc kernels
665  do i = is, ie
666  do k = ks, ke
667  qflx_y(k,i) = qflx_y(k,i) + qflx_rhoq(k,i,je,ydir,iq)
668  end do
669  end do
670  !$acc end kernels
671  end if
672  end do
673  end if
674 !$acc update host(qflx_y)
675  call monitor_put( monit_north, qflx_y(:,:) )
676  end if
677 
678 ! !$acc wait
679 
680  !$acc end data
681  !$acc end data
682 
683  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:349
mod_atmos_admin::atmos_sw_phy_tb
logical, public atmos_sw_phy_tb
Definition: mod_atmos_admin.F90:57
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, 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_dns.F90:130
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:88
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:64
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_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