Go to the documentation of this file.
59 real(
rp),
public,
allocatable ::
prog(:,:,:,:)
69 integer,
private,
parameter :: vmax = 100
70 character(len=H_SHORT),
private :: var_name(vmax)
71 character(len=H_MID),
private :: var_desc(vmax)
72 character(len=H_SHORT),
private :: var_unit(vmax)
73 integer,
private :: var_id(vmax)
74 integer,
private :: restart_fid = -1
91 namelist / param_atmos_dyn_vars / &
107 log_info(
"ATMOS_DYN_vars_setup",*)
'Setup'
111 read(
io_fid_conf,nml=param_atmos_dyn_vars,iostat=ierr)
113 log_info(
"ATMOS_DYN_vars_setup",*)
'Not found namelist. Default used.'
114 elseif( ierr > 0 )
then
115 log_error(
"ATMOS_DYN_vars_setup",*)
'Not appropriate names in namelist PARAM_ATMOS_DYN_VARS. Check!'
118 log_nml(param_atmos_dyn_vars)
128 if (
va > vmax )
then
129 log_error(
"ATMOS_DYN_vars_setup",*)
'number of the prognostic variables is exceed the limit',
va,
' > ', vmax
133 prog(:,:,:,:) = undef
136 log_info(
"ATMOS_DYN_vars_setup",*)
'[ATMOS_DYN] prognostic/diagnostic variables'
137 log_info_cont(
'(1x,A,A24,A,A48,A,A12,A)') &
138 ' |',
'VARNAME ',
'|', &
139 'DESCRIPTION ',
'[',
'UNIT ',
']'
141 log_info_cont(
'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
142 'NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']'
150 log_info(
"ATMOS_DYN_vars_setup",*)
'Restart input? : NO'
157 log_info(
"ATMOS_DYN_vars_setup",*)
'Restart output? : NO'
164 prog(:,:,:,:) = undef
181 log_info(
"ATMOS_DYN_vars_finalize",*)
'Finalize'
183 if (
allocated(
prog ) )
then
212 call comm_vars8(
prog(:,:,:,iv), iv )
216 call comm_wait (
prog(:,:,:,iv), iv )
231 character(len=19) :: timelabel
232 character(len=H_LONG) :: basename
238 log_info(
"ATMOS_DYN_vars_restart_open",*)
'Open restart file (ATMOS_DYN) '
249 log_info(
"ATMOS_DYN_vars_restart_open",*)
'basename: ', trim(basename)
253 log_info(
"ATMOS_DYN_vars_restart_open",*)
'restart file for ATMOS_DYN is not specified.'
274 if ( restart_fid /= -1 )
then
276 log_info(
"ATMOS_DYN_vars_restart_read",*)
'Read from restart file (ATMOS_DYN) '
279 call file_cartesc_read( restart_fid, var_name(iv),
'ZXY', &
307 log_error(
"ATMOS_DYN_vars_restart_read",*)
'invalid restart file ID for ATMOS_DYN.'
323 character(len=19) :: timelabel
324 character(len=H_LONG) :: basename
332 log_info(
"ATMOS_DYN_vars_restart_create",*)
'Create restart file (ATMOS_DYN) '
341 log_info(
"ATMOS_DYN_vars_restart_create",*)
'basename: ', trim(basename)
360 if ( restart_fid /= -1 .and.
va > 0 )
then
375 if ( restart_fid /= -1 )
then
377 log_info(
"ATMOS_DYN_vars_restart_close",*)
'Close restart file (ATMOS_DYN) '
397 if ( restart_fid /= -1 )
then
413 file_cartesc_write_var
419 if ( restart_fid /= -1 )
then
427 call file_cartesc_write_var( restart_fid, var_id(iv),
prog(:,:,:,iv), var_name(iv),
'ZXY' )
447 -1.0e20_rp, 1.0e20_rp, var_name(iv), &
450 prog(:,:,:,iv), var_name(iv), &
integer, public ke
end point of inner domain: z, local
subroutine, public prc_abort
Abort Process.
module Atmosphere / Dynamics
subroutine atmos_dyn_vars_check
subroutine, public atmos_dyn_vars_finalize
Finalize.
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.
real(rp), dimension(:,:,:,:), allocatable, public prog
subroutine, public atmos_dyn_vars_restart_read
Read restart.
module Atmosphere GRID CartesC Real(real space)
subroutine, public atmos_dyn_vars_restart_open
Open restart file for read.
integer, parameter, public rp
integer, public ie
end point of inner domain: x, local
subroutine, public atmos_dyn_vars_restart_create
Create restart file.
module atmosphere / grid / cartesC index
real(rp), dimension(:,:,:), allocatable, public atmos_grid_cartesc_real_vol
control volume (zxy) [m3]
logical, public atmos_dyn_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
integer, public is
start point of inner domain: x, local
logical, public atmos_dyn_restart_out_aggregate
Switch to use aggregate file.
module Atmosphere / Dynamical scheme
subroutine, public atmos_dyn_vars_restart_write
Write variables to restart file.
logical, public atmos_dyn_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
subroutine, public atmos_dyn_vars_fillhalo
HALO Communication.
character(len=h_long), public atmos_dyn_restart_in_basename
Basename of the input file.
logical, public atmos_dyn_restart_in_aggregate
Switch to use aggregate file.
subroutine, public atmos_dyn_vars_restart_enddef
Exit netCDF define mode.
integer, public ks
start point of inner domain: z, local
character(len=h_long), public atmos_dyn_restart_out_basename
Basename of the output file.
subroutine, public atmos_dyn_vars_restart_close
Close restart file.
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
subroutine, public atmos_dyn_vars_restart_def_var
Define variables in restart file.
character(len=h_short), public atmos_dyn_type
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
subroutine, public time_gettimelabel(timelabel)
generate time label
subroutine, public atmos_dyn_tstep_short_regist(ATMOS_DYN_TYPE, VA_out, VAR_NAME, VAR_DESC, VAR_UNIT)
Register.
integer, public js
start point of inner domain: y, local
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_dyn_restart_out_dtype
REAL4 or REAL8.
character(len=h_mid), public atmos_dyn_restart_out_title
title of the output file
real(rp), public atmos_grid_cartesc_real_totvol
total volume (zxy, local) [m3]
real(rp), public const_undef
integer, public io_fid_conf
Config file ID.
integer, public je
end point of inner domain: y, local
logical, public atmos_dyn_restart_output
output restart file?
subroutine, public atmos_dyn_vars_setup
Setup.