14 #include "inc_openmp.h" 75 integer,
private,
parameter :: vmax = 2
76 integer,
private,
parameter :: i_sflx_rain = 1
77 integer,
private,
parameter :: i_sflx_snow = 2
79 character(len=H_SHORT),
private :: var_name(vmax)
80 character(len=H_MID),
private :: var_desc(vmax)
81 character(len=H_SHORT),
private :: var_unit(vmax)
82 integer,
private :: var_id(vmax)
83 integer,
private :: restart_fid = -1
85 data var_name /
'SFLX_rain', &
87 data var_desc /
'precipitation flux (liquid)', &
88 'precipitation flux (solid)' /
89 data var_unit /
'kg/m2/s', &
106 namelist / param_atmos_phy_mp_vars / &
120 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[VARS] / Categ[ATMOS PHY_MP] / Origin[SCALE-RM]' 145 read(
io_fid_conf,nml=param_atmos_phy_mp_vars,iostat=ierr)
147 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 148 elseif( ierr > 0 )
then 149 write(*,*)
'xxx Not appropriate names in namelist PARAM_ATMOS_PHY_MP_VARS. Check!' 155 if(
io_l )
write(
io_fid_log,*)
'*** [ATMOS_PHY_MP] prognostic/diagnostic variables' 157 '*** |',
'VARNAME ',
'|', &
158 'DESCRIPTION ',
'[',
'UNIT ',
']' 160 if(
io_l )
write(
io_fid_log,
'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
161 '*** NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']' 209 character(len=19) :: timelabel
210 character(len=H_LONG) :: basename
214 if(
io_l )
write(
io_fid_log,*)
'*** Open restart file (ATMOS_PHY_MP) ***' 229 if(
io_l )
write(
io_fid_log,*)
'*** restart file for ATMOS_PHY_MP is not specified.' 249 if ( restart_fid /= -1 )
then 251 if(
io_l )
write(
io_fid_log,*)
'*** Read from restart file (ATMOS_PHY_MP) ***' 254 restart_fid, var_name(1),
'XY', step=1 )
256 restart_fid, var_name(2),
'XY', step=1 )
269 if(
io_l )
write(
io_fid_log,*)
'*** invalid restart file ID for ATMOS_PHY_MP.' 284 character(len=19) :: timelabel
285 character(len=H_LONG) :: basename
291 if(
io_l )
write(
io_fid_log,*)
'*** Create restart file (ATMOS_PHY_AE) ***' 317 if ( restart_fid /= -1 )
then 332 if ( restart_fid /= -1 )
then 334 if(
io_l )
write(
io_fid_log,*)
'*** Close restart file (ATMOS_PHY_MP) ***' 352 if ( restart_fid /= -1 )
then 354 call fileio_def_var( restart_fid, var_id(1), var_name(1), var_desc(1), &
356 call fileio_def_var( restart_fid, var_id(2), var_name(2), var_desc(2), &
377 if ( restart_fid /= -1 )
then real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_mp_rhoq_t
logical, public statistics_checktotal
calc&report variable totals to logfile?
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_momy_t
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_phy_mp_vars_restart_enddef
Exit netCDF define mode.
module Atmosphere / Physics Cloud Microphysics
logical, public io_l
output log or not? (this process)
character(len=h_long), public atmos_phy_mp_restart_in_basename
Basename of the input file.
subroutine, public fileio_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
module ATMOSPHERE / Physics Cloud Microphysics
logical, public atmos_phy_mp_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
subroutine, public atmos_phy_mp_vars_restart_def_var
Define variables in restart file.
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_momz_t
real(rp), dimension(:,:), allocatable, public atmos_phy_mp_sflx_rain
real(rp), public const_undef
character(len=h_mid), public atmos_phy_mp_restart_out_title
title of the output file
logical, public io_nml
output log or not? (for namelist, this process)
integer, public ia
of whole cells: x, local, with HALO
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_rhot_t
subroutine, public time_gettimelabel(timelabel)
generate time label
integer, public ka
of whole cells: z, local, with HALO
character(len=h_long), public atmos_phy_mp_restart_out_basename
Basename of the output file.
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_dens_t
subroutine, public atmos_phy_mp_vars_restart_create
Create restart file.
subroutine, public fileio_create(fid, basename, title, datatype, date, subsec, append, nozcoord)
Create/open a netCDF file.
logical, public atmos_phy_mp_restart_output
output restart file?
subroutine, public atmos_phy_mp_vars_fillhalo
HALO Communication.
character(len=h_short), public atmos_phy_mp_restart_out_dtype
REAL4 or REAL8.
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_evaporate
subroutine, public atmos_phy_mp_vars_restart_open
Open restart file for read.
subroutine, public fileio_enddef(fid)
Exit netCDF file define mode.
real(rp), dimension(:,:), allocatable, public atmos_phy_mp_sflx_snow
subroutine, public atmos_phy_mp_vars_setup
Setup.
subroutine, public atmos_phy_mp_vars_restart_write
Write restart.
subroutine, public atmos_phy_mp_vars_restart_read
Read restart.
subroutine, public atmos_phy_mp_vars_restart_close
Close restart file.
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.
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.
integer, public io_fid_nml
Log file ID (only for output namelist)
logical, public atmos_phy_mp_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
real(rp), dimension(:,:,:), allocatable, public atmos_phy_mp_momx_t
integer, public ja
of whole cells: y, local, with HALO