PUBLIC INTERFACE
use atmosphere_mod [,only: atmosphere_init, atmosphere_end,
atmosphere_down, atmosphere_up,
atmosphere_resolution, atmosphere_boundary,
get_bottom_mass, get_bottom_wind,
get_atmosphere_axes, atmosphere_domain
PUBLIC ROUTINES
atmosphere_init
atmosphere_end
atmosphere_down
atmosphere_up
get_bottom_mass
get_bottom_wind
atmosphere_resolution
atmosphere_boundary
get_atmosphere_axes
call atmosphere_init (Time_init, Time, Time_step, Surf_diff)
intent(in)
type(time_type) :: Time_init -- reference (or initial) time
type(time_type) :: Time -- current time
type(time_type) :: Time_step -- time step
intent(inout)
type(surf_diff_type) :: Surf_diff
---------------------------------------------------------------------
call atmosphere_end (Time)
input
type(time_type) :: Time -- current time
---------------------------------------------------------------------
call atmosphere_down (Time, frac_land, t_surf, albedo, rough_mom,
u_star, b_star, dtau_du, dtau_dv, tau_x, tau_y,
gust, flux_sw, flux_lw, Surf_diff)
intent(in)
type(time_type) :: Time -- current time
real, dimension(:,:) :: frac_land -- fraction (0. to 1.) of surface which covered by land
real, dimension(:,:) :: t_surf -- surface (skin) temperature (in deg k)
real, dimension(:,:) :: albedo -- surface albedo
real, dimension(:,:) :: rough_mom -- surface roughness for momentum (m)
real, dimension(:,:) :: u_star -- friction velocity
real, dimension(:,:) :: b_star -- bouyancy scale
real, dimension(:,:) :: dtau_du -- derivative of zonal wind stress w.r.t. the lowest level wind speed
real, dimension(:,:) :: dtau_dv -- derivative of meridional wind stress w.r.t. the lowest level wind speed
intent(inout)
real, dimension(:,:) :: tau_x -- zonal wind stress
real, dimension(:,:) :: tau_y -- meridional wind stress
type(surf_diff_type) :: Surf_diff
intent(out)
real, dimension(:,:) :: gust -- wind gustiness
real, dimension(:,:) :: flux_sw -- net shortwave surface flux (down minus up) (in watts/m**2)
real, dimension(:,:) :: flux_lw -- downward longwave surface flux (in watts/m**2)
---------------------------------------------------------------------
call atmosphere_up (Time, frac_land, lprec, fprec )
intent(in)
type(time_type) :: Time -- current time
real, dimension(:,:) :: frac_land -- fraction (0. to 1.) of surface which covered by land
intent(inout)
type(surf_diff_type) :: Surf_diff
output
real, dimension(:,:) :: lprec -- liquid precipitiaton rate (rain) in kg/m2/s
real, dimension(:,:) :: fprec -- frozen precipitation rate (snow) in kg/m2/s
---------------------------------------------------------------------
call get_bottom_mass (t_bot, q_bot, p_bot, z_bot, p_surf)
intent(out)
real, dimension(:,:) :: t_bot -- temperature at lowest model level (deg k)
real, dimension(:,:) :: q_bot -- specific humidity at lowest model level (kg/kg)
real, dimension(:,:) :: p_bot -- pressure at lowest model level (pa)
real, dimension(:,:) :: z_bot -- height above the surface for the lowest model level (m)
real, dimension(:,:) :: p_surf -- surface pressure (pa)
---------------------------------------------------------------------
call get_bottom_wind (u_bot, v_bot)
intent(out)
real, dimension(:,:) :: u_bot -- zonal wind component at lowest model level (m/s)
real, dimension(:,:) :: v_bot -- meridional wind component at lowest model level (m/s)
---------------------------------------------------------------------
call atmosphere_resolution (nlon, nlat)
intent(out)
integer :: nlon -- number of longitude points in the (global) computational grid
integer :: nlat -- number of latitude points in the (global) computational grid
---------------------------------------------------------------------
call atmosphere_boundary (blon, blat [, mask] )
output
real, dimension(:) :: blon -- boundary edges of longitude grid boxes
real, dimension(:) :: blat -- boundary edges of latitude grid boxes
optional output
mask dummy grid mask (for the atmosphere all values are true)
[logical, dimension(nlon,nlat)]
---------------------------------------------------------------------
call get_atmosphere_axes(axes_id)
output
integer, dimension(4) :: axes_id -- Id numbers of grid axes in this order:
longitude, latitude, full levels, half levels
Notes: Used by atmos_coupled_mod