- Timestamp:
- Aug 28, 2009, 11:13:28 AM (15 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/moy_undefSTD.F
r776 r1233 5 5 $ dtime,ecrit_day,ecrit_mth,ecrit_hf2mth, 6 6 $ tnondef,tsumSTD) 7 USE netcdf 7 8 USE dimphy 8 9 IMPLICIT none … … 13 14 c 14 15 c Moyenne - a des frequences differentes - des valeurs bien definies 15 c (.NE. 1.E+20) des variables interpolees a un niveau de16 c (.NE.missing_val) des variables interpolees a un niveau de 16 17 c pression. 17 18 c 1) les variables de type "day" (nout=1) ou "mth" (nout=2) sont sommees … … 42 43 REAL tsumSTD(klon,klevSTD,nout) 43 44 c 45 REAL missing_val 46 c 47 missing_val=nf90_fill_real 48 c 44 49 c calcul 1 fois par jour 45 50 c … … 51 56 $ (ecrit_day/dtime-tnondef(i,k,1)) 52 57 ELSE 53 tsumSTD(i,k,1)= 1.E+2058 tsumSTD(i,k,1)=missing_val 54 59 ENDIF !tnondef 55 60 ENDDO !i … … 66 71 $ (ecrit_mth/dtime-tnondef(i,k,2)) 67 72 ELSE 68 tsumSTD(i,k,2)= 1.E+2073 tsumSTD(i,k,2)=missing_val 69 74 ENDIF !tnondef 70 75 c … … 73 78 $ (ecrit_hf2mth-tnondef(i,k,3)) 74 79 ELSE 75 tsumSTD(i,k,3)= 1.E+2080 tsumSTD(i,k,3)=missing_val 76 81 ENDIF !tnondef 77 82 c -
LMDZ4/trunk/libf/phylmd/plevel.F
r866 r1233 7 7 c================================================================ 8 8 c================================================================ 9 USE netcdf 9 10 USE dimphy 10 11 IMPLICIT none … … 54 55 c$OMP THREADPRIVATE(first) 55 56 INTEGER i, k 57 c 58 REAL missing_val 59 c 60 missing_val=nf90_fill_real 56 61 c 57 62 if (first) then … … 119 124 do i = 1, klon 120 125 if (pgcm(i,1).LT.pres) THEN 121 c Qpres(i)=1e33 122 Qpres(i)=1e+20 126 Qpres(i)=missing_val 123 127 endif 124 128 enddo -
LMDZ4/trunk/libf/phylmd/plevel_new.F
r1232 r1233 7 7 c================================================================ 8 8 c================================================================ 9 USE netcdf 9 10 USE dimphy 10 11 IMPLICIT none … … 55 56 c$OMP THREADPRIVATE(first) 56 57 INTEGER i, k 58 c 59 REAL missing_val 60 c 61 missing_val=nf90_fill_real 57 62 c 58 63 if (first) then … … 120 125 DO i=1,klon 121 126 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 124 128 ELSE 125 129 Qpres(i,nlev) = -
LMDZ4/trunk/libf/phylmd/undefSTD.F
r776 r1233 5 5 $ dtime,ecrit_hf, 6 6 $ oknondef,tnondef,tsumSTD) 7 USE netcdf 7 8 USE dimphy 8 9 IMPLICIT none … … 13 14 c 14 15 c Calcul * du nombre de pas de temps (FLOAT(ecrit_XXX)-tnondef)) 15 c ou la variable tlevSTD est bien definie (.NE. 1.E+20),16 c ou la variable tlevSTD est bien definie (.NE.missing_val), 16 17 c et 17 18 c * de la somme de tlevSTD => tsumSTD … … 45 46 REAL tnondef(klon,klevSTD,nout) 46 47 c 48 REAL missing_val 49 c 50 missing_val=nf90_fill_real 51 c 47 52 c calcul variables tous les pas de temps de la physique 48 53 c 49 54 DO k=1, nlevSTD 50 55 DO i=1, klon 51 IF(tlevSTD(i,k).EQ. 1E+20) THEN56 IF(tlevSTD(i,k).EQ.missing_val) THEN 52 57 IF(oknondef(i,k,1)) THEN 53 58 tnondef(i,k,1)=tnondef(i,k,1)+1. … … 58 63 ENDIF !oknondef(i,k) 59 64 c 60 ELSE IF(tlevSTD(i,k).NE. 1E+20) THEN65 ELSE IF(tlevSTD(i,k).NE.missing_val) THEN 61 66 tsumSTD(i,k,1)=tsumSTD(i,k,1)+tlevSTD(i,k) 62 67 tsumSTD(i,k,2)=tsumSTD(i,k,2)+tlevSTD(i,k) … … 71 76 DO k=1, nlevSTD 72 77 DO i=1, klon 73 IF(tlevSTD(i,k).EQ. 1E+20) THEN78 IF(tlevSTD(i,k).EQ.missing_val) THEN 74 79 IF(oknondef(i,k,3)) THEN 75 80 tnondef(i,k,3)=tnondef(i,k,3)+1. 76 81 ENDIF !oknondef(i,k) 77 82 c 78 ELSE IF(tlevSTD(i,k).NE. 1E+20) THEN83 ELSE IF(tlevSTD(i,k).NE.missing_val) THEN 79 84 tsumSTD(i,k,3)=tsumSTD(i,k,3)+tlevSTD(i,k) 80 85 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.