calcul_fluxs Subroutine

public subroutine calcul_fluxs(knon, nisurf, dtime, tsurf, p1lay, cal, beta, cdragh, cdragq, ps, precip_rain, precip_snow, snow, qsurf, radsol, dif_grnd, t1lay, q1lay, u1lay, v1lay, gustiness, fqsat, petAcoef, peqAcoef, petBcoef, peqBcoef, tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol, rhoa)

Uses

  • proc~~calcul_fluxs~2~~UsesGraph proc~calcul_fluxs~2 calcul_fluxs module~yomcst_mod_h yomcst_mod_h proc~calcul_fluxs~2->module~yomcst_mod_h module~yoethf_mod_h yoethf_mod_h proc~calcul_fluxs~2->module~yoethf_mod_h module~dimphy~3 dimphy proc~calcul_fluxs~2->module~dimphy~3 module~indice_sol_mod indice_sol_mod proc~calcul_fluxs~2->module~indice_sol_mod module~sens_heat_rain_m sens_heat_rain_m proc~calcul_fluxs~2->module~sens_heat_rain_m


$ WRITE(,)'test calcul_flux, surface ', nisurf PB test $ if (nisurf == is_oce) then $ snow = 0. $ qsol = max_eau_sol $ else $ where (precip_snow > 0.) snow = snow + (precip_snow * dtime) $ where (snow > epsilon(snow)) snow = max(0.0, snow - (evap * dtime)) $! snow = max(0.0, snow + (precip_snow - evap) * dtime) $ where (precip_rain > 0.) qsol = qsol + (precip_rain - evap) * dtime $ endif $ IF (nisurf /= is_ter) qsol = max_eau_sol




$ if (nisurf == is_ter) & $ & run_off(i) = run_off(i) + max(qsol(i) - max_eau_sol, 0.0) $ qsol(i) = min(qsol(i), max_eau_sol)

sens_prec_liq(i) = rcw * (t1lay(i) - RTT) * precip_rain(i) sens_prec_sol(i) = rcs * (t1lay(i) - RTT) * precip_snow(i)


Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: knon
integer, intent(in) :: nisurf
real, intent(in) :: dtime
real, intent(in), DIMENSION(klon) :: tsurf
real, intent(in), DIMENSION(klon) :: p1lay
real, intent(in), DIMENSION(klon) :: cal
real, intent(in), DIMENSION(klon) :: beta
real, intent(in), DIMENSION(klon) :: cdragh
real, intent(in), DIMENSION(klon) :: cdragq
real, intent(in), DIMENSION(klon) :: ps
real, intent(in), DIMENSION(klon) :: precip_rain
real, intent(in), DIMENSION(klon) :: precip_snow
real, intent(inout), DIMENSION(klon) :: snow
real, intent(out), DIMENSION(klon) :: qsurf
real, intent(in), DIMENSION(klon) :: radsol
real, intent(in), DIMENSION(klon) :: dif_grnd
real, intent(in), DIMENSION(klon) :: t1lay
real, intent(in), DIMENSION(klon) :: q1lay
real, intent(in), DIMENSION(klon) :: u1lay
real, intent(in), DIMENSION(klon) :: v1lay
real, intent(in), DIMENSION(klon) :: gustiness
real, intent(in) :: fqsat
real, intent(in), DIMENSION(klon) :: petAcoef
real, intent(in), DIMENSION(klon) :: peqAcoef
real, intent(in), DIMENSION(klon) :: petBcoef
real, intent(in), DIMENSION(klon) :: peqBcoef
real, intent(out), DIMENSION(klon) :: tsurf_new
real, intent(out), DIMENSION(klon) :: evap
real, intent(out), DIMENSION(klon) :: fluxlat
real, intent(out), DIMENSION(klon) :: fluxsens
real, intent(out), DIMENSION(klon) :: dflux_s
real, intent(out), DIMENSION(klon) :: dflux_l
real, intent(out), optional :: sens_prec_liq(:)
real, intent(out), optional :: sens_prec_sol(:)
real, optional, DIMENSION(klon) :: lat_prec_liq
real, optional, DIMENSION(klon) :: lat_prec_sol
real, intent(in), optional :: rhoa(:)

Calls

proc~~calcul_fluxs~2~~CallsGraph proc~calcul_fluxs~2 calcul_fluxs proc~sens_heat_rain sens_heat_rain proc~calcul_fluxs~2->proc~sens_heat_rain proc~esat esat proc~sens_heat_rain->proc~esat

Contents