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~~UsesGraph proc~calcul_fluxs calcul_fluxs module~yomcst_mod_h yomcst_mod_h proc~calcul_fluxs->module~yomcst_mod_h module~yoethf_mod_h yoethf_mod_h proc~calcul_fluxs->module~yoethf_mod_h module~dimphy~3 dimphy proc~calcul_fluxs->module~dimphy~3 module~indice_sol_mod indice_sol_mod proc~calcul_fluxs->module~indice_sol_mod module~sens_heat_rain_m sens_heat_rain_m proc~calcul_fluxs->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~~CallsGraph proc~calcul_fluxs calcul_fluxs proc~sens_heat_rain sens_heat_rain proc~calcul_fluxs->proc~sens_heat_rain proc~esat esat proc~sens_heat_rain->proc~esat

Called by

proc~~calcul_fluxs~~CalledByGraph proc~calcul_fluxs calcul_fluxs proc~surf_land_bucket surf_land_bucket proc~surf_land_bucket->proc~calcul_fluxs proc~ocean_forced_noice~2 ocean_forced_noice proc~ocean_forced_noice~2->proc~calcul_fluxs proc~surf_land_bucket_hetero~2 surf_land_bucket_hetero proc~surf_land_bucket_hetero~2->proc~calcul_fluxs proc~surf_land_bucket_hetero surf_land_bucket_hetero proc~surf_land_bucket_hetero->proc~calcul_fluxs proc~ocean_forced_noice ocean_forced_noice proc~ocean_forced_noice->proc~calcul_fluxs proc~ocean_forced_ice ocean_forced_ice proc~ocean_forced_ice->proc~calcul_fluxs proc~ocean_forced_ice~2 ocean_forced_ice proc~ocean_forced_ice~2->proc~calcul_fluxs proc~ocean_cpl_noice ocean_cpl_noice proc~ocean_cpl_noice->proc~calcul_fluxs proc~ocean_slab_ice~2 ocean_slab_ice proc~ocean_slab_ice~2->proc~calcul_fluxs proc~ocean_slab_noice ocean_slab_noice proc~ocean_slab_noice->proc~calcul_fluxs proc~surf_landice surf_landice proc~surf_landice->proc~calcul_fluxs proc~surf_landice~2 surf_landice proc~surf_landice~2->proc~calcul_fluxs proc~ocean_slab_noice~2 ocean_slab_noice proc~ocean_slab_noice~2->proc~calcul_fluxs proc~ocean_cpl_noice~2 ocean_cpl_noice proc~ocean_cpl_noice~2->proc~calcul_fluxs proc~ocean_cpl_ice~2 ocean_cpl_ice proc~ocean_cpl_ice~2->proc~calcul_fluxs proc~ocean_slab_ice ocean_slab_ice proc~ocean_slab_ice->proc~calcul_fluxs proc~surf_land_bucket~2 surf_land_bucket proc~surf_land_bucket~2->proc~calcul_fluxs proc~ocean_cpl_ice ocean_cpl_ice proc~ocean_cpl_ice->proc~calcul_fluxs proc~surf_ocean~2 surf_ocean proc~surf_ocean~2->proc~ocean_forced_noice proc~surf_ocean~2->proc~ocean_cpl_noice proc~surf_ocean~2->proc~ocean_slab_noice proc~surf_seaice surf_seaice proc~surf_seaice->proc~ocean_forced_ice proc~surf_seaice->proc~ocean_slab_ice proc~surf_seaice->proc~ocean_cpl_ice proc~surf_land surf_land proc~surf_land->proc~surf_land_bucket proc~surf_land->proc~surf_land_bucket_hetero proc~surf_seaice~2 surf_seaice proc~surf_seaice~2->proc~ocean_forced_ice proc~surf_seaice~2->proc~ocean_slab_ice proc~surf_seaice~2->proc~ocean_cpl_ice proc~pbl_surface pbl_surface proc~pbl_surface->proc~surf_landice proc~pbl_surface->proc~surf_seaice proc~pbl_surface->proc~surf_land proc~surf_ocean surf_ocean proc~pbl_surface->proc~surf_ocean proc~pbl_surface~2 pbl_surface proc~pbl_surface~2->proc~surf_landice proc~pbl_surface~2->proc~surf_seaice proc~pbl_surface~2->proc~surf_land proc~pbl_surface~2->proc~surf_ocean proc~surf_land~2 surf_land proc~surf_land~2->proc~surf_land_bucket proc~surf_land~2->proc~surf_land_bucket_hetero proc~surf_ocean->proc~ocean_forced_noice proc~surf_ocean->proc~ocean_cpl_noice proc~surf_ocean->proc~ocean_slab_noice proc~physiq physiq proc~physiq->proc~pbl_surface proc~physiq~2 physiq proc~physiq~2->proc~pbl_surface proc~old_lmdz1d old_lmdz1d proc~old_lmdz1d->proc~physiq proc~call_physiq call_physiq proc~call_physiq->proc~physiq proc~call_physiq~2 call_physiq proc~call_physiq~2->proc~physiq proc~scm scm proc~scm->proc~physiq program~lmdz1d lmdz1d program~lmdz1d->proc~old_lmdz1d program~lmdz1d->proc~scm proc~calfis calfis proc~calfis->proc~call_physiq proc~leapfrog leapfrog proc~leapfrog->proc~calfis program~gcm~2 gcm program~gcm~2->proc~leapfrog

Contents