SCALE-RM
mod_atmos_phy_rd_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  use scale_tracer
24  !-----------------------------------------------------------------------------
25  implicit none
26  private
27  !-----------------------------------------------------------------------------
28  !
29  !++ Public procedure
30  !
31  public :: atmos_phy_rd_vars_setup
35 
41 
42  !-----------------------------------------------------------------------------
43  !
44  !++ Public parameters & variables
45  !
46  logical, public :: atmos_phy_rd_restart_output = .false.
47 
48  character(len=H_LONG), public :: atmos_phy_rd_restart_in_basename = ''
50  logical, public :: atmos_phy_rd_restart_in_postfix_timelabel = .false.
51  character(len=H_LONG), public :: atmos_phy_rd_restart_out_basename = ''
53  logical, public :: atmos_phy_rd_restart_out_postfix_timelabel = .true.
54  character(len=H_MID), public :: atmos_phy_rd_restart_out_title = 'ATMOS_PHY_RD restart'
55  character(len=H_SHORT), public :: atmos_phy_rd_restart_out_dtype = 'DEFAULT'
56 
57  real(rp), public, allocatable :: atmos_phy_rd_rhoh(:,:,:) ! diavatic heating rate [J/m3/s]
58 
59  ! surface
60  real(rp), public, allocatable :: atmos_phy_rd_sflx_lw_up (:,:) ! upward longwave flux [J/m2/s]
61  real(rp), public, allocatable :: atmos_phy_rd_sflx_lw_dn (:,:) ! downward longwave flux [J/m2/s]
62  real(rp), public, allocatable :: atmos_phy_rd_sflx_sw_up (:,:) ! upward shortwave flux [J/m2/s]
63  real(rp), public, allocatable :: atmos_phy_rd_sflx_sw_dn (:,:) ! downward shortwave flux [J/m2/s]
64 
65  ! TOM (top of the model)
66  real(rp), public, allocatable :: atmos_phy_rd_tomflx_lw_up(:,:) ! upward longwave flux [J/m2/s]
67  real(rp), public, allocatable :: atmos_phy_rd_tomflx_lw_dn(:,:) ! downward longwave flux [J/m2/s]
68  real(rp), public, allocatable :: atmos_phy_rd_tomflx_sw_up(:,:) ! upward shortwave flux [J/m2/s]
69  real(rp), public, allocatable :: atmos_phy_rd_tomflx_sw_dn(:,:) ! downward shortwave flux [J/m2/s]
70 
71  real(rp), public, allocatable :: atmos_phy_rd_sflx_down (:,:,:,:) ! surface downward flux (LW/SW,direct/diffuse) [J/m2/s]
72 
73  real(rp), public, allocatable :: atmos_phy_rd_solins (:,:) ! solar insolation flux [J/m2/s]
74  real(rp), public, allocatable :: atmos_phy_rd_cossza (:,:) ! cos(solar zenith angle) (0-1)
75 
76  !-----------------------------------------------------------------------------
77  !
78  !++ Private procedure
79  !
80  !-----------------------------------------------------------------------------
81  !
82  !++ Private parameters & variables
83  !
84 
85  ! restart variables
86  integer, private, parameter :: vmax = 4
87  integer, private, parameter :: i_sflx_lw_up = 1
88  integer, private, parameter :: i_sflx_lw_dn = 2
89  integer, private, parameter :: i_sflx_sw_up = 3
90  integer, private, parameter :: i_sflx_sw_dn = 4
91 
92  character(len=H_SHORT), private :: var_name(vmax)
93  character(len=H_MID), private :: var_desc(vmax)
94  character(len=H_MID), private :: var_stdn(vmax)
95  character(len=H_SHORT), private :: var_unit(vmax)
96  integer, private :: var_id(vmax)
97  integer, private :: restart_fid = -1 ! file ID
98 
99  data var_name / 'SFLX_LW_up', &
100  'SFLX_LW_dn', &
101  'SFLX_SW_up', &
102  'SFLX_SW_dn' /
103  data var_desc / 'surface upward longwave flux', &
104  'surface downward longwave flux', &
105  'surface upward shortwave flux', &
106  'surface downward shortwave flux' /
107  data var_stdn / 'surface_upwelling_longwave_flux_in_air', &
108  'surface_downwelling_longwave_flux_in_air', &
109  'surface_upwelling_shortwave_flux_in_air', &
110  'surface_downwelling_shortwave_flux_in_air' /
111  data var_unit / 'W/m2', &
112  'W/m2', &
113  'W/m2', &
114  'W/m2' /
115 
116  !-----------------------------------------------------------------------------
117 contains
118  !-----------------------------------------------------------------------------
120  subroutine atmos_phy_rd_vars_setup
121  use scale_prc, only: &
122  prc_abort
123  use scale_const, only: &
124  undef => const_undef
125  implicit none
126 
127  namelist / param_atmos_phy_rd_vars / &
137 
138  integer :: ierr
139  integer :: iv
140  !---------------------------------------------------------------------------
141 
142  log_newline
143  log_info("ATMOS_PHY_RD_vars_setup",*) 'Setup'
144 
145  allocate( atmos_phy_rd_rhoh(ka,ia,ja) )
146  atmos_phy_rd_rhoh(:,:,:) = undef
147 
148  allocate( atmos_phy_rd_sflx_lw_up(ia,ja) )
149  allocate( atmos_phy_rd_sflx_lw_dn(ia,ja) )
150  allocate( atmos_phy_rd_sflx_sw_up(ia,ja) )
151  allocate( atmos_phy_rd_sflx_sw_dn(ia,ja) )
152  atmos_phy_rd_sflx_lw_up(:,:) = undef
153  atmos_phy_rd_sflx_lw_dn(:,:) = undef
154  atmos_phy_rd_sflx_sw_up(:,:) = undef
155  atmos_phy_rd_sflx_sw_dn(:,:) = undef
156 
157  allocate( atmos_phy_rd_tomflx_lw_up(ia,ja) )
158  allocate( atmos_phy_rd_tomflx_lw_dn(ia,ja) )
159  allocate( atmos_phy_rd_tomflx_sw_up(ia,ja) )
160  allocate( atmos_phy_rd_tomflx_sw_dn(ia,ja) )
161  atmos_phy_rd_tomflx_lw_up(:,:) = undef
162  atmos_phy_rd_tomflx_lw_dn(:,:) = undef
163  atmos_phy_rd_tomflx_sw_up(:,:) = undef
164  atmos_phy_rd_tomflx_sw_dn(:,:) = undef
165 
167  atmos_phy_rd_sflx_down(:,:,:,:) = undef
168 
169  allocate( atmos_phy_rd_solins(ia,ja) )
170  allocate( atmos_phy_rd_cossza(ia,ja) )
171  atmos_phy_rd_solins(:,:) = undef
172  atmos_phy_rd_cossza(:,:) = undef
173 
174  !--- read namelist
175  rewind(io_fid_conf)
176  read(io_fid_conf,nml=param_atmos_phy_rd_vars,iostat=ierr)
177  if( ierr < 0 ) then !--- missing
178  log_info("ATMOS_PHY_RD_vars_setup",*) 'Not found namelist. Default used.'
179  elseif( ierr > 0 ) then !--- fatal error
180  log_error("ATMOS_PHY_RD_vars_setup",*) 'Not appropriate names in namelist PARAM_ATMOS_PHY_RD_VARS. Check!'
181  call prc_abort
182  endif
183  log_nml(param_atmos_phy_rd_vars)
184 
185  log_newline
186  log_info("ATMOS_PHY_RD_vars_setup",*) '[ATMOS_PHY_RD] prognostic/diagnostic variables'
187  log_info_cont('(1x,A,A24,A,A48,A,A12,A)') &
188  ' |', 'VARNAME ','|', &
189  'DESCRIPTION ', '[', 'UNIT ', ']'
190  do iv = 1, vmax
191  log_info_cont('(1x,A,I3,A,A24,A,A48,A,A12,A)') &
192  'NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
193  enddo
194 
195  log_newline
196  if ( atmos_phy_rd_restart_in_basename /= '' ) then
197  log_info("ATMOS_PHY_RD_vars_setup",*) 'Restart input? : YES, file = ', trim(atmos_phy_rd_restart_in_basename)
198  log_info("ATMOS_PHY_RD_vars_setup",*) 'Add timelabel? : ', atmos_phy_rd_restart_in_postfix_timelabel
199  else
200  log_info("ATMOS_PHY_RD_vars_setup",*) 'Restart input? : NO'
201  endif
203  .AND. atmos_phy_rd_restart_out_basename /= '' ) then
204  log_info("ATMOS_PHY_RD_vars_setup",*) 'Restart output? : YES, file = ', trim(atmos_phy_rd_restart_out_basename)
205  log_info("ATMOS_PHY_RD_vars_setup",*) 'Add timelabel? : ', atmos_phy_rd_restart_out_postfix_timelabel
206  else
207  log_info("ATMOS_PHY_RD_vars_setup",*) 'Restart output? : NO'
209  endif
210 
211  return
212  end subroutine atmos_phy_rd_vars_setup
213 
214  !-----------------------------------------------------------------------------
216  subroutine atmos_phy_rd_vars_fillhalo
217  use scale_comm_cartesc, only: &
218  comm_vars8, &
219  comm_wait
220  implicit none
221 
222  integer :: n ,idir, irgn
223  !---------------------------------------------------------------------------
224 
225  call comm_vars8( atmos_phy_rd_sflx_lw_up(:,:), 1 )
226  call comm_vars8( atmos_phy_rd_sflx_lw_dn(:,:), 2 )
227  call comm_vars8( atmos_phy_rd_sflx_sw_up(:,:), 3 )
228  call comm_vars8( atmos_phy_rd_sflx_sw_dn(:,:), 4 )
229  call comm_vars8( atmos_phy_rd_tomflx_lw_up(:,:), 5 )
230  call comm_vars8( atmos_phy_rd_tomflx_lw_dn(:,:), 6 )
231  call comm_vars8( atmos_phy_rd_tomflx_sw_up(:,:), 7 )
232  call comm_vars8( atmos_phy_rd_tomflx_sw_dn(:,:), 8 )
233 
234  n = 8
235  do irgn = i_r_ir, i_r_vis
236  do idir = i_r_direct, i_r_diffuse
237  n = n + 1
238  call comm_vars8( atmos_phy_rd_sflx_down(:,:,idir,irgn), n )
239  enddo
240  enddo
241 
242  call comm_wait ( atmos_phy_rd_sflx_lw_up(:,:), 1 )
243  call comm_wait ( atmos_phy_rd_sflx_lw_dn(:,:), 2 )
244  call comm_wait ( atmos_phy_rd_sflx_sw_up(:,:), 3 )
245  call comm_wait ( atmos_phy_rd_sflx_sw_dn(:,:), 4 )
246  call comm_wait ( atmos_phy_rd_tomflx_lw_up(:,:), 5 )
247  call comm_wait ( atmos_phy_rd_tomflx_lw_dn(:,:), 6 )
248  call comm_wait ( atmos_phy_rd_tomflx_sw_up(:,:), 7 )
249  call comm_wait ( atmos_phy_rd_tomflx_sw_dn(:,:), 8 )
250 
251  n = 8
252  do irgn = i_r_ir, i_r_vis
253  do idir = i_r_direct, i_r_diffuse
254  n = n + 1
255  call comm_wait ( atmos_phy_rd_sflx_down(:,:,idir,irgn), n )
256  enddo
257  enddo
258 
259  return
260  end subroutine atmos_phy_rd_vars_fillhalo
261 
262  !-----------------------------------------------------------------------------
265  use scale_time, only: &
267  use scale_file_cartesc, only: &
269  implicit none
270 
271  character(len=19) :: timelabel
272  character(len=H_LONG) :: basename
273  !---------------------------------------------------------------------------
274 
275  log_newline
276  log_info("ATMOS_PHY_RD_vars_restart_open",*) 'Open restart file (ATMOS_PHY_RD) '
277 
278  if ( atmos_phy_rd_restart_in_basename /= '' ) then
279 
281  call time_gettimelabel( timelabel )
282  basename = trim(atmos_phy_rd_restart_in_basename)//'_'//trim(timelabel)
283  else
284  basename = trim(atmos_phy_rd_restart_in_basename)
285  endif
286 
287  log_info("ATMOS_PHY_RD_vars_restart_open",*) 'basename: ', trim(basename)
288 
289  call file_cartesc_open( basename, restart_fid, aggregate=atmos_phy_rd_restart_in_aggregate )
290  else
291  log_info("ATMOS_PHY_RD_vars_restart_open",*) 'restart file for ATMOS_PHY_RD is not specified.'
292  endif
293 
294  return
295  end subroutine atmos_phy_rd_vars_restart_open
296 
297  !-----------------------------------------------------------------------------
300  use scale_file, only: &
302  use scale_file_cartesc, only: &
303  file_cartesc_read, &
305  implicit none
306  !---------------------------------------------------------------------------
307 
308  if ( restart_fid /= -1 ) then
309  log_newline
310  log_info("ATMOS_PHY_RD_vars_restart_read",*) 'Read from restart file (ATMOS_PHY_RD) '
311 
312  call file_cartesc_read( restart_fid, var_name(i_sflx_lw_up), 'XY', & ! [IN]
313  atmos_phy_rd_sflx_lw_up(:,:) ) ! [OUT]
314  call file_cartesc_read( restart_fid, var_name(i_sflx_lw_dn), 'XY', & ! [IN]
315  atmos_phy_rd_sflx_lw_dn(:,:) ) ! [OUT]
316  call file_cartesc_read( restart_fid, var_name(i_sflx_sw_up), 'XY', & ! [IN]
317  atmos_phy_rd_sflx_sw_up(:,:) ) ! [OUT]
318  call file_cartesc_read( restart_fid, var_name(i_sflx_sw_dn), 'XY', & ! [IN]
319  atmos_phy_rd_sflx_sw_dn(:,:) ) ! [OUT]
320 
321  if ( file_get_aggregate(restart_fid) ) then
322  call file_cartesc_flush( restart_fid ) ! X/Y halos have been read from file
323  else
325  end if
326 
328 
329  else
330  log_info("ATMOS_PHY_RD_vars_restart_read",*) 'invalid restart file ID for ATMOS_PHY_RD.'
331  endif
332 
333  return
334  end subroutine atmos_phy_rd_vars_restart_read
335 
336  !-----------------------------------------------------------------------------
339  use scale_time, only: &
341  use scale_file_cartesc, only: &
343  implicit none
344 
345  character(len=19) :: timelabel
346  character(len=H_LONG) :: basename
347  !---------------------------------------------------------------------------
348 
349  if ( atmos_phy_rd_restart_out_basename /= '' ) then
350 
351  log_newline
352  log_info("ATMOS_PHY_RD_vars_restart_create",*) 'Create restart file (ATMOS_PHY_AE) '
353 
355  call time_gettimelabel( timelabel )
356  basename = trim(atmos_phy_rd_restart_out_basename)//'_'//trim(timelabel)
357  else
358  basename = trim(atmos_phy_rd_restart_out_basename)
359  endif
360 
361  log_info("ATMOS_PHY_RD_vars_restart_create",*) 'basename: ', trim(basename)
362 
363  call file_cartesc_create( &
365  restart_fid, & ! [OUT]
366  aggregate=atmos_phy_rd_restart_out_aggregate ) ! [IN]
367 
368  endif
369 
370  return
371  end subroutine atmos_phy_rd_vars_restart_create
372 
373  !-----------------------------------------------------------------------------
376  use scale_file_cartesc, only: &
378  implicit none
379 
380  if ( restart_fid /= -1 ) then
381  call file_cartesc_enddef( restart_fid ) ! [IN]
382  endif
383 
384  return
385  end subroutine atmos_phy_rd_vars_restart_enddef
386 
387  !-----------------------------------------------------------------------------
390  use scale_file_cartesc, only: &
392  implicit none
393  !---------------------------------------------------------------------------
394 
395  if ( restart_fid /= -1 ) then
396  log_newline
397  log_info("ATMOS_PHY_RD_vars_restart_close",*) 'Close restart file (ATMOS_PHY_RD) '
398 
399  call file_cartesc_close( restart_fid ) ! [IN]
400 
401  restart_fid = -1
402  endif
403 
404  return
405  end subroutine atmos_phy_rd_vars_restart_close
406 
407  !-----------------------------------------------------------------------------
410  use scale_file_cartesc, only: &
412  implicit none
413 
414  integer :: i
415  !---------------------------------------------------------------------------
416 
417  if ( restart_fid /= -1 ) then
418 
419  do i = 1, vmax
420  call file_cartesc_def_var( restart_fid, & ! [IN]
421  var_name(i), var_desc(i), var_unit(i), & ! [IN]
422  'XY', atmos_phy_rd_restart_out_dtype, & ! [IN]
423  var_id(i), & ! [OUT]
424  standard_name=var_stdn(i) ) ! [IN]
425  end do
426  endif
427 
428  return
429  end subroutine atmos_phy_rd_vars_restart_def_var
430 
431  !-----------------------------------------------------------------------------
434  use scale_file_cartesc, only: &
435  file_cartesc_write_var
436  implicit none
437  !---------------------------------------------------------------------------
438 
439  if ( restart_fid /= -1 ) then
440 
442 
444 
445  call file_cartesc_write_var( restart_fid, var_id(i_sflx_lw_up), & ! [IN]
446  atmos_phy_rd_sflx_lw_up(:,:), & ! [IN]
447  var_name(i_sflx_lw_up), 'XY' ) ! [IN]
448  call file_cartesc_write_var( restart_fid, var_id(i_sflx_lw_dn), & ! [IN]
449  atmos_phy_rd_sflx_lw_dn(:,:), & ! [IN]
450  var_name(i_sflx_lw_dn), 'XY' ) ! [IN]
451  call file_cartesc_write_var( restart_fid, var_id(i_sflx_sw_up), & ! [IN]
452  atmos_phy_rd_sflx_sw_up(:,:), & ! [IN]
453  var_name(i_sflx_sw_up), 'XY' ) ! [IN]
454  call file_cartesc_write_var( restart_fid, var_id(i_sflx_sw_dn), & ! [IN]
455  atmos_phy_rd_sflx_sw_dn(:,:), & ! [IN]
456  var_name(i_sflx_sw_dn), 'XY' ) ! [IN]
457 
458  endif
459 
460  return
461  end subroutine atmos_phy_rd_vars_restart_write
462 
463  !-----------------------------------------------------------------------------
464  subroutine atmos_phy_rd_vars_check
465  use scale_statistics, only: &
466  statistics_total
467  use scale_atmos_grid_cartesc_real, only: &
470  implicit none
471  !---------------------------------------------------------------------------
472 
473  call valcheck( ia, is, ie, ja, js, je, &
474  atmos_phy_rd_sflx_lw_up(:,:), & ! (in)
475  0.0_rp, 1.0e4_rp, var_name(i_sflx_lw_up), & ! (in)
476  __file__, __line__ ) ! (in)
477  call valcheck( ia, is, ie, ja, js, je, &
478  atmos_phy_rd_sflx_lw_dn(:,:), & ! (in)
479  0.0_rp, 1.0e4_rp, var_name(i_sflx_lw_dn), & ! (in)
480  __file__, __line__ ) ! (in)
481  call valcheck( ia, is, ie, ja, js, je, &
482  atmos_phy_rd_sflx_sw_up(:,:), & ! (in)
483  0.0_rp, 1.0e4_rp, var_name(i_sflx_sw_up), & ! (in)
484  __file__, __line__ ) ! (in)
485  call valcheck( ia, is, ie, ja, js, je, &
486  atmos_phy_rd_sflx_sw_dn(:,:), & ! (in)
487  0.0_rp, 1.0e4_rp, var_name(i_sflx_sw_dn), & ! (in)
488  __file__, __line__ ) ! (in)
489 
490  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
491  atmos_phy_rd_sflx_lw_up(:,:), & ! [IN]
492  var_name(i_sflx_lw_up), & ! [IN]
493  atmos_grid_cartesc_real_area(:,:), & ! [IN]
495  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
496  atmos_phy_rd_sflx_lw_dn(:,:), & ! [IN]
497  var_name(i_sflx_lw_dn), & ! [IN]
498  atmos_grid_cartesc_real_area(:,:), & ! [IN]
500  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
501  atmos_phy_rd_sflx_sw_up(:,:), & ! [IN]
502  var_name(i_sflx_sw_up), & ! [IN]
503  atmos_grid_cartesc_real_area(:,:), & ! [IN]
505  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
506  atmos_phy_rd_sflx_sw_dn(:,:), & ! [IN]
507  var_name(i_sflx_sw_dn), & ! [IN]
508  atmos_grid_cartesc_real_area(:,:), & ! [IN]
510 
511  return
512  end subroutine atmos_phy_rd_vars_check
513 
514 end module mod_atmos_phy_rd_vars
mod_atmos_phy_rd_vars::atmos_phy_rd_sflx_down
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_rd_sflx_down
Definition: mod_atmos_phy_rd_vars.F90:71
scale_cpl_sfc_index::n_rad_dir
integer, parameter, public n_rad_dir
Definition: scale_cpl_sfc_index.F90:36
scale_statistics
module Statistics
Definition: scale_statistics.F90:11
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_restart_create
subroutine, public atmos_phy_rd_vars_restart_create
Create restart file.
Definition: mod_atmos_phy_rd_vars.F90:339
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_out_postfix_timelabel
logical, public atmos_phy_rd_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
Definition: mod_atmos_phy_rd_vars.F90:53
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
mod_atmos_phy_rd_vars::atmos_phy_rd_rhoh
real(rp), dimension(:,:,:), allocatable, public atmos_phy_rd_rhoh
Definition: mod_atmos_phy_rd_vars.F90:57
scale_cpl_sfc_index::i_r_direct
integer, parameter, public i_r_direct
Definition: scale_cpl_sfc_index.F90:37
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_in_postfix_timelabel
logical, public atmos_phy_rd_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
Definition: mod_atmos_phy_rd_vars.F90:50
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_restart_close
subroutine, public atmos_phy_rd_vars_restart_close
Close restart file.
Definition: mod_atmos_phy_rd_vars.F90:390
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
scale_cpl_sfc_index::i_r_diffuse
integer, parameter, public i_r_diffuse
Definition: scale_cpl_sfc_index.F90:38
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_phy_rd_vars::atmos_phy_rd_tomflx_lw_dn
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_lw_dn
Definition: mod_atmos_phy_rd_vars.F90:67
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_totarea
real(rp), public atmos_grid_cartesc_real_totarea
total area (xy, local) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:77
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_in_basename
character(len=h_long), public atmos_phy_rd_restart_in_basename
Basename of the input file.
Definition: mod_atmos_phy_rd_vars.F90:48
scale_cpl_sfc_index::i_r_ir
integer, parameter, public i_r_ir
Definition: scale_cpl_sfc_index.F90:29
mod_atmos_phy_rd_vars::atmos_phy_rd_cossza
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_cossza
Definition: mod_atmos_phy_rd_vars.F90:74
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_restart_open
subroutine, public atmos_phy_rd_vars_restart_open
Open restart file for read.
Definition: mod_atmos_phy_rd_vars.F90:265
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_out_title
character(len=h_mid), public atmos_phy_rd_restart_out_title
title of the output file
Definition: mod_atmos_phy_rd_vars.F90:54
mod_atmos_phy_rd_vars
module Atmosphere / Physics Radiation
Definition: mod_atmos_phy_rd_vars.F90:12
mod_atmos_phy_rd_vars::atmos_phy_rd_tomflx_sw_up
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_sw_up
Definition: mod_atmos_phy_rd_vars.F90:68
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_check
subroutine atmos_phy_rd_vars_check
Definition: mod_atmos_phy_rd_vars.F90:465
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
scale_file
module file
Definition: scale_file.F90:15
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_out_aggregate
logical, public atmos_phy_rd_restart_out_aggregate
Switch to use aggregate file.
Definition: mod_atmos_phy_rd_vars.F90:52
scale_prc
module PROCESS
Definition: scale_prc.F90:11
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
scale_io
module STDIO
Definition: scale_io.F90:10
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_in_aggregate
logical, public atmos_phy_rd_restart_in_aggregate
Switch to use aggregate file.
Definition: mod_atmos_phy_rd_vars.F90:49
mod_atmos_phy_rd_vars::atmos_phy_rd_sflx_lw_dn
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_dn
Definition: mod_atmos_phy_rd_vars.F90:61
mod_atmos_phy_rd_vars::atmos_phy_rd_sflx_sw_dn
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_dn
Definition: mod_atmos_phy_rd_vars.F90:63
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_out_basename
character(len=h_long), public atmos_phy_rd_restart_out_basename
Basename of the output file.
Definition: mod_atmos_phy_rd_vars.F90:51
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
mod_atmos_phy_rd_vars::atmos_phy_rd_sflx_sw_up
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_up
Definition: mod_atmos_phy_rd_vars.F90:62
mod_atmos_phy_rd_vars::atmos_phy_rd_sflx_lw_up
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_up
Definition: mod_atmos_phy_rd_vars.F90:60
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_restart_def_var
subroutine, public atmos_phy_rd_vars_restart_def_var
Define variables in restart file.
Definition: mod_atmos_phy_rd_vars.F90:410
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_restart_write
subroutine, public atmos_phy_rd_vars_restart_write
Write variables to restart file.
Definition: mod_atmos_phy_rd_vars.F90:434
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_rd_vars::atmos_phy_rd_restart_output
logical, public atmos_phy_rd_restart_output
output restart file?
Definition: mod_atmos_phy_rd_vars.F90:46
scale_prof
module profiler
Definition: scale_prof.F90:11
scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_area
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
Definition: scale_atmos_grid_cartesC_real.F90:65
mod_atmos_phy_rd_vars::atmos_phy_rd_tomflx_sw_dn
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_sw_dn
Definition: mod_atmos_phy_rd_vars.F90:69
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_grid_cartesc_index::ja
integer, public ja
Definition: scale_atmos_grid_cartesC_index.F90:49
scale_time
module TIME
Definition: scale_time.F90:11
scale_tracer
module TRACER
Definition: scale_tracer.F90:12
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_setup
subroutine, public atmos_phy_rd_vars_setup
Setup.
Definition: mod_atmos_phy_rd_vars.F90:121
mod_atmos_phy_rd_vars::atmos_phy_rd_tomflx_lw_up
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_lw_up
Definition: mod_atmos_phy_rd_vars.F90:66
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_restart_read
subroutine, public atmos_phy_rd_vars_restart_read
Read restart.
Definition: mod_atmos_phy_rd_vars.F90:300
scale_debug
module DEBUG
Definition: scale_debug.F90:11
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_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
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
scale_cpl_sfc_index
module coupler / surface-atmospehre
Definition: scale_cpl_sfc_index.F90:11
scale_atmos_grid_cartesc_index::js
integer, public js
start point of inner domain: y, local
Definition: scale_atmos_grid_cartesC_index.F90:55
scale_cpl_sfc_index::i_r_vis
integer, parameter, public i_r_vis
Definition: scale_cpl_sfc_index.F90:31
scale_file::file_get_aggregate
logical function, public file_get_aggregate(fid)
Definition: scale_file.F90:4844
mod_atmos_phy_rd_vars::atmos_phy_rd_restart_out_dtype
character(len=h_short), public atmos_phy_rd_restart_out_dtype
REAL4 or REAL8.
Definition: mod_atmos_phy_rd_vars.F90:55
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_restart_enddef
subroutine, public atmos_phy_rd_vars_restart_enddef
Exit netCDF define mode.
Definition: mod_atmos_phy_rd_vars.F90:376
mod_atmos_phy_rd_vars::atmos_phy_rd_solins
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_solins
Definition: mod_atmos_phy_rd_vars.F90:73
mod_atmos_phy_rd_vars::atmos_phy_rd_vars_fillhalo
subroutine, public atmos_phy_rd_vars_fillhalo
HALO Communication.
Definition: mod_atmos_phy_rd_vars.F90:217
scale_cpl_sfc_index::n_rad_rgn
integer, parameter, public n_rad_rgn
Definition: scale_cpl_sfc_index.F90:28
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