Go to the documentation of this file.
87 integer,
private,
parameter :: vmax = 4
88 integer,
private,
parameter :: i_sflx_lw_up = 1
89 integer,
private,
parameter :: i_sflx_lw_dn = 2
90 integer,
private,
parameter :: i_sflx_sw_up = 3
91 integer,
private,
parameter :: i_sflx_sw_dn = 4
93 character(len=H_SHORT),
private :: var_name(vmax)
94 character(len=H_MID),
private :: var_desc(vmax)
95 character(len=H_MID),
private :: var_stdn(vmax)
96 character(len=H_SHORT),
private :: var_unit(vmax)
97 integer,
private :: var_id(vmax)
98 integer,
private :: restart_fid = -1
100 data var_name /
'SFLX_LW_up', &
104 data var_desc /
'surface upward longwave flux', &
105 'surface downward longwave flux', &
106 'surface upward shortwave flux', &
107 'surface downward shortwave flux' /
108 data var_stdn /
'surface_upwelling_longwave_flux_in_air', &
109 'surface_downwelling_longwave_flux_in_air', &
110 'surface_upwelling_shortwave_flux_in_air', &
111 'surface_downwelling_shortwave_flux_in_air' /
112 data var_unit /
'W/m2', &
128 namelist / param_atmos_phy_rd_vars / &
144 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Setup'
182 read(
io_fid_conf,nml=param_atmos_phy_rd_vars,iostat=ierr)
184 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Not found namelist. Default used.'
185 elseif( ierr > 0 )
then
186 log_error(
"ATMOS_PHY_RD_vars_setup",*)
'Not appropriate names in namelist PARAM_ATMOS_PHY_RD_VARS. Check!'
189 log_nml(param_atmos_phy_rd_vars)
192 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'[ATMOS_PHY_RD] prognostic/diagnostic variables'
193 log_info_cont(
'(1x,A,A24,A,A48,A,A12,A)') &
194 ' |',
'VARNAME ',
'|', &
195 'DESCRIPTION ',
'[',
'UNIT ',
']'
197 log_info_cont(
'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
198 'NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']'
206 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Restart input? : NO'
213 log_info(
"ATMOS_PHY_RD_vars_setup",*)
'Restart output? : NO'
227 log_info(
"ATMOS_PHY_RD_vars_finalize",*)
'Finalize'
262 integer :: n ,idir, irgn
311 character(len=19) :: timelabel
312 character(len=H_LONG) :: basename
316 log_info(
"ATMOS_PHY_RD_vars_restart_open",*)
'Open restart file (ATMOS_PHY_RD) '
327 log_info(
"ATMOS_PHY_RD_vars_restart_open",*)
'basename: ', trim(basename)
331 log_info(
"ATMOS_PHY_RD_vars_restart_open",*)
'restart file for ATMOS_PHY_RD is not specified.'
348 if ( restart_fid /= -1 )
then
350 log_info(
"ATMOS_PHY_RD_vars_restart_read",*)
'Read from restart file (ATMOS_PHY_RD) '
352 call file_cartesc_read( restart_fid, var_name(i_sflx_lw_up),
'XY', &
354 call file_cartesc_read( restart_fid, var_name(i_sflx_lw_dn),
'XY', &
356 call file_cartesc_read( restart_fid, var_name(i_sflx_sw_up),
'XY', &
358 call file_cartesc_read( restart_fid, var_name(i_sflx_sw_dn),
'XY', &
371 log_info(
"ATMOS_PHY_RD_vars_restart_read",*)
'invalid restart file ID for ATMOS_PHY_RD.'
386 character(len=19) :: timelabel
387 character(len=H_LONG) :: basename
393 log_info(
"ATMOS_PHY_RD_vars_restart_create",*)
'Create restart file (ATMOS_PHY_AE) '
402 log_info(
"ATMOS_PHY_RD_vars_restart_create",*)
'basename: ', trim(basename)
421 if ( restart_fid /= -1 )
then
436 if ( restart_fid /= -1 )
then
438 log_info(
"ATMOS_PHY_RD_vars_restart_close",*)
'Close restart file (ATMOS_PHY_RD) '
458 if ( restart_fid /= -1 )
then
462 var_name(i), var_desc(i), var_unit(i), &
465 standard_name=var_stdn(i) )
476 file_cartesc_write_var
480 if ( restart_fid /= -1 )
then
486 call file_cartesc_write_var( restart_fid, var_id(i_sflx_lw_up), &
488 var_name(i_sflx_lw_up),
'XY' )
489 call file_cartesc_write_var( restart_fid, var_id(i_sflx_lw_dn), &
491 var_name(i_sflx_lw_dn),
'XY' )
492 call file_cartesc_write_var( restart_fid, var_id(i_sflx_sw_up), &
494 var_name(i_sflx_sw_up),
'XY' )
495 call file_cartesc_write_var( restart_fid, var_id(i_sflx_sw_dn), &
497 var_name(i_sflx_sw_dn),
'XY' )
516 0.0_rp, 1.0e4_rp, var_name(i_sflx_lw_up), &
520 0.0_rp, 1.0e4_rp, var_name(i_sflx_lw_dn), &
524 0.0_rp, 1.0e4_rp, var_name(i_sflx_sw_up), &
528 0.0_rp, 1.0e4_rp, var_name(i_sflx_sw_dn), &
533 var_name(i_sflx_lw_up), &
538 var_name(i_sflx_lw_dn), &
543 var_name(i_sflx_sw_up), &
548 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)
subroutine, public atmos_phy_rd_vars_finalize
Finalize.
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_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)
subroutine, public file_cartesc_open(basename, fid, single, aggregate)
open a netCDF file for read
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