Ignore:
Timestamp:
Jan 27, 2003, 11:45:56 AM (22 years ago)
Author:
lmdzadmin
Message:

Rajout qsol JLD
IM/LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/phyetat0.F

    r433 r442  
    33c
    44      SUBROUTINE phyetat0 (fichnom,dtime,co2_ppm_etat0,solaire_etat0,
    5      .            rlat,rlon, pctsrf, tsol,tsoil,deltat,qsol,snow,
     5     .            rlat,rlon, pctsrf, tsol,tsoil,deltat,qsurf,qsol,snow,
    66     .           albe, evap, rain_fall, snow_fall, solsw, sollw,
    77     .           fder,radsol,frugs,agesno,clesphy0,
     
    3030      REAL tsoil(klon,nsoilmx,nbsrf)
    3131      REAL deltat(klon)
    32       REAL qsol(klon,nbsrf)
     32      REAL qsurf(klon,nbsrf)
     33      REAL qsol(klon)
    3334      REAL snow(klon,nbsrf)
    3435      REAL albe(klon,nbsrf)
     
    436437      PRINT*,'Ecart de la SST deltat:', xmin, xmax
    437438c
    438 c Lecture de l'humidite du sol:
     439c Lecture de l'humidite de l'air juste au dessus du sol:
    439440c
    440441      ierr = NF_INQ_VARID (nid, "QS", nvarid)
     
    454455           ENDIF
    455456#ifdef NC_DOUBLE
    456            ierr = NF_GET_VAR_DOUBLE(nid, nvarid, qsol(1,nsrf))
    457 #else
    458            ierr = NF_GET_VAR_REAL(nid, nvarid, qsol(1,nsrf))
     457           ierr = NF_GET_VAR_DOUBLE(nid, nvarid, qsurf(1,nsrf))
     458#else
     459           ierr = NF_GET_VAR_REAL(nid, nvarid, qsurf(1,nsrf))
    459460#endif
    460461           IF (ierr.NE.NF_NOERR) THEN
     
    465466           xmax = -1.0E+20
    466467           DO i = 1, klon
    467               xmin = MIN(qsol(i,nsrf),xmin)
    468               xmax = MAX(qsol(i,nsrf),xmax)
     468              xmin = MIN(qsurf(i,nsrf),xmin)
     469              xmax = MAX(qsurf(i,nsrf),xmax)
    469470           ENDDO
    470            PRINT*,'Humidite du sol QS**:', nsrf, xmin, xmax
     471           PRINT*,'Humidite pres du sol QS**:', nsrf, xmin, xmax
    471472         ENDDO
    472473      ELSE
     
    474475         PRINT*, '          J ignore donc les autres humidites QS**'
    475476#ifdef NC_DOUBLE
    476          ierr = NF_GET_VAR_DOUBLE(nid, nvarid, qsol(1,1))
    477 #else
    478          ierr = NF_GET_VAR_REAL(nid, nvarid, qsol(1,1))
     477         ierr = NF_GET_VAR_DOUBLE(nid, nvarid, qsurf(1,1))
     478#else
     479         ierr = NF_GET_VAR_REAL(nid, nvarid, qsurf(1,1))
    479480#endif
    480481         IF (ierr.NE.NF_NOERR) THEN
     
    485486         xmax = -1.0E+20
    486487         DO i = 1, klon
    487             xmin = MIN(qsol(i,1),xmin)
    488             xmax = MAX(qsol(i,1),xmax)
    489          ENDDO
    490          PRINT*,'Humidite du sol <QS>', xmin, xmax
     488            xmin = MIN(qsurf(i,1),xmin)
     489            xmax = MAX(qsurf(i,1),xmax)
     490         ENDDO
     491         PRINT*,'Humidite pres du sol <QS>', xmin, xmax
    491492         DO nsrf = 2, nbsrf
    492493         DO i = 1, klon
    493             qsol(i,nsrf) = qsol(i,1)
    494          ENDDO
    495          ENDDO
    496       ENDIF
     494            qsurf(i,nsrf) = qsurf(i,1)
     495         ENDDO
     496         ENDDO
     497      ENDIF
     498C
     499C Eau dans le sol (pour le modele de sol "bucket")
     500C
     501      ierr = NF_INQ_VARID (nid, "QSOL", nvarid)
     502      IF (ierr .EQ.  NF_NOERR) THEN
     503#ifdef NC_DOUBLE
     504          ierr = NF_GET_VAR_DOUBLE(nid, nvarid, qsol)
     505#else
     506          ierr = NF_GET_VAR_REAL(nid, nvarid, qsol)
     507#endif
     508          IF (ierr.NE.NF_NOERR) THEN
     509              PRINT*, 'phyetat0: Lecture echouee pour <QSOL>'
     510              CALL abort
     511          ENDIF
     512      else
     513          PRINT*, 'phyetat0: Le champ <QSOL> est absent'
     514          PRINT*, '          Valeur par defaut nulle'
     515          qsol(:)=0.
     516c$$$         CALL abort
     517      ENDIF
     518      xmin = 1.0E+20
     519      xmax = -1.0E+20
     520      DO i = 1, klon
     521        xmin = MIN(qsol(i),xmin)
     522        xmax = MAX(qsol(i),xmax)
     523      ENDDO
     524      PRINT*,'Eau dans le sol (mm) <QSOL>', xmin, xmax
    497525c
    498526c Lecture de neige au sol:
Note: See TracChangeset for help on using the changeset viewer.