91 integer,
private,
parameter :: vmax = 6
92 integer,
private,
parameter :: i_sfc_temp = 1
93 integer,
private,
parameter :: i_sfc_albedo_lw = 2
94 integer,
private,
parameter :: i_sfc_albedo_sw = 3
95 integer,
private,
parameter :: i_sfc_z0m = 4
96 integer,
private,
parameter :: i_sfc_z0h = 5
97 integer,
private,
parameter :: i_sfc_z0e = 6
99 character(len=H_SHORT),
private :: var_name(vmax)
100 character(len=H_MID),
private :: var_desc(vmax)
101 character(len=H_SHORT),
private :: var_unit(vmax)
103 data var_name /
'SFC_TEMP', &
110 data var_desc /
'surface skin temperature', &
111 'surface albedo for longwave', &
112 'surface albedo for shortwave', &
113 'surface roughness length (momentum)', &
114 'surface roughness length (heat)', &
115 'surface roughness length (vapor)' /
117 data var_unit /
'K', &
124 real(RP),
private :: atmos_phy_sf_default_sfc_temp = 300.0_rp
125 real(RP),
private :: atmos_phy_sf_default_sfc_albedo = 0.4_rp
126 real(RP),
private :: atmos_phy_sf_default_sfc_z0 = 1e-4_rp
139 namelist / param_atmos_phy_sf_vars / &
145 atmos_phy_sf_default_sfc_temp, &
146 atmos_phy_sf_default_sfc_albedo, &
147 atmos_phy_sf_default_sfc_z0
154 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[VARS] / Categ[ATMOS PHY_SF] / Origin[SCALE-RM]' 211 read(
io_fid_conf,nml=param_atmos_phy_sf_vars,iostat=ierr)
213 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 214 elseif( ierr > 0 )
then 215 write(*,*)
'xxx Not appropriate names in namelist PARAM_ATMOS_PHY_SF_VARS. Check!' 228 if(
io_l )
write(
io_fid_log,*)
'*** [ATMOS_PHY_SF] prognostic/diagnostic variables' 230 '*** |',
'VARNAME ',
'|',
'DESCRIPTION ',
'[',
'UNIT ',
']' 233 '*** NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']' 298 if(
io_l )
write(
io_fid_log,*)
'*** Input restart file (ATMOS_PHY_SF) ***' 325 if(
io_l )
write(
io_fid_log,*)
'*** restart file for ATMOS_PHY_SF is not specified.' 350 character(len=20) :: timelabel
351 character(len=H_LONG) :: basename
362 if(
io_l )
write(
io_fid_log,*)
'*** Output restart file (ATMOS_PHY_SF) ***' 405 real(RP),
intent(in) :: sfc_temp_in (:,:)
406 real(RP),
intent(in) :: albedo_lw_in(:,:)
407 real(RP),
intent(in) :: albedo_sw_in(:,:)
408 real(RP),
intent(in) :: sfc_z0m_in (:,:)
409 real(RP),
intent(in) :: sfc_z0h_in (:,:)
410 real(RP),
intent(in) :: sfc_z0e_in (:,:)
subroutine, public atmos_phy_sf_vars_restart_read
Read restart.
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0e
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_momz_t
integer, public const_i_lw
long-wave radiation index
real(rp), dimension(:,:,:), allocatable, public atmos_phy_sf_sflx_qtrc
subroutine, public atmos_phy_sf_vars_external_in(sfc_temp_in, albedo_lw_in, albedo_sw_in, sfc_z0m_in, sfc_z0h_in, sfc_z0e_in)
Input from External I/O.
subroutine, public prc_mpistop
Abort MPI.
character(len=h_long), public atmos_phy_sf_restart_out_basename
basename of the output file
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mw
real(rp), dimension(:,:,:), allocatable, public atmos_phy_sf_rhoq_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_v10
logical, public io_l
output log or not? (this process)
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_rhot_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_temp
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mv
subroutine, public atmos_phy_sf_vars_setup
Setup.
character(len=h_mid), public atmos_phy_sf_restart_out_dtype
REAL4 or REAL8.
real(rp), public const_undef
module ATMOSPHERIC Surface Variables
subroutine, public atmos_phy_sf_vars_restart_write
Write restart.
integer, public ia
of x whole cells (local, with HALO)
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_u10
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_momx_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_dens_t
subroutine, public atmos_phy_sf_vars_fillhalo
HALO Communication.
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0h
subroutine, public time_gettimelabel(timelabel)
generate time label
real(rp), dimension(:,:,:), allocatable, public atmos_phy_sf_sfc_albedo
character(len=h_long), public atmos_phy_sf_restart_in_basename
basename of the restart file
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_lh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_pres
character(len=h_mid), public atmos_phy_sf_restart_out_title
title of the output file
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_sh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_momy_t
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_q2
logical, public io_lnml
output log or not? (for namelist, this process)
integer, public const_i_sw
short-wave radiation index
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_z0m
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_t2
integer, public io_fid_conf
Config file ID.
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sfc_dens
integer, public io_fid_log
Log file ID.
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_gh
real(rp), dimension(:,:), allocatable, public atmos_phy_sf_sflx_mu
integer, public ja
of y whole cells (local, with HALO)
logical, public atmos_phy_sf_restart_output
output restart file?