13 #include "inc_openmp.h" 57 real(RP),
public,
allocatable ::
prog(:,:,:,:)
67 integer,
private,
parameter :: vmax = 100
68 character(len=H_SHORT),
private :: var_name(vmax)
69 character(len=H_MID),
private :: var_desc(vmax)
70 character(len=H_SHORT),
private :: var_unit(vmax)
71 integer,
private :: var_id(vmax)
72 integer,
private :: restart_fid = -1
89 namelist / param_atmos_dyn_vars / &
103 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[VARS] / Categ[ATMOS DYN] / Origin[SCALE-RM]' 107 read(
io_fid_conf,nml=param_atmos_dyn_vars,iostat=ierr)
109 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 110 elseif( ierr > 0 )
then 111 write(*,*)
'xxx Not appropriate names in namelist PARAM_ATMOS_DYN_VARS. Check!' 124 if (
va > vmax )
then 125 write(*,*)
'xxx number of the prognostic variables is exceed the limit',
va,
' > ', vmax
129 prog(:,:,:,:) = undef
132 if(
io_l )
write(
io_fid_log,*)
'*** [ATMOS_DYN] prognostic/diagnostic variables' 134 '*** |',
'VARNAME ',
'|', &
135 'DESCRIPTION ',
'[',
'UNIT ',
']' 137 if(
io_l )
write(
io_fid_log,
'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
138 '*** NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']' 160 prog(:,:,:,:) = undef
187 call comm_vars8(
prog(:,:,:,iv), iv )
191 call comm_wait (
prog(:,:,:,iv), iv )
206 character(len=19) :: timelabel
207 character(len=H_LONG) :: basename
211 if(
io_l )
write(
io_fid_log,*)
'*** Open restart file (ATMOS_DYN) ***' 226 if(
io_l )
write(
io_fid_log,*)
'*** restart file for ATMOS_DYN is not specified.' 247 if ( restart_fid /= -1 )
then 249 if(
io_l )
write(
io_fid_log,*)
'*** Read from restart file (ATMOS_DYN) ***' 252 call fileio_read(
prog(:,:,:,iv), &
253 restart_fid, var_name(iv),
'ZXY', step=1 )
275 call stat_total( total,
prog(:,:,:,iv), var_name(iv) )
279 if(
io_l )
write(
io_fid_log,*)
'*** invalid restart file ID for ATMOS_DYN.' 293 character(len=19) :: timelabel
294 character(len=H_LONG) :: basename
300 if(
io_l )
write(
io_fid_log,*)
'*** Create restart file (ATMOS_DYN) ***' 326 if ( restart_fid /= -1 )
then 341 if ( restart_fid /= -1 )
then 343 if(
io_l )
write(
io_fid_log,*)
'*** Close restart file (ATMOS_DYN) ***' 363 if ( restart_fid /= -1 )
then 366 call fileio_def_var( restart_fid, var_id(iv), var_name(iv), var_desc(iv), &
389 if ( restart_fid /= -1 )
then 395 call stat_total( total,
prog(:,:,:,iv), var_name(iv) )
400 call fileio_write_var( restart_fid, var_id(iv),
prog(:,:,:,iv), var_name(iv),
'ZXY' )
logical, public atmos_dyn_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
integer, public is
start point of inner domain: x, local
subroutine, public atmos_dyn_vars_restart_def_var
Define variables in restart file.
logical, public statistics_checktotal
calc&report variable totals to logfile?
integer, public je
end point of inner domain: y, local
subroutine, public atmos_dyn_vars_restart_open
Open restart file for read.
subroutine, public prc_mpistop
Abort MPI.
character(len=h_short), public atmos_dyn_restart_out_dtype
REAL4 or REAL8.
module Atmosphere / Dynamical scheme
character(len=h_long), public atmos_dyn_restart_in_basename
Basename of the input file.
logical, public io_l
output log or not? (this process)
subroutine, public atmos_dyn_vars_restart_enddef
Exit netCDF define mode.
module Atmosphere / Dynamics
subroutine, public fileio_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
subroutine, public atmos_dyn_vars_restart_close
Close restart file.
integer, public ke
end point of inner domain: z, local
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_mid), public atmos_dyn_restart_out_title
title of the output file
real(rp), public const_undef
logical, public io_nml
output log or not? (for namelist, this process)
integer, public ia
of whole cells: x, local, with HALO
subroutine, public time_gettimelabel(timelabel)
generate time label
integer, public ka
of whole cells: z, local, with HALO
logical, public atmos_dyn_restart_output
output restart file?
subroutine, public fileio_create(fid, basename, title, datatype, date, subsec, append, nozcoord)
Create/open a netCDF file.
integer, public js
start point of inner domain: y, local
subroutine, public atmos_dyn_vars_restart_read
Read restart.
subroutine, public atmos_dyn_tstep_short_regist(ATMOS_DYN_TYPE, VA_out, VAR_NAME, VAR_DESC, VAR_UNIT)
Register.
real(rp), dimension(:,:,:,:), allocatable, public prog
integer, public ks
start point of inner domain: z, local
subroutine, public atmos_dyn_vars_setup
Setup.
subroutine, public fileio_enddef(fid)
Exit netCDF file define mode.
integer, public ie
end point of inner domain: x, local
logical, public io_aggregate
do parallel I/O through PnetCDF
subroutine, public fileio_open(fid, basename)
open a netCDF file for read
subroutine, public fileio_def_var(fid, vid, varname, desc, unit, axistype, datatype, timeintv, nsteps)
Define a variable to file.
character(len=h_short), public atmos_dyn_type
subroutine, public fileio_close(fid)
Close a netCDF file.
integer, public io_fid_conf
Config file ID.
integer, public io_fid_log
Log file ID.
subroutine, public atmos_dyn_vars_restart_create
Create restart file.
integer, public io_fid_nml
Log file ID (only for output namelist)
character(len=h_long), public atmos_dyn_restart_out_basename
Basename of the output file.
integer, public ja
of whole cells: y, local, with HALO