13 #include "inc_openmp.h" 79 integer,
private,
parameter :: vmax = 12
80 integer,
private,
parameter :: i_sflx_lw_up = 1
81 integer,
private,
parameter :: i_sflx_lw_dn = 2
82 integer,
private,
parameter :: i_sflx_sw_up = 3
83 integer,
private,
parameter :: i_sflx_sw_dn = 4
84 integer,
private,
parameter :: i_toaflx_lw_up = 5
85 integer,
private,
parameter :: i_toaflx_lw_dn = 6
86 integer,
private,
parameter :: i_toaflx_sw_up = 7
87 integer,
private,
parameter :: i_toaflx_sw_dn = 8
88 integer,
private,
parameter :: i_sflx_lw_dir = 9
89 integer,
private,
parameter :: i_sflx_lw_dif = 10
90 integer,
private,
parameter :: i_sflx_sw_dir = 11
91 integer,
private,
parameter :: i_sflx_sw_dif = 12
93 character(len=H_SHORT),
private :: var_name(vmax)
94 character(len=H_MID),
private :: var_desc(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', &
111 data var_desc /
'surface upward longwave flux', &
112 'surface downward longwave flux', &
113 'surface upward shortwave flux', &
114 'surface downward shortwave flux', &
115 'TOA upward longwave flux', &
116 'TOA downward longwave flux', &
117 'TOA upward shortwave flux', &
118 'TOA downward shortwave flux', &
119 'sfc. down. longwave flux direct', &
120 'sfc. down. longwave flux diffuse', &
121 'sfc. down. shortwave flux direct', &
122 'sfc. down. shortwave flux diffuse' /
123 data var_unit /
'W/m2', &
147 namelist / param_atmos_phy_rd_vars / &
159 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[VARS] / Categ[ATMOS PHY_RD] / Origin[SCALE-RM]' 191 read(
io_fid_conf,nml=param_atmos_phy_rd_vars,iostat=ierr)
193 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 194 elseif( ierr > 0 )
then 195 write(*,*)
'xxx Not appropriate names in namelist PARAM_ATMOS_PHY_RD_VARS. Check!' 201 if(
io_l )
write(
io_fid_log,*)
'*** [ATMOS_PHY_RD] prognostic/diagnostic variables' 203 '*** |',
'VARNAME ',
'|',
'DESCRIPTION ',
'[',
'UNIT ',
']' 206 '*** NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']' 287 if(
io_l )
write(
io_fid_log,*)
'*** Input restart file (ATMOS_PHY_RD) ***' 332 if(
io_l )
write(
io_fid_log,*)
'*** restart file for ATMOS_PHY_RD is not specified.' 349 character(len=20) :: timelabel
350 character(len=H_LONG) :: basename
361 if(
io_l )
write(
io_fid_log,*)
'*** Output restart file (ATMOS_PHY_RD) ***' 416 real(RP),
intent(in) :: init_value_in
446 character(len=20) :: timelabel
447 character(len=H_LONG) :: basename
457 if(
io_l )
write(
io_fid_log,*)
'*** Output restart file (ATMOS_PHY_RD) ***' 475 if ( restart_fid .NE. -1 )
then 489 if ( restart_fid .NE. -1 )
then 504 character(len=20) :: timelabel
505 character(len=H_LONG) :: basename
509 if ( restart_fid .NE. -1 )
then 511 call fileio_def_var( restart_fid, var_id(1), var_name(1) , var_desc(1) , var_unit(1) , &
513 call fileio_def_var( restart_fid, var_id(2), var_name(2) , var_desc(2) , var_unit(2) , &
515 call fileio_def_var( restart_fid, var_id(3), var_name(3) , var_desc(3) , var_unit(3) , &
517 call fileio_def_var( restart_fid, var_id(4), var_name(4) , var_desc(4) , var_unit(4) , &
519 call fileio_def_var( restart_fid, var_id(5), var_name(5) , var_desc(5) , var_unit(5) , &
521 call fileio_def_var( restart_fid, var_id(6), var_name(6) , var_desc(6) , var_unit(6) , &
523 call fileio_def_var( restart_fid, var_id(7), var_name(7) , var_desc(7) , var_unit(7) , &
525 call fileio_def_var( restart_fid, var_id(8), var_name(8) , var_desc(8) , var_unit(8) , &
527 call fileio_def_var( restart_fid, var_id(9), var_name(9) , var_desc(9) , var_unit(9) , &
529 call fileio_def_var( restart_fid, var_id(10), var_name(10), var_desc(10), var_unit(10), &
531 call fileio_def_var( restart_fid, var_id(11), var_name(11), var_desc(11), var_unit(11), &
533 call fileio_def_var( restart_fid, var_id(12), var_name(12), var_desc(12), var_unit(12), &
553 if ( restart_fid .NE. -1 )
then subroutine, public atmos_phy_rd_vars_restart_close
Close restart file.
subroutine, public atmos_phy_rd_vars_restart_create
Create restart file.
subroutine, public prc_mpistop
Abort MPI.
character(len=h_long), public atmos_phy_rd_restart_in_basename
basename of the restart file
subroutine, public atmos_phy_rd_vars_external_in(init_value_in)
Input from External I/O.
logical, public io_l
output log or not? (this process)
character(len=h_mid), public atmos_phy_rd_restart_out_title
title of the output file
real(rp), dimension(:,:,:), allocatable, public atmos_phy_rd_rhot_t
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_up
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_sw_up
real(rp), public const_undef
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_lw_dn
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_cossza
module Atmosphere / Physics Radiation
character(len=h_long), public atmos_phy_rd_restart_out_basename
basename of the output file
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_up
subroutine, public fileio_def_var(fid, vid, varname, desc, unit, axistype, datatype, timeintv)
Define a variable to file.
integer, public ia
of x whole cells (local, with HALO)
subroutine, public atmos_phy_rd_vars_restart_def_var
Define variables in restart file.
subroutine, public time_gettimelabel(timelabel)
generate time label
integer, public ka
of z whole cells (local, with HALO)
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_sflx_sw_dn
subroutine, public fileio_create(fid, basename, title, datatype, date, subsec, append, nozcoord)
Create/open a netCDF file.
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_lw_dn
logical, public atmos_phy_rd_restart_output
output restart file?
subroutine, public atmos_phy_rd_vars_setup
Setup.
character(len=h_mid), public atmos_phy_rd_restart_out_dtype
REAL4 or REAL8.
subroutine, public atmos_phy_rd_vars_restart_write
Write restart.
subroutine, public fileio_enddef(fid)
Exit netCDF file define mode.
subroutine, public atmos_phy_rd_vars_restart_write_var
Write variables to restart file.
real(rp), dimension(:,:,:,:), allocatable, public atmos_phy_rd_sflx_downall
subroutine, public atmos_phy_rd_vars_restart_enddef
Exit netCDF define mode.
logical, public io_lnml
output log or not? (for namelist, this process)
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_sw_dn
subroutine, public atmos_phy_rd_vars_restart_read
Read restart.
subroutine, public atmos_phy_rd_vars_fillhalo
HALO Communication.
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.
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_solins
real(rp), dimension(:,:), allocatable, public atmos_phy_rd_toaflx_lw_up
integer, public ja
of y whole cells (local, with HALO)