Ignore:
Timestamp:
Sep 20, 2006, 12:54:27 PM (18 years ago)
Author:
Laurent Fairhead
Message:

Integration des modifications d'OM et JLD pour une meilleure prise en compte
de la conservation du flux d'eau
LF

File:
1 edited

Legend:

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

    r628 r710  
    3939#include "YOMCST.inc"
    4040#include "indicesol.inc"
    41 
     41!IM
     42#include "clesphys.inc"
    4243
    4344! run_off      ruissellement total
     
    7071      & evap, fluxsens, fluxlat, dflux_l, dflux_s, &             
    7172      & tsol_rad, tsurf_new, alb_new, alblw, emis_new, &
    72       & z0_new, pctsrf_new, agesno,fqcalving,ffonte, run_off_lic_0)
     73      & z0_new, pctsrf_new, agesno,fqcalving,fqfonte,ffonte, run_off_lic_0)
    7374
    7475
     
    272273  ffonte(1:knon)=0.
    273274  fqcalving(1:knon)=0.
     275  fqfonte  (1:knon)=0.
    274276
    275277  cal = 999999. ; beta = 999999. ; dif_grnd = 999999. ; capsol = 999999.
     
    365367     &   petAcoef, peqAcoef, petBcoef, peqBcoef, &
    366368     &   tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    367      &   fqcalving,ffonte, run_off_lic_0)
     369     &   fqcalving,fqfonte,ffonte, run_off_lic_0)
    368370
    369371
     
    603605             &   petAcoef, peqAcoef, petBcoef, peqBcoef, &
    604606             &   tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    605              &   fqcalving,ffonte, run_off_lic_0)
     607             &   fqcalving,fqfonte,ffonte, run_off_lic_0)
    606608
    607609!     calcul albedo
     
    693695     &   petAcoef, peqAcoef, petBcoef, peqBcoef, &
    694696     &   tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    695      &   fqcalving,ffonte, run_off_lic_0)
     697     &   fqcalving,fqfonte,ffonte, run_off_lic_0)
    696698
    697699! passage du run-off des glaciers calcule dans fonte_neige au coupleur
     
    13141316! l'avoir lu
    13151317  real, allocatable,dimension(:,:),save :: pctsrf_sav
    1316   real, dimension(iim, jjm+1, 2) :: tamp_srf
     1318  real, dimension(iim, jjm+1, 3) :: tamp_srf
    13171319  integer, allocatable, dimension(:), save :: tamp_ind
    13181320  real, allocatable, dimension(:,:),save :: tamp_zmasq
     
    16401642      wri_rriv = cpl_rriv(:,:)
    16411643      wri_rcoa = cpl_rcoa(:,:)
    1642       DO j = 1, jjm + 1
    1643         wri_calv(:,j) = sum(cpl_rlic(:,j)) / iim
    1644       enddo
     1644!Essai OM+JLD : ca marche !!!! (17 mars 2006)
     1645      CALL gath2cpl( pctsrf(1,is_lic), tamp_srf(1,1,3), klon, klon, iim, jjm, tamp_ind)
     1646      DO j = 1, jjm+1
     1647         wri_calv(1,j) = DOT_PRODUCT (cpl_rlic(1:iim,j), tamp_srf(1:iim,j,3)) / REAL(iim)
     1648         wri_calv(2:iim,j) = wri_calv(1,j)
     1649      ENDDO
    16451650
    16461651      where (tamp_zmasq /= 1.)
     
    25662571     & petAcoef, peqAcoef, petBcoef, peqBcoef, &
    25672572     & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    2568      & fqcalving,ffonte,run_off_lic_0)
     2573     & fqcalving,fqfonte,ffonte,run_off_lic_0)
    25692574
    25702575! Routine de traitement de la fonte de la neige dans le cas du traitement
     
    26272632  real, dimension(klon), intent(INOUT):: ffonte
    26282633! Flux d'eau "perdue" par la surface et necessaire pour que limiter la
    2629 ! hauteur de neige, en kg/m2/s
    2630   real, dimension(klon), intent(INOUT):: fqcalving
     2634! hauteur de neige, en kg/m2/s. Et flux d'eau de fonte de la calotte.
     2635  REAL, DIMENSION(klon), INTENT(INOUT):: fqcalving, fqfonte
    26312636  real, dimension(klon), intent(INOUT):: run_off_lic_0
    26322637! Variables locales
     
    27482753      fq_fonte = MIN( MAX((tsurf_new(i)-RTT )/chasno,0.0),snow(i))
    27492754      ffonte(i) = fq_fonte * RLMLT/dtime
     2755      fqfonte(i) = fq_fonte/dtime
    27502756      snow(i) = max(0., snow(i) - fq_fonte)
    27512757      bil_eau_s(i) = bil_eau_s(i) + fq_fonte
     
    27562762        fq_fonte = MAX((tsurf_new(i)-RTT )/chaice,0.0)
    27572763        ffonte(i) = ffonte(i) + fq_fonte * RLMLT/dtime
    2758         bil_eau_s(i) = bil_eau_s(i) + fq_fonte
     2764        IF ( ok_lic_melt ) THEN
     2765           fqfonte(i) = fqfonte(i) + fq_fonte/dtime
     2766           bil_eau_s(i) = bil_eau_s(i) + fq_fonte
     2767        ENDIF
    27592768        tsurf_new(i) = RTT
    27602769      ENDIF
     
    27742783 &                        (1. - coeff_rel) * run_off_lic_0(i)
    27752784      run_off_lic_0(i) = run_off_lic(i)
    2776       run_off_lic(i) = run_off_lic(i) + bil_eau_s(i)/dtime
     2785      run_off_lic(i) = run_off_lic(i) + fqfonte(i)/dtime
    27772786    endif
    27782787  enddo
Note: See TracChangeset for help on using the changeset viewer.