SCALE-RM
mod_atmos_phy_sf_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_sf_vars_setup
35 
41 
42  !-----------------------------------------------------------------------------
43  !
44  !++ Public parameters & variables
45  !
46  logical, public :: atmos_phy_sf_restart_output = .false.
47 
48  character(len=H_LONG), public :: atmos_phy_sf_restart_in_basename = ''
50  logical, public :: atmos_phy_sf_restart_in_postfix_timelabel = .false.
51  character(len=H_LONG), public :: atmos_phy_sf_restart_out_basename = ''
53  logical, public :: atmos_phy_sf_restart_out_postfix_timelabel = .true.
54  character(len=H_MID), public :: atmos_phy_sf_restart_out_title = 'ATMOS_PHY_SF restart'
55  character(len=H_SHORT), public :: atmos_phy_sf_restart_out_dtype = 'DEFAULT'
56 
57  real(rp), public, allocatable :: atmos_phy_sf_dens_t (:,:) ! tendency DENS [ kg/m3/s]
58  real(rp), public, allocatable :: atmos_phy_sf_momz_t (:,:) ! tendency MOMZ [m/s*kg/m2/s]
59  real(rp), public, allocatable :: atmos_phy_sf_rhou_t (:,:) ! tendency rho*U [m/s*kg/m2/s]
60  real(rp), public, allocatable :: atmos_phy_sf_rhov_t (:,:) ! tendency rho*V [m/s*kg/m2/s]
61  real(rp), public, allocatable :: atmos_phy_sf_rhoh (:,:) ! diabatic heating [J/m3/s]
62  real(rp), public, allocatable :: atmos_phy_sf_rhoq_t (:,:,:) ! tendency rho*QTRC [ kg/kg/s]
63 
64  real(rp), public, allocatable :: atmos_phy_sf_sfc_temp (:,:) ! surface skin temperature [K]
65  real(rp), public, allocatable :: atmos_phy_sf_sfc_albedo(:,:,:,:) ! surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
66  real(rp), public, allocatable :: atmos_phy_sf_sfc_z0m (:,:) ! surface roughness length, ocean only [m]
67  real(rp), public, allocatable :: atmos_phy_sf_sfc_z0h (:,:) ! surface roughness length, ocean only [m]
68  real(rp), public, allocatable :: atmos_phy_sf_sfc_z0e (:,:) ! surface roughness length, ocean only [m]
69 
70  ! surface diagnostic variables
71  real(rp), public, allocatable :: atmos_phy_sf_sfc_dens (:,:) ! surface atmosphere density [kg/m3]
72  real(rp), public, allocatable :: atmos_phy_sf_sfc_pres (:,:) ! surface atmosphere pressure [Pa]
73 
74  real(rp), public, allocatable :: atmos_phy_sf_prec_mass (:,:) ! mass flux of the precipitation [kg/m2/s]
75  real(rp), public, allocatable :: atmos_phy_sf_prec_engi (:,:) ! internal energy flux of the precipitation [J/m2/s]
76  real(rp), public, allocatable :: atmos_phy_sf_sflx_mw (:,:) ! z-momentum flux (area center) [m/s*kg/m2/s]
77  real(rp), public, allocatable :: atmos_phy_sf_sflx_mu (:,:) ! x-momentum flux (area center) [m/s*kg/m2/s]
78  real(rp), public, allocatable :: atmos_phy_sf_sflx_mv (:,:) ! y-momentum flux (area center) [m/s*kg/m2/s]
79  real(rp), public, allocatable :: atmos_phy_sf_sflx_sh (:,:) ! sensible heat flux [J/m2/s]
80  real(rp), public, allocatable :: atmos_phy_sf_sflx_lh (:,:) ! latent heat flux [J/m2/s]
81  real(rp), public, allocatable :: atmos_phy_sf_sflx_shex (:,:) ! extra sensible heat flux [J/m2/s]
82  real(rp), public, allocatable :: atmos_phy_sf_sflx_qvex (:,:) ! extra latent heat flux [kg/kg/m2/s]
83  real(rp), public, allocatable :: atmos_phy_sf_sflx_gh (:,:) ! ground heat flux [J/m2/s] (downward)
84  real(rp), public, allocatable, target :: atmos_phy_sf_sflx_qtrc (:,:,:) ! tracer mass flux [kg/m2/s]
85  real(rp), public, allocatable :: atmos_phy_sf_sflx_engi (:,:) ! internal energy flux [J/m2/s]
86  real(rp), public, pointer :: atmos_phy_sf_sflx_qv (:,:)
87 
88  real(rp), public, allocatable :: atmos_phy_sf_ustar (:,:) ! friction velocity [m/2]
89  real(rp), public, allocatable :: atmos_phy_sf_tstar (:,:) ! temperature scale [K]
90  real(rp), public, allocatable :: atmos_phy_sf_qstar (:,:) ! moisture scale [kg/kg]
91  real(rp), public, allocatable :: atmos_phy_sf_wstar (:,:) ! convective velocity scale [m/s]
92 
93  real(rp), public, allocatable :: atmos_phy_sf_u10 (:,:) ! 10m x-wind [m/s]
94  real(rp), public, allocatable :: atmos_phy_sf_v10 (:,:) ! 10m y-wind [m/s]
95  real(rp), public, allocatable :: atmos_phy_sf_t2 (:,:) ! 2m temperature [K]
96  real(rp), public, allocatable :: atmos_phy_sf_q2 (:,:) ! 2m specific humidity [kg/kg]
97 
98  real(rp), public, allocatable :: atmos_phy_sf_rlmo (:,:) ! inverse of monin-obukhov length
99 
100 ! real(RP), public, allocatable :: ATMOS_PHY_SF_SFLX_QEMIS(:,:,:) ! tracer emission flux [kg/m2/s]
101 ! real(RP), public, allocatable :: ATMOS_PHY_SF_SFLX_QDEP (:,:,:) ! tracer deposition flux [kg/m2/s]
102 ! real(RP), public, allocatable :: ATMOS_PHY_SF_SFLX_VDEP (:,:,:) ! tracer deposition velocity [m/s]
103 
104  !-----------------------------------------------------------------------------
105  !
106  !++ Private procedure
107  !
108  !-----------------------------------------------------------------------------
109  !
110  !++ Private parameters & variables
111  !
112  integer, private, parameter :: vmax = 10
113  integer, private, parameter :: i_sfc_temp = 1
114  integer, private, parameter :: i_sfc_alb_ir_dir = 2
115  integer, private, parameter :: i_sfc_alb_ir_dif = 3
116  integer, private, parameter :: i_sfc_alb_nir_dir = 4
117  integer, private, parameter :: i_sfc_alb_nir_dif = 5
118  integer, private, parameter :: i_sfc_alb_vis_dir = 6
119  integer, private, parameter :: i_sfc_alb_vis_dif = 7
120  integer, private, parameter :: i_sfc_z0m = 8
121  integer, private, parameter :: i_sfc_z0h = 9
122  integer, private, parameter :: i_sfc_z0e = 10
123 
124  character(len=H_SHORT), private :: var_name(vmax)
125  character(len=H_MID), private :: var_desc(vmax)
126  character(len=H_MID), private :: var_stdn(vmax)
127  character(len=H_SHORT), private :: var_unit(vmax)
128  integer, private :: var_id(vmax)
129  integer, private :: restart_fid = -1 ! file ID
130 
131  data var_name / 'SFC_TEMP', &
132  'SFC_ALB_IR_dir', &
133  'SFC_ALB_IR_dif', &
134  'SFC_ALB_NIR_dir', &
135  'SFC_ALB_NIR_dif', &
136  'SFC_ALB_VIS_dir', &
137  'SFC_ALB_VIS_dif', &
138  'SFC_Z0M', &
139  'SFC_Z0H', &
140  'SFC_Z0E' /
141 
142  data var_desc / 'surface skin temperature', &
143  'surface albedo for IR, direct ', &
144  'surface albedo for IR, diffuse', &
145  'surface albedo for NIR, direct ', &
146  'surface albedo for NIR, diffuse', &
147  'surface albedo for VIS, direct ', &
148  'surface albedo for VIS, diffuse', &
149  'surface roughness length (momentum)', &
150  'surface roughness length (heat)', &
151  'surface roughness length (vapor)' /
152 
153  data var_stdn / 'surface_temp', &
154  '', &
155  '', &
156  '', &
157  '', &
158  '', &
159  '', &
160  'surface_roughness_length_for_momentum_in_air', &
161  'surface_roughness_length_for_heat_in_air', &
162  '' /
163 
164  data var_unit / 'K', &
165  '1', &
166  '1', &
167  '1', &
168  '1', &
169  '1', &
170  '1', &
171  'm', &
172  'm', &
173  'm' /
174 
175  real(rp), private :: atmos_phy_sf_default_sfc_temp = 300.0_rp
176  real(rp), private :: atmos_phy_sf_default_sfc_albedo_lw = 0.04_rp
177  real(rp), private :: atmos_phy_sf_default_sfc_albedo_sw = 0.10_rp
178  real(rp), private :: atmos_phy_sf_default_sfc_z0m = 1e-4_rp
179  real(rp), private :: atmos_phy_sf_default_sfc_z0h = 1e-5_rp
180  real(rp), private :: atmos_phy_sf_default_sfc_z0e = 1e-5_rp
181 
182  real(rp), allocatable, target :: zero(:,:)
183 
184  !-----------------------------------------------------------------------------
185 contains
186  !-----------------------------------------------------------------------------
188  subroutine atmos_phy_sf_vars_setup
189  use scale_prc, only: &
190  prc_abort
191  use scale_const, only: &
192  undef => const_undef
193  use scale_atmos_hydrometeor, only: &
194  i_qv
195  implicit none
196 
197  namelist / param_atmos_phy_sf_vars / &
207  atmos_phy_sf_default_sfc_temp, &
208  atmos_phy_sf_default_sfc_albedo_lw, &
209  atmos_phy_sf_default_sfc_albedo_sw, &
210  atmos_phy_sf_default_sfc_z0m, &
211  atmos_phy_sf_default_sfc_z0h, &
212  atmos_phy_sf_default_sfc_z0e
213 
214  integer :: ierr
215  integer :: iv
216  !---------------------------------------------------------------------------
217 
218  log_newline
219  log_info("ATMOS_PHY_SF_vars_setup",*) 'Setup'
220 
221  !--- read namelist
222  rewind(io_fid_conf)
223  read(io_fid_conf,nml=param_atmos_phy_sf_vars,iostat=ierr)
224  if( ierr < 0 ) then !--- missing
225  log_info("ATMOS_PHY_SF_vars_setup",*) 'Not found namelist. Default used.'
226  elseif( ierr > 0 ) then !--- fatal error
227  log_error("ATMOS_PHY_SF_vars_setup",*) 'Not appropriate names in namelist PARAM_ATMOS_PHY_SF_VARS. Check!'
228  call prc_abort
229  endif
230  log_nml(param_atmos_phy_sf_vars)
231 
232 
233  allocate( atmos_phy_sf_dens_t(ia,ja) )
234  allocate( atmos_phy_sf_momz_t(ia,ja) )
235  allocate( atmos_phy_sf_rhou_t(ia,ja) )
236  allocate( atmos_phy_sf_rhov_t(ia,ja) )
237  allocate( atmos_phy_sf_rhoh(ia,ja) )
238  allocate( atmos_phy_sf_rhoq_t(ia,ja,qa) )
239  atmos_phy_sf_dens_t(:,:) = undef
240  atmos_phy_sf_momz_t(:,:) = undef
241  atmos_phy_sf_rhou_t(:,:) = undef
242  atmos_phy_sf_rhov_t(:,:) = undef
243  atmos_phy_sf_rhoh(:,:) = undef
244  atmos_phy_sf_rhoq_t(:,:,:) = undef
245 
246  allocate( atmos_phy_sf_sfc_temp(ia,ja) )
248  allocate( atmos_phy_sf_sfc_z0m(ia,ja) )
249  allocate( atmos_phy_sf_sfc_z0h(ia,ja) )
250  allocate( atmos_phy_sf_sfc_z0e(ia,ja) )
251  atmos_phy_sf_sfc_temp(:,:) = atmos_phy_sf_default_sfc_temp
252  atmos_phy_sf_sfc_albedo(:,:,i_r_direct ,i_r_ir ) = atmos_phy_sf_default_sfc_albedo_lw
253  atmos_phy_sf_sfc_albedo(:,:,i_r_diffuse,i_r_ir ) = atmos_phy_sf_default_sfc_albedo_lw
254  atmos_phy_sf_sfc_albedo(:,:,i_r_direct ,i_r_nir) = atmos_phy_sf_default_sfc_albedo_sw
255  atmos_phy_sf_sfc_albedo(:,:,i_r_diffuse,i_r_nir) = atmos_phy_sf_default_sfc_albedo_sw
256  atmos_phy_sf_sfc_albedo(:,:,i_r_direct ,i_r_vis) = atmos_phy_sf_default_sfc_albedo_sw
257  atmos_phy_sf_sfc_albedo(:,:,i_r_diffuse,i_r_vis) = atmos_phy_sf_default_sfc_albedo_sw
258  atmos_phy_sf_sfc_z0m(:,:) = atmos_phy_sf_default_sfc_z0m
259  atmos_phy_sf_sfc_z0h(:,:) = atmos_phy_sf_default_sfc_z0h
260  atmos_phy_sf_sfc_z0e(:,:) = atmos_phy_sf_default_sfc_z0e
261 
262  allocate( atmos_phy_sf_sfc_dens(ia,ja) )
263  allocate( atmos_phy_sf_sfc_pres(ia,ja) )
264  atmos_phy_sf_sfc_dens(:,:) = undef
265  atmos_phy_sf_sfc_pres(:,:) = undef
266 
267  allocate( atmos_phy_sf_prec_mass(ia,ja) )
268  allocate( atmos_phy_sf_prec_engi(ia,ja) )
269  atmos_phy_sf_prec_mass(:,:) = undef
270  atmos_phy_sf_prec_engi(:,:) = undef
271 
272  allocate( atmos_phy_sf_sflx_mw(ia,ja) )
273  allocate( atmos_phy_sf_sflx_mu(ia,ja) )
274  allocate( atmos_phy_sf_sflx_mv(ia,ja) )
275  allocate( atmos_phy_sf_sflx_sh(ia,ja) )
276  allocate( atmos_phy_sf_sflx_lh(ia,ja) )
277  allocate( atmos_phy_sf_sflx_shex(ia,ja) )
278  allocate( atmos_phy_sf_sflx_qvex(ia,ja) )
279  allocate( atmos_phy_sf_sflx_gh(ia,ja) )
280  allocate( atmos_phy_sf_sflx_qtrc(ia,ja,max(qa,1)) )
281  allocate( atmos_phy_sf_sflx_engi(ia,ja) )
282  atmos_phy_sf_sflx_mw(:,:) = undef
283  atmos_phy_sf_sflx_mu(:,:) = undef
284  atmos_phy_sf_sflx_mv(:,:) = undef
285  atmos_phy_sf_sflx_sh(:,:) = undef
286  atmos_phy_sf_sflx_lh(:,:) = undef
287  atmos_phy_sf_sflx_shex(:,:) = undef
288  atmos_phy_sf_sflx_qvex(:,:) = undef
289  atmos_phy_sf_sflx_gh(:,:) = undef
290  atmos_phy_sf_sflx_qtrc(:,:,:) = undef
291  atmos_phy_sf_sflx_engi(:,:) = undef
292 
293  allocate( atmos_phy_sf_ustar(ia,ja) )
294  allocate( atmos_phy_sf_tstar(ia,ja) )
295  allocate( atmos_phy_sf_qstar(ia,ja) )
296  allocate( atmos_phy_sf_wstar(ia,ja) )
297  atmos_phy_sf_ustar(:,:) = undef
298  atmos_phy_sf_tstar(:,:) = undef
299  atmos_phy_sf_wstar(:,:) = undef
300 
301  allocate( atmos_phy_sf_u10(ia,ja) )
302  allocate( atmos_phy_sf_v10(ia,ja) )
303  allocate( atmos_phy_sf_t2(ia,ja) )
304  allocate( atmos_phy_sf_q2(ia,ja) )
305  allocate( atmos_phy_sf_rlmo(ia,ja) )
306  atmos_phy_sf_u10(:,:) = undef
307  atmos_phy_sf_v10(:,:) = undef
308  atmos_phy_sf_t2(:,:) = undef
309  atmos_phy_sf_q2(:,:) = undef
310  atmos_phy_sf_rlmo(:,:) = undef
311 
312 
313  log_newline
314  log_info("ATMOS_PHY_SF_vars_setup",*) '[ATMOS_PHY_SF] prognostic/diagnostic variables'
315  log_info_cont('(1x,A,A24,A,A48,A,A12,A)') &
316  ' |', 'VARNAME ','|', &
317  'DESCRIPTION ', '[', 'UNIT ', ']'
318  do iv = 1, vmax
319  log_info_cont('(1x,A,I3,A,A24,A,A48,A,A12,A)') &
320  'NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
321  enddo
322 
323  log_newline
324  if ( atmos_phy_sf_restart_in_basename /= '' ) then
325  log_info("ATMOS_PHY_SF_vars_setup",*) 'Restart input? : YES, file = ', trim(atmos_phy_sf_restart_in_basename)
326  log_info("ATMOS_PHY_SF_vars_setup",*) 'Add timelabel? : ', atmos_phy_sf_restart_in_postfix_timelabel
327  else
328  log_info("ATMOS_PHY_SF_vars_setup",*) 'Restart input? : NO'
329  endif
331  .AND. atmos_phy_sf_restart_out_basename /= '' ) then
332  log_info("ATMOS_PHY_SF_vars_setup",*) 'Restart output? : YES, file = ', trim(atmos_phy_sf_restart_out_basename)
333  log_info("ATMOS_PHY_SF_vars_setup",*) 'Add timelabel? : ', atmos_phy_sf_restart_out_postfix_timelabel
334  else
335  log_info("ATMOS_PHY_SF_vars_setup",*) 'Restart output? : NO'
337  endif
338 
339  if ( i_qv > 0 ) then
341  else
342  allocate( zero(ia,ja) )
343  atmos_phy_sf_sflx_qv => zero
344  end if
345 
346  return
347  end subroutine atmos_phy_sf_vars_setup
348 
349  !-----------------------------------------------------------------------------
351  subroutine atmos_phy_sf_vars_fillhalo
352  use scale_comm_cartesc, only: &
353  comm_vars8, &
354  comm_wait
355  implicit none
356 
357  integer :: n ,idir, irgn
358  !---------------------------------------------------------------------------
359 
360  call comm_vars8( atmos_phy_sf_sfc_temp(:,:), 1 )
361  call comm_vars8( atmos_phy_sf_sfc_z0m(:,:), 2 )
362  call comm_vars8( atmos_phy_sf_sfc_z0h(:,:), 3 )
363  call comm_vars8( atmos_phy_sf_sfc_z0e(:,:), 4 )
364 
365  n = 4
366  do irgn = i_r_ir, i_r_vis
367  do idir = i_r_direct, i_r_diffuse
368  n = n + 1
369  call comm_vars8( atmos_phy_sf_sfc_albedo(:,:,idir,irgn), n )
370  enddo
371  enddo
372 
373  call comm_wait ( atmos_phy_sf_sfc_temp(:,:), 1 )
374  call comm_wait ( atmos_phy_sf_sfc_z0m(:,:), 2 )
375  call comm_wait ( atmos_phy_sf_sfc_z0h(:,:), 3 )
376  call comm_wait ( atmos_phy_sf_sfc_z0e(:,:), 4 )
377 
378  n = 4
379  do irgn = i_r_ir, i_r_vis
380  do idir = i_r_direct, i_r_diffuse
381  n = n + 1
382  call comm_wait ( atmos_phy_sf_sfc_albedo(:,:,idir,irgn), n )
383  enddo
384  enddo
385 
386  return
387  end subroutine atmos_phy_sf_vars_fillhalo
388 
389  !-----------------------------------------------------------------------------
392  use scale_time, only: &
394  use scale_file_cartesc, only: &
396  implicit none
397 
398  character(len=19) :: timelabel
399  character(len=H_LONG) :: basename
400  !---------------------------------------------------------------------------
401 
402  log_newline
403  log_info("ATMOS_PHY_SF_vars_restart_open",*) 'Open restart file (ATMOS_PHY_SF) '
404 
405  if ( atmos_phy_sf_restart_in_basename /= '' ) then
406 
408  call time_gettimelabel( timelabel )
409  basename = trim(atmos_phy_sf_restart_in_basename)//'_'//trim(timelabel)
410  else
411  basename = trim(atmos_phy_sf_restart_in_basename)
412  endif
413 
414  log_info("ATMOS_PHY_SF_vars_restart_open",*) 'basename: ', trim(basename)
415 
416  call file_cartesc_open( basename, restart_fid, aggregate=atmos_phy_sf_restart_in_aggregate )
417 
418  else
419  log_info("ATMOS_PHY_SF_vars_restart_open",*) 'restart file for ATMOS_PHY_SF is not specified.'
420  endif
421 
422  return
423  end subroutine atmos_phy_sf_vars_restart_open
424 
425  !-----------------------------------------------------------------------------
428  use scale_file, only: &
430  use scale_file_cartesc, only: &
431  file_cartesc_read, &
433  implicit none
434  !---------------------------------------------------------------------------
435 
436  if ( restart_fid /= -1 ) then
437  log_newline
438  log_info("ATMOS_PHY_SF_vars_restart_read",*) 'Read from restart file (ATMOS_PHY_SF) '
439 
440  call file_cartesc_read( restart_fid, var_name(i_sfc_temp), 'XY', & ! [IN]
441  atmos_phy_sf_sfc_temp(:,:) ) ! [OUT]
442  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dir), 'XY', & ! [IN]
443  atmos_phy_sf_sfc_albedo(:,:,i_r_direct ,i_r_ir ) ) ! [OUT]
444  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dif), 'XY', & ! [IN]
446  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dir), 'XY', & ! [IN]
448  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dif), 'XY', & ! [IN]
450  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dir), 'XY', & ! [IN]
452  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dif), 'XY', & ! [IN]
454  call file_cartesc_read( restart_fid, var_name(i_sfc_z0m), 'XY', & ! [IN]
455  atmos_phy_sf_sfc_z0m(:,:) ) ! [OUT]
456  call file_cartesc_read( restart_fid, var_name(i_sfc_z0h), 'XY', & ! [IN]
457  atmos_phy_sf_sfc_z0h(:,:) ) ! [OUT]
458  call file_cartesc_read( restart_fid, var_name(i_sfc_z0e), 'XY', & ! [IN]
459  atmos_phy_sf_sfc_z0e(:,:) ) ! [OUT]
460 
461  if ( file_get_aggregate(restart_fid) ) then
462  call file_cartesc_flush( restart_fid ) ! X/Y halos have been read from file
463  else
465  end if
466 
468 
469  else
470  log_info("ATMOS_PHY_SF_vars_restart_read",*) 'invalid restart file ID for ATMOS_PHY_SF.'
471  endif
472 
473  return
474  end subroutine atmos_phy_sf_vars_restart_read
475 
476  !-----------------------------------------------------------------------------
479  use scale_time, only: &
481  use scale_file_cartesc, only: &
483  implicit none
484 
485  character(len=19) :: timelabel
486  character(len=H_LONG) :: basename
487  !---------------------------------------------------------------------------
488 
489  if ( atmos_phy_sf_restart_out_basename /= '' ) then
490 
491  log_newline
492  log_info("ATMOS_PHY_SF_vars_restart_create",*) 'Create restart file (ATMOS_PHY_AE) '
493 
495  call time_gettimelabel( timelabel )
496  basename = trim(atmos_phy_sf_restart_out_basename)//'_'//trim(timelabel)
497  else
498  basename = trim(atmos_phy_sf_restart_out_basename)
499  endif
500 
501  log_info("ATMOS_PHY_SF_vars_restart_create",*) 'basename: ', trim(basename)
502 
503  call file_cartesc_create( &
505  restart_fid, & ! [OUT]
506  aggregate=atmos_phy_sf_restart_out_aggregate ) ! [IN]
507  endif
508 
509  return
510  end subroutine atmos_phy_sf_vars_restart_create
511 
512  !-----------------------------------------------------------------------------
515  use scale_file_cartesc, only: &
517  implicit none
518 
519  if ( restart_fid /= -1 ) then
520  call file_cartesc_enddef( restart_fid ) ! [IN]
521  endif
522 
523  return
524  end subroutine atmos_phy_sf_vars_restart_enddef
525 
526  !-----------------------------------------------------------------------------
529  use scale_file_cartesc, only: &
531  implicit none
532  !---------------------------------------------------------------------------
533 
534  if ( restart_fid /= -1 ) then
535  log_newline
536  log_info("ATMOS_PHY_SF_vars_restart_close",*) 'Close restart file (ATMOS_PHY_SF) '
537 
538  call file_cartesc_close( restart_fid ) ! [IN]
539 
540  restart_fid = -1
541  endif
542 
543  return
544  end subroutine atmos_phy_sf_vars_restart_close
545 
546  !-----------------------------------------------------------------------------
549  use scale_file_cartesc, only: &
551  implicit none
552 
553  integer :: i
554  !---------------------------------------------------------------------------
555 
556  if ( restart_fid /= -1 ) then
557 
558  do i = 1, vmax
559  call file_cartesc_def_var( restart_fid, & ! [IN]
560  var_name(i), var_desc(i), var_unit(i), & ! [IN]
561  'XY', atmos_phy_sf_restart_out_dtype, & ! [IN]
562  var_id(i), & ! [OUT]
563  standard_name=var_stdn(i) ) ! [IN]
564  end do
565 
566  endif
567 
568  return
569  end subroutine atmos_phy_sf_vars_restart_def_var
570 
571  !-----------------------------------------------------------------------------
574  use scale_file_cartesc, only: &
575  file_cartesc_write_var
576  implicit none
577  !---------------------------------------------------------------------------
578 
579  if ( restart_fid /= -1 ) then
580 
582 
584 
585  call file_cartesc_write_var( restart_fid, var_id(i_sfc_temp), & ! [IN]
586  atmos_phy_sf_sfc_temp(:,:), & ! [IN]
587  var_name(i_sfc_temp), 'XY' ) ! [IN]
588  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dir), & ! [IN]
589  atmos_phy_sf_sfc_albedo(:,:,i_r_direct ,i_r_ir ), & ! [IN]
590  var_name(i_sfc_alb_ir_dir), 'XY' ) ! [IN]
591  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dif), & ! [IN]
593  var_name(i_sfc_alb_ir_dif), 'XY' ) ! [IN]
594  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dir), & ! [IN]
596  var_name(i_sfc_alb_nir_dir), 'XY' ) ! [IN]
597  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dif), & ! [IN]
599  var_name(i_sfc_alb_nir_dif), 'XY' ) ! [IN]
600  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dir), & ! [IN]
602  var_name(i_sfc_alb_vis_dir), 'XY' ) ! [IN]
603  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dif), & ! [IN]
605  var_name(i_sfc_alb_vis_dif), 'XY' ) ! [IN]
606  call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0m), & ! [IN]
607  atmos_phy_sf_sfc_z0m(:,:), & ! [IN]
608  var_name(i_sfc_z0m), 'XY' ) ! [IN]
609  call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0h), & ! [IN]
610  atmos_phy_sf_sfc_z0h(:,:), & ! [IN]
611  var_name(i_sfc_z0h), 'XY' ) ! [IN]
612  call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0e), & ! [IN]
613  atmos_phy_sf_sfc_z0e(:,:), & ! [IN]
614  var_name(i_sfc_z0e), 'XY' ) ! [IN]
615  endif
616 
617  return
618  end subroutine atmos_phy_sf_vars_restart_write
619 
620  !-----------------------------------------------------------------------------
621  subroutine atmos_phy_sf_vars_check
622  use scale_statistics, only: &
623  statistics_total
624  use scale_atmos_grid_cartesc_real, only: &
627  implicit none
628  !---------------------------------------------------------------------------
629 
630  call valcheck( ia, is, ie, ja, js, je, &
631  atmos_phy_sf_sfc_temp(:,:), & ! (in)
632  0.0_rp, 1.0e3_rp, var_name(i_sfc_temp), & ! (in)
633  __file__, __line__ ) ! (in)
634  call valcheck( ia, is, ie, ja, js, je, &
635  atmos_phy_sf_sfc_albedo(:,:,i_r_direct ,i_r_ir ), & ! (in)
636  0.0_rp, 1.0e0_rp, var_name(i_sfc_alb_ir_dir), & ! (in)
637  __file__, __line__ ) ! (in)
638  call valcheck( ia, is, ie, ja, js, je, &
640  0.0_rp, 1.0e0_rp, var_name(i_sfc_alb_ir_dif), & ! (in)
641  __file__, __line__ ) ! (in)
642  call valcheck( ia, is, ie, ja, js, je, &
644  0.0_rp, 1.0e0_rp, var_name(i_sfc_alb_nir_dir), & ! (in)
645  __file__, __line__ ) ! (in)
646  call valcheck( ia, is, ie, ja, js, je, &
648  0.0_rp, 1.0e0_rp, var_name(i_sfc_alb_nir_dif), & ! (in)
649  __file__, __line__ ) ! (in)
650  call valcheck( ia, is, ie, ja, js, je, &
652  0.0_rp, 1.0e0_rp, var_name(i_sfc_alb_vis_dir), & ! (in)
653  __file__, __line__ ) ! (in)
654  call valcheck( ia, is, ie, ja, js, je, &
656  0.0_rp, 1.0e0_rp, var_name(i_sfc_alb_vis_dif), & ! (in)
657  __file__, __line__ ) ! (in)
658  call valcheck( ia, is, ie, ja, js, je, &
659  atmos_phy_sf_sfc_z0m(:,:), & ! (in)
660  0.0_rp, 1.0e2_rp, var_name(i_sfc_z0m), & ! (in)
661  __file__, __line__ ) ! (in)
662  call valcheck( ia, is, ie, ja, js, je, &
663  atmos_phy_sf_sfc_z0h(:,:), & ! (in)
664  0.0_rp, 1.0e2_rp, var_name(i_sfc_z0h), & ! (in)
665  __file__, __line__ ) ! (in)
666  call valcheck( ia, is, ie, ja, js, je, &
667  atmos_phy_sf_sfc_z0e(:,:), & ! (in)
668  0.0_rp, 1.0e2_rp, var_name(i_sfc_z0e), & ! (in)
669  __file__, __line__ ) ! (in)
670 
671  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
672  atmos_phy_sf_sfc_temp(:,:), & ! [IN]
673  var_name(i_sfc_temp), & ! [IN]
674  atmos_grid_cartesc_real_area(:,:), & ! [IN]
676  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
677  atmos_phy_sf_sfc_albedo(:,:,i_r_direct ,i_r_ir ), & ! [IN]
678  var_name(i_sfc_alb_ir_dir), & ! [IN]
679  atmos_grid_cartesc_real_area(:,:), & ! [IN]
681  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
683  var_name(i_sfc_alb_ir_dif), & ! [IN]
684  atmos_grid_cartesc_real_area(:,:), & ! [IN]
686  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
688  var_name(i_sfc_alb_nir_dir), & ! [IN]
689  atmos_grid_cartesc_real_area(:,:), & ! [IN]
691  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
693  var_name(i_sfc_alb_nir_dif), & ! [IN]
694  atmos_grid_cartesc_real_area(:,:), & ! [IN]
696  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
698  var_name(i_sfc_alb_vis_dir), & ! [IN]
699  atmos_grid_cartesc_real_area(:,:), & ! [IN]
701  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
703  var_name(i_sfc_alb_vis_dif), & ! [IN]
704  atmos_grid_cartesc_real_area(:,:), & ! [IN]
706  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
707  atmos_phy_sf_sfc_z0m(:,:), & ! [IN]
708  var_name(i_sfc_z0m), & ! [IN]
709  atmos_grid_cartesc_real_area(:,:), & ! [IN]
711  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
712  atmos_phy_sf_sfc_z0h(:,:), & ! [IN]
713  var_name(i_sfc_z0h), & ! [IN]
714  atmos_grid_cartesc_real_area(:,:), & ! [IN]
716  call statistics_total( ia, is, ie, ja, js, je, & ! [IN]
717  atmos_phy_sf_sfc_z0e(:,:), & ! [IN]
718  var_name(i_sfc_z0e), & ! [IN]
719  atmos_grid_cartesc_real_area(:,:), & ! [IN]
721 
722  return
723  end subroutine atmos_phy_sf_vars_check
724 
725 end module mod_atmos_phy_sf_vars
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0m
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0m
Definition: mod_atmos_phy_sf_vars.F90:66
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_sf_vars::atmos_phy_sf_restart_out_basename
character(len=h_long), public atmos_phy_sf_restart_out_basename
Basename of the output file.
Definition: mod_atmos_phy_sf_vars.F90:51
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_dens
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_dens
Definition: mod_atmos_phy_sf_vars.F90:71
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mu
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mu
Definition: mod_atmos_phy_sf_vars.F90:77
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
scale_cpl_sfc_index::i_r_direct
integer, parameter, public i_r_direct
Definition: scale_cpl_sfc_index.F90:37
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_out_aggregate
logical, public atmos_phy_sf_restart_out_aggregate
Switch to use aggregate file.
Definition: mod_atmos_phy_sf_vars.F90:52
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_restart_open
subroutine, public atmos_phy_sf_vars_restart_open
Open restart file for read.
Definition: mod_atmos_phy_sf_vars.F90:392
scale_tracer::qa
integer, public qa
Definition: scale_tracer.F90:34
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_check
subroutine atmos_phy_sf_vars_check
Definition: mod_atmos_phy_sf_vars.F90:622
mod_atmos_phy_sf_vars::atmos_phy_sf_v10
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_v10
Definition: mod_atmos_phy_sf_vars.F90:94
mod_atmos_phy_sf_vars::atmos_phy_sf_prec_mass
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_prec_mass
Definition: mod_atmos_phy_sf_vars.F90:74
scale_file_cartesc::file_cartesc_enddef
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
Definition: scale_file_cartesC.F90:943
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0e
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0e
Definition: mod_atmos_phy_sf_vars.F90:68
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
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_output
logical, public atmos_phy_sf_restart_output
output restart file?
Definition: mod_atmos_phy_sf_vars.F90:46
scale_precision
module PRECISION
Definition: scale_precision.F90:14
mod_atmos_phy_sf_vars::atmos_phy_sf_qstar
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_qstar
Definition: mod_atmos_phy_sf_vars.F90:90
mod_atmos_phy_sf_vars::atmos_phy_sf_prec_engi
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_prec_engi
Definition: mod_atmos_phy_sf_vars.F90:75
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_restart_def_var
subroutine, public atmos_phy_sf_vars_restart_def_var
Write restart.
Definition: mod_atmos_phy_sf_vars.F90:549
mod_atmos_phy_sf_vars::atmos_phy_sf_rhoh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_rhoh
Definition: mod_atmos_phy_sf_vars.F90:61
mod_atmos_phy_sf_vars::atmos_phy_sf_ustar
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_ustar
Definition: mod_atmos_phy_sf_vars.F90:88
mod_atmos_phy_sf_vars::atmos_phy_sf_wstar
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_wstar
Definition: mod_atmos_phy_sf_vars.F90:91
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
scale_cpl_sfc_index::i_r_ir
integer, parameter, public i_r_ir
Definition: scale_cpl_sfc_index.F90:29
scale_atmos_hydrometeor
module atmosphere / hydrometeor
Definition: scale_atmos_hydrometeor.F90:12
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mv
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mv
Definition: mod_atmos_phy_sf_vars.F90:78
mod_atmos_phy_sf_vars
module ATMOSPHERIC Surface Variables
Definition: mod_atmos_phy_sf_vars.F90:12
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_mw
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mw
Definition: mod_atmos_phy_sf_vars.F90:76
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_in_aggregate
logical, public atmos_phy_sf_restart_in_aggregate
Switch to use aggregate file.
Definition: mod_atmos_phy_sf_vars.F90:49
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_z0h
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0h
Definition: mod_atmos_phy_sf_vars.F90:67
scale_atmos_grid_cartesc_real
module Atmosphere GRID CartesC Real(real space)
Definition: scale_atmos_grid_cartesC_real.F90:11
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_temp
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_temp
Definition: mod_atmos_phy_sf_vars.F90:64
scale_file
module file
Definition: scale_file.F90:15
scale_prc
module PROCESS
Definition: scale_prc.F90:11
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_qvex
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_qvex
Definition: mod_atmos_phy_sf_vars.F90:82
mod_atmos_phy_sf_vars::atmos_phy_sf_u10
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_u10
Definition: mod_atmos_phy_sf_vars.F90:93
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
scale_cpl_sfc_index::i_r_nir
integer, parameter, public i_r_nir
Definition: scale_cpl_sfc_index.F90:30
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_restart_write
subroutine, public atmos_phy_sf_vars_restart_write
Write variables to restart file.
Definition: mod_atmos_phy_sf_vars.F90:574
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_restart_close
subroutine, public atmos_phy_sf_vars_restart_close
Close restart file.
Definition: mod_atmos_phy_sf_vars.F90:529
mod_atmos_phy_sf_vars::atmos_phy_sf_rhoq_t
real(rp), dimension(:,:,:), allocatable, public atmos_phy_sf_rhoq_t
Definition: mod_atmos_phy_sf_vars.F90:62
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_sf_vars::atmos_phy_sf_vars_restart_enddef
subroutine, public atmos_phy_sf_vars_restart_enddef
Exit netCDF define mode.
Definition: mod_atmos_phy_sf_vars.F90:515
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_shex
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_shex
Definition: mod_atmos_phy_sf_vars.F90:81
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_albedo
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_sf_sfc_albedo
Definition: mod_atmos_phy_sf_vars.F90:65
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_setup
subroutine, public atmos_phy_sf_vars_setup
Setup.
Definition: mod_atmos_phy_sf_vars.F90:189
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_fillhalo
subroutine, public atmos_phy_sf_vars_fillhalo
HALO Communication.
Definition: mod_atmos_phy_sf_vars.F90:352
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_sf_vars::atmos_phy_sf_rlmo
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_rlmo
Definition: mod_atmos_phy_sf_vars.F90:98
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
scale_atmos_grid_cartesc_index::is
integer, public is
start point of inner domain: x, local
Definition: scale_atmos_grid_cartesC_index.F90:53
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_restart_create
subroutine, public atmos_phy_sf_vars_restart_create
Create restart file.
Definition: mod_atmos_phy_sf_vars.F90:479
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_out_postfix_timelabel
logical, public atmos_phy_sf_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
Definition: mod_atmos_phy_sf_vars.F90:53
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_in_basename
character(len=h_long), public atmos_phy_sf_restart_in_basename
Basename of the input file.
Definition: mod_atmos_phy_sf_vars.F90:48
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_qv
real(rp), dimension(:,:), pointer, public atmos_phy_sf_sflx_qv
Definition: mod_atmos_phy_sf_vars.F90:86
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_out_dtype
character(len=h_short), public atmos_phy_sf_restart_out_dtype
REAL4 or REAL8.
Definition: mod_atmos_phy_sf_vars.F90:55
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_phy_sf_vars::atmos_phy_sf_sflx_qtrc
real(rp), dimension(:,:,:), allocatable, target, public atmos_phy_sf_sflx_qtrc
Definition: mod_atmos_phy_sf_vars.F90:84
scale_tracer
module TRACER
Definition: scale_tracer.F90:12
scale_atmos_hydrometeor::i_qv
integer, public i_qv
Definition: scale_atmos_hydrometeor.F90:77
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_engi
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_engi
Definition: mod_atmos_phy_sf_vars.F90:85
mod_atmos_phy_sf_vars::atmos_phy_sf_t2
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_t2
Definition: mod_atmos_phy_sf_vars.F90:95
scale_debug
module DEBUG
Definition: scale_debug.F90:11
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_lh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_lh
Definition: mod_atmos_phy_sf_vars.F90:80
mod_atmos_phy_sf_vars::atmos_phy_sf_dens_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_dens_t
Definition: mod_atmos_phy_sf_vars.F90:57
mod_atmos_phy_sf_vars::atmos_phy_sf_sfc_pres
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_pres
Definition: mod_atmos_phy_sf_vars.F90:72
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
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_out_title
character(len=h_mid), public atmos_phy_sf_restart_out_title
title of the output file
Definition: mod_atmos_phy_sf_vars.F90:54
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
mod_atmos_phy_sf_vars::atmos_phy_sf_restart_in_postfix_timelabel
logical, public atmos_phy_sf_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
Definition: mod_atmos_phy_sf_vars.F90:50
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
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_sh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_sh
Definition: mod_atmos_phy_sf_vars.F90:79
scale_file::file_get_aggregate
logical function, public file_get_aggregate(fid)
Definition: scale_file.F90:4844
mod_atmos_phy_sf_vars::atmos_phy_sf_q2
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_q2
Definition: mod_atmos_phy_sf_vars.F90:96
mod_atmos_phy_sf_vars::atmos_phy_sf_sflx_gh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_gh
Definition: mod_atmos_phy_sf_vars.F90:83
mod_atmos_phy_sf_vars::atmos_phy_sf_rhou_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_rhou_t
Definition: mod_atmos_phy_sf_vars.F90:59
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
mod_atmos_phy_sf_vars::atmos_phy_sf_vars_restart_read
subroutine, public atmos_phy_sf_vars_restart_read
Read restart.
Definition: mod_atmos_phy_sf_vars.F90:428
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_sf_vars::atmos_phy_sf_tstar
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_tstar
Definition: mod_atmos_phy_sf_vars.F90:89
mod_atmos_phy_sf_vars::atmos_phy_sf_momz_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_momz_t
Definition: mod_atmos_phy_sf_vars.F90:58
mod_atmos_phy_sf_vars::atmos_phy_sf_rhov_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_rhov_t
Definition: mod_atmos_phy_sf_vars.F90:60