/[lmdze]/trunk/phylmd/phyredem.f
ViewVC logotype

Diff of /trunk/phylmd/phyredem.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 19 by guez, Thu Aug 7 15:46:20 2008 UTC revision 54 by guez, Tue Dec 6 15:07:04 2011 UTC
# Line 18  contains Line 18  contains
18      USE dimphy, ONLY : klev, klon, zmasq      USE dimphy, ONLY : klev, klon, zmasq
19      USE dimsoil, ONLY : nsoilmx      USE dimsoil, ONLY : nsoilmx
20      USE temps, ONLY : itau_phy      USE temps, ONLY : itau_phy
21      USE netcdf95, ONLY : nf95_create, nf95_put_att      USE netcdf95, ONLY : nf95_create, nf95_put_att, nf95_def_dim, &
22      USE netcdf, ONLY : nf90_clobber, nf90_global           nf95_def_var, nf95_enddef, nf95_redef, nf95_put_var, nf95_close
23        USE netcdf, ONLY : nf90_clobber, nf90_global, nf90_float
     INCLUDE 'netcdf.inc'  
24    
25      CHARACTER(len=*) fichnom      CHARACTER(len=*) fichnom
26      REAL, INTENT (IN) :: rlat(klon), rlon(klon)      REAL, INTENT (IN) :: rlat(klon), rlon(klon)
# Line 30  contains Line 29  contains
29    
30      REAL :: tslab(klon), seaice(klon) !IM "slab" ocean      REAL :: tslab(klon), seaice(klon) !IM "slab" ocean
31      REAL :: qsurf(klon, nbsrf)      REAL :: qsurf(klon, nbsrf)
32      REAL :: qsol(klon)      REAL, intent(in):: qsol(klon)
33      REAL :: snow(klon, nbsrf)      REAL :: snow(klon, nbsrf)
34      REAL :: albedo(klon, nbsrf)      REAL :: albedo(klon, nbsrf)
35    
# Line 58  contains Line 57  contains
57      REAL :: run_off_lic_0(klon)      REAL :: run_off_lic_0(klon)
58    
59      INTEGER :: nid, nvarid, idim2, idim3      INTEGER :: nid, nvarid, idim2, idim3
     INTEGER :: ierr  
60    
61      INTEGER :: isoil, nsrf      INTEGER :: isoil, nsrf
62      CHARACTER (7) :: str7      CHARACTER (7) :: str7
# Line 73  contains Line 71  contains
71           'Fichier redémarrage physique')           'Fichier redémarrage physique')
72      call nf95_put_att(nid, nf90_global, "itau_phy", itau_phy)      call nf95_put_att(nid, nf90_global, "itau_phy", itau_phy)
73    
74      ierr = nf_def_dim(nid, 'points_physiques', klon, idim2)      call nf95_def_dim(nid, 'points_physiques', klon, idim2)
75      ierr = nf_def_dim(nid, 'horizon_vertical', klon*klev, idim3)      call nf95_def_dim(nid, 'horizon_vertical', klon*klev, idim3)
76    
77      ierr = nf_def_var(nid, 'longitude', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'longitude', nf90_float, idim2, nvarid)
78      ierr = nf_put_att_text(nid, nvarid, 'title', 32, &      call nf95_put_att(nid, nvarid, 'title', &
79           'Longitudes de la grille physique')           'Longitudes de la grille physique')
80      ierr = nf_enddef(nid)      call nf95_enddef(nid)
81      ierr = nf_put_var_real(nid, nvarid, rlon)      call nf95_put_var(nid, nvarid, rlon)
82    
83      ierr = nf_redef(nid)      call nf95_redef(nid)
84      ierr = nf_def_var(nid, 'latitude', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'latitude', nf90_float, idim2, nvarid)
85      ierr = nf_put_att_text(nid, nvarid, 'title', 31, &      call nf95_put_att(nid, nvarid, 'title', &
86           'Latitudes de la grille physique')           'Latitudes de la grille physique')
87      ierr = nf_enddef(nid)      call nf95_enddef(nid)
88      ierr = nf_put_var_real(nid, nvarid, rlat)      call nf95_put_var(nid, nvarid, rlat)
89    
90      ! PB ajout du masque terre/mer      ! PB ajout du masque terre/mer
91    
92      ierr = nf_redef(nid)      call nf95_redef(nid)
93      ierr = nf_def_var(nid, 'masque', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'masque', nf90_float, idim2, nvarid)
94      ierr = nf_put_att_text(nid, nvarid, 'title', 16, 'masque terre mer')      call nf95_put_att(nid, nvarid, 'title', 'masque terre mer')
95      ierr = nf_enddef(nid)      call nf95_enddef(nid)
96      ierr = nf_put_var_real(nid, nvarid, zmasq)      call nf95_put_var(nid, nvarid, zmasq)
97      ! BP ajout des fraction de chaque sous-surface      ! BP ajout des fraction de chaque sous-surface
98    
99      ! 1. fraction de terre      ! 1. fraction de terre
100    
101      ierr = nf_redef(nid)      call nf95_redef(nid)
102      ierr = nf_def_var(nid, 'FTER', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'FTER', nf90_float, idim2, nvarid)
103      ierr = nf_put_att_text(nid, nvarid, 'title', 21, 'fraction de continent')      call nf95_put_att(nid, nvarid, 'title', 'fraction de continent')
104      ierr = nf_enddef(nid)      call nf95_enddef(nid)
105      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_ter))      call nf95_put_var(nid, nvarid, pctsrf(:, is_ter))
106    
107      ! 2. Fraction de glace de terre      ! 2. Fraction de glace de terre
108    
109      ierr = nf_redef(nid)      call nf95_redef(nid)
110      ierr = nf_def_var(nid, 'FLIC', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'FLIC', nf90_float, idim2, nvarid)
111      ierr = nf_put_att_text(nid, nvarid, 'title', 24, 'fraction glace de terre')      call nf95_put_att(nid, nvarid, 'title', 'fraction glace de terre')
112      ierr = nf_enddef(nid)      call nf95_enddef(nid)
113      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_lic))      call nf95_put_var(nid, nvarid, pctsrf(:, is_lic))
114    
115      ! 3. fraction ocean      ! 3. fraction ocean
116    
117      ierr = nf_redef(nid)      call nf95_redef(nid)
118      ierr = nf_def_var(nid, 'FOCE', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'FOCE', nf90_float, idim2, nvarid)
119      ierr = nf_put_att_text(nid, nvarid, 'title', 14, 'fraction ocean')      call nf95_put_att(nid, nvarid, 'title', 'fraction ocean')
120      ierr = nf_enddef(nid)      call nf95_enddef(nid)
121      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_oce))      call nf95_put_var(nid, nvarid, pctsrf(:, is_oce))
122    
123      ! 4. Fraction glace de mer      ! 4. Fraction glace de mer
124    
125      ierr = nf_redef(nid)      call nf95_redef(nid)
126      ierr = nf_def_var(nid, 'FSIC', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'FSIC', nf90_float, idim2, nvarid)
127      ierr = nf_put_att_text(nid, nvarid, 'title', 18, 'fraction glace mer')      call nf95_put_att(nid, nvarid, 'title', 'fraction glace mer')
128      ierr = nf_enddef(nid)      call nf95_enddef(nid)
129      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_sic))      call nf95_put_var(nid, nvarid, pctsrf(:, is_sic))
   
   
130    
131      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
132         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
133            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
134            ierr = nf_redef(nid)            call nf95_redef(nid)
135            ierr = nf_def_var(nid, 'TS'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'TS'//str2, nf90_float, idim2, nvarid)
136            ierr = nf_put_att_text(nid, nvarid, 'title', 28, &            call nf95_put_att(nid, nvarid, 'title', &
137                 'Temperature de surface No.'//str2)                 'Temperature de surface No.'//str2)
138            ierr = nf_enddef(nid)            call nf95_enddef(nid)
139         ELSE         ELSE
140            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
141            STOP 1            STOP 1
142         END IF         END IF
143         ierr = nf_put_var_real(nid, nvarid, tsol(1, nsrf))         call nf95_put_var(nid, nvarid, tsol(:, nsrf))
144      END DO      END DO
145    
146      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
147         DO isoil = 1, nsoilmx         DO isoil = 1, nsoilmx
148            IF (isoil<=99 .AND. nsrf<=99) THEN            IF (isoil<=99 .AND. nsrf<=99) THEN
149               WRITE (str7, '(i2.2, "srf", i2.2)') isoil, nsrf               WRITE (str7, '(i2.2, "srf", i2.2)') isoil, nsrf
150               ierr = nf_redef(nid)               call nf95_redef(nid)
151               ierr = nf_def_var(nid, 'Tsoil'//str7, nf_float, 1, idim2, nvarid)               call nf95_def_var(nid, 'Tsoil'//str7, nf90_float, idim2, nvarid)
152               ierr = nf_put_att_text(nid, nvarid, 'title', 29, &               call nf95_put_att(nid, nvarid, 'title', &
153                    'Temperature du sol No.'//str7)                    'Temperature du sol No.'//str7)
154               ierr = nf_enddef(nid)               call nf95_enddef(nid)
155            ELSE            ELSE
156               PRINT *, 'Trop de couches'               PRINT *, 'Trop de couches'
157               STOP 1               STOP 1
158            END IF            END IF
159            ierr = nf_put_var_real(nid, nvarid, tsoil(1, isoil, nsrf))            call nf95_put_var(nid, nvarid, tsoil(:, isoil, nsrf))
160         END DO         END DO
161      END DO      END DO
162    
163      !IM "slab" ocean      !IM "slab" ocean
164      ierr = nf_redef(nid)      call nf95_redef(nid)
165      ierr = nf_def_var(nid, 'TSLAB', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'TSLAB', nf90_float, idim2, nvarid)
166      ierr = nf_put_att_text(nid, nvarid, 'title', 33, &      call nf95_put_att(nid, nvarid, 'title', &
167           'Ecart de la SST (pour slab-ocean)')           'Ecart de la SST (pour slab-ocean)')
168      ierr = nf_enddef(nid)      call nf95_enddef(nid)
169      ierr = nf_put_var_real(nid, nvarid, tslab)      call nf95_put_var(nid, nvarid, tslab)
170    
171      ierr = nf_redef(nid)      call nf95_redef(nid)
172      ierr = nf_def_var(nid, 'SEAICE', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'SEAICE', nf90_float, idim2, nvarid)
173      ierr = nf_put_att_text(nid, nvarid, 'title', 33, &      call nf95_put_att(nid, nvarid, 'title', &
174           'Glace de mer kg/m2 (pour slab-ocean)')           'Glace de mer kg/m2 (pour slab-ocean)')
175      ierr = nf_enddef(nid)      call nf95_enddef(nid)
176      ierr = nf_put_var_real(nid, nvarid, seaice)      call nf95_put_var(nid, nvarid, seaice)
177    
178      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
179         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
180            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
181            ierr = nf_redef(nid)            call nf95_redef(nid)
182            ierr = nf_def_var(nid, 'QS'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'QS'//str2, nf90_float, idim2, nvarid)
183            ierr = nf_put_att_text(nid, nvarid, 'title', 25, &            call nf95_put_att(nid, nvarid, 'title', &
184                 'Humidite de surface No.'//str2)                 'Humidite de surface No.'//str2)
185            ierr = nf_enddef(nid)            call nf95_enddef(nid)
186         ELSE         ELSE
187            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
188            STOP 1            STOP 1
189         END IF         END IF
190         ierr = nf_put_var_real(nid, nvarid, qsurf(1, nsrf))         call nf95_put_var(nid, nvarid, qsurf(:, nsrf))
191      END DO      END DO
192    
193      ierr = nf_redef(nid)      call nf95_redef(nid)
194      ierr = nf_def_var(nid, 'QSOL', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'QSOL', nf90_float, idim2, nvarid)
195      ierr = nf_put_att_text(nid, nvarid, 'title', 20, 'Eau dans le sol (mm)')      call nf95_put_att(nid, nvarid, 'title', 'Eau dans le sol (mm)')
196      ierr = nf_enddef(nid)      call nf95_enddef(nid)
197      ierr = nf_put_var_real(nid, nvarid, qsol)      call nf95_put_var(nid, nvarid, qsol)
198    
199      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
200         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
201            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
202            ierr = nf_redef(nid)            call nf95_redef(nid)
203            ierr = nf_def_var(nid, 'ALBE'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'ALBE'//str2, nf90_float, idim2, nvarid)
204            ierr = nf_put_att_text(nid, nvarid, 'title', 23, &            call nf95_put_att(nid, nvarid, 'title', &
205                 'albedo de surface No.'//str2)                 'albedo de surface No.'//str2)
206            ierr = nf_enddef(nid)            call nf95_enddef(nid)
207         ELSE         ELSE
208            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
209            STOP 1            STOP 1
210         END IF         END IF
211         ierr = nf_put_var_real(nid, nvarid, albedo(1, nsrf))         call nf95_put_var(nid, nvarid, albedo(:, nsrf))
212      END DO      END DO
213    
214      !IM BEG albedo LW      !IM BEG albedo LW
215      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
216         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
217            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
218            ierr = nf_redef(nid)            call nf95_redef(nid)
219            ierr = nf_def_var(nid, 'ALBLW'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'ALBLW'//str2, nf90_float, idim2, nvarid)
220            ierr = nf_put_att_text(nid, nvarid, 'title', 23, &            call nf95_put_att(nid, nvarid, 'title', &
221                 'albedo LW de surface No.'//str2)                 'albedo LW de surface No.'//str2)
222            ierr = nf_enddef(nid)            call nf95_enddef(nid)
223         ELSE         ELSE
224            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
225            STOP 1            STOP 1
226         END IF         END IF
227         ierr = nf_put_var_real(nid, nvarid, alblw(1, nsrf))         call nf95_put_var(nid, nvarid, alblw(:, nsrf))
228      END DO      END DO
229      !IM END albedo LW      !IM END albedo LW
230    
231      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
232         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
233            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
234            ierr = nf_redef(nid)            call nf95_redef(nid)
235            ierr = nf_def_var(nid, 'EVAP'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'EVAP'//str2, nf90_float, idim2, nvarid)
236            ierr = nf_put_att_text(nid, nvarid, 'title', 28, &            call nf95_put_att(nid, nvarid, 'title', &
237                 'Evaporation de surface No.'//str2)                 'Evaporation de surface No.'//str2)
238            ierr = nf_enddef(nid)            call nf95_enddef(nid)
239         ELSE         ELSE
240            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
241            STOP 1            STOP 1
242         END IF         END IF
243         ierr = nf_put_var_real(nid, nvarid, evap(1, nsrf))         call nf95_put_var(nid, nvarid, evap(:, nsrf))
244      END DO      END DO
245    
   
246      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
247         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
248            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
249            ierr = nf_redef(nid)            call nf95_redef(nid)
250            ierr = nf_def_var(nid, 'SNOW'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'SNOW'//str2, nf90_float, idim2, nvarid)
251            ierr = nf_put_att_text(nid, nvarid, 'title', 22, &            call nf95_put_att(nid, nvarid, 'title', &
252                 'Neige de surface No.'//str2)                 'Neige de surface No.'//str2)
253            ierr = nf_enddef(nid)            call nf95_enddef(nid)
254         ELSE         ELSE
255            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
256            STOP 1            STOP 1
257         END IF         END IF
258         ierr = nf_put_var_real(nid, nvarid, snow(1, nsrf))         call nf95_put_var(nid, nvarid, snow(:, nsrf))
259      END DO      END DO
260    
261        call nf95_redef(nid)
262      ierr = nf_redef(nid)      call nf95_def_var(nid, 'RADS', nf90_float, idim2, nvarid)
263      ierr = nf_def_var(nid, 'RADS', nf_float, 1, idim2, nvarid)      call nf95_put_att(nid, nvarid, 'title', &
     ierr = nf_put_att_text(nid, nvarid, 'title', 28, &  
264           'Rayonnement net a la surface')           'Rayonnement net a la surface')
265      ierr = nf_enddef(nid)      call nf95_enddef(nid)
266      ierr = nf_put_var_real(nid, nvarid, radsol)      call nf95_put_var(nid, nvarid, radsol)
267    
268      ierr = nf_redef(nid)      call nf95_redef(nid)
269      ierr = nf_def_var(nid, 'solsw', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'solsw', nf90_float, idim2, nvarid)
270      ierr = nf_put_att_text(nid, nvarid, 'title', 32, &      call nf95_put_att(nid, nvarid, 'title', &
271           'Rayonnement solaire a la surface')           'Rayonnement solaire a la surface')
272      ierr = nf_enddef(nid)      call nf95_enddef(nid)
273      ierr = nf_put_var_real(nid, nvarid, solsw)      call nf95_put_var(nid, nvarid, solsw)
274    
275      ierr = nf_redef(nid)      call nf95_redef(nid)
276      ierr = nf_def_var(nid, 'sollw', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'sollw', nf90_float, idim2, nvarid)
277      ierr = nf_put_att_text(nid, nvarid, 'title', 27, &      call nf95_put_att(nid, nvarid, 'title', &
278           'Rayonnement IF a la surface')           'Rayonnement IF a la surface')
279      ierr = nf_enddef(nid)      call nf95_enddef(nid)
280      ierr = nf_put_var_real(nid, nvarid, sollw)      call nf95_put_var(nid, nvarid, sollw)
281    
282      ierr = nf_redef(nid)      call nf95_redef(nid)
283      ierr = nf_def_var(nid, 'fder', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'fder', nf90_float, idim2, nvarid)
284      ierr = nf_put_att_text(nid, nvarid, 'title', 14, 'Derive de flux')      call nf95_put_att(nid, nvarid, 'title', 'Derive de flux')
285      ierr = nf_enddef(nid)      call nf95_enddef(nid)
286      ierr = nf_put_var_real(nid, nvarid, fder)      call nf95_put_var(nid, nvarid, fder)
287    
288      ierr = nf_redef(nid)      call nf95_redef(nid)
289      ierr = nf_def_var(nid, 'rain_f', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'rain_f', nf90_float, idim2, nvarid)
290      ierr = nf_put_att_text(nid, nvarid, 'title', 21, 'precipitation liquide')      call nf95_put_att(nid, nvarid, 'title', 'precipitation liquide')
291      ierr = nf_enddef(nid)      call nf95_enddef(nid)
292      ierr = nf_put_var_real(nid, nvarid, rain_fall)      call nf95_put_var(nid, nvarid, rain_fall)
293    
294      ierr = nf_redef(nid)      call nf95_redef(nid)
295      ierr = nf_def_var(nid, 'snow_f', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'snow_f', nf90_float, idim2, nvarid)
296      ierr = nf_put_att_text(nid, nvarid, 'title', 20, 'precipitation solide')      call nf95_put_att(nid, nvarid, 'title', 'precipitation solide')
297      ierr = nf_enddef(nid)      call nf95_enddef(nid)
298      ierr = nf_put_var_real(nid, nvarid, snow_fall)      call nf95_put_var(nid, nvarid, snow_fall)
299    
300      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
301         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
302            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
303            ierr = nf_redef(nid)            call nf95_redef(nid)
304            ierr = nf_def_var(nid, 'RUG'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'RUG'//str2, nf90_float, idim2, nvarid)
305            ierr = nf_put_att_text(nid, nvarid, 'title', 23, &            call nf95_put_att(nid, nvarid, 'title', &
306                 'rugosite de surface No.'//str2)                 'rugosite de surface No.'//str2)
307            ierr = nf_enddef(nid)            call nf95_enddef(nid)
308         ELSE         ELSE
309            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
310            STOP 1            STOP 1
311         END IF         END IF
312         ierr = nf_put_var_real(nid, nvarid, frugs(1, nsrf))         call nf95_put_var(nid, nvarid, frugs(:, nsrf))
313      END DO      END DO
314    
315      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
316         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
317            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
318            ierr = nf_redef(nid)            call nf95_redef(nid)
319            ierr = nf_def_var(nid, 'AGESNO'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'AGESNO'//str2, nf90_float, idim2, nvarid)
320            ierr = nf_put_att_text(nid, nvarid, 'title', 15, &            call nf95_put_att(nid, nvarid, 'title', &
321                 'Age de la neige surface No.'//str2)                 'Age de la neige surface No.'//str2)
322            ierr = nf_enddef(nid)            call nf95_enddef(nid)
323         ELSE         ELSE
324            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
325            STOP 1            STOP 1
326         END IF         END IF
327         ierr = nf_put_var_real(nid, nvarid, agesno(1, nsrf))         call nf95_put_var(nid, nvarid, agesno(:, nsrf))
328      END DO      END DO
329    
330      ierr = nf_redef(nid)      call nf95_redef(nid)
331      ierr = nf_def_var(nid, 'ZMEA', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZMEA', nf90_float, idim2, nvarid)
332      ierr = nf_enddef(nid)      call nf95_enddef(nid)
333      ierr = nf_put_var_real(nid, nvarid, zmea)      call nf95_put_var(nid, nvarid, zmea)
334    
335      ierr = nf_redef(nid)      call nf95_redef(nid)
336      ierr = nf_def_var(nid, 'ZSTD', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZSTD', nf90_float, idim2, nvarid)
337      ierr = nf_enddef(nid)      call nf95_enddef(nid)
338      ierr = nf_put_var_real(nid, nvarid, zstd)      call nf95_put_var(nid, nvarid, zstd)
339      ierr = nf_redef(nid)      call nf95_redef(nid)
340      ierr = nf_def_var(nid, 'ZSIG', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZSIG', nf90_float, idim2, nvarid)
341      ierr = nf_enddef(nid)      call nf95_enddef(nid)
342      ierr = nf_put_var_real(nid, nvarid, zsig)      call nf95_put_var(nid, nvarid, zsig)
343      ierr = nf_redef(nid)      call nf95_redef(nid)
344      ierr = nf_def_var(nid, 'ZGAM', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZGAM', nf90_float, idim2, nvarid)
345      ierr = nf_enddef(nid)      call nf95_enddef(nid)
346      ierr = nf_put_var_real(nid, nvarid, zgam)      call nf95_put_var(nid, nvarid, zgam)
347      ierr = nf_redef(nid)      call nf95_redef(nid)
348      ierr = nf_def_var(nid, 'ZTHE', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZTHE', nf90_float, idim2, nvarid)
349      ierr = nf_enddef(nid)      call nf95_enddef(nid)
350      ierr = nf_put_var_real(nid, nvarid, zthe)      call nf95_put_var(nid, nvarid, zthe)
351      ierr = nf_redef(nid)      call nf95_redef(nid)
352      ierr = nf_def_var(nid, 'ZPIC', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZPIC', nf90_float, idim2, nvarid)
353      ierr = nf_enddef(nid)      call nf95_enddef(nid)
354      ierr = nf_put_var_real(nid, nvarid, zpic)      call nf95_put_var(nid, nvarid, zpic)
355      ierr = nf_redef(nid)      call nf95_redef(nid)
356      ierr = nf_def_var(nid, 'ZVAL', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZVAL', nf90_float, idim2, nvarid)
357      ierr = nf_enddef(nid)      call nf95_enddef(nid)
358      ierr = nf_put_var_real(nid, nvarid, zval)      call nf95_put_var(nid, nvarid, zval)
359    
360      ierr = nf_redef(nid)      call nf95_redef(nid)
361      ierr = nf_def_var(nid, 'TANCIEN', nf_float, 1, idim3, nvarid)      call nf95_def_var(nid, 'TANCIEN', nf90_float, idim3, nvarid)
362      ierr = nf_enddef(nid)      call nf95_enddef(nid)
363      ierr = nf_put_var_real(nid, nvarid, t_ancien)      call nf95_put_var(nid, nvarid, pack(t_ancien, .true.))
364    
365      ierr = nf_redef(nid)      call nf95_redef(nid)
366      ierr = nf_def_var(nid, 'QANCIEN', nf_float, 1, idim3, nvarid)      call nf95_def_var(nid, 'QANCIEN', nf90_float, idim3, nvarid)
367      ierr = nf_enddef(nid)      call nf95_enddef(nid)
368      ierr = nf_put_var_real(nid, nvarid, q_ancien)      call nf95_put_var(nid, nvarid, pack(q_ancien, .true.))
369    
370      ierr = nf_redef(nid)      call nf95_redef(nid)
371      ierr = nf_def_var(nid, 'RUGMER', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RUGMER', nf90_float, idim2, nvarid)
372      ierr = nf_put_att_text(nid, nvarid, 'title', 28, &      call nf95_put_att(nid, nvarid, 'title', &
373           'Longueur de rugosite sur mer')           'Longueur de rugosite sur mer')
374      ierr = nf_enddef(nid)      call nf95_enddef(nid)
375      ierr = nf_put_var_real(nid, nvarid, frugs(1, is_oce))      call nf95_put_var(nid, nvarid, frugs(:, is_oce))
376    
377      ierr = nf_redef(nid)      call nf95_redef(nid)
378      ierr = nf_def_var(nid, 'CLWCON', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'CLWCON', nf90_float, idim2, nvarid)
379      ierr = nf_put_att_text(nid, nvarid, 'title', 28, 'Eau liquide convective')      call nf95_put_att(nid, nvarid, 'title', 'Eau liquide convective')
380      ierr = nf_enddef(nid)      call nf95_enddef(nid)
381      ierr = nf_put_var_real(nid, nvarid, clwcon)      call nf95_put_var(nid, nvarid, clwcon)
382    
383      ierr = nf_redef(nid)      call nf95_redef(nid)
384      ierr = nf_def_var(nid, 'RNEBCON', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RNEBCON', nf90_float, idim2, nvarid)
385      ierr = nf_put_att_text(nid, nvarid, 'title', 28, 'Nebulosite convective')      call nf95_put_att(nid, nvarid, 'title', 'Nebulosite convective')
386      ierr = nf_enddef(nid)      call nf95_enddef(nid)
387      ierr = nf_put_var_real(nid, nvarid, rnebcon)      call nf95_put_var(nid, nvarid, rnebcon)
388    
389      ierr = nf_redef(nid)      call nf95_redef(nid)
390      ierr = nf_def_var(nid, 'RATQS', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RATQS', nf90_float, idim2, nvarid)
391      ierr = nf_put_att_text(nid, nvarid, 'title', 5, 'Ratqs')      call nf95_put_att(nid, nvarid, 'title', 'Ratqs')
392      ierr = nf_enddef(nid)      call nf95_enddef(nid)
393      ierr = nf_put_var_real(nid, nvarid, ratqs)      call nf95_put_var(nid, nvarid, ratqs)
394    
395      ! run_off_lic_0      ! run_off_lic_0
396    
397      ierr = nf_redef(nid)      call nf95_redef(nid)
398      ierr = nf_def_var(nid, 'RUNOFFLIC0', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RUNOFFLIC0', nf90_float, idim2, nvarid)
399      ierr = nf_put_att_text(nid, nvarid, 'title', 10, 'Runofflic0')      call nf95_put_att(nid, nvarid, 'title', 'Runofflic0')
400      ierr = nf_enddef(nid)      call nf95_enddef(nid)
401      ierr = nf_put_var_real(nid, nvarid, run_off_lic_0)      call nf95_put_var(nid, nvarid, run_off_lic_0)
   
402    
403      ierr = nf_close(nid)      call nf95_close(nid)
404    
405    END SUBROUTINE phyredem    END SUBROUTINE phyredem
406    

Legend:
Removed from v.19  
changed lines
  Added in v.54

  ViewVC Help
Powered by ViewVC 1.1.21