SCALE-RM
mod_atmos_phy_ae_vars.F90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
10 !-------------------------------------------------------------------------------
11 #include "scalelib.h"
13  !-----------------------------------------------------------------------------
14  !
15  !++ used modules
16  !
17  use scale_precision
18  use scale_io
19  use scale_prof
20  use scale_debug
22  !-----------------------------------------------------------------------------
23  implicit none
24  private
25  !-----------------------------------------------------------------------------
26  !
27  !++ Public procedure
28  !
29  public :: atmos_phy_ae_vars_setup
33 
39 
41 
44 
45  !-----------------------------------------------------------------------------
46  !
47  !++ Public parameters & variables
48  !
49  logical, public :: atmos_phy_ae_restart_output = .false.
50 
51  character(len=H_LONG), public :: atmos_phy_ae_restart_in_basename = ''
53  logical, public :: atmos_phy_ae_restart_in_postfix_timelabel = .false.
54  character(len=H_LONG), public :: atmos_phy_ae_restart_out_basename = ''
56  logical, public :: atmos_phy_ae_restart_out_postfix_timelabel = .true.
57  character(len=H_MID), public :: atmos_phy_ae_restart_out_title = 'ATMOS_PHY_AE restart'
58  character(len=H_SHORT), public :: atmos_phy_ae_restart_out_dtype = 'DEFAULT'
59 
60  real(rp), public, allocatable :: atmos_phy_ae_rhoq_t(:,:,:,:) ! tendency rho*QTRC [kg/kg/s]
61 
62  real(rp), public, allocatable :: atmos_phy_ae_ccn(:,:,:) ! cloud condensation nuclei [/m3]
63  real(rp), public, allocatable :: atmos_phy_ae_ccn_t(:,:,:) ! tendency CCN [/m3/s]
64  real(rp), public, allocatable :: atmos_phy_ae_emit(:,:,:,:) ! emission of aerosol and gas
65 
66  integer, public :: qa_ae = 0
67  integer, public :: qs_ae = -1
68  integer, public :: qe_ae = -2
69 
70  !-----------------------------------------------------------------------------
71  !
72  !++ Private procedure
73  !
74  !-----------------------------------------------------------------------------
75  !
76  !++ Private parameters & variables
77  !
78  integer, private, parameter :: vmax = 1
79  integer, private, parameter :: i_ccn = 1
80 
81  character(len=H_SHORT), private :: var_name(vmax)
82  character(len=H_MID), private :: var_desc(vmax)
83  character(len=H_SHORT), private :: var_unit(vmax)
84  integer, private :: var_id(vmax)
85  integer, private :: restart_fid = -1 ! file ID
86 
87  data var_name / 'CCN' /
88  data var_desc / 'cloud condensation nuclei' /
89  data var_unit / 'num/m3' /
90 
91 
92  ! for diagnostics
93  real(rp), private, allocatable :: atmos_phy_ae_re(:,:,:,:)
94  real(rp), private, allocatable :: atmos_phy_ae_qe(:,:,:,:)
95  logical, private :: diag_re
96  logical, private :: diag_qe
97 
98  ! for history
99  integer, private,allocatable :: hist_re_id(:)
100  integer, private,allocatable :: hist_qe_id(:)
101  logical, private :: hist_re
102  logical, private :: hist_qe
103 
104  !-----------------------------------------------------------------------------
105 contains
106  !-----------------------------------------------------------------------------
108  subroutine atmos_phy_ae_vars_setup
109  use scale_prc, only: &
110  prc_abort
111  use scale_const, only: &
112  undef => const_undef
113  use scale_atmos_aerosol, only: &
114  n_ae, &
115  ae_name, &
116  ae_desc
117  use scale_file_history, only: &
119  implicit none
120 
121  namelist / param_atmos_phy_ae_vars / &
131 
132  integer :: ierr
133  integer :: iv
134  !---------------------------------------------------------------------------
135 
136  log_newline
137  log_info("ATMOS_PHY_AE_vars_setup",*) 'Setup'
138 
139  allocate( atmos_phy_ae_rhoq_t(ka,ia,ja,qs_ae:qe_ae) )
140  atmos_phy_ae_rhoq_t(:,:,:, :) = undef
141 
142  allocate( atmos_phy_ae_ccn(ka,ia,ja) )
143  atmos_phy_ae_ccn(:,:,:) = undef
144 
145  allocate( atmos_phy_ae_ccn_t(ka,ia,ja) )
146  atmos_phy_ae_ccn_t(:,:,:) = undef
147 
148  allocate( atmos_phy_ae_emit(ka,ia,ja,qs_ae:qe_ae) )
149  atmos_phy_ae_emit(:,:,:,:) = 0.0_rp
150 
151  !--- read namelist
152  rewind(io_fid_conf)
153  read(io_fid_conf,nml=param_atmos_phy_ae_vars,iostat=ierr)
154  if( ierr < 0 ) then !--- missing
155  log_info("ATMOS_PHY_AE_vars_setup",*) 'Not found namelist. Default used.'
156  elseif( ierr > 0 ) then !--- fatal error
157  log_error("ATMOS_PHY_AE_vars_setup",*) 'Not appropriate names in namelist PARAM_ATMOS_PHY_AE_VARS. Check!'
158  call prc_abort
159  endif
160  log_nml(param_atmos_phy_ae_vars)
161 
162  log_newline
163  log_info("ATMOS_PHY_AE_vars_setup",*) '[ATMOS_PHY_AE] prognostic/diagnostic variables'
164  log_info_cont('(1x,A,A24,A,A48,A,A12,A)') &
165  ' |', 'VARNAME ','|', &
166  'DESCRIPTION ', '[', 'UNIT ', ']'
167  do iv = 1, vmax
168  log_info_cont('(1x,A,I3,A,A24,A,A48,A,A12,A)') &
169  'NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
170  enddo
171 
172  log_newline
173  if ( atmos_phy_ae_restart_in_basename /= '' ) then
174  log_info("ATMOS_PHY_AE_vars_setup",*) 'Restart input? : YES, file = ', trim(atmos_phy_ae_restart_in_basename)
175  log_info("ATMOS_PHY_AE_vars_setup",*) 'Add timelabel? : ', atmos_phy_ae_restart_in_postfix_timelabel
176  else
177  log_info("ATMOS_PHY_AE_vars_setup",*) 'Restart input? : NO'
178  endif
180  .AND. atmos_phy_ae_restart_out_basename /= '' ) then
181  log_info("ATMOS_PHY_AE_vars_setup",*) 'Restart output? : YES, file = ', trim(atmos_phy_ae_restart_out_basename)
182  log_info("ATMOS_PHY_AE_vars_setup",*) 'Add timelabel? : ', atmos_phy_ae_restart_out_postfix_timelabel
183  else
184  log_info("ATMOS_PHY_AE_vars_setup",*) 'Restart output? : NO'
186  endif
187 
188  ! diagnostices
189  allocate( atmos_phy_ae_re(ka,ia,ja,n_ae) )
190  allocate( atmos_phy_ae_qe(ka,ia,ja,n_ae) )
191 !OCL XFILL
192  atmos_phy_ae_re(:,:,:,:) = undef
193 !OCL XFILL
194  atmos_phy_ae_qe(:,:,:,:) = undef
195  diag_re = .false.
196  diag_qe = .false.
197 
198  ! history
199  hist_re = .false.
200  allocate( hist_re_id(n_ae) )
201  do iv = 1, n_ae
202  call file_history_reg( 'Re_'//trim(ae_name(iv)), 'effective radius of '//trim(ae_desc(iv)), 'cm', hist_re_id(iv), fill_halo=.true., dim_type='ZXY' )
203  if ( hist_re_id(iv) > 0 ) hist_re = .true.
204  end do
205 
206  hist_qe = .false.
207  allocate( hist_qe_id(n_ae) )
208  do iv = 1, n_ae
209  call file_history_reg( 'Qe_'//trim(ae_name(iv)), 'mass mixing ratio of '//trim(ae_desc(iv)), 'kg/kg', hist_qe_id(iv), fill_halo=.true., dim_type='ZXY' )
210  if ( hist_qe_id(iv) > 0 ) hist_qe = .true.
211  end do
212 
213  return
214  end subroutine atmos_phy_ae_vars_setup
215 
216  !-----------------------------------------------------------------------------
218  subroutine atmos_phy_ae_vars_fillhalo
219  use scale_comm_cartesc, only: &
220  comm_vars8, &
221  comm_wait
222  implicit none
223 
224  integer :: i, j
225  !---------------------------------------------------------------------------
226 
227  do j = js, je
228  do i = is, ie
229  atmos_phy_ae_ccn( 1:ks-1,i,j) = atmos_phy_ae_ccn(ks,i,j)
230  atmos_phy_ae_ccn(ke+1:ka, i,j) = atmos_phy_ae_ccn(ke,i,j)
231  enddo
232  enddo
233 
234  call comm_vars8( atmos_phy_ae_ccn(:,:,:), 1 )
235  call comm_wait ( atmos_phy_ae_ccn(:,:,:), 1 )
236 
237  return
238  end subroutine atmos_phy_ae_vars_fillhalo
239 
240  !-----------------------------------------------------------------------------
243  use scale_time, only: &
245  use scale_file_cartesc, only: &
247  implicit none
248 
249  character(len=19) :: timelabel
250  character(len=H_LONG) :: basename
251  !---------------------------------------------------------------------------
252 
253  log_newline
254  log_info("ATMOS_PHY_AE_vars_restart_open",*) 'Open restart file (ATMOS_PHY_AE) '
255 
256  if ( atmos_phy_ae_restart_in_basename /= '' ) then
257 
259  call time_gettimelabel( timelabel )
260  basename = trim(atmos_phy_ae_restart_in_basename)//'_'//trim(timelabel)
261  else
262  basename = trim(atmos_phy_ae_restart_in_basename)
263  endif
264 
265  log_info("ATMOS_PHY_AE_vars_restart_open",*) 'basename: ', trim(basename)
266 
267  call file_cartesc_open( basename, restart_fid, aggregate=atmos_phy_ae_restart_in_aggregate )
268  else
269  log_info("ATMOS_PHY_AE_vars_restart_open",*) 'restart file for ATMOS_PHY_AE is not specified.'
270  endif
271 
272  return
273  end subroutine atmos_phy_ae_vars_restart_open
274 
275  !-----------------------------------------------------------------------------
278  use scale_file, only: &
280  use scale_file_cartesc, only: &
281  file_cartesc_read, &
283  implicit none
284 
285  integer :: i, j
286  !---------------------------------------------------------------------------
287 
288  if ( restart_fid /= -1 ) then
289  log_newline
290  log_info("ATMOS_PHY_AE_vars_restart_read",*) 'Read from restart file (ATMOS_PHY_AE) '
291 
292  call file_cartesc_read( restart_fid, var_name(1), 'ZXY', & ! [IN]
293  atmos_phy_ae_ccn(:,:,:) ) ! [OUT]
294 
295  if ( file_get_aggregate(restart_fid) ) then
296  call file_cartesc_flush( restart_fid ) ! X/Y halos have been read from file
297 
298  ! fill K halos
299  do j = 1, ja
300  do i = 1, ia
301  atmos_phy_ae_ccn( 1:ks-1,i,j) = atmos_phy_ae_ccn(ks,i,j)
302  atmos_phy_ae_ccn(ke+1:ka, i,j) = atmos_phy_ae_ccn(ke,i,j)
303  enddo
304  enddo
305  else
307  end if
308 
309  call atmos_phy_ae_vars_check
310 
311  else
312  log_info("ATMOS_PHY_AE_vars_restart_read",*) 'invlaid restart file ID for ATMOS_PHY_AE.'
313  endif
314 
315  return
316  end subroutine atmos_phy_ae_vars_restart_read
317 
318  !-----------------------------------------------------------------------------
321  use scale_time, only: &
323  use scale_file_cartesc, only: &
325  implicit none
326 
327  character(len=19) :: timelabel
328  character(len=H_LONG) :: basename
329  !---------------------------------------------------------------------------
330 
331  if ( atmos_phy_ae_restart_out_basename /= '' ) then
332 
333  log_newline
334  log_info("ATMOS_PHY_AE_vars_restart_create",*) 'Create restart file (ATMOS_PHY_AE) '
335 
337  call time_gettimelabel( timelabel )
338  basename = trim(atmos_phy_ae_restart_out_basename)//'_'//trim(timelabel)
339  else
340  basename = trim(atmos_phy_ae_restart_out_basename)
341  endif
342 
343  log_info("ATMOS_PHY_AE_vars_restart_create",*) 'basename: ', trim(basename)
344 
345  call file_cartesc_create( &
347  restart_fid, & ! [OUT]
348  aggregate=atmos_phy_ae_restart_out_aggregate ) ! [IN]
349 
350  endif
351 
352  return
353  end subroutine atmos_phy_ae_vars_restart_create
354 
355  !-----------------------------------------------------------------------------
358  use scale_file_cartesc, only: &
360  implicit none
361 
362  if ( restart_fid /= -1 ) then
363  call file_cartesc_enddef( restart_fid ) ! [IN]
364  endif
365 
366  return
367  end subroutine atmos_phy_ae_vars_restart_enddef
368 
369  !-----------------------------------------------------------------------------
372  use scale_file_cartesc, only: &
374  implicit none
375  !---------------------------------------------------------------------------
376 
377  if ( restart_fid /= -1 ) then
378  log_newline
379  log_info("ATMOS_PHY_AE_vars_restart_close",*) 'Close restart file (ATMOS_PHY_AE) '
380 
381  call file_cartesc_close( restart_fid ) ! [IN]
382 
383  restart_fid = -1
384  endif
385 
386  return
387  end subroutine atmos_phy_ae_vars_restart_close
388 
389  !-----------------------------------------------------------------------------
392  use scale_file_cartesc, only: &
394  implicit none
395  !---------------------------------------------------------------------------
396 
397  if ( restart_fid /= -1 ) then
398  call file_cartesc_def_var( restart_fid, var_name(1), var_desc(1), var_unit(1), 'ZXY', atmos_phy_ae_restart_out_dtype, &
399  var_id(1) )
400  endif
401 
402  return
403  end subroutine atmos_phy_ae_vars_restart_def_var
404 
405  !-----------------------------------------------------------------------------
408  use scale_file_cartesc, only: &
409  file_cartesc_write_var
410  implicit none
411  !---------------------------------------------------------------------------
412 
413  if ( restart_fid /= -1 ) then
414 
416 
417  call atmos_phy_ae_vars_check
418 
419  call file_cartesc_write_var( restart_fid, var_id(1), atmos_phy_ae_ccn(:,:,:), var_name(1), 'ZXY' ) ! [IN]
420 
421  endif
422 
423  return
424  end subroutine atmos_phy_ae_vars_restart_write
425 
426  subroutine atmos_phy_ae_vars_history( &
427  QTRC, RH )
428  use scale_tracer, only: &
429  qa
430  use scale_atmos_aerosol, only: &
431  n_ae
432  use scale_file_history, only: &
433  file_history_put
434  real(rp), intent(in) :: qtrc(ka,ia,ja,qa)
435  real(rp), intent(in) :: rh(ka,ia,ja)
436 
437  real(rp) :: work(ka,ia,ja,n_ae)
438  integer :: iv
439 
440  if ( hist_re ) then
442  qtrc(:,:,:,:), rh(:,:,:), & ! [IN]
443  re=work(:,:,:,:) ) ! [OUT]
444  do iv = 1, n_ae
445  if ( hist_re_id(iv) > 0 ) &
446  call file_history_put( hist_re_id(iv), work(:,:,:,iv) )
447  end do
448  end if
449 
450  if ( hist_qe ) then
452  qtrc(:,:,:,:), rh(:,:,:), & ! [IN]
453  qe=work(:,:,:,:) ) ! [OUT]
454  do iv = 1, n_ae
455  if ( hist_qe_id(iv) > 0 ) &
456  call file_history_put( hist_qe_id(iv), work(:,:,:,iv) )
457  end do
458  end if
459 
460  return
461  end subroutine atmos_phy_ae_vars_history
462 
464  QTRC, RH, &
465  Re, Qe )
466  use scale_time, only: &
468  use scale_tracer, only: &
469  qa
470  use scale_atmos_aerosol, only: &
471  n_ae
472  use scale_atmos_phy_ae_kajino13, only: &
474  use scale_atmos_phy_ae_offline, only: &
477  use mod_atmos_admin, only: &
479 
480  real(rp), intent(in) :: qtrc(ka,ia,ja,qa)
481  real(rp), intent(in) :: rh(ka,ia,ja)
482  real(rp), intent(out), optional :: re(ka,ia,ja,n_ae)
483  real(rp), intent(out), optional :: qe(ka,ia,ja,n_ae)
484 
485  if ( present(re) ) then
486  if ( .not. diag_re ) then
487 
488  select case ( atmos_phy_ae_type )
489  case ( 'KAJINO13' )
491  ka, ia, ja, qa_ae, &
492  qtrc(:,:,:,qs_ae:qe_ae), rh(:,:,:), & ! [IN]
493  atmos_phy_ae_re(:,:,:,:) ) ! [OUT]
494  case ( 'OFFLINE' )
496  ka, ia, ja, &
497  rh(:,:,:), & ! [IN]
498  atmos_phy_ae_re(:,:,:,:) ) ! [OUT]
499  case default
500  atmos_phy_ae_re(:,:,:,:) = 0.0_rp
501  end select
502 
503  diag_re = .true.
504  end if
505 !OCL XFILL
506  re(:,:,:,:) = atmos_phy_ae_re(:,:,:,:)
507  end if
508 
509  if ( present(qe) ) then
510  if ( .not. diag_qe ) then
511 
512  select case ( atmos_phy_ae_type )
513  case ( 'OFFLINE' )
515  ka, ia, ja, &
516  time_nowdaysec, &
517  atmos_phy_ae_qe(:,:,:,:) ) ! [OUT]
518  case default
519  atmos_phy_ae_qe(:,:,:,:) = 0.0_rp
520  end select
521 
522  diag_qe = .true.
523  end if
524 !OCL XFILL
525  qe(:,:,:,:) = atmos_phy_ae_qe(:,:,:,:)
526  end if
527 
528  return
529  end subroutine atmos_phy_ae_vars_get_diagnostic
530 
532  diag_re = .false.
533  diag_qe = .false.
534 
535  return
537 
538  subroutine atmos_phy_ae_vars_check
539  use scale_statistics, only: &
541  statistics_total
542  use scale_atmos_grid_cartesc_real, only: &
545  implicit none
546 
547  call valcheck( ka, ks, ke, ia, is, ie, ja, js, je, &
548  atmos_phy_ae_ccn(:,:,:), & ! (in)
549  0.0_rp, 1.0e12_rp, var_name(1), & ! (in)
550  __file__, __line__ ) ! (in)
551 
552  call statistics_total( ka, ks, ke, ia, is, ie, ja, js, je, &
553  atmos_phy_ae_ccn(:,:,:), var_name(1), &
554  atmos_grid_cartesc_real_vol(:,:,:), & ! (in)
556 
557  return
558  end subroutine atmos_phy_ae_vars_check
559 
560 end module mod_atmos_phy_ae_vars
scale_atmos_phy_ae_kajino13
module atmosphere / physics / aerosol / Kajino13
Definition: scale_atmos_phy_ae_kajino13.F90:12
scale_statistics
module Statistics
Definition: scale_statistics.F90:11
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_restart_close
subroutine, public atmos_phy_ae_vars_restart_close
Close restart file.
Definition: mod_atmos_phy_ae_vars.F90:372
scale_atmos_grid_cartesc_index::ke
integer, public ke
end point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:52
scale_time::time_nowdaysec
real(dp), public time_nowdaysec
second of current time [sec]
Definition: scale_time.F90:70
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_out_basename
character(len=h_long), public atmos_phy_ae_restart_out_basename
Basename of the output file.
Definition: mod_atmos_phy_ae_vars.F90:54
scale_tracer::qa
integer, public qa
Definition: scale_tracer.F90:34
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_fillhalo
subroutine, public atmos_phy_ae_vars_fillhalo
HALO Communication.
Definition: mod_atmos_phy_ae_vars.F90:219
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_in_aggregate
logical, public atmos_phy_ae_restart_in_aggregate
Switch to use aggregate file.
Definition: mod_atmos_phy_ae_vars.F90:52
scale_file_cartesc::file_cartesc_enddef
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
Definition: scale_file_cartesC.F90:943
scale_file_cartesc::file_cartesc_def_var
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.
Definition: scale_file_cartesC.F90:3307
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_reset_diagnostics
subroutine, public atmos_phy_ae_vars_reset_diagnostics
Definition: mod_atmos_phy_ae_vars.F90:532
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_output
logical, public atmos_phy_ae_restart_output
output restart file?
Definition: mod_atmos_phy_ae_vars.F90:49
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_in_postfix_timelabel
logical, public atmos_phy_ae_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
Definition: mod_atmos_phy_ae_vars.F90:53
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_atmos_grid_cartesc_index::ka
integer, public ka
Definition: scale_atmos_grid_cartesC_index.F90:47
mod_atmos_admin
module ATMOS admin
Definition: mod_atmos_admin.F90:11
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_get_diagnostic
subroutine, public atmos_phy_ae_vars_get_diagnostic(QTRC, RH, Re, Qe)
Definition: mod_atmos_phy_ae_vars.F90:466
scale_atmos_aerosol::n_ae
integer, parameter, public n_ae
Definition: scale_atmos_aerosol.F90:33
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_in_basename
character(len=h_long), public atmos_phy_ae_restart_in_basename
Basename of the input file.
Definition: mod_atmos_phy_ae_vars.F90:51
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_restart_create
subroutine, public atmos_phy_ae_vars_restart_create
Create restart file.
Definition: mod_atmos_phy_ae_vars.F90:321
scale_atmos_aerosol::ae_desc
character(len=h_mid), dimension(n_ae), parameter, public ae_desc
Definition: scale_atmos_aerosol.F90:44
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
scale_atmos_phy_ae_kajino13::atmos_phy_ae_kajino13_effective_radius
subroutine, public atmos_phy_ae_kajino13_effective_radius(KA, IA, JA, QA_AE, QTRC, RH, Re)
Calculate Effective Radius.
Definition: scale_atmos_phy_ae_kajino13.F90:897
scale_file_history
module file_history
Definition: scale_file_history.F90:15
scale_file
module file
Definition: scale_file.F90:15
scale_prc
module PROCESS
Definition: scale_prc.F90:11
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_history
subroutine, public atmos_phy_ae_vars_history(QTRC, RH)
Definition: mod_atmos_phy_ae_vars.F90:428
scale_precision::rp
integer, parameter, public rp
Definition: scale_precision.F90:41
scale_atmos_grid_cartesc_index::ie
integer, public ie
end point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:54
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_out_postfix_timelabel
logical, public atmos_phy_ae_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
Definition: mod_atmos_phy_ae_vars.F90:56
scale_io
module STDIO
Definition: scale_io.F90:10
scale_atmos_grid_cartesc_index
module atmosphere / grid / cartesC index
Definition: scale_atmos_grid_cartesC_index.F90:12
scale_const
module CONSTANT
Definition: scale_const.F90:11
scale_atmos_grid_cartesc_index::ia
integer, public ia
Definition: scale_atmos_grid_cartesC_index.F90:48
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:83
mod_atmos_phy_ae_vars::atmos_phy_ae_emit
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_ae_emit
Definition: mod_atmos_phy_ae_vars.F90:64
mod_atmos_phy_ae_vars::qa_ae
integer, public qa_ae
Definition: mod_atmos_phy_ae_vars.F90:66
scale_atmos_phy_ae_offline::atmos_phy_ae_offline_effective_radius
subroutine, public atmos_phy_ae_offline_effective_radius(KA, IA, JA, RH, Re)
Calculate Effective Radius.
Definition: scale_atmos_phy_ae_offline.F90:242
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_out_aggregate
logical, public atmos_phy_ae_restart_out_aggregate
Switch to use aggregate file.
Definition: mod_atmos_phy_ae_vars.F90:55
scale_file_cartesc::file_cartesc_close
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
Definition: scale_file_cartesC.F90:1023
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_restart_read
subroutine, public atmos_phy_ae_vars_restart_read
Read restart.
Definition: mod_atmos_phy_ae_vars.F90:278
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_out_title
character(len=h_mid), public atmos_phy_ae_restart_out_title
title of the output file
Definition: mod_atmos_phy_ae_vars.F90:57
scale_prof
module profiler
Definition: scale_prof.F90:11
scale_atmos_grid_cartesc_index::is
integer, public is
start point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:53
scale_atmos_phy_ae_offline
module atmosphere / physics / aerosol / offline
Definition: scale_atmos_phy_ae_offline.F90:12
scale_atmos_grid_cartesc_index::ja
integer, public ja
Definition: scale_atmos_grid_cartesC_index.F90:49
scale_time
module TIME
Definition: scale_time.F90:11
mod_atmos_admin::atmos_phy_ae_type
character(len=h_short), public atmos_phy_ae_type
Definition: mod_atmos_admin.F90:37
scale_tracer
module TRACER
Definition: scale_tracer.F90:12
scale_atmos_aerosol
module atmosphere / aerosol
Definition: scale_atmos_aerosol.F90:12
mod_atmos_phy_ae_vars::atmos_phy_ae_ccn
real(rp), dimension(:,:,:), allocatable, public atmos_phy_ae_ccn
Definition: mod_atmos_phy_ae_vars.F90:62
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_restart_write
subroutine, public atmos_phy_ae_vars_restart_write
Write restart.
Definition: mod_atmos_phy_ae_vars.F90:408
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_restart_def_var
subroutine, public atmos_phy_ae_vars_restart_def_var
Write restart.
Definition: mod_atmos_phy_ae_vars.F90:392
scale_atmos_grid_cartesc_index::ks
integer, public ks
start point of inner domain: z, local
Definition: scale_atmos_grid_cartesC_index.F90:51
scale_debug
module DEBUG
Definition: scale_debug.F90:11
scale_atmos_phy_ae_offline::atmos_phy_ae_offline_qtrc2qaero
subroutine, public atmos_phy_ae_offline_qtrc2qaero(KA, IA, JA, time_now, Qe)
Calculate Effective Radius.
Definition: scale_atmos_phy_ae_offline.F90:283
scale_file_cartesc::file_cartesc_create
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
Definition: scale_file_cartesC.F90:780
scale_file_cartesc::file_cartesc_open
subroutine, public file_cartesc_open(basename, fid, aggregate)
open a netCDF file for read
Definition: scale_file_cartesC.F90:746
scale_statistics::statistics_checktotal
logical, public statistics_checktotal
calc&report variable totals to logfile?
Definition: scale_statistics.F90:64
scale_file_cartesc::file_cartesc_flush
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
Definition: scale_file_cartesC.F90:997
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_setup
subroutine, public atmos_phy_ae_vars_setup
Setup.
Definition: mod_atmos_phy_ae_vars.F90:109
scale_time::time_gettimelabel
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:91
scale_comm_cartesc
module COMMUNICATION
Definition: scale_comm_cartesC.F90:11
mod_atmos_phy_ae_vars::atmos_phy_ae_rhoq_t
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_ae_rhoq_t
Definition: mod_atmos_phy_ae_vars.F90:60
scale_atmos_grid_cartesc_index::js
integer, public js
start point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:55
mod_atmos_phy_ae_vars::qs_ae
integer, public qs_ae
Definition: mod_atmos_phy_ae_vars.F90:67
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_restart_enddef
subroutine, public atmos_phy_ae_vars_restart_enddef
Exit netCDF define mode.
Definition: mod_atmos_phy_ae_vars.F90:358
scale_atmos_aerosol::ae_name
character(len=h_short), dimension(n_ae), parameter, public ae_name
Definition: scale_atmos_aerosol.F90:42
scale_file::file_get_aggregate
logical function, public file_get_aggregate(fid)
Definition: scale_file.F90:4844
mod_atmos_phy_ae_vars
module ATMOSPHERE / Physics Aerosol Microphysics
Definition: mod_atmos_phy_ae_vars.F90:12
mod_atmos_phy_ae_vars::atmos_phy_ae_restart_out_dtype
character(len=h_short), public atmos_phy_ae_restart_out_dtype
REAL4 or REAL8.
Definition: mod_atmos_phy_ae_vars.F90:58
scale_file_history::file_history_reg
subroutine, public file_history_reg(name, desc, unit, itemid, standard_name, ndims, dim_type, cell_measures, fill_halo)
Register/Append variable to history file.
Definition: scale_file_history.F90:650
mod_atmos_phy_ae_vars::atmos_phy_ae_vars_restart_open
subroutine, public atmos_phy_ae_vars_restart_open
Open restart file for read.
Definition: mod_atmos_phy_ae_vars.F90:243
mod_atmos_phy_ae_vars::atmos_phy_ae_ccn_t
real(rp), dimension(:,:,:), allocatable, public atmos_phy_ae_ccn_t
Definition: mod_atmos_phy_ae_vars.F90:63
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:87
scale_const::const_undef
real(rp), public const_undef
Definition: scale_const.F90:41
scale_io::io_fid_conf
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:56
scale_atmos_grid_cartesc_index::je
integer, public je
end point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:56
scale_file_cartesc
module file / cartesianC
Definition: scale_file_cartesC.F90:11
mod_atmos_phy_ae_vars::qe_ae
integer, public qe_ae
Definition: mod_atmos_phy_ae_vars.F90:68