Surface flux calculation
Documentation for surface_flux
and gp_surface_flux
, both found at Isca/src/coupler/surface_flux.F90
.
Summary
This module manages the exchange of heat, momentum and moisture at the planet’s surface. A brief overview of how the exchange of these is calculated and the options available is given first, with a full summary of the namelist parameters below.
Parametrization for planets with a rock/liquid surface
Fluxes of heat (\(S\)), momentum (\(\mathcal{T}\)) and humidity (\(E\)) are calculated following the standard drag equations set out in [Frierson2006a].
In the above, \(\rho_{a}\), \(|\mathbf{v}_{a}\), \(\Theta_{a}\), and \(q_{a}\) are the density, horizontal wind, potential temperature and specific humidity calculated at the lowest model level. \(c_{p}\) is the heat capacity at constant pressure, \(\Theta_{s}\) is the surface potential temperature and \(q_{s}^{*}\) is the saturation specific humidity at the surface temperature.
\(C_{S}\), \(C_{\mathcal{T}}\) and \(C_{E}\) are drag coefficients. These are calculated according to a simplified Monin-Obukhov similarity theory [Frierson2006a] in the module monin_obukhov_mod
, found in Isca/src/atmos_param/monin_obukhov/monin_obukhov.F90
. Roughness lengths for each flux can be specified as namelist parameters in idealised_moist_phys
.
Land
Land is implemented in Isca in 4 ways, via adjustment of (1) the roughness length, (2) the evaporative flux, (3) the albedo, (4) the mixed layer depth:
Any desired adjustments to roughness length over land are made in
idealized_moist_phys_mod
via the namelist parameterland_roughness_prefactor
and are then fed tosurface_flux_mod
. This parameter prescribes a prefactor to modify the roughness lengths used over land in the Monin-Obukhov calculations. The same modification prefactor is used for all fluxes.Adjustments to the evaporative flux are made in
surface_flux_mod
. 2 options are available:Prefactors \(\alpha\) and \(\beta\) may be prescribed over land to modify the evaporative flux:
\[E = \beta \rho_{a} C_{E} |\mathbf{v}_{a}|(q_{a} - \alpha q_{s}^{*}).\]\(\alpha\) is set using
land_humidity_prefactor
and \(\beta\) is set usingland_evap_prefactor
in thesurface_flux_nml
.A simple bucket hydrology may be used following [Manabe1969]. In this case, hydrology is described by prescribing land with a bucket depth \(W\) which can vary between 0, corresponding to an empty bucket, and a field capacity \(W_{FC}\), corresponding to a full bucket. The evaporation equation is then modified over land grid cells according to the bucket depth.
If \(W \lt 0.75 W_{FC}\):
\[E = \frac{W}{0.75 W_{FC}} \rho_{a} C_{E} |\mathbf{v}_{a}|(q_{a} - q_{s}^{*})\]If \(W \ge 0.75 W_{FC}\):
\[E = \rho_{a} C_{E} |\mathbf{v}_{a}|(q_{a} - q_{s}^{*})\]Bucket namelist parameters are input via
idealized_moist_phys_mod
.
3.& 4. Adjustments to the albedo and mixed layer depth are made via namelist parameters in the module :mixed_layer_mod: found in Isca/src/atmos_spectral/driver/solo/mixed_layer.F90
.
Parametrization for gas giants
For modelling gas giants, the namelist option flux_heat_gp
allows the user to prescribe an intrinsic heat flux at 1 bar, appropriate for a giant planet atmosphere where there is no surface [Schneider2009]. In practice, the subroutine gp_surface_flux
will then impose an atmospheric heating \(Q_{gp}\) at the lowest model level as:
where \(g\) is the gravitational acceleration, \(\gamma\) is the value of flux_heat_gp
, \(c_{p}\) is the heat capacity at constant pressure and \(\Delta p\) is the thickness of the lowest model pressure level. To accelerate model spin-up, this intrinsic heat flux can be increased via the namelist option diabatic_acce
. Alternatively, Isca’s column model configuration could be run to equilibrium.
To turn on this parametrization, gp_surface
should be set to True in the idealized_moist_phys
namelist.
Namelist options
The namelist options for surface_flux_nml
are listed below. These include options to limit evaporation over land, to use more simplified parametrisations, to account for salinity over ocean, and to help with issues resulting from truncation. We note that Isca is developed from the GFDL FMS model (https://github.com/NOAA-GFDL/FMS) and some options remain to enable old model configurations to be supported, as indicated in the table.
Name |
Default |
Description |
---|---|---|
|
False |
If q_atm_in (specific humidity input) is negative (because of numerical truncation), then override with 0. |
|
True |
If true, use virtual potential temp to calculate the stability of the surface layer. If false, use potential temp. |
|
False |
If true, use an alternative formulation for gustiness calculation where a minimum bound
on the wind speed is used in flux calculations, with the bound equal to |
|
1.0 |
Constant for alternative gustiness calculation. |
|
Minimum gustiness used when alt_gustiness is set to False. |
|
|
False |
If true, the derivatives of surface wind stress w.r.t. the zonal wind and meridional wind are each approximated by the same value. |
|
False |
GFDL LEGACY: If true, then use the saturation surface mixing ratio instead of specific humidity in calculating surface moisture exchange. This provides the capability to run the Manabe Climate form of the surface flux. |
|
False |
If true, then approximate saturation surface specific humidity as: \(q_{sat} = 0.622*e_{sat} / p_{surf}\). If false: \(q_{sat} = 0.622*e_{sat} / (p_{surf} - e_{sat})\) is used. |
|
False |
Use NCAR climate model turbulent flux calculation described by [Large2004]. |
|
False |
GFDL LEGACY: Use NCAR climate model turbulent flux calculation described by [Large2004], using the original GFDL implementation, which contains a bug in the specification of the exchange coefficient for the sensible heat. Not recommended for new experiments. |
|
False |
If true, reduce saturation vapor pressures over ocean to account for seawater salinity. |
|
1.0 |
Factor that multiplies the surface specific humidity over land. This is included to make land ‘dry’. If it is equal to 1, land behaves like ocean. If it is between 0 and 1, this will decrease the evaporative heat flux in areas of land. Note that this can lead to sign changes in the evaporative flux, and we find this becomes unstable over very shallow mixed layer depths. |
|
1.0 |
Factor that multiplies the evaporative flux over land. This is included to make land ‘dry’. If it is equal to 1, land behaves like ocean. If it is between 0 and 1, this will decrease the evaporative heat flux in areas of land. This formulation avoids sign changes in the evaporative flux and remains stable over very shallow mixed layer depths. |
|
5.7 |
Intrinsic heat flux imposed to describe the lower boundary of a giant planet atmosphere. [Schneider2009]. Default is \(5.7 Wm^{-2}\), appropriate for Jupiter [Gierasch2000]. |
|
1.0 |
Multiplicative scaling factor for the temperature tendency in the giant planet scheme. This can be used to speed up model spin-up. It will speed up the model spin-up if greater than 1. A similar factor can also be applied for giant planet radiation. Note that an alternative way to accelerate spin-up is to run Isca’s column model to equilibrium. |
Diagnostics
No diagnostics are saved within the surface_flux
module itself. Diagnostics related to surface exchange are available via the atmosphere diagnostic list in idealized_moist_phys.F90
, and the mixed_layer diagnostic list in mixed_layer.F90
.
Relevant modules and subroutines
Modules relevant to this one include:
- idealized_moist_phys:
Momentum flux diagnostics are output here. A land roughness prefactor can also be applied in this module, which is used to alter the roughness lengths that are fed to
surface_flux_mod
.- mixed_layer_mod:
Diagnostics for fluxes of sensible and latent heat are output here.