Parametrization of surface fluxes
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=p), | private, | parameter | :: | fwind0 | = | 0.95 | Ratio of near-sfc wind to lowest-level wind |
| real(kind=p), | private, | parameter | :: | ftemp0 | = | 1.0 | Weight for near-sfc temperature extrapolation (0-1) : 1 : linear extrapolation from two lowest levels 0 : constant potential temperature ( = lowest level) |
| real(kind=p), | private, | parameter | :: | fhum0 | = | 0.0 | Weight for near-sfc specific humidity extrapolation (0-1) : 1 : extrap. with constant relative hum. ( = lowest level) 0 : constant specific hum. ( = lowest level) |
| real(kind=p), | private, | parameter | :: | cdl | = | 2.4e-3 | Drag coefficient for momentum over land |
| real(kind=p), | private, | parameter | :: | cds | = | 1.0e-3 | Drag coefficient for momentum over sea |
| real(kind=p), | private, | parameter | :: | chl | = | 1.2e-3 | Heat exchange coefficient over land |
| real(kind=p), | private, | parameter | :: | chs | = | 0.9e-3 | Heat exchange coefficient over sea |
| real(kind=p), | private, | parameter | :: | vgust | = | 5.0 | Wind speed for sub-grid-scale gusts |
| real(kind=p), | private, | parameter | :: | ctday | = | 1.0e-2 | Daily-cycle correction (dTskin/dSSRad) |
| real(kind=p), | private, | parameter | :: | dtheta | = | 3.0 | Potential temp. gradient for stability correction |
| real(kind=p), | private, | parameter | :: | fstab | = | 0.67 | Amplitude of stability correction (fraction) |
| real(kind=p), | private, | parameter | :: | hdrag | = | 2000.0 | Height scale for orographic correction |
| real(kind=p), | private, | parameter | :: | clambda | = | 7.0 | Heat conductivity in skin-to-root soil layer |
| real(kind=p), | private, | parameter | :: | clambsn | = | 7.0 | Heat conductivity in soil for snow cover = 1 |
Compute surface fluxes of momentum, energy and moisture, and define surface skin temperature from energy balance
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| 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 |
Compute orographic factor for land surface drag Input: phi0 = surface geopotential
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=p), | intent(in) | :: | phi0(ix,il) | |||
| real(kind=p), | intent(inout) | :: | forog(ix,il) | Orographic factor for land surface drag |