Ignore:
Timestamp:
Apr 3, 2026, 11:21:47 AM (18 hours ago)
Author:
Sebastien Nguyen
Message:

implementation of isotopes in snow according to C.Agosta N.Dutrievoz and S.Sibin

Location:
LMDZ6/branches/LMDZISOdevSN/libf/phylmdiso
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/LMDZISOdevSN/libf/phylmdiso/lmdz_lscp_old.F90

    r5894 r6153  
    18221822        ! condensation, et le condensat en un tag spécifique
    18231823        ! Attention: zqn,zxtn ne servent qu'au calcul de zcond,zxtcond.
    1824         ! C'est en fait zxt qui se fait retranché
     1824        ! C'est en fait zxt qui se fait retrancher
    18251825        ! correction le 31 mars 2010: c'est à qn qu'il faut retrancher
    18261826        ! le condensat, car la condensation LS est un processus sous
     
    22092209       IF (rneb(i,k).GT.0.0) THEN
    22102210        if (zcond(i).gt.ridicule**2) then
    2211             ! le 21 dec: on change .gt.0 en .gt.ridicule**2 pour éviter valeur
    2212             ! ridiculement petites
     2211           ! le 21 dec: on change .gt.0 en .gt.ridicule**2 pour éviter valeur ridiculement petites
     2212           !cCAa condensed water in cloud ("zoliq") conserves its isotopic composition
    22132213           do ixt=1,ntraciso
    22142214             zxtoliq(ixt,i)=zoliq(i)*(zxtcond(ixt,i)/zcond(i))
  • LMDZ6/branches/LMDZISOdevSN/libf/phylmdiso/phyaqua_mod.F90

    r5927 r6153  
    5252    IMPLICIT NONE
    5353
    54 
    55 
    5654    INTEGER, INTENT (IN) :: nlon, year_len, iflag_phys
    5755    ! IM ajout latfi, lonfi
     
    6967#ifdef ISO
    7068    REAL :: xtrun_off_lic_0(niso,nlon)
    71     REAL :: xtsolsrf(niso,nlon, nbsrf), xtsnsrf(niso,nlon, nbsrf)
     69    REAL :: xtsolsrf(niso,nlon, nbsrf)
     70    REAL :: xtsnsrf(niso,nlon, nbsrf)
     71    REAL :: xtsurfsnsrf(niso, nlon, nbsrf)
    7272    REAL :: Rland_ice(niso,nlon)
    7373    REAL :: Rsol(niso,nlon)
     
    356356!GG
    357357#ifdef ISO
    358     CALL pbl_surface_init_iso(xtsnsrf,Rland_ice,Rsol)
     358    CALL pbl_surface_init_iso(xtsnsrf, xtsurfsnsrf, Rland_ice, Rsol)
    359359#endif
    360360
  • LMDZ6/branches/LMDZISOdevSN/libf/phylmdiso/phyetat0_mod.F90

    r6115 r6153  
    122122  REAL :: missing_val
    123123#ifdef ISO
    124   REAL xtsnow(niso,klon, nbsrf)
     124  REAL xtsnow(niso,klon,nbsrf)
     125  REAL xtsurfsnow(niso, klon,nbsrf)
    125126  REAL xtrun_off_lic_0(niso,klon)
    126127  REAL Rland_ice(niso,klon)
     
    649650     ! initialise les isotopes       
    650651  WRITE(*,*) 'phyetat0 1069'
    651   CALL phyisoetat0 (snow,run_off_lic_0, &
    652   &           xtsnow,xtrun_off_lic_0, &
    653   &           Rland_ice,Rsol)
     652  CALL phyisoetat0(snow,run_off_lic_0, xtsnow, xtsurfsnow, xtrun_off_lic_0, Rland_ice, Rsol)
    654653#ifdef ISOVERIF
    655654  WRITE(*,*) 'phyetat0 1074'
    656655  IF (iso_eau.GT.0) THEN
    657     CALL iso_verif_egalite_vect2D(  &
    658     &           xtsnow,snow, &
    659     &           'phyetat0 1101a',niso,klon,nbsrf)
     656    CALL iso_verif_egalite_vect2D(xtsnow, snow, 'phyetat0 1101a',niso,klon,nbsrf)
    660657    DO i=1,klon 
    661       CALL iso_verif_egalite(Rland_ice(iso_eau,i),1.0, &
    662       &         'phyetat0 1101b')
     658      CALL iso_verif_egalite(Rland_ice(iso_eau,i),1.0, 'phyetat0 1101b')
    663659    ENDDO
    664660  ENDIF
     
    806802  !GG
    807803#ifdef ISO
    808   CALL pbl_surface_init_iso(xtsnow,Rland_ice,Rsol)
     804  CALL pbl_surface_init_iso(xtsnow, xtsurfsnow, Rland_ice, Rsol)
    809805#endif
    810806  endif
  • LMDZ6/branches/LMDZISOdevSN/libf/phylmdiso/phyredem.F90

    r6115 r6153  
    9191#ifdef ISO
    9292  REAL xtsnow(niso,klon, nbsrf)
     93  REAL xtsurfsnow(niso,klon, nbsrf)
    9394  REAL xtrun_off_lic_0(niso,klon)
    9495  REAL Rland_ice(niso,klon)
     
    114115     CALL pbl_surface_final(fder, snow, qsurf, tsoil &
    115116#ifdef ISO
    116        , xtsnow, Rland_ice, Rsol &
     117       , xtsnow, xtsurfsnow, Rland_ice, Rsol &
    117118#endif       
    118119       )
     
    486487    WRITE(*,*) 'phyredem 486'
    487488    CALL phyisoredem (pass, &
    488    &           xtsnow, &
     489   &           xtsnow, xtsurfsnow, &
    489490   &           xtrun_off_lic_0, Rland_ice, Rsol, &
    490491   &           run_off_lic_0)
     
    562563
    563564SUBROUTINE phyisoredem (pass, &
    564      &          xtsnow, &
    565      &          xtrun_off_lic_0, Rland_ice, Rsol, &
    566      &          run_off_lic_0)
    567  USE dimphy
     565     &    xtsnow, xtsurfsnow, &
     566     &    xtrun_off_lic_0, Rland_ice, Rsol, &
     567     &    run_off_lic_0)
     568  USE dimphy
    568569 !USE mod_grid_phy_lmdz
    569570 !USE mod_phys_lmdz_para
     
    592593  ! inputs
    593594  !REAL xtsol(niso,klon)
    594   REAL, INTENT(IN)    :: xtsnow(niso,klon,nbsrf)
     595  REAL, INTENT(IN)    :: xtsnow(niso,klon,nbsrf)
     596  REAL, INTENT(IN)    :: xtsurfsnow(niso,klon,nbsrf)
    595597  !REAL xtevap(ntiso,klon,nbsrf)     
    596598  REAL, INTENT(IN)    :: xtrun_off_lic_0(niso,klon)
     
    688690      iso_tmp_lonsrf(:,:)=xtsnow(ixt,:,:)
    689691      CALL put_field_srf1(pass, "XTSNOW"//TRIM(outiso), "NEIGE",       iso_tmp_lonsrf)
     692     
     693      iso_tmp_lonsrf(:,:)=xtsurfsnow(ixt,:,:)
     694      CALL put_field_srf1(pass, "XTSURFSNOW"//TRIM(outiso), "SURFACE SNOW", iso_tmp_lonsrf)
    690695
    691696      iso_tmp(:)=xtsol(ixt,:)
  • LMDZ6/branches/LMDZISOdevSN/libf/phylmdiso/physiq_mod.F90

    r6141 r6153  
    14911491       WRITE(lunout,*) '================================================='
    14921492       CALL phys_local_var_init
    1493        WRITE(lunout,*) 'MAXVAL(runoff_diag(:))=',MAXVAL(runoff_diag)
     1493!SN a enlever       WRITE(lunout,*) 'MAXVAL(runoff_diag(:))=',MAXVAL(runoff_diag)
    14941494       !
    14951495       !     appel a la lecture du run.def physique
     
    18111811
    18121812       ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1813        !! Un petit travail \`a faire ici.
     1813       !! Un petit travail a faire ici.
    18141814       ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    18151815
     
    36903690!!SN    ENDIF
    36913691!!SN    zx_ajustq = .FALSE.
    3692 !!SN    IF (iflag_con.EQ.2) zx_ajustq=.TRUE.
     3692!!SN    IF (iflag_con.EQ.2) zx_ajustq=.TRUE. !SN ISOTOPES PAS PREVUS !
    36933693!!SN    IF (zx_ajustq) THEN
    36943694!!SN       DO i = 1, klon
Note: See TracChangeset for help on using the changeset viewer.