Ignore:
Timestamp:
Sep 19, 2006, 4:23:21 PM (18 years ago)
Author:
Laurent Fairhead
Message:

Pour la conservation du flux d'eau OM, JLD
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/interface_surf.F90

    r589 r705  
    3939#include "YOMCST.inc"
    4040#include "indicesol.inc"
    41 
     41!IM
     42#include "clesphys.inc"
    4243
    4344! run_off      ruissellement total
     
    7475      & evap, fluxsens, fluxlat, dflux_l, dflux_s, &             
    7576      & tsol_rad, tsurf_new, alb_new, alblw, emis_new, &
    76       & z0_new, pctsrf_new, agesno,fqcalving,ffonte, run_off_lic_0)
     77      & z0_new, pctsrf_new, agesno,fqcalving,fqfonte,ffonte, run_off_lic_0)
    7778
    7879
     
    282283  ffonte(1:knon)=0.
    283284  fqcalving(1:knon)=0.
     285  fqfonte  (1:knon)=0.
    284286
    285287  cal = 999999. ; beta = 999999. ; dif_grnd = 999999. ; capsol = 999999.
     
    375377     &   petAcoef, peqAcoef, petBcoef, peqBcoef, &
    376378     &   tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    377      &   fqcalving,ffonte, run_off_lic_0)
     379     &   fqcalving,fqfonte,ffonte, run_off_lic_0)
    378380
    379381
     
    628630             &   petAcoef, peqAcoef, petBcoef, peqBcoef, &
    629631             &   tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    630              &   fqcalving,ffonte, run_off_lic_0)
     632             &   fqcalving,fqfonte,ffonte, run_off_lic_0)
    631633
    632634!     calcul albedo
     
    723725     &   petAcoef, peqAcoef, petBcoef, peqBcoef, &
    724726     &   tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    725      &   fqcalving,ffonte, run_off_lic_0)
     727     &   fqcalving,fqfonte,ffonte, run_off_lic_0)
    726728
    727729! passage du run-off des glaciers calcule dans fonte_neige au coupleur
     
    13641366! l'avoir lu
    13651367  real, allocatable,dimension(:,:),save :: pctsrf_sav
    1366   real, dimension(iim, jjm+1, 2) :: tamp_srf
     1368  real, dimension(iim, jjm+1, 3) :: tamp_srf
    13671369  integer, allocatable, dimension(:), save :: tamp_ind
    13681370  real, allocatable, dimension(:,:),save :: tamp_zmasq
     
    17151717      wri_rriv = cpl_rriv(:,:)
    17161718      wri_rcoa = cpl_rcoa(:,:)
    1717       DO j = 1, jjm + 1
    1718         wri_calv(:,j) = sum(cpl_rlic(:,j)) / iim
    1719       enddo
     1719!Essai OM+JLD : ca marche !!!! (17 mars 2006)
     1720      CALL gath2cpl( pctsrf(1,is_lic), tamp_srf(1,1,3), klon, klon, iim, jjm, tamp_ind)
     1721      DO j = 1, jjm+1
     1722         wri_calv(1,j) = DOT_PRODUCT (cpl_rlic(1:iim,j), tamp_srf(1:iim,j,3)) / REAL(iim)
     1723         wri_calv(2:iim,j) = wri_calv(1,j)
     1724      ENDDO
    17201725
    17211726      where (tamp_zmasq /= 1.)
     
    26422647     & petAcoef, peqAcoef, petBcoef, peqBcoef, &
    26432648     & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    2644      & fqcalving,ffonte,run_off_lic_0)
     2649     & fqcalving,fqfonte,ffonte,run_off_lic_0)
    26452650
    26462651! Routine de traitement de la fonte de la neige dans le cas du traitement
     
    27032708  real, dimension(klon), intent(INOUT):: ffonte
    27042709! Flux d'eau "perdue" par la surface et necessaire pour que limiter la
    2705 ! hauteur de neige, en kg/m2/s
    2706   real, dimension(klon), intent(INOUT):: fqcalving
     2710! hauteur de neige, en kg/m2/s. Et flux d'eau de fonte de la calotte.
     2711  REAL, DIMENSION(klon), INTENT(INOUT):: fqcalving, fqfonte
    27072712  real, dimension(klon), intent(INOUT):: run_off_lic_0
    27082713! Variables locales
     
    28242829      fq_fonte = MIN( MAX((tsurf_new(i)-RTT )/chasno,0.0),snow(i))
    28252830      ffonte(i) = fq_fonte * RLMLT/dtime
     2831      fqfonte(i) = fq_fonte/dtime
    28262832      snow(i) = max(0., snow(i) - fq_fonte)
    28272833      bil_eau_s(i) = bil_eau_s(i) + fq_fonte
     
    28322838        fq_fonte = MAX((tsurf_new(i)-RTT )/chaice,0.0)
    28332839        ffonte(i) = ffonte(i) + fq_fonte * RLMLT/dtime
    2834         bil_eau_s(i) = bil_eau_s(i) + fq_fonte
     2840        IF ( ok_lic_melt ) THEN
     2841           fqfonte(i) = fqfonte(i) + fq_fonte/dtime
     2842           bil_eau_s(i) = bil_eau_s(i) + fq_fonte
     2843        ENDIF
    28352844        tsurf_new(i) = RTT
    28362845      ENDIF
     
    28502859 &                        (1. - coeff_rel) * run_off_lic_0(i)
    28512860      run_off_lic_0(i) = run_off_lic(i)
    2852       run_off_lic(i) = run_off_lic(i) + bil_eau_s(i)/dtime
     2861      run_off_lic(i) = run_off_lic(i) + fqfonte(i)/dtime
    28532862    endif
    28542863  enddo
Note: See TracChangeset for help on using the changeset viewer.