FMS Coupler  2022.03
Data Types | Functions/Subroutines | Variables
surface_flux_mod Module Reference

Module for the calculation of fluxes on the exchange grids. More...

Data Types

interface  surface_flux
 For the calculation of fluxes on the exchange grids. More...
 

Functions/Subroutines

subroutine surface_flux_1d (t_atm, q_atm_in, u_atm, v_atm, p_atm, z_atm, p_surf, t_surf, t_ca, q_surf, u_surf, v_surf, rough_mom, rough_heat, rough_moist, rough_scale, gust, flux_t, flux_q, flux_r, flux_u, flux_v, cd_m, cd_t, cd_q, w_atm, u_star, b_star, q_star, thv_atm, thv_surf, dhdt_surf, dedt_surf, dedq_surf, drdt_surf, dhdt_atm, dedq_atm, dtaudu_atm, dtaudv_atm, dt, land, seawater, avail)
 
subroutine surface_flux_0d (t_atm_0, q_atm_0, u_atm_0, v_atm_0, p_atm_0, z_atm_0, p_surf_0, t_surf_0, t_ca_0, q_surf_0, u_surf_0, v_surf_0, rough_mom_0, rough_heat_0, rough_moist_0, rough_scale_0, gust_0, flux_t_0, flux_q_0, flux_r_0, flux_u_0, flux_v_0, cd_m_0, cd_t_0, cd_q_0, w_atm_0, u_star_0, b_star_0, q_star_0, thv_atm_0, thv_surf_0, dhdt_surf_0, dedt_surf_0, dedq_surf_0, drdt_surf_0, dhdt_atm_0, dedq_atm_0, dtaudu_atm_0, dtaudv_atm_0, dt, land_0, seawater_0, avail_0)
 
subroutine surface_flux_2d (t_atm, q_atm_in, u_atm, v_atm, p_atm, z_atm, p_surf, t_surf, t_ca, q_surf, u_surf, v_surf, rough_mom, rough_heat, rough_moist, rough_scale, gust, flux_t, flux_q, flux_r, flux_u, flux_v, cd_m, cd_t, cd_q, w_atm, u_star, b_star, q_star, thv_atm, thv_surf, dhdt_surf, dedt_surf, dedq_surf, drdt_surf, dhdt_atm, dedq_atm, dtaudu_atm, dtaudv_atm, dt, land, seawater, avail)
 
subroutine, public surface_flux_init
 Initialization of the surface flux module–reads the nml. More...
 
subroutine ncar_ocean_fluxes (u_del, t, ts, q, qs, z, avail, cd, ch, ce, ustar, bstar)
 Over-ocean fluxes following Large and Yeager (used in NCAR models) ! More...
 
subroutine ncar_ocean_fluxes_multilevel (u_del, t, ts, q, qs, zu, zt, zq, avail, cd, ch, ce, ustar, bstar)
 Over-ocean fluxes following Large and Yeager (used in NCAR models) ! More...
 
subroutine iter_monin_obukhov_ocean (z_atm, u_atm, v_atm, w_atm, thv_atm, q_atm, u_surf, v_surf, thv_surf, q_surf0, rough_mom, rough_heat, rough_moist, cd_m, cd_t, cd_q, u_star, b_star, avail, seawater)
 Update air-sea flux variables to be consistent with the concurrent atmospheric states. More...
 

Variables

character(len= *), parameter version = '$Id$'
 
character(len= *), parameter tagname = '$Name$'
 
logical module_is_initialized = .false.
 
real, parameter d622 = rdgas/rvgas
 
real, parameter d378 = 1.-d622
 
real, parameter hlars = hlv/rvgas
 
real, parameter gcp = grav/cp_air
 
real, parameter kappa = rdgas/cp_air
 
real d608 = d378/d622
 
character(len=32) rough_scheme_ocean
 ocean roughness length scheme to be read from ocean_rough_nml More...
 
logical no_neg_q = .false.
 If a_atm_in (specific humidity) is negative (because of numerical truncation), then override with 0.0. More...
 
logical use_virtual_temp = .true.
 If .TRUE., use virtual potential temp to calculate the stability of the surface layer. If .FALSE., use potential temp. More...
 
logical alt_gustiness = .false.
 An alternaive formulation for gustiness calculation. A minimum bound on the wind speed used influx calculations,with the bound equal to gust_const. More...
 
logical old_dtaudv = .false.
 The derivative of surface wind stress with respect to the zonal wind and meridional wind are approximated by the same tendency. More...
 
logical use_mixing_ratio = .false.
 An option to provide capability to run the Manabe Climate form of the surface flux (coded for legacy purposes). More...
 
real gust_const = 1.0
 Constant for alternative gustiness calculation. More...
 
real gust_min = 0.0
 Minimum gustiness used when alt_gustiness is .FALSE. More...
 
logical ncar_ocean_flux = .false.
 Use NCAR climate model turbulent flux calculation described by Large and Yeager, NCAR Technical Document, 2004. More...
 
logical ncar_ocean_flux_orig = .false.
 Use NCAR climate model turbulent flux calculation described by Large and Yeager, NCAR Technical Document, 2004, using the original GFDL implementation, which contains a bug in the specification of the exchange coefficient for the sensible heat. This option is available for legacy purposes, and is not recommended for new experiments. More...
 
logical ncar_ocean_flux_multilevel = .false.
 Use NCAR climate model turbulent flux calculation described by Large and Yeager, allows for different reference height for wind, temp and spec. hum. More...
 
logical do_iter_monin_obukhov = .false.
 If .TRUE, call monin obukhov funtcions a couple of times to update rough_mom, rough_heat, rough_moist, cd, ch, b_star, u_star. More...
 
logical use_u10_neutral = .false.
 If .TRUE., use 10m neutral wind rather than the standard 10m wind to obtain rough_mom, rough_heat, rough_moist. More...
 
real bulk_zu = 10.
 Reference height for wind speed (meters) More...
 
real bulk_zt = 10.
 Reference height for atm temperature (meters) More...
 
real bulk_zq = 10.
 Reference height for atm humidity (meters) More...
 
logical raoult_sat_vap = .false.
 Reduce saturation vapor pressure to account for seawater. More...
 
logical do_simple = .false.
 
integer niter_monin_obukhov = 5
 iteration times to call iter_monin_obukhov_ocean. Typically 3-5 times should converge More...
 

Detailed Description

Module for the calculation of fluxes on the exchange grids.

Function/Subroutine Documentation

◆ iter_monin_obukhov_ocean()

subroutine surface_flux_mod::iter_monin_obukhov_ocean ( real, dimension(:), intent(in)  z_atm,
real, dimension(:), intent(in)  u_atm,
real, dimension(:), intent(in)  v_atm,
real, dimension(:), intent(in)  w_atm,
real, dimension(:), intent(in)  thv_atm,
real, dimension(:), intent(in)  q_atm,
real, dimension(:), intent(in)  u_surf,
real, dimension(:), intent(in)  v_surf,
real, dimension(:), intent(in)  thv_surf,
real, dimension(:), intent(in)  q_surf0,
real, dimension(:), intent(inout)  rough_mom,
real, dimension(:), intent(inout)  rough_heat,
real, dimension(:), intent(inout)  rough_moist,
real, dimension(:), intent(inout)  cd_m,
real, dimension(:), intent(inout)  cd_t,
real, dimension(:), intent(inout)  cd_q,
real, dimension(:), intent(inout)  u_star,
real, dimension(:), intent(inout)  b_star,
logical, dimension(:), intent(in)  avail,
logical, dimension(:), intent(in)  seawater 
)
private

Update air-sea flux variables to be consistent with the concurrent atmospheric states.

Note
Right now, it is only effective when ocean_rough = 'hwrf17', but this can be expanded if necessarily to incorporate other roughness schemies contact: Kun.G.nosp@m.ao@n.nosp@m.oaa.g.nosp@m.ov; Baoqi.nosp@m.ang..nosp@m.Xiang.nosp@m.@noa.nosp@m.a.gov
Parameters
[in]q_surf0Surface air humidity
[in,out]b_starTurbulent buoyant scale
[in]seawaterIndicates where liquid ocean water exists (.TRUE. if exchange cell is on liquid ocean water)
Parameters
z_atmHeight at the lowest atmospheric level
u_atmZonal wind velocity at the lowest atmospheric level
v_atmMeridional wind velocity at the lowest atmospheric level
w_atmAbsolute wind at the lowest atmospheric level
thv_atmSurface air theta_v
q_atmMixing ratio at lowest atmospheric level (kg/kg)
u_surfZonal wind velocity at the Earth's surface
v_surfMeridional wind velocity at the Earth's surface
thv_surfSurface theta_v
rough_momMomentum roughness length
rough_heatHeat roughness length
rough_moistMoisture roughness length
cd_mMomentum exchange coefficient
cd_tHeat exchange coefficient
cd_qMoisture exchange coefficient
u_starTurbulent velocity scale
avail.TRUE. where the exchange cell is active

◆ ncar_ocean_fluxes()

subroutine surface_flux_mod::ncar_ocean_fluxes ( real, dimension(:), intent(in)  u_del,
real, dimension(:), intent(in)  t,
real, dimension(:), intent(in)  ts,
real, dimension(:), intent(in)  q,
real, dimension(:), intent(in)  qs,
real, dimension(:), intent(in)  z,
logical, dimension(:), intent(in)  avail,
real, dimension(:), intent(inout)  cd,
real, dimension(:), intent(inout)  ch,
real, dimension(:), intent(inout)  ce,
real, dimension(:), intent(inout)  ustar,
real, dimension(:), intent(inout)  bstar 
)
private

Over-ocean fluxes following Large and Yeager (used in NCAR models) !

Original code: GFDL..nosp@m.Clim.nosp@m.ate.M.nosp@m.odel.nosp@m..Info.nosp@m.@noa.nosp@m.a.gov <br > Update Jul2007: GFDL..nosp@m.Clim.nosp@m.ate.M.nosp@m.odel.nosp@m..Info.nosp@m.@noa.nosp@m.a.gov (ch and ce exchange coeff bugfix)

◆ ncar_ocean_fluxes_multilevel()

subroutine surface_flux_mod::ncar_ocean_fluxes_multilevel ( real, dimension(:), intent(in)  u_del,
real, dimension(:), intent(inout)  t,
real, dimension(:), intent(in)  ts,
real, dimension(:), intent(inout)  q,
real, dimension(:), intent(in)  qs,
real, dimension(:), intent(in)  zu,
real, dimension(:), intent(in)  zt,
real, dimension(:), intent(in)  zq,
logical, dimension(:), intent(in)  avail,
real, dimension(:), intent(out)  cd,
real, dimension(:), intent(out)  ch,
real, dimension(:), intent(out)  ce,
real, dimension(:), intent(out)  ustar,
real, dimension(:), intent(out)  bstar 
)
private

Over-ocean fluxes following Large and Yeager (used in NCAR models) !

Original code: Multi-level capable LY2004, R. Dussin 2020 <br >

◆ surface_flux_0d()

subroutine surface_flux_mod::surface_flux_0d ( real, intent(in)  t_atm_0,
real, intent(in)  q_atm_0,
real, intent(in)  u_atm_0,
real, intent(in)  v_atm_0,
real, intent(in)  p_atm_0,
real, intent(in)  z_atm_0,
real, intent(in)  p_surf_0,
real, intent(in)  t_surf_0,
real, intent(in)  t_ca_0,
real, intent(inout)  q_surf_0,
real, intent(in)  u_surf_0,
real, intent(in)  v_surf_0,
real, intent(in)  rough_mom_0,
real, intent(in)  rough_heat_0,
real, intent(in)  rough_moist_0,
real, intent(in)  rough_scale_0,
real, intent(in)  gust_0,
real, intent(out)  flux_t_0,
real, intent(out)  flux_q_0,
real, intent(out)  flux_r_0,
real, intent(out)  flux_u_0,
real, intent(out)  flux_v_0,
real, intent(out)  cd_m_0,
real, intent(out)  cd_t_0,
real, intent(out)  cd_q_0,
real, intent(out)  w_atm_0,
real, intent(out)  u_star_0,
real, intent(out)  b_star_0,
real, intent(out)  q_star_0,
real, intent(out)  thv_atm_0,
real, intent(out)  thv_surf_0,
real, intent(out)  dhdt_surf_0,
real, intent(out)  dedt_surf_0,
real, intent(out)  dedq_surf_0,
real, intent(out)  drdt_surf_0,
real, intent(out)  dhdt_atm_0,
real, intent(out)  dedq_atm_0,
real, intent(out)  dtaudu_atm_0,
real, intent(out)  dtaudv_atm_0,
real, intent(in)  dt,
logical, intent(in)  land_0,
logical, intent(in)  seawater_0,
logical, intent(in)  avail_0 
)
private
Parameters
[in]avail_0.TRUE. where the exchange cell is active
[in]gust_0Gustiness factor
[out]cd_q_0Moisture exchange coefficient
[in,out]q_surf_0Mixing ratio at the Earth's surface (kg/kg)
[in]dtTime step (it is not used presently)
Parameters
t_atm_0Air temp lowest atmospheric level.
q_atm_0Mixing ratio at lowest atmospheric level (kg/kg).
u_atm_0Zonal wind velocity at lowest atmospheric level.
v_atm_0Meridional wind velocity at lowest atmospheric level.
p_atm_0Pressure lowest atmospheric level.
z_atm_0Height lowest atmospheric level.
p_surf_0Pressure at the Earth's surface
t_surf_0Temp at the Earth's surface
t_ca_0Air temp at the canopy
u_surf_0Zonal wind velocity at the Earth's surface
v_surf_0Meridional wind velocity at the Earth's surface
rough_mom_0Momentum roughness length
rough_heat_0Heat roughness length
rough_moist_0Moisture roughness length
rough_scale_0Scale factor used to topographic roughness calculation
flux_t_0Sensible heat flux
flux_q_0Evaporative water flux
flux_r_0Radiative energy flux
flux_u_0Zonal momentum flux
flux_v_0Meridional momentum flux
cd_m_0Momentum exchange coefficient
w_atm_0Absolute wind at the lowest atmospheric level
u_star_0Turbulent velocity scale
b_star_0Turbulent buoyant scale
q_star_0Turbulent moisture scale
dhdt_surf_0Sensible heat flux temperature sensitivity
dedt_surf_0Moisture flux temperature sensitivity
dedq_surf_0Moisture flux humidity sensitivity
drdt_surf_0Radiative energy flux temperature sensitivity
dhdt_atm_0Derivative of sensible heat flux over temp at the lowest atmos level
dedq_atm_0Derivative of water vapor flux over temp at the lowest atmos level
dtaudu_atm_0Derivative of zonal wind stress with respect to the lowest level zonal wind
dtaudv_atm_0Derivative of meridional wind stress with respect to the lowest level
land_0Indicates where land exists (.TRUE. if exchange cell is on land
seawater_0Indicates where liquid ocean water exists

◆ surface_flux_1d()

subroutine surface_flux_mod::surface_flux_1d ( real, dimension(:), intent(in)  t_atm,
real, dimension(:), intent(in)  q_atm_in,
real, dimension(:), intent(in)  u_atm,
real, dimension(:), intent(in)  v_atm,
real, dimension(:), intent(in)  p_atm,
real, dimension(:), intent(in)  z_atm,
real, dimension(:), intent(in)  p_surf,
real, dimension(:), intent(in)  t_surf,
real, dimension(:), intent(in)  t_ca,
real, dimension(:), intent(inout)  q_surf,
real, dimension(:), intent(in)  u_surf,
real, dimension(:), intent(in)  v_surf,
real, dimension(:), intent(inout)  rough_mom,
real, dimension(:), intent(inout)  rough_heat,
real, dimension(:), intent(inout)  rough_moist,
real, dimension(:), intent(in)  rough_scale,
real, dimension(:), intent(in)  gust,
real, dimension(:), intent(out)  flux_t,
real, dimension(:), intent(out)  flux_q,
real, dimension(:), intent(out)  flux_r,
real, dimension(:), intent(out)  flux_u,
real, dimension(:), intent(out)  flux_v,
real, dimension(:), intent(out)  cd_m,
real, dimension(:), intent(out)  cd_t,
real, dimension(:), intent(out)  cd_q,
real, dimension(:), intent(out)  w_atm,
real, dimension(:), intent(out)  u_star,
real, dimension(:), intent(out)  b_star,
real, dimension(:), intent(out)  q_star,
real, dimension(:), intent(out)  thv_atm,
real, dimension(:), intent(out)  thv_surf,
real, dimension(:), intent(out)  dhdt_surf,
real, dimension(:), intent(out)  dedt_surf,
real, dimension(:), intent(out)  dedq_surf,
real, dimension(:), intent(out)  drdt_surf,
real, dimension(:), intent(out)  dhdt_atm,
real, dimension(:), intent(out)  dedq_atm,
real, dimension(:), intent(out)  dtaudu_atm,
real, dimension(:), intent(out)  dtaudv_atm,
real, intent(in)  dt,
logical, dimension(:), intent(in)  land,
logical, dimension(:), intent(in)  seawater,
logical, dimension(:), intent(in)  avail 
)
private
Parameters
[in]avail.TRUE. where the exchange cell is active
[in]gustGustiness factor
[out]cd_qMoisture exchange coefficient
[in,out]rough_moistMoisture roughness length
[in]dtTime step (it is not used presently)
Parameters
t_atmAir temp lowest atmospheric level.
q_atm_inMixing ratio at lowest atmospheric level (kg/kg).
u_atmZonal wind velocity at lowest atmospheric level.
v_atmMeridional wind velocity at lowest atmospheric level.
p_atmPressure lowest atmospheric level.
z_atmHeight lowest atmospheric level.
p_surfPressure at the Earth's surface
t_surfTemp at the Earth's surface
t_caAir temp at the canopy
q_surfMixing ratio at the Earth's surface (kg/kg)
u_surfZonal wind velocity at the Earth's surface
v_surfMeridional wind velocity at the Earth's surface
rough_momMomentum roughness length
rough_heatHeat roughness length
rough_scaleScale factor used to topographic roughness calculation
flux_tSensible heat flux
flux_qEvaporative water flux
flux_rRadiative energy flux
flux_uZonal momentum flux
flux_vMeridional momentum flux
cd_mMomentum exchange coefficient
w_atmAbsolute wind at the lowest atmospheric level
u_starTurbulent velocity scale
b_starTurbulent buoyant scale
q_starTurbulent moisture scale
dhdt_surfSensible heat flux temperature sensitivity
dedt_surfMoisture flux temperature sensitivity
dedq_surfMoisture flux humidity sensitivity
drdt_surfRadiative energy flux temperature sensitivity
dhdt_atmDerivative of sensible heat flux over temp at the lowest atmos level
dedq_atmDerivative of water vapor flux over temp at the lowest atmos level
dtaudu_atmDerivative of zonal wind stress with respect to the lowest level
dtaudv_atmDerivative of meridional wind stress with respect to the lowest
landIndicates where land exists (.TRUE. if exchange cell is on land
seawaterIndicates where liquid ocean water exists

◆ surface_flux_2d()

subroutine surface_flux_mod::surface_flux_2d ( real, dimension(:,:), intent(in)  t_atm,
real, dimension(:,:), intent(in)  q_atm_in,
real, dimension(:,:), intent(in)  u_atm,
real, dimension(:,:), intent(in)  v_atm,
real, dimension(:,:), intent(in)  p_atm,
real, dimension(:,:), intent(in)  z_atm,
real, dimension(:,:), intent(in)  p_surf,
real, dimension(:,:), intent(in)  t_surf,
real, dimension(:,:), intent(in)  t_ca,
real, dimension(:,:), intent(inout)  q_surf,
real, dimension(:,:), intent(in)  u_surf,
real, dimension(:,:), intent(in)  v_surf,
real, dimension(:,:), intent(inout)  rough_mom,
real, dimension(:,:), intent(inout)  rough_heat,
real, dimension(:,:), intent(inout)  rough_moist,
real, dimension(:,:), intent(in)  rough_scale,
real, dimension(:,:), intent(in)  gust,
real, dimension(:,:), intent(out)  flux_t,
real, dimension(:,:), intent(out)  flux_q,
real, dimension(:,:), intent(out)  flux_r,
real, dimension(:,:), intent(out)  flux_u,
real, dimension(:,:), intent(out)  flux_v,
real, dimension(:,:), intent(out)  cd_m,
real, dimension(:,:), intent(out)  cd_t,
real, dimension(:,:), intent(out)  cd_q,
real, dimension(:,:), intent(out)  w_atm,
real, dimension(:,:), intent(out)  u_star,
real, dimension(:,:), intent(out)  b_star,
real, dimension(:,:), intent(out)  q_star,
real, dimension(:,:), intent(out)  thv_atm,
real, dimension(:,:), intent(out)  thv_surf,
real, dimension(:,:), intent(out)  dhdt_surf,
real, dimension(:,:), intent(out)  dedt_surf,
real, dimension(:,:), intent(out)  dedq_surf,
real, dimension(:,:), intent(out)  drdt_surf,
real, dimension(:,:), intent(out)  dhdt_atm,
real, dimension(:,:), intent(out)  dedq_atm,
real, dimension(:,:), intent(out)  dtaudu_atm,
real, dimension(:,:), intent(out)  dtaudv_atm,
real, intent(in)  dt,
logical, dimension(:,:), intent(in)  land,
logical, dimension(:,:), intent(in)  seawater,
logical, dimension(:,:), intent(in)  avail 
)
private
Parameters
[in]avail.TRUE. where the exchange cell is active
[in]gustGustiness factor
[out]cd_qMoisture exchange coefficient
[in,out]rough_moistMoisture roughness length
[in]dtTime step (it is not used presently)
Parameters
t_atmAir temp lowest atmospheric level.
q_atm_inMixing ratio at lowest atmospheric level (kg/kg).
u_atmZonal wind velocity at lowest atmospheric level.
v_atmMeridional wind velocity at lowest atmospheric level.
p_atmPressure lowest atmospheric level.
z_atmHeight lowest atmospheric level.
p_surfPressure at the Earth's surface
t_surfTemp at the Earth's surface
t_caAir temp at the canopy
q_surfMixing ratio at the Earth's surface (kg/kg)
u_surfZonal wind velocity at the Earth's surface
v_surfMeridional wind velocity at the Earth's surface
rough_momMomentum roughness length
rough_heatHeat roughness length
rough_scaleScale factor used to topographic roughness calculation
flux_tSensible heat flux
flux_qEvaporative water flux
flux_rRadiative energy flux
flux_uZonal momentum flux
flux_vMeridional momentum flux
cd_mMomentum exchange coefficient
w_atmAbsolute wind at the lowest atmospheric level
u_starTurbulent velocity scale
b_starTurbulent buoyant scale
q_starTurbulent moisture scale
dhdt_surfSensible heat flux temperature sensitivity
dedt_surfMoisture flux temperature sensitivity
dedq_surfMoisture flux humidity sensitivity
drdt_surfRadiative energy flux temperature sensitivity
dhdt_atmDerivative of sensible heat flux over temp at the lowest
dedq_atmDerivative of water vapor flux over temp at the lowest atmos level
dtaudu_atmDerivative of zonal wind stress with respect to the lowest level
dtaudv_atmDerivative of meridional wind stress with respect to the lowest
landIndicates where land exists (.TRUE. if exchange cell is on land
seawaterIndicates where liquid ocean water exists

◆ surface_flux_init()

subroutine, public surface_flux_mod::surface_flux_init

Initialization of the surface flux module–reads the nml.

Variable Documentation

◆ alt_gustiness

logical surface_flux_mod::alt_gustiness = .false.
private

An alternaive formulation for gustiness calculation. A minimum bound on the wind speed used influx calculations,with the bound equal to gust_const.

◆ bulk_zq

real surface_flux_mod::bulk_zq = 10.
private

Reference height for atm humidity (meters)

◆ bulk_zt

real surface_flux_mod::bulk_zt = 10.
private

Reference height for atm temperature (meters)

◆ bulk_zu

real surface_flux_mod::bulk_zu = 10.
private

Reference height for wind speed (meters)

◆ d378

real, parameter surface_flux_mod::d378 = 1.-d622
private

◆ d608

real surface_flux_mod::d608 = d378/d622
private

◆ d622

real, parameter surface_flux_mod::d622 = rdgas/rvgas
private

◆ do_iter_monin_obukhov

logical surface_flux_mod::do_iter_monin_obukhov = .false.
private

If .TRUE, call monin obukhov funtcions a couple of times to update rough_mom, rough_heat, rough_moist, cd, ch, b_star, u_star.

◆ do_simple

logical surface_flux_mod::do_simple = .false.
private

◆ gcp

real, parameter surface_flux_mod::gcp = grav/cp_air
private

◆ gust_const

real surface_flux_mod::gust_const = 1.0
private

Constant for alternative gustiness calculation.

◆ gust_min

real surface_flux_mod::gust_min = 0.0
private

Minimum gustiness used when alt_gustiness is .FALSE.

◆ hlars

real, parameter surface_flux_mod::hlars = hlv/rvgas
private

◆ kappa

real, parameter surface_flux_mod::kappa = rdgas/cp_air
private

◆ module_is_initialized

logical surface_flux_mod::module_is_initialized = .false.
private

◆ ncar_ocean_flux

logical surface_flux_mod::ncar_ocean_flux = .false.
private

Use NCAR climate model turbulent flux calculation described by Large and Yeager, NCAR Technical Document, 2004.

◆ ncar_ocean_flux_multilevel

logical surface_flux_mod::ncar_ocean_flux_multilevel = .false.
private

Use NCAR climate model turbulent flux calculation described by Large and Yeager, allows for different reference height for wind, temp and spec. hum.

◆ ncar_ocean_flux_orig

logical surface_flux_mod::ncar_ocean_flux_orig = .false.
private

Use NCAR climate model turbulent flux calculation described by Large and Yeager, NCAR Technical Document, 2004, using the original GFDL implementation, which contains a bug in the specification of the exchange coefficient for the sensible heat. This option is available for legacy purposes, and is not recommended for new experiments.

◆ niter_monin_obukhov

integer surface_flux_mod::niter_monin_obukhov = 5
private

iteration times to call iter_monin_obukhov_ocean. Typically 3-5 times should converge

◆ no_neg_q

logical surface_flux_mod::no_neg_q = .false.
private

If a_atm_in (specific humidity) is negative (because of numerical truncation), then override with 0.0.

◆ old_dtaudv

logical surface_flux_mod::old_dtaudv = .false.
private

The derivative of surface wind stress with respect to the zonal wind and meridional wind are approximated by the same tendency.

◆ raoult_sat_vap

logical surface_flux_mod::raoult_sat_vap = .false.
private

Reduce saturation vapor pressure to account for seawater.

◆ rough_scheme_ocean

character(len=32) surface_flux_mod::rough_scheme_ocean
private

ocean roughness length scheme to be read from ocean_rough_nml

◆ tagname

character(len=*), parameter surface_flux_mod::tagname = '$Name$'
private

◆ use_mixing_ratio

logical surface_flux_mod::use_mixing_ratio = .false.
private

An option to provide capability to run the Manabe Climate form of the surface flux (coded for legacy purposes).

◆ use_u10_neutral

logical surface_flux_mod::use_u10_neutral = .false.
private

If .TRUE., use 10m neutral wind rather than the standard 10m wind to obtain rough_mom, rough_heat, rough_moist.

◆ use_virtual_temp

logical surface_flux_mod::use_virtual_temp = .true.
private

If .TRUE., use virtual potential temp to calculate the stability of the surface layer. If .FALSE., use potential temp.

◆ version

character(len=*), parameter surface_flux_mod::version = '$Id$'
private