SCALE-RM
Functions/Subroutines | Variables
mod_atmos_phy_mp_vars Module Reference

module Atmosphere / Physics Cloud Microphysics More...

Functions/Subroutines

subroutine, public atmos_phy_mp_vars_setup
 Setup. More...
 
subroutine, public atmos_phy_mp_vars_fillhalo
 HALO Communication. More...
 
subroutine, public atmos_phy_mp_vars_restart_open
 Open restart file for read. More...
 
subroutine, public atmos_phy_mp_vars_restart_read
 Read restart. More...
 
subroutine, public atmos_phy_mp_vars_restart_create
 Create restart file. More...
 
subroutine, public atmos_phy_mp_vars_restart_enddef
 Exit netCDF define mode. More...
 
subroutine, public atmos_phy_mp_vars_restart_close
 Close restart file. More...
 
subroutine, public atmos_phy_mp_vars_restart_def_var
 Define variables in restart file. More...
 
subroutine, public atmos_phy_mp_vars_restart_write
 Write restart. More...
 
subroutine, public atmos_phy_mp_vars_history (DENS, TEMP, QTRC)
 
subroutine, public atmos_phy_mp_vars_get_diagnostic (DENS, TEMP, QTRC, CLDFRAC, Re, Qe, Ne)
 
subroutine, public atmos_phy_mp_vars_reset_diagnostics
 

Variables

logical, public atmos_phy_mp_restart_output = .false.
 output restart file? More...
 
character(len=h_long), public atmos_phy_mp_restart_in_basename = ''
 Basename of the input file. More...
 
logical, public atmos_phy_mp_restart_in_aggregate
 Switch to use aggregate file. More...
 
logical, public atmos_phy_mp_restart_in_postfix_timelabel = .false.
 Add timelabel to the basename of input file? More...
 
character(len=h_long), public atmos_phy_mp_restart_out_basename = ''
 Basename of the output file. More...
 
logical, public atmos_phy_mp_restart_out_aggregate
 Switch to use aggregate file. More...
 
logical, public atmos_phy_mp_restart_out_postfix_timelabel = .true.
 Add timelabel to the basename of output file? More...
 
character(len=h_mid), public atmos_phy_mp_restart_out_title = 'ATMOS_PHY_MP restart'
 title of the output file More...
 
character(len=h_short), public atmos_phy_mp_restart_out_dtype = 'DEFAULT'
 REAL4 or REAL8. More...
 
real(rp), public atmos_phy_mp_cldfrac_thleshold
 
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_dens_t
 
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_momz_t
 
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_rhou_t
 
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_rhov_t
 
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_rhot_t
 
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_mp_rhoq_t
 
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_rhoh
 
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_evaporate
 
real(rp), dimension(:,:), allocatable, public atmos_phy_mp_sflx_rain
 
real(rp), dimension(:,:), allocatable, public atmos_phy_mp_sflx_snow
 
integer, public qa_mp = 0
 
integer, public qs_mp = -1
 
integer, public qe_mp = -2
 

Detailed Description

module Atmosphere / Physics Cloud Microphysics

Description
Container for mod_atmos_phy_mp
Author
Team SCALE
NAMELIST
  • PARAM_ATMOS_PHY_MP_VARS
    nametypedefault valuecomment
    ATMOS_PHY_MP_RESTART_IN_BASENAME character(len=H_LONG) '' Basename of the input file
    ATMOS_PHY_MP_RESTART_IN_AGGREGATE logical Switch to use aggregate file
    ATMOS_PHY_MP_RESTART_IN_POSTFIX_TIMELABEL logical .false. Add timelabel to the basename of input file?
    ATMOS_PHY_MP_RESTART_OUTPUT logical .false. output restart file?
    ATMOS_PHY_MP_RESTART_OUT_BASENAME character(len=H_LONG) '' Basename of the output file
    ATMOS_PHY_MP_RESTART_OUT_AGGREGATE logical Switch to use aggregate file
    ATMOS_PHY_MP_RESTART_OUT_POSTFIX_TIMELABEL logical .true. Add timelabel to the basename of output file?
    ATMOS_PHY_MP_RESTART_OUT_TITLE character(len=H_MID) 'ATMOS_PHY_MP restart' title of the output file
    ATMOS_PHY_MP_RESTART_OUT_DTYPE character(len=H_SHORT) 'DEFAULT' REAL4 or REAL8

History Output
namedescriptionunitvariable
Re_{HYD_NAME} effective radius of {HYD_NAME};
{HYD_NAME} is QC, QR, QI, QS, QG, QH.
cm {'Re_'//trim}
CLDFRAC cloud fraction 1 CLDFRAC
{HYD_NAME}_hyd mass ratio of {HYD_NAME};
{HYD_NAME} is QC, QR, QI, QS, QG, QH.
kg/kg trim(HYD_NAME(ih))//'_hyd
{NUM_NAME}_hyd number concentration of {HYD_NAME};
{NUM_NAME} is NC, NR, NI, NS, NG, NH.
1/m3 trim(NUM_NAME(ih))//'_hyd

Function/Subroutine Documentation

◆ atmos_phy_mp_vars_setup()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_setup ( )

Setup.

Definition at line 128 of file mod_atmos_phy_mp_vars.F90.

References atmos_phy_mp_dens_t, atmos_phy_mp_evaporate, atmos_phy_mp_momz_t, atmos_phy_mp_restart_in_aggregate, atmos_phy_mp_restart_in_basename, atmos_phy_mp_restart_in_postfix_timelabel, atmos_phy_mp_restart_out_aggregate, atmos_phy_mp_restart_out_basename, atmos_phy_mp_restart_out_dtype, atmos_phy_mp_restart_out_postfix_timelabel, atmos_phy_mp_restart_out_title, atmos_phy_mp_restart_output, atmos_phy_mp_rhoh, atmos_phy_mp_rhoq_t, atmos_phy_mp_rhot_t, atmos_phy_mp_rhou_t, atmos_phy_mp_rhov_t, atmos_phy_mp_sflx_rain, atmos_phy_mp_sflx_snow, scale_const::const_undef, scale_file_history::file_history_reg(), scale_atmos_hydrometeor::hyd_desc, scale_atmos_hydrometeor::hyd_name, scale_atmos_grid_cartesc_index::ia, scale_io::io_fid_conf, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::ka, scale_atmos_hydrometeor::n_hyd, scale_atmos_hydrometeor::num_name, scale_prc::prc_abort(), qe_mp, scale_atmos_hydrometeor::qha, and qs_mp.

Referenced by mod_atmos_vars::atmos_vars_setup().

128  use scale_prc, only: &
129  prc_abort
130  use scale_const, only: &
131  undef => const_undef
132  use scale_atmos_hydrometeor, only: &
133  n_hyd, &
134  qha, &
135  hyd_name, &
136  num_name, &
137  hyd_desc
138  use scale_file_history, only: &
140  implicit none
141 
142  namelist / param_atmos_phy_mp_vars / &
143  atmos_phy_mp_restart_in_basename, &
144  atmos_phy_mp_restart_in_aggregate, &
145  atmos_phy_mp_restart_in_postfix_timelabel, &
146  atmos_phy_mp_restart_output, &
147  atmos_phy_mp_restart_out_basename, &
148  atmos_phy_mp_restart_out_aggregate, &
149  atmos_phy_mp_restart_out_postfix_timelabel, &
150  atmos_phy_mp_restart_out_title, &
151  atmos_phy_mp_restart_out_dtype
152 
153  integer :: ierr
154  integer :: iv, ih
155  !---------------------------------------------------------------------------
156 
157  log_newline
158  log_info("ATMOS_PHY_MP_vars_setup",*) 'Setup'
159 
160  allocate( atmos_phy_mp_dens_t(ka,ia,ja) )
161  allocate( atmos_phy_mp_momz_t(ka,ia,ja) )
162  allocate( atmos_phy_mp_rhou_t(ka,ia,ja) )
163  allocate( atmos_phy_mp_rhov_t(ka,ia,ja) )
164  allocate( atmos_phy_mp_rhot_t(ka,ia,ja) )
165  allocate( atmos_phy_mp_rhoq_t(ka,ia,ja,qs_mp:qe_mp) )
166  allocate( atmos_phy_mp_rhoh(ka,ia,ja) )
167  allocate( atmos_phy_mp_evaporate(ka,ia,ja) )
168  ! tentative approach
169  atmos_phy_mp_dens_t(:,:,:) = 0.0_rp
170  atmos_phy_mp_momz_t(:,:,:) = 0.0_rp
171  atmos_phy_mp_rhou_t(:,:,:) = 0.0_rp
172  atmos_phy_mp_rhov_t(:,:,:) = 0.0_rp
173  atmos_phy_mp_rhot_t(:,:,:) = 0.0_rp
174  atmos_phy_mp_rhoq_t(:,:,:,:) = 0.0_rp
175  atmos_phy_mp_rhoh(:,:,:) = 0.0_rp
176  atmos_phy_mp_evaporate(:,:,:) = 0.0_rp
177 
178  allocate( atmos_phy_mp_sflx_rain(ia,ja) )
179  allocate( atmos_phy_mp_sflx_snow(ia,ja) )
180  atmos_phy_mp_sflx_rain(:,:) = undef
181  atmos_phy_mp_sflx_snow(:,:) = undef
182 
183  !--- read namelist
184  rewind(io_fid_conf)
185  read(io_fid_conf,nml=param_atmos_phy_mp_vars,iostat=ierr)
186  if( ierr < 0 ) then !--- missing
187  log_info("ATMOS_PHY_MP_vars_setup",*) 'Not found namelist. Default used.'
188  elseif( ierr > 0 ) then !--- fatal error
189  log_error("ATMOS_PHY_MP_vars_setup",*) 'Not appropriate names in namelist PARAM_ATMOS_PHY_MP_VARS. Check!'
190  call prc_abort
191  endif
192  log_nml(param_atmos_phy_mp_vars)
193 
194  log_newline
195  log_info("ATMOS_PHY_MP_vars_setup",*) '[ATMOS_PHY_MP] prognostic/diagnostic variables'
196  log_info_cont('(1x,A,A24,A,A48,A,A12,A)') &
197  ' |', 'VARNAME ','|', &
198  'DESCRIPTION ', '[', 'UNIT ', ']'
199  do iv = 1, vmax
200  log_info_cont('(1x,A,I3,A,A24,A,A48,A,A12,A)') &
201  'NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
202  enddo
203 
204  log_newline
205  if ( atmos_phy_mp_restart_in_basename /= '' ) then
206  log_info("ATMOS_PHY_MP_vars_setup",*) 'Restart input? : YES, file = ', trim(atmos_phy_mp_restart_in_basename)
207  log_info("ATMOS_PHY_MP_vars_setup",*) 'Add timelabel? : ', atmos_phy_mp_restart_in_postfix_timelabel
208  else
209  log_info("ATMOS_PHY_MP_vars_setup",*) 'Restart input? : NO'
210  endif
211  if ( atmos_phy_mp_restart_output &
212  .AND. atmos_phy_mp_restart_out_basename /= '' ) then
213  log_info("ATMOS_PHY_MP_vars_setup",*) 'Restart output? : YES, file = ', trim(atmos_phy_mp_restart_out_basename)
214  log_info("ATMOS_PHY_MP_vars_setup",*) 'Add timelabel? : ', atmos_phy_mp_restart_out_postfix_timelabel
215  else
216  log_info("ATMOS_PHY_MP_vars_setup",*) 'Restart output? : NO'
217  atmos_phy_mp_restart_output = .false.
218  endif
219 
220 
221  ! diagnostices
222  allocate( atmos_phy_mp_cldfrac(ka,ia,ja) )
223  allocate( atmos_phy_mp_re(ka,ia,ja,n_hyd) )
224  allocate( atmos_phy_mp_qe(ka,ia,ja,n_hyd) )
225  allocate( atmos_phy_mp_ne(ka,ia,ja,n_hyd) )
226 !OCL XFILL
227  atmos_phy_mp_cldfrac(:,:,:) = undef
228 !OCL XFILL
229  atmos_phy_mp_re(:,:,:,:) = undef
230 !OCL XFILL
231  atmos_phy_mp_qe(:,:,:,:) = undef
232  atmos_phy_mp_ne(:,:,:,:) = undef
233  diag_cldfrac = .false.
234  diag_re = .false.
235  diag_qe = .false.
236  diag_ne = .false.
237 
238  ! history
239  allocate( hist_re_id(n_hyd) )
240  allocate( hist_qe_id(n_hyd) )
241  allocate( hist_ne_id(n_hyd) )
242 
243  call file_history_reg( 'CLDFRAC', 'cloud fraction', '1', hist_cldfrac_id, fill_halo=.true., dim_type='ZXY' )
244 
245  hist_re = .false.
246  do ih = 1, n_hyd
247  call file_history_reg( 'Re_'//trim(hyd_name(ih)), 'effective radius of '//trim(hyd_desc(ih)), 'cm', hist_re_id(ih), fill_halo=.true., dim_type='ZXY' )
248  if( hist_re_id(ih) > 0 ) hist_re = .true.
249  enddo
250 
251  hist_qe = .false.
252  do ih = 1, n_hyd
253  call file_history_reg( trim(hyd_name(ih))//'_hyd', 'mass ratio of '//trim(hyd_desc(ih)), 'kg/kg', hist_qe_id(ih), fill_halo=.true., dim_type='ZXY' )
254  if( hist_qe_id(ih) > 0 ) hist_qe = .true.
255  enddo
256 
257  hist_ne = .false.
258  do ih = 1, n_hyd
259  call file_history_reg( trim(num_name(ih))//'_hyd', 'number concentration of '//trim(hyd_desc(ih)), '1/m3', hist_ne_id(ih), fill_halo=.true., dim_type='ZXY' )
260  if( hist_ne_id(ih) > 0 ) hist_ne = .true.
261  enddo
262 
263  return
character(len=h_short), dimension(n_hyd), parameter, public hyd_name
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:55
subroutine, public file_history_reg(name, desc, unit, itemid, standard_name, ndims, dim_type, cell_measures, fill_halo)
Register/Append variable to history file.
real(rp), public const_undef
Definition: scale_const.F90:41
module atmosphere / hydrometeor
module PROCESS
Definition: scale_prc.F90:11
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
module CONSTANT
Definition: scale_const.F90:11
character(len=h_short), dimension(n_hyd), parameter, public num_name
integer, parameter, public n_hyd
character(len=h_mid), dimension(n_hyd), parameter, public hyd_desc
module file_history
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_fillhalo()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_fillhalo ( )

HALO Communication.

Definition at line 269 of file mod_atmos_phy_mp_vars.F90.

References atmos_phy_mp_sflx_rain, and atmos_phy_mp_sflx_snow.

Referenced by atmos_phy_mp_vars_restart_read(), and atmos_phy_mp_vars_restart_write().

269  use scale_comm_cartesc, only: &
270  comm_vars8, &
271  comm_wait
272  implicit none
273  !---------------------------------------------------------------------------
274 
275  call comm_vars8( atmos_phy_mp_sflx_rain(:,:), 1 )
276  call comm_vars8( atmos_phy_mp_sflx_snow(:,:), 2 )
277  call comm_wait ( atmos_phy_mp_sflx_rain(:,:), 1 )
278  call comm_wait ( atmos_phy_mp_sflx_snow(:,:), 2 )
279 
280  return
module COMMUNICATION
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_restart_open()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_restart_open ( )

Open restart file for read.

Definition at line 286 of file mod_atmos_phy_mp_vars.F90.

References atmos_phy_mp_restart_in_aggregate, atmos_phy_mp_restart_in_basename, atmos_phy_mp_restart_in_postfix_timelabel, scale_file_cartesc::file_cartesc_open(), and scale_time::time_gettimelabel().

Referenced by mod_atmos_vars::atmos_vars_restart_open().

286  use scale_time, only: &
288  use scale_file_cartesc, only: &
290  implicit none
291 
292  character(len=19) :: timelabel
293  character(len=H_LONG) :: basename
294  !---------------------------------------------------------------------------
295 
296  log_newline
297  log_info("ATMOS_PHY_MP_vars_restart_open",*) 'Open restart file (ATMOS_PHY_MP) '
298 
299  if ( atmos_phy_mp_restart_in_basename /= '' ) then
300 
301  if ( atmos_phy_mp_restart_in_postfix_timelabel ) then
302  call time_gettimelabel( timelabel )
303  basename = trim(atmos_phy_mp_restart_in_basename)//'_'//trim(timelabel)
304  else
305  basename = trim(atmos_phy_mp_restart_in_basename)
306  endif
307 
308  log_info("ATMOS_PHY_MP_vars_restart_open",*) 'basename: ', trim(basename)
309 
310  call file_cartesc_open( basename, restart_fid, aggregate=atmos_phy_mp_restart_in_aggregate )
311  else
312  log_info("ATMOS_PHY_MP_vars_restart_open",*) 'restart file for ATMOS_PHY_MP is not specified.'
313  endif
314 
315  return
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:94
module TIME
Definition: scale_time.F90:16
module file / cartesianC
subroutine, public file_cartesc_open(basename, fid, aggregate)
open a netCDF file for read
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_restart_read()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_restart_read ( )

Read restart.

Definition at line 321 of file mod_atmos_phy_mp_vars.F90.

References scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_area, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totarea, atmos_phy_mp_sflx_rain, atmos_phy_mp_sflx_snow, atmos_phy_mp_vars_fillhalo(), scale_file_cartesc::file_cartesc_flush(), scale_file::file_get_aggregate(), 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, and scale_statistics::statistics_checktotal.

Referenced by mod_atmos_vars::atmos_vars_restart_read().

321  use scale_statistics, only: &
323  statistics_total
324  use scale_atmos_grid_cartesc_real, only: &
327  use scale_file, only: &
329  use scale_file_cartesc, only: &
330  file_cartesc_read, &
332  implicit none
333 
334  !---------------------------------------------------------------------------
335 
336  if ( restart_fid /= -1 ) then
337  log_newline
338  log_info("ATMOS_PHY_MP_vars_restart_read",*) 'Read from restart file (ATMOS_PHY_MP) '
339 
340  call file_cartesc_read( restart_fid, var_name(1), 'XY', & ! [IN]
341  atmos_phy_mp_sflx_rain(:,:) ) ! [OUT]
342 
343  call file_cartesc_read( restart_fid, var_name(2), 'XY', & ! [IN]
344  atmos_phy_mp_sflx_snow(:,:) ) ! [OUT]
345 
346  if ( file_get_aggregate(restart_fid) ) then
347  call file_cartesc_flush( restart_fid ) ! X/Y halos have been read from file
348  else
349  call atmos_phy_mp_vars_fillhalo
350  end if
351 
352  if ( statistics_checktotal ) then
353  call statistics_total( ia, is, ie, ja, js, je, &
354  atmos_phy_mp_sflx_rain(:,:), var_name(1), & ! (in)
355  atmos_grid_cartesc_real_area(:,:), & ! (in)
357  call statistics_total( ia, is, ie, ja, js, je, &
358  atmos_phy_mp_sflx_snow(:,:), var_name(2), & ! (in)
359  atmos_grid_cartesc_real_area(:,:), & ! (in)
361  endif
362  else
363  log_info("ATMOS_PHY_MP_vars_restart_read",*) 'invalid restart file ID for ATMOS_PHY_MP.'
364  endif
365 
366  return
logical, public statistics_checktotal
calc&report variable totals to logfile?
module file
Definition: scale_file.F90:15
logical function, public file_get_aggregate(fid)
module Atmosphere GRID CartesC Real(real space)
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
module file / cartesianC
module Statistics
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
real(rp), public atmos_grid_cartesc_real_totarea
total area (xy, local) [m2]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_restart_create()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_restart_create ( )

Create restart file.

Definition at line 372 of file mod_atmos_phy_mp_vars.F90.

References atmos_phy_mp_restart_out_aggregate, atmos_phy_mp_restart_out_basename, atmos_phy_mp_restart_out_dtype, atmos_phy_mp_restart_out_postfix_timelabel, atmos_phy_mp_restart_out_title, scale_file_cartesc::file_cartesc_create(), and scale_time::time_gettimelabel().

Referenced by mod_atmos_vars::atmos_vars_restart_create().

372  use scale_time, only: &
374  use scale_file_cartesc, only: &
376  implicit none
377 
378  character(len=19) :: timelabel
379  character(len=H_LONG) :: basename
380  !---------------------------------------------------------------------------
381 
382  if ( atmos_phy_mp_restart_out_basename /= '' ) then
383 
384  log_newline
385  log_info("ATMOS_PHY_MP_vars_restart_create",*) 'Create restart file (ATMOS_PHY_AE) '
386 
387  if ( atmos_phy_mp_restart_out_postfix_timelabel ) then
388  call time_gettimelabel( timelabel )
389  basename = trim(atmos_phy_mp_restart_out_basename)//'_'//trim(timelabel)
390  else
391  basename = trim(atmos_phy_mp_restart_out_basename)
392  endif
393 
394  log_info("ATMOS_PHY_MP_vars_restart_create",*) 'basename: ', trim(basename)
395 
396  call file_cartesc_create( &
397  basename, atmos_phy_mp_restart_out_title, atmos_phy_mp_restart_out_dtype, & ! [IN]
398  restart_fid, & ! [OUT]
399  aggregate=atmos_phy_mp_restart_out_aggregate ) ! [IN]
400 
401  endif
402 
403  return
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:94
module TIME
Definition: scale_time.F90:16
module file / cartesianC
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_restart_enddef()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_restart_enddef ( )

Exit netCDF define mode.

Definition at line 409 of file mod_atmos_phy_mp_vars.F90.

References scale_file_cartesc::file_cartesc_enddef().

Referenced by mod_atmos_vars::atmos_vars_restart_enddef().

409  use scale_file_cartesc, only: &
411  implicit none
412 
413  if ( restart_fid /= -1 ) then
414  call file_cartesc_enddef( restart_fid ) ! [IN]
415  endif
416 
417  return
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
module file / cartesianC
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_restart_close()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_restart_close ( )

Close restart file.

Definition at line 423 of file mod_atmos_phy_mp_vars.F90.

References scale_file_cartesc::file_cartesc_close().

Referenced by mod_atmos_vars::atmos_vars_restart_close().

423  use scale_file_cartesc, only: &
425  implicit none
426  !---------------------------------------------------------------------------
427 
428  if ( restart_fid /= -1 ) then
429  log_newline
430  log_info("ATMOS_PHY_MP_vars_restart_close",*) 'Close restart file (ATMOS_PHY_MP) '
431 
432  call file_cartesc_close( restart_fid ) ! [IN]
433 
434  restart_fid = -1
435  endif
436 
437  return
module file / cartesianC
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_restart_def_var()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_restart_def_var ( )

Define variables in restart file.

Definition at line 443 of file mod_atmos_phy_mp_vars.F90.

References atmos_phy_mp_restart_out_dtype, and scale_file_cartesc::file_cartesc_def_var().

Referenced by mod_atmos_vars::atmos_vars_restart_def_var().

443  use scale_file_cartesc, only: &
445  implicit none
446  !---------------------------------------------------------------------------
447 
448  if ( restart_fid /= -1 ) then
449 
450  call file_cartesc_def_var( restart_fid, var_name(1), var_desc(1), var_unit(1), 'XY', atmos_phy_mp_restart_out_dtype, &
451  var_id(1) )
452  call file_cartesc_def_var( restart_fid, var_name(2), var_desc(2), var_unit(2), 'XY', atmos_phy_mp_restart_out_dtype, &
453  var_id(2) )
454  endif
455 
456  return
subroutine, public file_cartesc_def_var(fid, varname, desc, unit, dim_type, datatype, vid, standard_name, timeintv, nsteps, cell_measures)
Define a variable to file.
module file / cartesianC
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_restart_write()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_restart_write ( )

Write restart.

Definition at line 462 of file mod_atmos_phy_mp_vars.F90.

References scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_area, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totarea, atmos_phy_mp_sflx_rain, atmos_phy_mp_sflx_snow, atmos_phy_mp_vars_fillhalo(), 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, and scale_statistics::statistics_checktotal.

Referenced by mod_atmos_vars::atmos_vars_restart_write().

462  use scale_statistics, only: &
464  statistics_total
465  use scale_atmos_grid_cartesc_real, only: &
468  use scale_file_cartesc, only: &
469  file_cartesc_write_var
470  implicit none
471  !---------------------------------------------------------------------------
472 
473  if ( restart_fid /= -1 ) then
474 
475  call atmos_phy_mp_vars_fillhalo
476 
477  if ( statistics_checktotal ) then
478  call statistics_total( ia, is, ie, ja, js, je, &
479  atmos_phy_mp_sflx_rain(:,:), var_name(1), & ! (in)
480  atmos_grid_cartesc_real_area(:,:), & ! (in)
482  call statistics_total( ia, is, ie, ja, js, je, &
483  atmos_phy_mp_sflx_snow(:,:), var_name(2), & ! (in)
484  atmos_grid_cartesc_real_area(:,:), & ! (in)
486  endif
487 
488  call file_cartesc_write_var( restart_fid, var_id(1), atmos_phy_mp_sflx_rain(:,:), &
489  var_name(1), 'XY' ) ! [IN]
490  call file_cartesc_write_var( restart_fid, var_id(2), atmos_phy_mp_sflx_snow(:,:), &
491  var_name(2), 'XY' ) ! [IN]
492 
493  endif
494 
495  return
logical, public statistics_checktotal
calc&report variable totals to logfile?
module Atmosphere GRID CartesC Real(real space)
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
module file / cartesianC
module Statistics
real(rp), public atmos_grid_cartesc_real_totarea
total area (xy, local) [m2]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_history()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_history ( real(rp), dimension(ka,ia,ja), intent(in)  DENS,
real(rp), dimension(ka,ia,ja), intent(in)  TEMP,
real(rp), dimension(ka,ia,ja,qa), intent(in)  QTRC 
)

Definition at line 501 of file mod_atmos_phy_mp_vars.F90.

References mod_atmos_admin::atmos_phy_mp_type, atmos_phy_mp_vars_get_diagnostic(), and scale_atmos_hydrometeor::n_hyd.

Referenced by mod_atmos_vars::atmos_vars_history().

501  use scale_atmos_hydrometeor, only: &
502  n_hyd
503  use scale_file_history, only: &
504  file_history_query, &
505  file_history_put
506  use mod_atmos_admin, only: &
508  implicit none
509 
510  real(RP), intent(in) :: dens(ka,ia,ja)
511  real(RP), intent(in) :: temp(ka,ia,ja)
512  real(RP), intent(in) :: qtrc(ka,ia,ja,qa)
513 
514  real(RP) :: work (ka,ia,ja,n_hyd)
515  logical :: do_put
516  integer :: ih
517  !---------------------------------------------------------------------------
518 
519  if ( hist_cldfrac_id > 0 ) then
520  call file_history_query( hist_cldfrac_id, do_put )
521 
522  if ( do_put ) then
523  call atmos_phy_mp_vars_get_diagnostic( &
524  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,:), & ! [IN]
525  cldfrac=work(:,:,:,1) ) ! [OUT]
526  call file_history_put( hist_cldfrac_id, work(:,:,:,1) )
527  end if
528  end if
529 
530  if ( hist_re ) then
531  do ih = 1, n_hyd
532  if ( hist_re_id(ih) > 0 ) then
533  call file_history_query( hist_re_id(ih), do_put )
534  if ( do_put ) then
535  call atmos_phy_mp_vars_get_diagnostic( &
536  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,:), & ! [IN]
537  re=work(:,:,:,:) ) ! [OUT]
538  exit
539  end if
540  end if
541  end do
542  if ( do_put ) then
543  do ih = 1, n_hyd
544  if ( hist_re_id(ih) > 0 ) then
545  call file_history_query( hist_re_id(ih), do_put )
546  if ( do_put ) call file_history_put( hist_re_id(ih), work(:,:,:,ih) )
547  end if
548  end do
549  end if
550  end if
551 
552  if ( hist_qe ) then
553  do ih = 1, n_hyd
554  if ( hist_qe_id(ih) > 0 ) then
555  call file_history_query( hist_qe_id(ih), do_put )
556  if ( do_put ) then
557  call atmos_phy_mp_vars_get_diagnostic( &
558  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,:), & ! [IN]
559  qe=work(:,:,:,:) ) ! [OUT]
560  exit
561  end if
562  end if
563  end do
564  if ( do_put ) then
565  do ih = 1, n_hyd
566  if ( hist_qe_id(ih) > 0 ) then
567  call file_history_query( hist_qe_id(ih), do_put )
568  if( do_put ) call file_history_put( hist_qe_id(ih), work(:,:,:,ih) )
569  end if
570  end do
571  end if
572  end if
573 
574  if ( hist_ne ) then
575  do ih = 1, n_hyd
576  if ( hist_ne_id(ih) > 0 ) then
577  call file_history_query( hist_ne_id(ih), do_put )
578  if ( do_put ) then
579  call atmos_phy_mp_vars_get_diagnostic( &
580  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,:), & ! [IN]
581  ne=work(:,:,:,:) ) ! [OUT]
582  exit
583  end if
584  end if
585  end do
586  if ( do_put ) then
587  do ih = 1, n_hyd
588  if ( hist_ne_id(ih) > 0 ) then
589  call file_history_query( hist_ne_id(ih), do_put )
590  if( do_put ) call file_history_put( hist_ne_id(ih), work(:,:,:,ih) )
591  end if
592  end do
593  end if
594  end if
595 
596  return
module ATMOS admin
real(rp), dimension(:,:,:), allocatable, target, public dens
module atmosphere / hydrometeor
character(len=h_short), public atmos_phy_mp_type
integer, parameter, public n_hyd
module file_history
real(rp), dimension(:,:,:,:), allocatable, target, public qtrc
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_get_diagnostic()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_get_diagnostic ( real(rp), dimension(ka,ia,ja), intent(in)  DENS,
real(rp), dimension(ka,ia,ja), intent(in)  TEMP,
real(rp), dimension(ka,ia,ja,qa), intent(in)  QTRC,
real(rp), dimension(ka,ia,ja), intent(out), optional  CLDFRAC,
real(rp), dimension (ka,ia,ja,n_hyd), intent(out), optional  Re,
real(rp), dimension (ka,ia,ja,n_hyd), intent(out), optional  Qe,
real(rp), dimension (ka,ia,ja,n_hyd), intent(out), optional  Ne 
)

Definition at line 602 of file mod_atmos_phy_mp_vars.F90.

References atmos_phy_mp_cldfrac_thleshold, scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_cloud_fraction(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_effective_radius(), scale_atmos_phy_mp_kessler::atmos_phy_mp_kessler_qtrc2qhyd(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_cloud_fraction(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_effective_radius(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qtrc2nhyd(), scale_atmos_phy_mp_sn14::atmos_phy_mp_sn14_qtrc2qhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_cloud_fraction(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_effective_radius(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qtrc2nhyd(), scale_atmos_phy_mp_suzuki10::atmos_phy_mp_suzuki10_qtrc2qhyd(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_cloud_fraction(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_effective_radius(), scale_atmos_phy_mp_tomita08::atmos_phy_mp_tomita08_qtrc2qhyd(), mod_atmos_admin::atmos_phy_mp_type, scale_atmos_hydrometeor::i_hc, scale_atmos_hydrometeor::i_hg, scale_atmos_hydrometeor::i_hh, scale_atmos_hydrometeor::i_hi, scale_atmos_hydrometeor::i_hr, scale_atmos_hydrometeor::i_hs, 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, scale_atmos_hydrometeor::n_hyd, qe_mp, and qs_mp.

Referenced by atmos_phy_mp_vars_history(), mod_atmos_phy_rd_driver::atmos_phy_rd_driver_calc_tendency(), and mod_atmos_vars::atmos_vars_calc_diagnostics().

602  use scale_atmos_hydrometeor, only: &
603  n_hyd, &
604  i_hc, &
605  i_hr, &
606  i_hi, &
607  i_hs, &
608  i_hg, &
609  i_hh
610  use scale_atmos_phy_mp_kessler, only: &
614  use scale_atmos_phy_mp_tomita08, only: &
618  use scale_atmos_phy_mp_sn14, only: &
623  use scale_atmos_phy_mp_suzuki10, only: &
628  use mod_atmos_admin, only: &
630  implicit none
631 
632  real(RP), intent(in) :: dens(ka,ia,ja)
633  real(RP), intent(in) :: temp(ka,ia,ja)
634  real(RP), intent(in) :: qtrc(ka,ia,ja,qa)
635  real(RP), intent(out), optional :: cldfrac(ka,ia,ja)
636  real(RP), intent(out), optional :: re (ka,ia,ja,n_hyd)
637  real(RP), intent(out), optional :: qe (ka,ia,ja,n_hyd)
638  real(RP), intent(out), optional :: ne (ka,ia,ja,n_hyd)
639 
640  integer :: k, i, j, ih
641 
642  if ( present(cldfrac) ) then
643  if ( .not. diag_cldfrac ) then
644  select case ( atmos_phy_mp_type )
645  case ( 'KESSLER' )
647  ka, ks, ke, ia, is, ie, ja, js, je, &
648  qtrc(:,:,:,qs_mp+1:qe_mp), atmos_phy_mp_cldfrac_thleshold, & ! [IN]
649  atmos_phy_mp_cldfrac(:,:,:) ) ! [OUT]
650  case ( 'TOMITA08' )
652  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
653  qtrc(:,:,:,qs_mp+1:qe_mp), atmos_phy_mp_cldfrac_thleshold, & ! [IN]
654  atmos_phy_mp_cldfrac(:,:,:) ) ! [OUT]
655  case ( 'SN14' )
657  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
658  qtrc(:,:,:,qs_mp+1:qe_mp), atmos_phy_mp_cldfrac_thleshold, & ! [IN]
659  atmos_phy_mp_cldfrac(:,:,:) ) ! [OUT]
660  case ( 'SUZUKI10' )
662  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
663  qtrc(:,:,:,qs_mp+1:qe_mp), atmos_phy_mp_cldfrac_thleshold, & ! [IN]
664  atmos_phy_mp_cldfrac(:,:,:) ) ! [OUT]
665  case default
666 !OCL XFILL
667  atmos_phy_mp_cldfrac(:,:,:) = 0.0_rp
668  end select
669  diag_cldfrac = .true.
670  end if
671 !OCL XFILL
672  do j = jsb, jeb
673  do i = isb, ieb
674  do k = ks, ke
675  cldfrac(k,i,j) = atmos_phy_mp_cldfrac(k,i,j)
676  end do
677  end do
678  end do
679  end if
680 
681  if ( present(re) ) then
682  if ( .not. diag_re ) then
683  select case ( atmos_phy_mp_type )
684  case ( 'KESSLER' )
686  ka, ks, ke, ia, is, ie, ja, js, je, &
687  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
688  atmos_phy_mp_re(:,:,:,:) ) ! [OUT]
689  case ( 'TOMITA08' )
691  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
692  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
693  atmos_phy_mp_re(:,:,:,:) ) ! [OUT]
694  case ( 'SN14' )
696  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
697  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
698  atmos_phy_mp_re(:,:,:,:) ) ! [OUT]
699  case ( 'SUZUKI10' )
701  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
702  dens(:,:,:), temp(:,:,:), qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
703  atmos_phy_mp_re(:,:,:,:) ) ! [OUT]
704  case default
705 !OCL XFILL
706  atmos_phy_mp_re(:,:,:,:) = 0.0_rp
707  end select
708  diag_re = .true.
709  end if
710 !OCL XFILL
711  do ih = 1, n_hyd
712  do j = jsb, jeb
713  do i = isb, ieb
714  do k = ks, ke
715  re(k,i,j,ih) = atmos_phy_mp_re(k,i,j,ih)
716  end do
717  end do
718  end do
719  end do
720  end if
721 
722  if ( present(qe) ) then
723  if ( .not. diag_qe ) then
724  select case ( atmos_phy_mp_type )
725  case ( 'KESSLER' )
727  ka, ks, ke, ia, is, ie, ja, js, je, &
728  qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
729  atmos_phy_mp_qe(:,:,:,:) ) ! [OUT]
730  case ( 'TOMITA08' )
732  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
733  qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
734  atmos_phy_mp_qe(:,:,:,:) ) ! [OUT]
735  case ( 'SN14' )
737  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
738  qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
739  atmos_phy_mp_qe(:,:,:,:) ) ! [OUT]
740  case ( 'SUZUKI10' )
742  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
743  qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
744  atmos_phy_mp_qe(:,:,:,:) ) ! [OUT]
745  case default
746 !OCL XFILL
747  atmos_phy_mp_qe(:,:,:,:) = 0.0_rp
748  end select
749  diag_qe = .true.
750  end if
751 !OCL XFILL
752  do ih = 1, n_hyd
753  do j = jsb, jeb
754  do i = isb, ieb
755  do k = ks, ke
756  qe(k,i,j,ih) = atmos_phy_mp_qe(k,i,j,ih)
757  end do
758  end do
759  end do
760  end do
761  end if
762 
763  if ( present(ne) ) then
764  if ( .not. diag_ne ) then
765  select case ( atmos_phy_mp_type )
766  case ( 'KESSLER', 'TOMITA08' )
767  ! do nothing
768  case ( 'SN14' )
770  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
771  qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
772  atmos_phy_mp_ne(:,:,:,:) ) ! [OUT]
773  case ( 'SUZUKI10' )
775  ka, ks, ke, ia, isb, ieb, ja, jsb, jeb, &
776  dens(:,:,:), qtrc(:,:,:,qs_mp+1:qe_mp), & ! [IN]
777  atmos_phy_mp_ne(:,:,:,:) ) ! [OUT]
778  end select
779  diag_ne = .true.
780  end if
781 !OCL XFILL
782  do ih = 1, n_hyd
783  do j = jsb, jeb
784  do i = isb, ieb
785  do k = ks, ke
786  ne(k,i,j,ih) = atmos_phy_mp_ne(k,i,j,ih)
787  end do
788  end do
789  end do
790  end do
791  end if
792 
793  return
module ATMOS admin
subroutine, public atmos_phy_mp_kessler_effective_radius(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS0, TEMP0, QTRC0, Re)
Calculate Effective Radius.
module ATMOSPHERE / Physics Cloud Microphysics
integer, parameter, public i_hs
snow
subroutine, public atmos_phy_mp_sn14_cloud_fraction(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC, mask_criterion, cldfrac)
ATMOS_PHY_MP_sn14_cloud_fraction Calculate Cloud Fraction.
integer, parameter, public i_hr
liquid water rain
integer, parameter, public i_hi
ice water cloud
subroutine, public atmos_phy_mp_suzuki10_qtrc2qhyd(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC0, Qe)
Calculate mass ratio of each category.
real(rp), dimension(:,:,:), allocatable, target, public dens
integer, parameter, public i_hh
hail
subroutine, public atmos_phy_mp_sn14_qtrc2nhyd(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC0, Ne)
Calculate number concentration of each category.
subroutine, public atmos_phy_mp_tomita08_effective_radius(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS0, TEMP0, QTRC0, Re)
Calculate Effective Radius.
subroutine, public atmos_phy_mp_sn14_qtrc2qhyd(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC0, Qe)
ATMOS_PHY_MP_sn14_qtrc2qhyd Calculate mass ratio of each category.
subroutine, public atmos_phy_mp_tomita08_qtrc2qhyd(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC, Qe)
Calculate mass ratio of each category.
subroutine, public atmos_phy_mp_suzuki10_effective_radius(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS0, TEMP0, QTRC0, Re)
Calculate Effective Radius.
module atmosphere / hydrometeor
module atmosphere / physics / microphysics / Kessler
subroutine, public atmos_phy_mp_suzuki10_cloud_fraction(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC0, mask_criterion, cldfrac)
Calculate Cloud Fraction.
subroutine, public atmos_phy_mp_kessler_cloud_fraction(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC, mask_criterion, cldfrac)
Calculate Cloud Fraction.
integer, parameter, public i_hc
liquid water cloud
character(len=h_short), public atmos_phy_mp_type
subroutine, public atmos_phy_mp_suzuki10_qtrc2nhyd(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS, QTRC0, Ne)
Calculate number concentration of each category.
subroutine, public atmos_phy_mp_sn14_effective_radius(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS0, TEMP0, QTRC0, Re)
ATMOS_PHY_MP_sn14_effective_radius Calculate Effective Radius.
integer, parameter, public n_hyd
module atmosphere / physics / microphysics / Tomita08
module Spectran Bin Microphysics
integer, parameter, public i_hg
graupel
subroutine, public atmos_phy_mp_tomita08_cloud_fraction(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC, mask_criterion, cldfrac)
Calculate Cloud Fraction.
real(rp), dimension(:,:,:,:), allocatable, target, public qtrc
subroutine, public atmos_phy_mp_kessler_qtrc2qhyd(KA, KS, KE, IA, IS, IE, JA, JS, JE, QTRC, Qe)
Calculate mass ratio of each category.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_mp_vars_reset_diagnostics()

subroutine, public mod_atmos_phy_mp_vars::atmos_phy_mp_vars_reset_diagnostics ( )

Definition at line 797 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_atmos_vars::atmos_vars_calc_diagnostics().

797  diag_cldfrac = .false.
798  diag_re = .false.
799  diag_qe = .false.
800  diag_ne = .false.
801 
802  return
Here is the caller graph for this function:

Variable Documentation

◆ atmos_phy_mp_restart_output

logical, public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_output = .false.

output restart file?

Definition at line 49 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), and atmos_phy_mp_vars_setup().

49  logical, public :: atmos_phy_mp_restart_output = .false.

◆ atmos_phy_mp_restart_in_basename

character(len=h_long), public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_in_basename = ''

Basename of the input file.

Definition at line 51 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_open(), and atmos_phy_mp_vars_setup().

51  character(len=H_LONG), public :: atmos_phy_mp_restart_in_basename = ''

◆ atmos_phy_mp_restart_in_aggregate

logical, public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_in_aggregate

Switch to use aggregate file.

Definition at line 52 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_open(), and atmos_phy_mp_vars_setup().

52  logical, public :: atmos_phy_mp_restart_in_aggregate

◆ atmos_phy_mp_restart_in_postfix_timelabel

logical, public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_in_postfix_timelabel = .false.

Add timelabel to the basename of input file?

Definition at line 53 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_open(), and atmos_phy_mp_vars_setup().

53  logical, public :: atmos_phy_mp_restart_in_postfix_timelabel = .false.

◆ atmos_phy_mp_restart_out_basename

character(len=h_long), public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_out_basename = ''

Basename of the output file.

Definition at line 54 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_create(), and atmos_phy_mp_vars_setup().

54  character(len=H_LONG), public :: atmos_phy_mp_restart_out_basename = ''

◆ atmos_phy_mp_restart_out_aggregate

logical, public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_out_aggregate

Switch to use aggregate file.

Definition at line 55 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_create(), and atmos_phy_mp_vars_setup().

55  logical, public :: atmos_phy_mp_restart_out_aggregate

◆ atmos_phy_mp_restart_out_postfix_timelabel

logical, public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_out_postfix_timelabel = .true.

Add timelabel to the basename of output file?

Definition at line 56 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_create(), and atmos_phy_mp_vars_setup().

56  logical, public :: atmos_phy_mp_restart_out_postfix_timelabel = .true.

◆ atmos_phy_mp_restart_out_title

character(len=h_mid), public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_out_title = 'ATMOS_PHY_MP restart'

title of the output file

Definition at line 57 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_create(), and atmos_phy_mp_vars_setup().

57  character(len=H_MID), public :: atmos_phy_mp_restart_out_title = 'ATMOS_PHY_MP restart'

◆ atmos_phy_mp_restart_out_dtype

character(len=h_short), public mod_atmos_phy_mp_vars::atmos_phy_mp_restart_out_dtype = 'DEFAULT'

REAL4 or REAL8.

Definition at line 58 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), atmos_phy_mp_vars_restart_create(), atmos_phy_mp_vars_restart_def_var(), and atmos_phy_mp_vars_setup().

58  character(len=H_SHORT), public :: atmos_phy_mp_restart_out_dtype = 'DEFAULT'

◆ atmos_phy_mp_cldfrac_thleshold

real(rp), public mod_atmos_phy_mp_vars::atmos_phy_mp_cldfrac_thleshold

Definition at line 60 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_atmos_phy_mp_driver::atmos_phy_mp_driver_setup(), and atmos_phy_mp_vars_get_diagnostic().

60  real(RP), public :: atmos_phy_mp_cldfrac_thleshold

◆ atmos_phy_mp_dens_t

real(rp), dimension(:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_dens_t

Definition at line 62 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_atmos_phy_mp_driver::atmos_phy_mp_driver_calc_tendency(), and atmos_phy_mp_vars_setup().

62  real(RP), public, allocatable :: atmos_phy_mp_dens_t(:,:,:) ! tendency DENS [kg/m3/s]

◆ atmos_phy_mp_momz_t

real(rp), dimension(:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_momz_t

Definition at line 63 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_atmos_phy_mp_driver::atmos_phy_mp_driver_calc_tendency(), and atmos_phy_mp_vars_setup().

63  real(RP), public, allocatable :: atmos_phy_mp_momz_t(:,:,:) ! tendency MOMZ [kg/m2/s2]

◆ atmos_phy_mp_rhou_t

real(rp), dimension(:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_rhou_t

Definition at line 64 of file mod_atmos_phy_mp_vars.F90.

Referenced by atmos_phy_mp_vars_setup().

64  real(RP), public, allocatable :: atmos_phy_mp_rhou_t(:,:,:) ! tendency dens*U [kg/m2/s2]

◆ atmos_phy_mp_rhov_t

real(rp), dimension(:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_rhov_t

Definition at line 65 of file mod_atmos_phy_mp_vars.F90.

Referenced by atmos_phy_mp_vars_setup().

65  real(RP), public, allocatable :: atmos_phy_mp_rhov_t(:,:,:) ! tendency dens*V [kg/m2/s2]

◆ atmos_phy_mp_rhot_t

real(rp), dimension(:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_rhot_t

Definition at line 66 of file mod_atmos_phy_mp_vars.F90.

Referenced by atmos_phy_mp_vars_setup().

66  real(RP), public, allocatable :: atmos_phy_mp_rhot_t(:,:,:) ! tendency RHOT [K*kg/m3/s]

◆ atmos_phy_mp_rhoq_t

real(rp), dimension(:,:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_rhoq_t

Definition at line 67 of file mod_atmos_phy_mp_vars.F90.

Referenced by atmos_phy_mp_vars_setup().

67  real(RP), public, allocatable :: atmos_phy_mp_rhoq_t(:,:,:,:) ! tendency rho*QTRC [kg/kg/s]

◆ atmos_phy_mp_rhoh

real(rp), dimension (:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_rhoh

Definition at line 68 of file mod_atmos_phy_mp_vars.F90.

Referenced by atmos_phy_mp_vars_setup().

68  real(RP), public, allocatable :: atmos_phy_mp_rhoh (:,:,:) ! diabatic heating rate [J/kg/s]

◆ atmos_phy_mp_evaporate

real(rp), dimension(:,:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_evaporate

Definition at line 70 of file mod_atmos_phy_mp_vars.F90.

Referenced by mod_atmos_phy_ae_driver::atmos_phy_ae_driver_calc_tendency(), and atmos_phy_mp_vars_setup().

70  real(RP), public, allocatable :: atmos_phy_mp_evaporate(:,:,:) ! number concentration of evaporated cloud [/m3]

◆ atmos_phy_mp_sflx_rain

real(rp), dimension(:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_rain

◆ atmos_phy_mp_sflx_snow

real(rp), dimension(:,:), allocatable, public mod_atmos_phy_mp_vars::atmos_phy_mp_sflx_snow

◆ qa_mp

integer, public mod_atmos_phy_mp_vars::qa_mp = 0

◆ qs_mp

integer, public mod_atmos_phy_mp_vars::qs_mp = -1

◆ qe_mp

integer, public mod_atmos_phy_mp_vars::qe_mp = -2