SCALE-RM
mod_atmos_phy_rd_vars.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
12 !-------------------------------------------------------------------------------
13 #include "inc_openmp.h"
15  !-----------------------------------------------------------------------------
16  !
17  !++ used modules
18  !
19  use scale_precision
20  use scale_stdio
21  use scale_prof
23  use scale_tracer
24  !-----------------------------------------------------------------------------
25  implicit none
26  private
27  !-----------------------------------------------------------------------------
28  !
29  !++ Public procedure
30  !
31  public :: atmos_phy_rd_vars_setup
36 
37  !-----------------------------------------------------------------------------
38  !
39  !++ Public parameters & variables
40  !
41  logical, public :: atmos_phy_rd_restart_output = .false.
42 
43  character(len=H_LONG), public :: atmos_phy_rd_restart_in_basename = ''
44  character(len=H_LONG), public :: atmos_phy_rd_restart_out_basename = ''
45  character(len=H_MID), public :: atmos_phy_rd_restart_out_title = 'ATMOS_PHY_RD restart'
46  character(len=H_MID), public :: atmos_phy_rd_restart_out_dtype = 'DEFAULT'
47 
48  real(RP), public, allocatable :: atmos_phy_rd_rhot_t(:,:,:) ! tendency RHOT [K*kg/m3/s]
49 
50  real(RP), public, allocatable :: atmos_phy_rd_sflx_lw_up (:,:) ! surface upward longwave flux [J/m2/s]
51  real(RP), public, allocatable :: atmos_phy_rd_sflx_lw_dn (:,:) ! surface downward longwave flux [J/m2/s]
52  real(RP), public, allocatable :: atmos_phy_rd_sflx_sw_up (:,:) ! surface upward shortwave flux [J/m2/s]
53  real(RP), public, allocatable :: atmos_phy_rd_sflx_sw_dn (:,:) ! surface downward shortwave flux [J/m2/s]
54 
55  real(RP), public, allocatable :: atmos_phy_rd_toaflx_lw_up(:,:) ! TOA upward longwave flux [J/m2/s]
56  real(RP), public, allocatable :: atmos_phy_rd_toaflx_lw_dn(:,:) ! TOA downward longwave flux [J/m2/s]
57  real(RP), public, allocatable :: atmos_phy_rd_toaflx_sw_up(:,:) ! TOA upward shortwave flux [J/m2/s]
58  real(RP), public, allocatable :: atmos_phy_rd_toaflx_sw_dn(:,:) ! TOA downward shortwave flux [J/m2/s]
59 
60  real(RP), public, allocatable :: atmos_phy_rd_sflx_downall(:,:,:,:) ! surface downward flux (LW/SW,direct/diffuse) [J/m2/s]
61 
62  real(RP), public, allocatable :: atmos_phy_rd_solins (:,:) ! solar insolation flux [J/m2/s]
63  real(RP), public, allocatable :: atmos_phy_rd_cossza (:,:) ! cos(solar zenith angle) [0-1]
64 
65  !-----------------------------------------------------------------------------
66  !
67  !++ Private procedure
68  !
69  !-----------------------------------------------------------------------------
70  !
71  !++ Private parameters & variables
72  !
73  integer, private, parameter :: vmax = 12
74  integer, private, parameter :: i_sflx_lw_up = 1
75  integer, private, parameter :: i_sflx_lw_dn = 2
76  integer, private, parameter :: i_sflx_sw_up = 3
77  integer, private, parameter :: i_sflx_sw_dn = 4
78  integer, private, parameter :: i_toaflx_lw_up = 5
79  integer, private, parameter :: i_toaflx_lw_dn = 6
80  integer, private, parameter :: i_toaflx_sw_up = 7
81  integer, private, parameter :: i_toaflx_sw_dn = 8
82  integer, private, parameter :: i_sflx_lw_dir = 9
83  integer, private, parameter :: i_sflx_lw_dif = 10
84  integer, private, parameter :: i_sflx_sw_dir = 11
85  integer, private, parameter :: i_sflx_sw_dif = 12
86 
87  character(len=H_SHORT), private :: var_name(vmax)
88  character(len=H_MID), private :: var_desc(vmax)
89  character(len=H_SHORT), private :: var_unit(vmax)
90 
91  data var_name / 'SFLX_LW_up', &
92  'SFLX_LW_dn', &
93  'SFLX_SW_up', &
94  'SFLX_SW_dn', &
95  'TOAFLX_LW_up', &
96  'TOAFLX_LW_dn', &
97  'TOAFLX_SW_up', &
98  'TOAFLX_SW_dn', &
99  'SFLX_LW_dir', &
100  'SFLX_LW_dif', &
101  'SFLX_SW_dir', &
102  'SFLX_SW_dif' /
103  data var_desc / 'surface upward longwave flux', &
104  'surface downward longwave flux', &
105  'surface upward shortwave flux', &
106  'surface downward shortwave flux', &
107  'TOA upward longwave flux', &
108  'TOA downward longwave flux', &
109  'TOA upward shortwave flux', &
110  'TOA downward shortwave flux', &
111  'sfc. down. longwave flux direct', &
112  'sfc. down. longwave flux diffuse', &
113  'sfc. down. shortwave flux direct', &
114  'sfc. down. shortwave flux diffuse' /
115  data var_unit / 'W/m2', &
116  'W/m2', &
117  'W/m2', &
118  'W/m2', &
119  'W/m2', &
120  'W/m2', &
121  'W/m2', &
122  'W/m2', &
123  'W/m2', &
124  'W/m2', &
125  'W/m2', &
126  'W/m2' /
127 
128  !-----------------------------------------------------------------------------
129 contains
130  !-----------------------------------------------------------------------------
132  subroutine atmos_phy_rd_vars_setup
133  use scale_process, only: &
135  use scale_const, only: &
136  undef => const_undef
137  implicit none
138 
139  namelist / param_atmos_phy_rd_vars / &
145 
146  integer :: ierr
147  integer :: iv
148  !---------------------------------------------------------------------------
149 
150  if( io_l ) write(io_fid_log,*)
151  if( io_l ) write(io_fid_log,*) '++++++ Module[VARS] / Categ[ATMOS PHY_RD] / Origin[SCALE-RM]'
152 
153  allocate( atmos_phy_rd_rhot_t(ka,ia,ja) )
154  atmos_phy_rd_rhot_t(:,:,:) = undef
155 
156  allocate( atmos_phy_rd_sflx_lw_up(ia,ja) )
157  allocate( atmos_phy_rd_sflx_lw_dn(ia,ja) )
158  allocate( atmos_phy_rd_sflx_sw_up(ia,ja) )
159  allocate( atmos_phy_rd_sflx_sw_dn(ia,ja) )
160  allocate( atmos_phy_rd_toaflx_lw_up(ia,ja) )
161  allocate( atmos_phy_rd_toaflx_lw_dn(ia,ja) )
162  allocate( atmos_phy_rd_toaflx_sw_up(ia,ja) )
163  allocate( atmos_phy_rd_toaflx_sw_dn(ia,ja) )
164  atmos_phy_rd_sflx_lw_up(:,:) = undef
165  atmos_phy_rd_sflx_lw_dn(:,:) = undef
166  atmos_phy_rd_sflx_sw_up(:,:) = undef
167  atmos_phy_rd_sflx_sw_dn(:,:) = undef
168  atmos_phy_rd_toaflx_lw_up(:,:) = undef
169  atmos_phy_rd_toaflx_lw_dn(:,:) = undef
170  atmos_phy_rd_toaflx_sw_up(:,:) = undef
171  atmos_phy_rd_toaflx_sw_dn(:,:) = undef
172 
173  allocate( atmos_phy_rd_sflx_downall(ia,ja,2,2) )
174  atmos_phy_rd_sflx_downall(:,:,:,:) = undef
175 
176  allocate( atmos_phy_rd_solins(ia,ja) )
177  allocate( atmos_phy_rd_cossza(ia,ja) )
178  atmos_phy_rd_solins(:,:) = undef
179  atmos_phy_rd_cossza(:,:) = undef
180 
181  !--- read namelist
182  rewind(io_fid_conf)
183  read(io_fid_conf,nml=param_atmos_phy_rd_vars,iostat=ierr)
184  if( ierr < 0 ) then !--- missing
185  if( io_l ) write(io_fid_log,*) '*** Not found namelist. Default used.'
186  elseif( ierr > 0 ) then !--- fatal error
187  write(*,*) 'xxx Not appropriate names in namelist PARAM_ATMOS_PHY_RD_VARS. Check!'
188  call prc_mpistop
189  endif
190  if( io_lnml ) write(io_fid_log,nml=param_atmos_phy_rd_vars)
191 
192  if( io_l ) write(io_fid_log,*)
193  if( io_l ) write(io_fid_log,*) '*** [ATMOS_PHY_RD] prognostic/diagnostic variables'
194  if( io_l ) write(io_fid_log,'(1x,A,A15,A,A32,3(A))') &
195  '*** |','VARNAME ','|', 'DESCRIPTION ','[', 'UNIT ',']'
196  do iv = 1, vmax
197  if( io_l ) write(io_fid_log,'(1x,A,i3,A,A15,A,A32,3(A))') &
198  '*** NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
199  enddo
200 
201  if( io_l ) write(io_fid_log,*)
202  if ( atmos_phy_rd_restart_in_basename /= '' ) then
203  if( io_l ) write(io_fid_log,*) '*** Restart input? : ', trim(atmos_phy_rd_restart_in_basename)
204  else
205  if( io_l ) write(io_fid_log,*) '*** Restart input? : NO'
206  endif
208  .AND. atmos_phy_rd_restart_out_basename /= '' ) then
209  if( io_l ) write(io_fid_log,*) '*** Restart output? : ', trim(atmos_phy_rd_restart_out_basename)
210  else
211  if( io_l ) write(io_fid_log,*) '*** Restart output? : NO'
213  endif
214 
215  return
216  end subroutine atmos_phy_rd_vars_setup
217 
218  !-----------------------------------------------------------------------------
220  subroutine atmos_phy_rd_vars_fillhalo
221  use scale_comm, only: &
222  comm_vars8, &
223  comm_wait
224  implicit none
225 
226  integer :: n ,iw, id
227  !---------------------------------------------------------------------------
228 
229  call comm_vars8( atmos_phy_rd_sflx_lw_up(:,:), 1 )
230  call comm_vars8( atmos_phy_rd_sflx_lw_dn(:,:), 2 )
231  call comm_vars8( atmos_phy_rd_sflx_sw_up(:,:), 3 )
232  call comm_vars8( atmos_phy_rd_sflx_sw_dn(:,:), 4 )
233  call comm_vars8( atmos_phy_rd_toaflx_lw_up(:,:), 5 )
234  call comm_vars8( atmos_phy_rd_toaflx_lw_dn(:,:), 6 )
235  call comm_vars8( atmos_phy_rd_toaflx_sw_up(:,:), 7 )
236  call comm_vars8( atmos_phy_rd_toaflx_sw_dn(:,:), 8 )
237 
238  n = 8
239  do id = 1, 2 ! direct/diffuse
240  do iw = 1, 2 ! SW/LW
241  n = n + 1
242  call comm_vars8( atmos_phy_rd_sflx_downall(:,:,iw,id), n )
243  enddo
244  enddo
245 
246  call comm_wait ( atmos_phy_rd_sflx_lw_up(:,:), 1 )
247  call comm_wait ( atmos_phy_rd_sflx_lw_dn(:,:), 2 )
248  call comm_wait ( atmos_phy_rd_sflx_sw_up(:,:), 3 )
249  call comm_wait ( atmos_phy_rd_sflx_sw_dn(:,:), 4 )
250  call comm_wait ( atmos_phy_rd_toaflx_lw_up(:,:), 5 )
251  call comm_wait ( atmos_phy_rd_toaflx_lw_dn(:,:), 6 )
252  call comm_wait ( atmos_phy_rd_toaflx_sw_up(:,:), 7 )
253  call comm_wait ( atmos_phy_rd_toaflx_sw_dn(:,:), 8 )
254 
255  n = 8
256  do id = 1, 2 ! direct/diffuse
257  do iw = 1, 2 ! SW/LW
258  n = n + 1
259  call comm_wait ( atmos_phy_rd_sflx_downall(:,:,iw,id), n )
260  enddo
261  enddo
262 
263  return
264  end subroutine atmos_phy_rd_vars_fillhalo
265 
266  !-----------------------------------------------------------------------------
269  use scale_fileio, only: &
270  fileio_read
271  use scale_rm_statistics, only: &
272  stat_total
273  implicit none
274 
275  real(RP) :: total
276  !---------------------------------------------------------------------------
277 
278  if( io_l ) write(io_fid_log,*)
279  if( io_l ) write(io_fid_log,*) '*** Input restart file (ATMOS_PHY_RD) ***'
280 
281  if ( atmos_phy_rd_restart_in_basename /= '' ) then
282  if( io_l ) write(io_fid_log,*) '*** basename: ', trim(atmos_phy_rd_restart_in_basename)
283 
284  call fileio_read( atmos_phy_rd_sflx_lw_up(:,:), & ! [OUT]
285  atmos_phy_rd_restart_in_basename, var_name(1) , 'XY', step=1 ) ! [IN]
286  call fileio_read( atmos_phy_rd_sflx_lw_dn(:,:), & ! [OUT]
287  atmos_phy_rd_restart_in_basename, var_name(2) , 'XY', step=1 ) ! [IN]
288  call fileio_read( atmos_phy_rd_sflx_sw_up(:,:), & ! [OUT]
289  atmos_phy_rd_restart_in_basename, var_name(3) , 'XY', step=1 ) ! [IN]
290  call fileio_read( atmos_phy_rd_sflx_sw_dn(:,:), & ! [OUT]
291  atmos_phy_rd_restart_in_basename, var_name(4) , 'XY', step=1 ) ! [IN]
292  call fileio_read( atmos_phy_rd_toaflx_lw_up(:,:), & ! [OUT]
293  atmos_phy_rd_restart_in_basename, var_name(5) , 'XY', step=1 ) ! [IN]
294  call fileio_read( atmos_phy_rd_toaflx_lw_dn(:,:), & ! [OUT]
295  atmos_phy_rd_restart_in_basename, var_name(6) , 'XY', step=1 ) ! [IN]
296  call fileio_read( atmos_phy_rd_toaflx_sw_up(:,:), & ! [OUT]
297  atmos_phy_rd_restart_in_basename, var_name(7) , 'XY', step=1 ) ! [IN]
298  call fileio_read( atmos_phy_rd_toaflx_sw_dn(:,:), & ! [OUT]
299  atmos_phy_rd_restart_in_basename, var_name(8) , 'XY', step=1 ) ! [IN]
300  call fileio_read( atmos_phy_rd_sflx_downall(:,:,1,1), & ! [OUT]
301  atmos_phy_rd_restart_in_basename, var_name(9) , 'XY', step=1 ) ! [IN]
302  call fileio_read( atmos_phy_rd_sflx_downall(:,:,1,2), & ! [OUT]
303  atmos_phy_rd_restart_in_basename, var_name(10), 'XY', step=1 ) ! [IN]
304  call fileio_read( atmos_phy_rd_sflx_downall(:,:,2,1), & ! [OUT]
305  atmos_phy_rd_restart_in_basename, var_name(11), 'XY', step=1 ) ! [IN]
306  call fileio_read( atmos_phy_rd_sflx_downall(:,:,2,2), & ! [OUT]
307  atmos_phy_rd_restart_in_basename, var_name(12), 'XY', step=1 ) ! [IN]
308 
310 
311  call stat_total( total, atmos_phy_rd_sflx_lw_up(:,:), var_name(1) )
312  call stat_total( total, atmos_phy_rd_sflx_lw_dn(:,:), var_name(2) )
313  call stat_total( total, atmos_phy_rd_sflx_sw_up(:,:), var_name(3) )
314  call stat_total( total, atmos_phy_rd_sflx_sw_dn(:,:), var_name(4) )
315  call stat_total( total, atmos_phy_rd_toaflx_lw_up(:,:), var_name(5) )
316  call stat_total( total, atmos_phy_rd_toaflx_lw_dn(:,:), var_name(6) )
317  call stat_total( total, atmos_phy_rd_toaflx_sw_up(:,:), var_name(7) )
318  call stat_total( total, atmos_phy_rd_toaflx_sw_dn(:,:), var_name(8) )
319  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,1,1), var_name(9) )
320  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,1,2), var_name(10) )
321  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,2,1), var_name(11) )
322  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,2,2), var_name(12) )
323  else
324  if( io_l ) write(io_fid_log,*) '*** restart file for ATMOS_PHY_RD is not specified.'
325  endif
326 
327  return
328  end subroutine atmos_phy_rd_vars_restart_read
329 
330  !-----------------------------------------------------------------------------
333  use scale_time, only: &
335  use scale_fileio, only: &
336  fileio_write
337  use scale_rm_statistics, only: &
338  stat_total
339  implicit none
340 
341  character(len=20) :: timelabel
342  character(len=H_LONG) :: basename
343 
344  real(RP) :: total
345  !---------------------------------------------------------------------------
346 
347  if ( atmos_phy_rd_restart_out_basename /= '' ) then
348 
349  call time_gettimelabel( timelabel )
350  write(basename,'(A,A,A)') trim(atmos_phy_rd_restart_out_basename), '_', trim(timelabel)
351 
352  if( io_l ) write(io_fid_log,*)
353  if( io_l ) write(io_fid_log,*) '*** Output restart file (ATMOS_PHY_RD) ***'
354  if( io_l ) write(io_fid_log,*) '*** basename: ', trim(basename)
355 
357 
358  call stat_total( total, atmos_phy_rd_sflx_lw_up(:,:), var_name(1) )
359  call stat_total( total, atmos_phy_rd_sflx_lw_dn(:,:), var_name(2) )
360  call stat_total( total, atmos_phy_rd_sflx_sw_up(:,:), var_name(3) )
361  call stat_total( total, atmos_phy_rd_sflx_sw_dn(:,:), var_name(4) )
362  call stat_total( total, atmos_phy_rd_toaflx_lw_up(:,:), var_name(5) )
363  call stat_total( total, atmos_phy_rd_toaflx_lw_dn(:,:), var_name(6) )
364  call stat_total( total, atmos_phy_rd_toaflx_sw_up(:,:), var_name(7) )
365  call stat_total( total, atmos_phy_rd_toaflx_sw_dn(:,:), var_name(8) )
366  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,1,1), var_name(9) )
367  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,1,2), var_name(10) )
368  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,2,1), var_name(11) )
369  call stat_total( total, atmos_phy_rd_sflx_downall(:,:,2,2), var_name(12) )
370 
371  call fileio_write( atmos_phy_rd_sflx_lw_up(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
372  var_name(1) , var_desc(1) , var_unit(1) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
373  call fileio_write( atmos_phy_rd_sflx_lw_dn(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
374  var_name(2) , var_desc(2) , var_unit(2) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
375  call fileio_write( atmos_phy_rd_sflx_sw_up(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
376  var_name(3) , var_desc(3) , var_unit(3) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
377  call fileio_write( atmos_phy_rd_sflx_sw_dn(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
378  var_name(4) , var_desc(4) , var_unit(4) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
379  call fileio_write( atmos_phy_rd_toaflx_lw_up(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
380  var_name(5) , var_desc(5) , var_unit(5) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
381  call fileio_write( atmos_phy_rd_toaflx_lw_dn(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
382  var_name(6) , var_desc(6) , var_unit(6) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
383  call fileio_write( atmos_phy_rd_toaflx_sw_up(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
384  var_name(7) , var_desc(7) , var_unit(7) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
385  call fileio_write( atmos_phy_rd_toaflx_sw_dn(:,:) , basename, atmos_phy_rd_restart_out_title, & ! [IN]
386  var_name(8) , var_desc(8) , var_unit(8) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
387  call fileio_write( atmos_phy_rd_sflx_downall(:,:,1,1), basename, atmos_phy_rd_restart_out_title, & ! [IN]
388  var_name(9) , var_desc(9) , var_unit(9) , 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
389  call fileio_write( atmos_phy_rd_sflx_downall(:,:,1,2), basename, atmos_phy_rd_restart_out_title, & ! [IN]
390  var_name(10), var_desc(10), var_unit(10), 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
391  call fileio_write( atmos_phy_rd_sflx_downall(:,:,2,1), basename, atmos_phy_rd_restart_out_title, & ! [IN]
392  var_name(11), var_desc(11), var_unit(11), 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
393  call fileio_write( atmos_phy_rd_sflx_downall(:,:,2,2), basename, atmos_phy_rd_restart_out_title, & ! [IN]
394  var_name(12), var_desc(12), var_unit(12), 'XY', atmos_phy_rd_restart_out_dtype ) ! [IN]
395 
396 
397  endif
398 
399  return
400  end subroutine atmos_phy_rd_vars_restart_write
401 
402  !-----------------------------------------------------------------------------
404  subroutine atmos_phy_rd_vars_external_in( &
405  init_value_in )
406  implicit none
407 
408  real(RP), intent(in) :: init_value_in
409  !---------------------------------------------------------------------------
410 
411  if( io_l ) write(io_fid_log,*)
412  if( io_l ) write(io_fid_log,*) '*** External Input (PHY_RD) ***'
413 
414  atmos_phy_rd_sflx_lw_up(:,:) = init_value_in
415  atmos_phy_rd_sflx_lw_dn(:,:) = init_value_in
416  atmos_phy_rd_sflx_sw_up(:,:) = init_value_in
417  atmos_phy_rd_sflx_sw_dn(:,:) = init_value_in
418  atmos_phy_rd_toaflx_lw_up(:,:) = init_value_in
419  atmos_phy_rd_toaflx_lw_dn(:,:) = init_value_in
420  atmos_phy_rd_toaflx_sw_up(:,:) = init_value_in
421  atmos_phy_rd_toaflx_sw_dn(:,:) = init_value_in
422  atmos_phy_rd_sflx_downall(:,:,:,:) = init_value_in
423 
424  return
425  end subroutine atmos_phy_rd_vars_external_in
426 
427 
428 end module mod_atmos_phy_rd_vars
subroutine, public prc_mpistop
Abort MPI.
character(len=h_long), public atmos_phy_rd_restart_in_basename
basename of the restart file
subroutine, public atmos_phy_rd_vars_external_in(init_value_in)
Input from External I/O.
logical, public io_l
output log or not? (this process)
Definition: scale_stdio.F90:59
character(len=h_mid), public atmos_phy_rd_restart_out_title
title of the output file
module STDIO
Definition: scale_stdio.F90:12
real(rp), dimension(:,:,:), allocatable, public atmos_phy_rd_rhot_t
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_up
module FILE I/O (netcdf)
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_sw_up
real(rp), public const_undef
Definition: scale_const.F90:43
module Statistics
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_dn
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_cossza
module Atmosphere / Physics Radiation
character(len=h_long), public atmos_phy_rd_restart_out_basename
basename of the output file
module grid index
module TRACER
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_up
integer, public ia
of x whole cells (local, with HALO)
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:90
integer, public ka
of z whole cells (local, with HALO)
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_dn
module COMMUNICATION
Definition: scale_comm.F90:23
module TIME
Definition: scale_time.F90:15
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_lw_dn
module PROCESS
logical, public atmos_phy_rd_restart_output
output restart file?
subroutine, public atmos_phy_rd_vars_setup
Setup.
character(len=h_mid), public atmos_phy_rd_restart_out_dtype
REAL4 or REAL8.
module CONSTANT
Definition: scale_const.F90:14
subroutine, public atmos_phy_rd_vars_restart_write
Write restart.
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_rd_sflx_downall
module profiler
Definition: scale_prof.F90:10
logical, public io_lnml
output log or not? (for namelist, this process)
Definition: scale_stdio.F90:60
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_sw_dn
module PRECISION
subroutine, public atmos_phy_rd_vars_restart_read
Read restart.
subroutine, public atmos_phy_rd_vars_fillhalo
HALO Communication.
integer, public io_fid_conf
Config file ID.
Definition: scale_stdio.F90:55
integer, public io_fid_log
Log file ID.
Definition: scale_stdio.F90:56
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_solins
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_lw_up
integer, public ja
of y whole cells (local, with HALO)