$ 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)
| Type | Intent | Optional | 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(:) |
|