Atmospheric boundary interface (stability based flux calculations)
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLINTERFACE:
module ice_atmoUSES:
use ice_domain use ice_constants use ice_flux use ice_state
INTERFACE:
subroutine stability( i,j,nc, Tsf, rdn_in, $ strx ,stry ,Trf, dssqdt, delt, delq)DESCRIPTION:
Compute coefficients for atm/ice fluxes, stress, and reference
temperature. NOTE:
(1) all fluxes are positive downward,
(2) net heat flux = fswabs + flwup + (1-emissivity)flwdn + fsh + flh,
(3) here, tstar = (WT)/U*, and qstar = (WQ)/U*,
(4) wind speeds should all be above a minimum speed (eg. 1.0 m/s).
ASSUME:
The saturation humidity of air at T(K): qsat(T) (kg/m**3)
Code originally based on CSM1
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLUSES:
INPUT/OUTPUT PARAMETERS:
integer (kind=int_kind), intent(in) :: i,j,nc real (kind=dbl_kind), intent(in) :: & Tsf ! surface temperature of ice or ocean &, rdn_in ! initial value for rdn, dependent on ice/ocean surface real (kind=dbl_kind), intent(out) :: & strx ! x surface stress (N) &, stry ! y surface stress (N) &, Trf ! reference height temperature (K) &, dssqdt ! derivative of ssq wrt Ti (kg/kg/K) &, delt ! potential T difference (K) &, delq ! humidity difference (kg/kg)
INTERFACE:
subroutine ice_sfc_flux(i,j,nc, dssqdt, delt, delq, & flwdabs,flwup, fswabs,fswabsv,fswabsi, & fsh,flh,dflhdT,dfshdT,dflwdT)DESCRIPTION:
Compute ice-atm surface fluxes
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLUSES:
use ice_kinds_mod use ice_albedoINPUT/OUTPUT PARAMETERS:
integer (kind=int_kind), intent(in) :: i,j,nc real (kind=dbl_kind), intent(in) :: & dssqdt ! derivative of ssq wrt Ti (kg/kg/K) &, delt ! potential T difference (K) &, delq ! humidity difference (kg/kg) real (kind=dbl_kind), intent(out) :: & flwdabs ! down long-wave absorbed heat flx (W/m**2) &, flwup ! emitted long-wave upward heat flux (W/m**2) &, fswabs ! srfc absrbd short-wave heat flux (W/m**2) &, fswabsv ! fswabs in vis (wvlngth < 700nm) (W/m**2) &, fswabsi ! fswabs in nir (wvlngth > 700nm) (W/m**2) &, fsh ! sensible heat flux (W/m**2) &, flh ! latent heat flux (W/m**2) &, dflhdT ! d(flh)/d(T) (W/m**2/K) &, dfshdT ! d(fsh)/d(T) (W/m**2/K) &, dflwdT ! d(flwup)/d(T) (W/m**2/K)