Go to the documentation of this file.
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
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
99 data var_name /
'SFLX_LW_up', &
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', &
127 namelist / param_atmos_phy_rd_vars / &
143 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Setup'
176 read(
io_fid_conf,nml=param_atmos_phy_rd_vars,iostat=ierr)
178 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Not found namelist. Default used.'
179 elseif( ierr > 0 )
then
180 log_error(
"ATMOS_PHY_RD_vars_setup",*)
'Not appropriate names in namelist PARAM_ATMOS_PHY_RD_VARS. Check!'
183 log_nml(param_atmos_phy_rd_vars)
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 ',
']'
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),
']'
200 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Restart input? : NO'
207 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Restart output? : NO'
222 integer :: n ,idir, irgn
271 character(len=19) :: timelabel
272 character(len=H_LONG) :: basename
276 log_info(
"ATMOS_PHY_RD_vars_restart_open",*)
'Open restart file (ATMOS_PHY_RD) '
287 log_info(
"ATMOS_PHY_RD_vars_restart_open",*)
'basename: ', trim(basename)
291 log_info(
"ATMOS_PHY_RD_vars_restart_open",*)
'restart file for ATMOS_PHY_RD is not specified.'
308 if ( restart_fid /= -1 )
then
310 log_info(
"ATMOS_PHY_RD_vars_restart_read",*)
'Read from restart file (ATMOS_PHY_RD) '
312 call file_cartesc_read( restart_fid, var_name(i_sflx_lw_up),
'XY', &
314 call file_cartesc_read( restart_fid, var_name(i_sflx_lw_dn),
'XY', &
316 call file_cartesc_read( restart_fid, var_name(i_sflx_sw_up),
'XY', &
318 call file_cartesc_read( restart_fid, var_name(i_sflx_sw_dn),
'XY', &
330 log_info(
"ATMOS_PHY_RD_vars_restart_read",*)
'invalid restart file ID for ATMOS_PHY_RD.'
345 character(len=19) :: timelabel
346 character(len=H_LONG) :: basename
352 log_info(
"ATMOS_PHY_RD_vars_restart_create",*)
'Create restart file (ATMOS_PHY_AE) '
361 log_info(
"ATMOS_PHY_RD_vars_restart_create",*)
'basename: ', trim(basename)
380 if ( restart_fid /= -1 )
then
395 if ( restart_fid /= -1 )
then
397 log_info(
"ATMOS_PHY_RD_vars_restart_close",*)
'Close restart file (ATMOS_PHY_RD) '
417 if ( restart_fid /= -1 )
then
421 var_name(i), var_desc(i), var_unit(i), &
424 standard_name=var_stdn(i) )
435 file_cartesc_write_var
439 if ( restart_fid /= -1 )
then
445 call file_cartesc_write_var( restart_fid, var_id(i_sflx_lw_up), &
447 var_name(i_sflx_lw_up),
'XY' )
448 call file_cartesc_write_var( restart_fid, var_id(i_sflx_lw_dn), &
450 var_name(i_sflx_lw_dn),
'XY' )
451 call file_cartesc_write_var( restart_fid, var_id(i_sflx_sw_up), &
453 var_name(i_sflx_sw_up),
'XY' )
454 call file_cartesc_write_var( restart_fid, var_id(i_sflx_sw_dn), &
456 var_name(i_sflx_sw_dn),
'XY' )
475 0.0_rp, 1.0e4_rp, var_name(i_sflx_lw_up), &
479 0.0_rp, 1.0e4_rp, var_name(i_sflx_lw_dn), &
483 0.0_rp, 1.0e4_rp, var_name(i_sflx_sw_up), &
487 0.0_rp, 1.0e4_rp, var_name(i_sflx_sw_dn), &
492 var_name(i_sflx_lw_up), &
497 var_name(i_sflx_lw_dn), &
502 var_name(i_sflx_sw_up), &
507 var_name(i_sflx_sw_dn), &
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_rd_sflx_down
integer, parameter, public n_rad_dir
subroutine, public atmos_phy_rd_vars_restart_create
Create restart file.
logical, public atmos_phy_rd_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
subroutine, public prc_abort
Abort Process.
real(rp), dimension(:,:,:), allocatable, public atmos_phy_rd_rhoh
integer, parameter, public i_r_direct
logical, public atmos_phy_rd_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
subroutine, public atmos_phy_rd_vars_restart_close
Close restart file.
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
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.
integer, parameter, public i_r_diffuse
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_lw_dn
real(rp), public atmos_grid_cartesc_real_totarea
total area (xy, local) [m2]
character(len=h_long), public atmos_phy_rd_restart_in_basename
Basename of the input file.
integer, parameter, public i_r_ir
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_cossza
subroutine, public atmos_phy_rd_vars_restart_open
Open restart file for read.
character(len=h_mid), public atmos_phy_rd_restart_out_title
title of the output file
module Atmosphere / Physics Radiation
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_sw_up
subroutine atmos_phy_rd_vars_check
module Atmosphere GRID CartesC Real(real space)
logical, public atmos_phy_rd_restart_out_aggregate
Switch to use aggregate file.
integer, parameter, public rp
integer, public ie
end point of inner domain: x, local
logical, public atmos_phy_rd_restart_in_aggregate
Switch to use aggregate file.
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_dn
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_dn
character(len=h_long), public atmos_phy_rd_restart_out_basename
Basename of the output file.
module atmosphere / grid / cartesC index
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_up
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_up
subroutine, public atmos_phy_rd_vars_restart_def_var
Define variables in restart file.
subroutine, public atmos_phy_rd_vars_restart_write
Write variables to restart file.
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
logical, public atmos_phy_rd_restart_output
output restart file?
real(rp), dimension(:,:), allocatable, public atmos_grid_cartesc_real_area
horizontal area ( xy, normal z) [m2]
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_sw_dn
integer, public is
start point of inner domain: x, local
subroutine, public atmos_phy_rd_vars_setup
Setup.
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_tomflx_lw_up
subroutine, public atmos_phy_rd_vars_restart_read
Read restart.
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
subroutine, public file_cartesc_open(basename, fid, aggregate)
open a netCDF file for read
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
subroutine, public time_gettimelabel(timelabel)
generate time label
module coupler / surface-atmospehre
integer, public js
start point of inner domain: y, local
integer, parameter, public i_r_vis
logical function, public file_get_aggregate(fid)
character(len=h_short), public atmos_phy_rd_restart_out_dtype
REAL4 or REAL8.
subroutine, public atmos_phy_rd_vars_restart_enddef
Exit netCDF define mode.
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_solins
subroutine, public atmos_phy_rd_vars_fillhalo
HALO Communication.
integer, parameter, public n_rad_rgn
real(rp), public const_undef
integer, public io_fid_conf
Config file ID.
integer, public je
end point of inner domain: y, local