Changeset 1233 for LMDZ4/trunk/libf


Ignore:
Timestamp:
Aug 28, 2009, 11:13:28 AM (15 years ago)
Author:
musat
Message:

Pour la coherence avec netcdf : on met les memes _Fillvalue pour les variables a un niveau de pression
IM

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

Legend:

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

    r776 r1233  
    55     $           dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    66     $           tnondef,tsumSTD)
     7      USE netcdf
    78      USE dimphy
    89      IMPLICIT none
     
    1314c
    1415c Moyenne - a des frequences differentes - des valeurs bien definies
    15 c         (.NE.1.E+20) des variables interpolees a un niveau de
     16c         (.NE.missing_val) des variables interpolees a un niveau de
    1617c         pression.
    1718c 1) les variables de type "day" (nout=1) ou "mth" (nout=2) sont sommees
     
    4243      REAL tsumSTD(klon,klevSTD,nout)
    4344c
     45      REAL missing_val
     46c
     47      missing_val=nf90_fill_real
     48c
    4449c calcul 1 fois par jour
    4550c
     
    5156     $    (ecrit_day/dtime-tnondef(i,k,1))
    5257         ELSE
    53           tsumSTD(i,k,1)=1.E+20
     58          tsumSTD(i,k,1)=missing_val
    5459         ENDIF !tnondef
    5560        ENDDO !i
     
    6671     $    (ecrit_mth/dtime-tnondef(i,k,2))
    6772         ELSE
    68           tsumSTD(i,k,2)=1.E+20
     73          tsumSTD(i,k,2)=missing_val
    6974         ENDIF !tnondef
    7075c
     
    7378     $    (ecrit_hf2mth-tnondef(i,k,3))
    7479         ELSE
    75           tsumSTD(i,k,3)=1.E+20
     80          tsumSTD(i,k,3)=missing_val
    7681         ENDIF !tnondef
    7782c
  • LMDZ4/trunk/libf/phylmd/plevel.F

    r866 r1233  
    77c================================================================
    88c================================================================
     9      USE netcdf
    910      USE dimphy
    1011      IMPLICIT none
     
    5455c$OMP THREADPRIVATE(first)
    5556      INTEGER i, k
     57c
     58      REAL missing_val
     59c
     60      missing_val=nf90_fill_real
    5661c
    5762      if (first) then
     
    119124      do i = 1, klon
    120125         if (pgcm(i,1).LT.pres) THEN
    121 c           Qpres(i)=1e33
    122             Qpres(i)=1e+20
     126            Qpres(i)=missing_val
    123127         endif
    124128      enddo
  • LMDZ4/trunk/libf/phylmd/plevel_new.F

    r1232 r1233  
    77c================================================================
    88c================================================================
     9      USE netcdf
    910      USE dimphy
    1011      IMPLICIT none
     
    5556c$OMP THREADPRIVATE(first)
    5657      INTEGER i, k
     58c
     59      REAL missing_val
     60c
     61      missing_val=nf90_fill_real
    5762c
    5863      if (first) then
     
    120125         DO i=1,klon
    121126            IF (pgcm(i,1).LT.pres(nlev)) THEN
    122 c     Qpres(i)=1e33
    123                Qpres(i,nlev) = 1e+20
     127               Qpres(i,nlev) = missing_val
    124128            ELSE
    125129               Qpres(i,nlev) =
  • LMDZ4/trunk/libf/phylmd/undefSTD.F

    r776 r1233  
    55     $           dtime,ecrit_hf,
    66     $           oknondef,tnondef,tsumSTD)
     7      USE netcdf
    78      USE dimphy
    89      IMPLICIT none
     
    1314c
    1415c Calcul * du nombre de pas de temps (FLOAT(ecrit_XXX)-tnondef))
    15 c          ou la variable tlevSTD est bien definie (.NE.1.E+20),
     16c          ou la variable tlevSTD est bien definie (.NE.missing_val),
    1617c et
    1718c        * de la somme de tlevSTD => tsumSTD
     
    4546      REAL tnondef(klon,klevSTD,nout)
    4647c
     48      REAL missing_val
     49c
     50      missing_val=nf90_fill_real
     51c
    4752c calcul variables tous les pas de temps de la physique
    4853c
    4954      DO k=1, nlevSTD
    5055       DO i=1, klon
    51         IF(tlevSTD(i,k).EQ.1E+20) THEN
     56        IF(tlevSTD(i,k).EQ.missing_val) THEN
    5257         IF(oknondef(i,k,1)) THEN         
    5358          tnondef(i,k,1)=tnondef(i,k,1)+1.
     
    5863         ENDIF !oknondef(i,k)
    5964c
    60         ELSE IF(tlevSTD(i,k).NE.1E+20) THEN
     65        ELSE IF(tlevSTD(i,k).NE.missing_val) THEN
    6166         tsumSTD(i,k,1)=tsumSTD(i,k,1)+tlevSTD(i,k)
    6267         tsumSTD(i,k,2)=tsumSTD(i,k,2)+tlevSTD(i,k)
     
    7176       DO k=1, nlevSTD
    7277        DO i=1, klon
    73          IF(tlevSTD(i,k).EQ.1E+20) THEN
     78         IF(tlevSTD(i,k).EQ.missing_val) THEN
    7479          IF(oknondef(i,k,3)) THEN         
    7580           tnondef(i,k,3)=tnondef(i,k,3)+1.
    7681          ENDIF !oknondef(i,k)
    7782c
    78          ELSE IF(tlevSTD(i,k).NE.1E+20) THEN
     83         ELSE IF(tlevSTD(i,k).NE.missing_val) THEN
    7984         tsumSTD(i,k,3)=tsumSTD(i,k,3)+tlevSTD(i,k)
    8085         ENDIF
Note: See TracChangeset for help on using the changeset viewer.