Changeset 651 for LMDZ4


Ignore:
Timestamp:
Jun 3, 2005, 12:03:07 PM (19 years ago)
Author:
Laurent Fairhead
Message:

On fait dépendre la lecture de tslab et seaice dans phyetat0 du flag ocean
(on n'a pas besoin de les lire si on n'est pas en ocean slab)
LF

Location:
LMDZ4/trunk/libf/phylmd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/phyetat0.F

    r644 r651  
    77     .            rlat,rlon, pctsrf, tsol,tsoil,
    88cIM "slab" ocean
    9      .           tslab,seaice,
     9     .           ocean, tslab,seaice,
    1010     .           qsurf,qsol,snow,
    1111     .           albe, alblw, evap, rain_fall, snow_fall, solsw, sollw,
     
    6767      LOGICAL ancien_ok
    6868
     69      CHARACTER*6 ocean
     70
    6971      INTEGER        longcles
    7072      PARAMETER    ( longcles = 20 )
     
    426428c Lecture de tslab (pour slab ocean seulement):     
    427429c
    428       ierr = NF_INQ_VARID (nid, "TSLAB", nvarid)
    429       IF (ierr.NE.NF_NOERR) THEN
    430          PRINT*, "phyetat0: Le champ <TSLAB> est absent"
    431          CALL abort
    432       ENDIF
    433 #ifdef NC_DOUBLE
    434       ierr = NF_GET_VAR_DOUBLE(nid, nvarid, tslab)
    435 #else
    436       ierr = NF_GET_VAR_REAL(nid, nvarid, tslab)
    437 #endif
    438       IF (ierr.NE.NF_NOERR) THEN
    439          PRINT*, "phyetat0: Lecture echouee pour <TSLAB>"
    440          CALL abort
    441       ENDIF
    442       xmin = 1.0E+20
    443       xmax = -1.0E+20
    444       DO i = 1, klon
    445          xmin = MIN(tslab(i),xmin)
    446          xmax = MAX(tslab(i),xmax)
    447       ENDDO
    448       PRINT*,'Ecart de la SST tslab:', xmin, xmax
     430      IF (ocean .eq. 'slab  ') then
     431        ierr = NF_INQ_VARID (nid, "TSLAB", nvarid)
     432        IF (ierr.NE.NF_NOERR) THEN
     433          PRINT*, "phyetat0: Le champ <TSLAB> est absent"
     434          CALL abort
     435        ENDIF
     436#ifdef NC_DOUBLE
     437        ierr = NF_GET_VAR_DOUBLE(nid, nvarid, tslab)
     438#else
     439        ierr = NF_GET_VAR_REAL(nid, nvarid, tslab)
     440#endif
     441        IF (ierr.NE.NF_NOERR) THEN
     442          PRINT*, "phyetat0: Lecture echouee pour <TSLAB>"
     443          CALL abort
     444        ENDIF
     445        xmin = 1.0E+20
     446        xmax = -1.0E+20
     447        DO i = 1, klon
     448          xmin = MIN(tslab(i),xmin)
     449          xmax = MAX(tslab(i),xmax)
     450        ENDDO
     451        PRINT*,'Ecart de la SST tslab:', xmin, xmax
    449452c
    450453c Lecture de seaice (pour slab ocean seulement):
    451454c
    452       ierr = NF_INQ_VARID (nid, "SEAICE", nvarid)
    453       IF (ierr.NE.NF_NOERR) THEN
    454          PRINT*, "phyetat0: Le champ <SEAICE> est absent"
    455          CALL abort
    456       ENDIF
    457 #ifdef NC_DOUBLE
    458       ierr = NF_GET_VAR_DOUBLE(nid, nvarid, seaice)
    459 #else
    460       ierr = NF_GET_VAR_REAL(nid, nvarid, seaice)
    461 #endif
    462       IF (ierr.NE.NF_NOERR) THEN
    463          PRINT*, "phyetat0: Lecture echouee pour <SEAICE>"
    464          CALL abort
    465       ENDIF
    466       xmin = 1.0E+20
    467       xmax = -1.0E+20
    468       DO i = 1, klon
    469          xmin = MIN(seaice(i),xmin)
    470          xmax = MAX(seaice(i),xmax)
    471       ENDDO
    472       PRINT*,'Masse de la glace de mer seaice:', xmin, xmax
     455        ierr = NF_INQ_VARID (nid, "SEAICE", nvarid)
     456        IF (ierr.NE.NF_NOERR) THEN
     457          PRINT*, "phyetat0: Le champ <SEAICE> est absent"
     458          CALL abort
     459        ENDIF
     460#ifdef NC_DOUBLE
     461        ierr = NF_GET_VAR_DOUBLE(nid, nvarid, seaice)
     462#else
     463        ierr = NF_GET_VAR_REAL(nid, nvarid, seaice)
     464#endif
     465        IF (ierr.NE.NF_NOERR) THEN
     466          PRINT*, "phyetat0: Lecture echouee pour <SEAICE>"
     467          CALL abort
     468        ENDIF
     469        xmin = 1.0E+20
     470        xmax = -1.0E+20
     471        DO i = 1, klon
     472          xmin = MIN(seaice(i),xmin)
     473          xmax = MAX(seaice(i),xmax)
     474        ENDDO
     475        PRINT*,'Masse de la glace de mer seaice:', xmin, xmax
     476      ELSE
     477        tslab = 0.
     478        seaice = 0.
     479      ENDIF
    473480c
    474481c Lecture de l'humidite de l'air juste au dessus du sol:
  • LMDZ4/trunk/libf/phylmd/physiq.F

    r645 r651  
    13101310     .       rlat,rlon,pctsrf, ftsol,ftsoil,
    13111311cIM "slab" ocean
    1312      .       tslab,seaice,
     1312     .       ocean, tslab,seaice,
    13131313     .       fqsurf,qsol,fsnow,
    13141314     .       falbe, falblw, fevap, rain_fall,snow_fall,solsw, sollwdown,
Note: See TracChangeset for help on using the changeset viewer.