FMS Coupler  2022.03
Data Types | Modules | Functions/Subroutines | Variables
surface_flux.F90 File Reference

(f306ac155bd99a9741acab4c7fcdcacd0f526ea4)

Handles calculation of fluxes on the exchange grids, see module page for more information. More...

Data Types

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

Modules

module  surface_flux_mod
 Module for the calculation of fluxes on the exchange grids.
 

Functions/Subroutines

subroutine surface_flux_mod::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_mod::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_mod::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_mod::surface_flux_init
 Initialization of the surface flux module–reads the nml. More...
 
subroutine surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::version = '$Id$'
 
character(len= *), parameter surface_flux_mod::tagname = '$Name$'
 
logical surface_flux_mod::module_is_initialized = .false.
 
real, parameter surface_flux_mod::d622 = rdgas/rvgas
 
real, parameter surface_flux_mod::d378 = 1.-d622
 
real, parameter surface_flux_mod::hlars = hlv/rvgas
 
real, parameter surface_flux_mod::gcp = grav/cp_air
 
real, parameter surface_flux_mod::kappa = rdgas/cp_air
 
real surface_flux_mod::d608 = d378/d622
 
character(len=32) surface_flux_mod::rough_scheme_ocean
 ocean roughness length scheme to be read from ocean_rough_nml More...
 
logical surface_flux_mod::no_neg_q = .false.
 If a_atm_in (specific humidity) is negative (because of numerical truncation), then override with 0.0. More...
 
logical surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::gust_const = 1.0
 Constant for alternative gustiness calculation. More...
 
real surface_flux_mod::gust_min = 0.0
 Minimum gustiness used when alt_gustiness is .FALSE. More...
 
logical surface_flux_mod::ncar_ocean_flux = .false.
 Use NCAR climate model turbulent flux calculation described by Large and Yeager, NCAR Technical Document, 2004. More...
 
logical surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::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 surface_flux_mod::bulk_zu = 10.
 Reference height for wind speed (meters) More...
 
real surface_flux_mod::bulk_zt = 10.
 Reference height for atm temperature (meters) More...
 
real surface_flux_mod::bulk_zq = 10.
 Reference height for atm humidity (meters) More...
 
logical surface_flux_mod::raoult_sat_vap = .false.
 Reduce saturation vapor pressure to account for seawater. More...
 
logical surface_flux_mod::do_simple = .false.
 
integer surface_flux_mod::niter_monin_obukhov = 5
 iteration times to call iter_monin_obukhov_ocean. Typically 3-5 times should converge More...
 

Detailed Description

Handles calculation of fluxes on the exchange grids, see module page for more information.