--- trunk/phylmd/Interface_surf/interfsurf_hq.f 2018/05/03 16:46:29 268 +++ trunk/phylmd/Interface_surf/interfsurf_hq.f 2018/07/20 14:30:23 279 @@ -91,7 +91,7 @@ ! Flux d'eau "perdue" par la surface et n\'ecessaire pour limiter la ! hauteur de neige, en kg / m2 / s - real, dimension(klon), intent(INOUT):: fqcalving + real, intent(OUT):: fqcalving(:) ! (knon) ! Flux thermique utiliser pour fondre la neige real, dimension(klon), intent(INOUT):: ffonte @@ -113,6 +113,7 @@ real zfra(size(knindex)) ! (knon) REAL, PARAMETER:: fmagic = 1. ! facteur magique pour r\'egler l'alb\'edo REAL, PARAMETER:: max_eau_sol = 150. ! in kg m-2 + REAL, PARAMETER:: tau_gl = 86400. * 5. !------------------------------------------------------------- @@ -143,7 +144,6 @@ ! Initialisations diverses ffonte(1:knon) = 0. - fqcalving(1:knon) = 0. dif_grnd = 999999. z0_new = 999999. @@ -172,7 +172,7 @@ peqBcoef(:knon), tsurf_new, evap, fluxlat, flux_t, dflux_s, dflux_l) CALL fonte_neige(is_ter, dtime, precip_rain(:knon), & precip_snow(:knon), snow, qsol, tsurf_new, evap, & - fqcalving(:knon), ffonte(:knon), run_off_lic_0(:knon)) + fqcalving, ffonte(:knon), run_off_lic_0(:knon)) call albsno(dtime, agesno, alb_neig, precip_snow(:knon)) where (snow < 0.0001) agesno = 0. @@ -194,6 +194,7 @@ agesno = 0. albedo = alboc_cd(rmu0(knindex)) * fmagic z0_new = sqrt(rugos**2 + rugoro**2) + fqcalving = 0. case (is_sic) ! Surface "glace de mer" appel a l'interface avec l'ocean @@ -209,7 +210,7 @@ CALL soil(dtime, is_sic, snow, tsurf_new, tsoil, soilcap, soilflux) cal = RCPD / soilcap - dif_grnd = 0. + dif_grnd = 1. / tau_gl tsurf = tsurf_new beta = 1. @@ -220,7 +221,7 @@ peqBcoef(:knon), tsurf_new, evap, fluxlat, flux_t, dflux_s, dflux_l) CALL fonte_neige(is_sic, dtime, precip_rain(:knon), & precip_snow(:knon), snow, qsol, tsurf_new, evap, & - fqcalving(:knon), ffonte(:knon), run_off_lic_0(:knon)) + fqcalving, ffonte(:knon), run_off_lic_0(:knon)) ! Compute the albedo: @@ -245,7 +246,7 @@ peqBcoef(:knon), tsurf_new, evap, fluxlat, flux_t, dflux_s, dflux_l) call fonte_neige(is_lic, dtime, precip_rain(:knon), & precip_snow(:knon), snow, qsol, tsurf_new, evap, & - fqcalving(:knon), ffonte(:knon), run_off_lic_0(:knon)) + fqcalving, ffonte(:knon), run_off_lic_0(:knon)) ! calcul albedo CALL albsno(dtime, agesno, alb_neig, precip_snow(:knon))