get_surface_fluxes Subroutine

public subroutine get_surface_fluxes(psa, ua, va, ta, qa, rh, phi, phi0, fmask, forog, tsea, ssrd, slrd, ustr, vstr, shf, evap, slru, hfluxn, tsfc, tskin, u0, v0, t0, lfluxland, alb_land, alb_sea, snowc, land_temp, soil_avail_water, coa, sigl, wvi)

Uses

  • proc~~get_surface_fluxes~~UsesGraph proc~get_surface_fluxes get_surface_fluxes module~physical_constants physical_constants proc~get_surface_fluxes->module~physical_constants module~mod_radcon mod_radcon proc~get_surface_fluxes->module~mod_radcon module~humidity humidity proc~get_surface_fluxes->module~humidity module~types types module~physical_constants->module~types module~params params module~physical_constants->module~params module~mod_radcon->module~types module~mod_radcon->module~params module~humidity->module~types module~humidity->module~params iso_fortran_env iso_fortran_env module~types->iso_fortran_env module~params->module~types

Compute surface fluxes of momentum, energy and moisture, and define surface skin temperature from energy balance

Arguments

Type IntentOptional AttributesName
real(kind=p), intent(in) :: psa(ix,il)

Normalised surface pressure

real(kind=p), intent(in) :: ua(ix,il,kx)

u-wind

real(kind=p), intent(in) :: va(ix,il,kx)

v-wind

real(kind=p), intent(in) :: ta(ix,il,kx)

Temperature

real(kind=p), intent(in) :: qa(ix,il,kx)

Specific humidity [g/kg]

real(kind=p), intent(in) :: rh(ix,il,kx)

Relative humidity

real(kind=p), intent(in) :: phi(ix,il,kx)

Geopotential

real(kind=p), intent(in) :: phi0(ix,il)

Surface geopotential

real(kind=p), intent(in) :: fmask(ix,il)

Fractional land-sea mask

real(kind=p), intent(in) :: forog(ix,il)

Orographic factor for land surface drag

real(kind=p), intent(in) :: tsea(ix,il)

Sea-surface temperature

real(kind=p), intent(in) :: ssrd(ix,il)

Downward flux of short-wave radiation at the surface

real(kind=p), intent(in) :: slrd(ix,il)

Downward flux of long-wave radiation at the surface

real(kind=p), intent(out) :: ustr(ix,il,3)

u-stress

real(kind=p), intent(out) :: vstr(ix,il,3)

v-stress

real(kind=p), intent(out) :: shf(ix,il,3)

Sensible heat flux

real(kind=p), intent(out) :: evap(ix,il,3)

Evaporation

real(kind=p), intent(out) :: slru(ix,il,3)

Upward flux of long-wave radiation at the surface

real(kind=p), intent(out) :: hfluxn(ix,il,2)

Net downward heat flux

real(kind=p), intent(out) :: tsfc(ix,il)

Surface temperature

real(kind=p), intent(out) :: tskin(ix,il)

Skin surface temperature

real(kind=p), intent(out) :: u0(ix,il)

Near-surface u-wind

real(kind=p), intent(out) :: v0(ix,il)

Near-surface v-wind

real(kind=p), intent(out) :: t0(ix,il)

Near-surface temperature

logical, intent(in) :: lfluxland
real(kind=p), intent(in) :: alb_land(ix,il)

Daily-mean albedo over land (bare-land + snow)

real(kind=p), intent(in) :: alb_sea(ix,il)

Daily-mean albedo over sea (open sea + sea ice)

real(kind=p), intent(in) :: snowc(ix,il)

Effective snow cover (fraction)

real(kind=p), intent(in) :: land_temp(ix,il)

Land surface temperature

real(kind=p), intent(in) :: soil_avail_water(ix,il)

Soil water availability

real(kind=p), intent(in) :: coa(il)

cosine(latitude)

real(kind=p), intent(in) :: sigl(kx)

Logarithm of full-level sigma

real(kind=p), intent(in) :: wvi(kx,2)

Weights for vertical interpolation


Calls

proc~~get_surface_fluxes~~CallsGraph proc~get_surface_fluxes get_surface_fluxes proc~get_qsat get_qsat proc~get_surface_fluxes->proc~get_qsat proc~rel_hum_to_spec_hum rel_hum_to_spec_hum proc~get_surface_fluxes->proc~rel_hum_to_spec_hum proc~rel_hum_to_spec_hum->proc~get_qsat

Called by

proc~~get_surface_fluxes~~CalledByGraph proc~get_surface_fluxes get_surface_fluxes proc~get_physical_tendencies get_physical_tendencies proc~get_physical_tendencies->proc~get_surface_fluxes proc~get_grid_point_tendencies get_grid_point_tendencies proc~get_grid_point_tendencies->proc~get_physical_tendencies proc~get_tendencies get_tendencies proc~get_tendencies->proc~get_grid_point_tendencies proc~step step proc~step->proc~get_tendencies proc~do_single_step do_single_step proc~do_single_step->proc~step proc~first_step first_step proc~first_step->proc~step proc~step~2 step proc~step~2->proc~do_single_step proc~initialize_state initialize_state proc~initialize_state->proc~first_step proc~init init proc~init->proc~initialize_state

Contents

None