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

Diff of /trunk/Sources/phylmd/phyredem.f

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

revision 15 by guez, Fri Aug 1 15:24:12 2008 UTC revision 43 by guez, Fri Apr 8 12:43:31 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 69  contains Line 67  contains
67      PRINT *, 'Call sequence information: phyredem'      PRINT *, 'Call sequence information: phyredem'
68      CALL nf95_create(fichnom, nf90_clobber, nid)      CALL nf95_create(fichnom, nf90_clobber, nid)
69    
70      call nf95_put_att(nid, nf90_global, 'title', 'Fichier redémarrage physique')      call nf95_put_att(nid, nf90_global, 'title', &
71             '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    
132    
133      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
134         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
135            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
136            ierr = nf_redef(nid)            call nf95_redef(nid)
137            ierr = nf_def_var(nid, 'TS'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'TS'//str2, nf90_float, idim2, nvarid)
138            ierr = nf_put_att_text(nid, nvarid, 'title', 28, &            call nf95_put_att(nid, nvarid, 'title', &
139                 'Temperature de surface No.'//str2)                 'Temperature de surface No.'//str2)
140            ierr = nf_enddef(nid)            call nf95_enddef(nid)
141         ELSE         ELSE
142            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
143            STOP 1            STOP 1
144         END IF         END IF
145         ierr = nf_put_var_real(nid, nvarid, tsol(1, nsrf))         call nf95_put_var(nid, nvarid, tsol(:, nsrf))
146      END DO      END DO
147    
148      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
149         DO isoil = 1, nsoilmx         DO isoil = 1, nsoilmx
150            IF (isoil<=99 .AND. nsrf<=99) THEN            IF (isoil<=99 .AND. nsrf<=99) THEN
151               WRITE (str7, '(i2.2, "srf", i2.2)') isoil, nsrf               WRITE (str7, '(i2.2, "srf", i2.2)') isoil, nsrf
152               ierr = nf_redef(nid)               call nf95_redef(nid)
153               ierr = nf_def_var(nid, 'Tsoil'//str7, nf_float, 1, idim2, nvarid)               call nf95_def_var(nid, 'Tsoil'//str7, nf90_float, idim2, nvarid)
154               ierr = nf_put_att_text(nid, nvarid, 'title', 29, &               call nf95_put_att(nid, nvarid, 'title', &
155                    'Temperature du sol No.'//str7)                    'Temperature du sol No.'//str7)
156               ierr = nf_enddef(nid)               call nf95_enddef(nid)
157            ELSE            ELSE
158               PRINT *, 'Trop de couches'               PRINT *, 'Trop de couches'
159               STOP 1               STOP 1
160            END IF            END IF
161            ierr = nf_put_var_real(nid, nvarid, tsoil(1, isoil, nsrf))            call nf95_put_var(nid, nvarid, tsoil(:, isoil, nsrf))
162         END DO         END DO
163      END DO      END DO
164    
165      !IM "slab" ocean      !IM "slab" ocean
166      ierr = nf_redef(nid)      call nf95_redef(nid)
167      ierr = nf_def_var(nid, 'TSLAB', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'TSLAB', nf90_float, idim2, nvarid)
168      ierr = nf_put_att_text(nid, nvarid, 'title', 33, &      call nf95_put_att(nid, nvarid, 'title', &
169           'Ecart de la SST (pour slab-ocean)')           'Ecart de la SST (pour slab-ocean)')
170      ierr = nf_enddef(nid)      call nf95_enddef(nid)
171      ierr = nf_put_var_real(nid, nvarid, tslab)      call nf95_put_var(nid, nvarid, tslab)
172    
173      ierr = nf_redef(nid)      call nf95_redef(nid)
174      ierr = nf_def_var(nid, 'SEAICE', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'SEAICE', nf90_float, idim2, nvarid)
175      ierr = nf_put_att_text(nid, nvarid, 'title', 33, &      call nf95_put_att(nid, nvarid, 'title', &
176           'Glace de mer kg/m2 (pour slab-ocean)')           'Glace de mer kg/m2 (pour slab-ocean)')
177      ierr = nf_enddef(nid)      call nf95_enddef(nid)
178      ierr = nf_put_var_real(nid, nvarid, seaice)      call nf95_put_var(nid, nvarid, seaice)
179    
180      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
181         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
182            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
183            ierr = nf_redef(nid)            call nf95_redef(nid)
184            ierr = nf_def_var(nid, 'QS'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'QS'//str2, nf90_float, idim2, nvarid)
185            ierr = nf_put_att_text(nid, nvarid, 'title', 25, &            call nf95_put_att(nid, nvarid, 'title', &
186                 'Humidite de surface No.'//str2)                 'Humidite de surface No.'//str2)
187            ierr = nf_enddef(nid)            call nf95_enddef(nid)
188         ELSE         ELSE
189            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
190            STOP 1            STOP 1
191         END IF         END IF
192         ierr = nf_put_var_real(nid, nvarid, qsurf(1, nsrf))         call nf95_put_var(nid, nvarid, qsurf(:, nsrf))
193      END DO      END DO
194    
195      ierr = nf_redef(nid)      call nf95_redef(nid)
196      ierr = nf_def_var(nid, 'QSOL', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'QSOL', nf90_float, idim2, nvarid)
197      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)')
198      ierr = nf_enddef(nid)      call nf95_enddef(nid)
199      ierr = nf_put_var_real(nid, nvarid, qsol)      call nf95_put_var(nid, nvarid, qsol)
200    
201      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
202         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
203            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
204            ierr = nf_redef(nid)            call nf95_redef(nid)
205            ierr = nf_def_var(nid, 'ALBE'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'ALBE'//str2, nf90_float, idim2, nvarid)
206            ierr = nf_put_att_text(nid, nvarid, 'title', 23, &            call nf95_put_att(nid, nvarid, 'title', &
207                 'albedo de surface No.'//str2)                 'albedo de surface No.'//str2)
208            ierr = nf_enddef(nid)            call nf95_enddef(nid)
209         ELSE         ELSE
210            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
211            STOP 1            STOP 1
212         END IF         END IF
213         ierr = nf_put_var_real(nid, nvarid, albedo(1, nsrf))         call nf95_put_var(nid, nvarid, albedo(:, nsrf))
214      END DO      END DO
215    
216      !IM BEG albedo LW      !IM BEG albedo LW
217      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
218         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
219            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
220            ierr = nf_redef(nid)            call nf95_redef(nid)
221            ierr = nf_def_var(nid, 'ALBLW'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'ALBLW'//str2, nf90_float, idim2, nvarid)
222            ierr = nf_put_att_text(nid, nvarid, 'title', 23, &            call nf95_put_att(nid, nvarid, 'title', &
223                 'albedo LW de surface No.'//str2)                 'albedo LW de surface No.'//str2)
224            ierr = nf_enddef(nid)            call nf95_enddef(nid)
225         ELSE         ELSE
226            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
227            STOP 1            STOP 1
228         END IF         END IF
229         ierr = nf_put_var_real(nid, nvarid, alblw(1, nsrf))         call nf95_put_var(nid, nvarid, alblw(:, nsrf))
230      END DO      END DO
231      !IM END albedo LW      !IM END albedo LW
232    
233      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
234         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
235            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
236            ierr = nf_redef(nid)            call nf95_redef(nid)
237            ierr = nf_def_var(nid, 'EVAP'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'EVAP'//str2, nf90_float, idim2, nvarid)
238            ierr = nf_put_att_text(nid, nvarid, 'title', 28, &            call nf95_put_att(nid, nvarid, 'title', &
239                 'Evaporation de surface No.'//str2)                 'Evaporation de surface No.'//str2)
240            ierr = nf_enddef(nid)            call nf95_enddef(nid)
241         ELSE         ELSE
242            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
243            STOP 1            STOP 1
244         END IF         END IF
245         ierr = nf_put_var_real(nid, nvarid, evap(1, nsrf))         call nf95_put_var(nid, nvarid, evap(:, nsrf))
246      END DO      END DO
247    
248    
249      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
250         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
251            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
252            ierr = nf_redef(nid)            call nf95_redef(nid)
253            ierr = nf_def_var(nid, 'SNOW'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'SNOW'//str2, nf90_float, idim2, nvarid)
254            ierr = nf_put_att_text(nid, nvarid, 'title', 22, &            call nf95_put_att(nid, nvarid, 'title', &
255                 'Neige de surface No.'//str2)                 'Neige de surface No.'//str2)
256            ierr = nf_enddef(nid)            call nf95_enddef(nid)
257         ELSE         ELSE
258            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
259            STOP 1            STOP 1
260         END IF         END IF
261         ierr = nf_put_var_real(nid, nvarid, snow(1, nsrf))         call nf95_put_var(nid, nvarid, snow(:, nsrf))
262      END DO      END DO
263    
264    
265      ierr = nf_redef(nid)      call nf95_redef(nid)
266      ierr = nf_def_var(nid, 'RADS', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RADS', nf90_float, idim2, nvarid)
267      ierr = nf_put_att_text(nid, nvarid, 'title', 28, &      call nf95_put_att(nid, nvarid, 'title', &
268           'Rayonnement net a la surface')           'Rayonnement net a la surface')
269      ierr = nf_enddef(nid)      call nf95_enddef(nid)
270      ierr = nf_put_var_real(nid, nvarid, radsol)      call nf95_put_var(nid, nvarid, radsol)
271    
272      ierr = nf_redef(nid)      call nf95_redef(nid)
273      ierr = nf_def_var(nid, 'solsw', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'solsw', nf90_float, idim2, nvarid)
274      ierr = nf_put_att_text(nid, nvarid, 'title', 32, &      call nf95_put_att(nid, nvarid, 'title', &
275           'Rayonnement solaire a la surface')           'Rayonnement solaire a la surface')
276      ierr = nf_enddef(nid)      call nf95_enddef(nid)
277      ierr = nf_put_var_real(nid, nvarid, solsw)      call nf95_put_var(nid, nvarid, solsw)
278    
279      ierr = nf_redef(nid)      call nf95_redef(nid)
280      ierr = nf_def_var(nid, 'sollw', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'sollw', nf90_float, idim2, nvarid)
281      ierr = nf_put_att_text(nid, nvarid, 'title', 27, &      call nf95_put_att(nid, nvarid, 'title', &
282           'Rayonnement IF a la surface')           'Rayonnement IF a la surface')
283      ierr = nf_enddef(nid)      call nf95_enddef(nid)
284      ierr = nf_put_var_real(nid, nvarid, sollw)      call nf95_put_var(nid, nvarid, sollw)
285    
286      ierr = nf_redef(nid)      call nf95_redef(nid)
287      ierr = nf_def_var(nid, 'fder', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'fder', nf90_float, idim2, nvarid)
288      ierr = nf_put_att_text(nid, nvarid, 'title', 14, 'Derive de flux')      call nf95_put_att(nid, nvarid, 'title', 'Derive de flux')
289      ierr = nf_enddef(nid)      call nf95_enddef(nid)
290      ierr = nf_put_var_real(nid, nvarid, fder)      call nf95_put_var(nid, nvarid, fder)
291    
292      ierr = nf_redef(nid)      call nf95_redef(nid)
293      ierr = nf_def_var(nid, 'rain_f', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'rain_f', nf90_float, idim2, nvarid)
294      ierr = nf_put_att_text(nid, nvarid, 'title', 21, 'precipitation liquide')      call nf95_put_att(nid, nvarid, 'title', 'precipitation liquide')
295      ierr = nf_enddef(nid)      call nf95_enddef(nid)
296      ierr = nf_put_var_real(nid, nvarid, rain_fall)      call nf95_put_var(nid, nvarid, rain_fall)
297    
298      ierr = nf_redef(nid)      call nf95_redef(nid)
299      ierr = nf_def_var(nid, 'snow_f', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'snow_f', nf90_float, idim2, nvarid)
300      ierr = nf_put_att_text(nid, nvarid, 'title', 20, 'precipitation solide')      call nf95_put_att(nid, nvarid, 'title', 'precipitation solide')
301      ierr = nf_enddef(nid)      call nf95_enddef(nid)
302      ierr = nf_put_var_real(nid, nvarid, snow_fall)      call nf95_put_var(nid, nvarid, snow_fall)
303    
304      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
305         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
306            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
307            ierr = nf_redef(nid)            call nf95_redef(nid)
308            ierr = nf_def_var(nid, 'RUG'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'RUG'//str2, nf90_float, idim2, nvarid)
309            ierr = nf_put_att_text(nid, nvarid, 'title', 23, &            call nf95_put_att(nid, nvarid, 'title', &
310                 'rugosite de surface No.'//str2)                 'rugosite de surface No.'//str2)
311            ierr = nf_enddef(nid)            call nf95_enddef(nid)
312         ELSE         ELSE
313            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
314            STOP 1            STOP 1
315         END IF         END IF
316         ierr = nf_put_var_real(nid, nvarid, frugs(1, nsrf))         call nf95_put_var(nid, nvarid, frugs(:, nsrf))
317      END DO      END DO
318    
319      DO nsrf = 1, nbsrf      DO nsrf = 1, nbsrf
320         IF (nsrf<=99) THEN         IF (nsrf<=99) THEN
321            WRITE (str2, '(i2.2)') nsrf            WRITE (str2, '(i2.2)') nsrf
322            ierr = nf_redef(nid)            call nf95_redef(nid)
323            ierr = nf_def_var(nid, 'AGESNO'//str2, nf_float, 1, idim2, nvarid)            call nf95_def_var(nid, 'AGESNO'//str2, nf90_float, idim2, nvarid)
324            ierr = nf_put_att_text(nid, nvarid, 'title', 15, &            call nf95_put_att(nid, nvarid, 'title', &
325                 'Age de la neige surface No.'//str2)                 'Age de la neige surface No.'//str2)
326            ierr = nf_enddef(nid)            call nf95_enddef(nid)
327         ELSE         ELSE
328            PRINT *, 'Trop de sous-mailles'            PRINT *, 'Trop de sous-mailles'
329            STOP 1            STOP 1
330         END IF         END IF
331         ierr = nf_put_var_real(nid, nvarid, agesno(1, nsrf))         call nf95_put_var(nid, nvarid, agesno(:, nsrf))
332      END DO      END DO
333    
334      ierr = nf_redef(nid)      call nf95_redef(nid)
335      ierr = nf_def_var(nid, 'ZMEA', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZMEA', nf90_float, idim2, nvarid)
336      ierr = nf_enddef(nid)      call nf95_enddef(nid)
337      ierr = nf_put_var_real(nid, nvarid, zmea)      call nf95_put_var(nid, nvarid, zmea)
338    
339      ierr = nf_redef(nid)      call nf95_redef(nid)
340      ierr = nf_def_var(nid, 'ZSTD', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZSTD', nf90_float, idim2, nvarid)
341      ierr = nf_enddef(nid)      call nf95_enddef(nid)
342      ierr = nf_put_var_real(nid, nvarid, zstd)      call nf95_put_var(nid, nvarid, zstd)
343      ierr = nf_redef(nid)      call nf95_redef(nid)
344      ierr = nf_def_var(nid, 'ZSIG', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZSIG', nf90_float, idim2, nvarid)
345      ierr = nf_enddef(nid)      call nf95_enddef(nid)
346      ierr = nf_put_var_real(nid, nvarid, zsig)      call nf95_put_var(nid, nvarid, zsig)
347      ierr = nf_redef(nid)      call nf95_redef(nid)
348      ierr = nf_def_var(nid, 'ZGAM', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZGAM', nf90_float, idim2, nvarid)
349      ierr = nf_enddef(nid)      call nf95_enddef(nid)
350      ierr = nf_put_var_real(nid, nvarid, zgam)      call nf95_put_var(nid, nvarid, zgam)
351      ierr = nf_redef(nid)      call nf95_redef(nid)
352      ierr = nf_def_var(nid, 'ZTHE', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZTHE', nf90_float, idim2, nvarid)
353      ierr = nf_enddef(nid)      call nf95_enddef(nid)
354      ierr = nf_put_var_real(nid, nvarid, zthe)      call nf95_put_var(nid, nvarid, zthe)
355      ierr = nf_redef(nid)      call nf95_redef(nid)
356      ierr = nf_def_var(nid, 'ZPIC', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZPIC', nf90_float, idim2, nvarid)
357      ierr = nf_enddef(nid)      call nf95_enddef(nid)
358      ierr = nf_put_var_real(nid, nvarid, zpic)      call nf95_put_var(nid, nvarid, zpic)
359      ierr = nf_redef(nid)      call nf95_redef(nid)
360      ierr = nf_def_var(nid, 'ZVAL', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'ZVAL', nf90_float, idim2, nvarid)
361      ierr = nf_enddef(nid)      call nf95_enddef(nid)
362      ierr = nf_put_var_real(nid, nvarid, zval)      call nf95_put_var(nid, nvarid, zval)
363    
364      ierr = nf_redef(nid)      call nf95_redef(nid)
365      ierr = nf_def_var(nid, 'TANCIEN', nf_float, 1, idim3, nvarid)      call nf95_def_var(nid, 'TANCIEN', nf90_float, idim3, nvarid)
366      ierr = nf_enddef(nid)      call nf95_enddef(nid)
367      ierr = nf_put_var_real(nid, nvarid, t_ancien)      call nf95_put_var(nid, nvarid, pack(t_ancien, .true.))
368    
369      ierr = nf_redef(nid)      call nf95_redef(nid)
370      ierr = nf_def_var(nid, 'QANCIEN', nf_float, 1, idim3, nvarid)      call nf95_def_var(nid, 'QANCIEN', nf90_float, idim3, nvarid)
371      ierr = nf_enddef(nid)      call nf95_enddef(nid)
372      ierr = nf_put_var_real(nid, nvarid, q_ancien)      call nf95_put_var(nid, nvarid, pack(q_ancien, .true.))
373    
374      ierr = nf_redef(nid)      call nf95_redef(nid)
375      ierr = nf_def_var(nid, 'RUGMER', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RUGMER', nf90_float, idim2, nvarid)
376      ierr = nf_put_att_text(nid, nvarid, 'title', 28, &      call nf95_put_att(nid, nvarid, 'title', &
377           'Longueur de rugosite sur mer')           'Longueur de rugosite sur mer')
378      ierr = nf_enddef(nid)      call nf95_enddef(nid)
379      ierr = nf_put_var_real(nid, nvarid, frugs(1, is_oce))      call nf95_put_var(nid, nvarid, frugs(:, is_oce))
380    
381      ierr = nf_redef(nid)      call nf95_redef(nid)
382      ierr = nf_def_var(nid, 'CLWCON', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'CLWCON', nf90_float, idim2, nvarid)
383      ierr = nf_put_att_text(nid, nvarid, 'title', 28, 'Eau liquide convective')      call nf95_put_att(nid, nvarid, 'title', 'Eau liquide convective')
384      ierr = nf_enddef(nid)      call nf95_enddef(nid)
385      ierr = nf_put_var_real(nid, nvarid, clwcon)      call nf95_put_var(nid, nvarid, clwcon)
386    
387      ierr = nf_redef(nid)      call nf95_redef(nid)
388      ierr = nf_def_var(nid, 'RNEBCON', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RNEBCON', nf90_float, idim2, nvarid)
389      ierr = nf_put_att_text(nid, nvarid, 'title', 28, 'Nebulosite convective')      call nf95_put_att(nid, nvarid, 'title', 'Nebulosite convective')
390      ierr = nf_enddef(nid)      call nf95_enddef(nid)
391      ierr = nf_put_var_real(nid, nvarid, rnebcon)      call nf95_put_var(nid, nvarid, rnebcon)
392    
393      ierr = nf_redef(nid)      call nf95_redef(nid)
394      ierr = nf_def_var(nid, 'RATQS', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RATQS', nf90_float, idim2, nvarid)
395      ierr = nf_put_att_text(nid, nvarid, 'title', 5, 'Ratqs')      call nf95_put_att(nid, nvarid, 'title', 'Ratqs')
396      ierr = nf_enddef(nid)      call nf95_enddef(nid)
397      ierr = nf_put_var_real(nid, nvarid, ratqs)      call nf95_put_var(nid, nvarid, ratqs)
398    
399      ! run_off_lic_0      ! run_off_lic_0
400    
401      ierr = nf_redef(nid)      call nf95_redef(nid)
402      ierr = nf_def_var(nid, 'RUNOFFLIC0', nf_float, 1, idim2, nvarid)      call nf95_def_var(nid, 'RUNOFFLIC0', nf90_float, idim2, nvarid)
403      ierr = nf_put_att_text(nid, nvarid, 'title', 10, 'Runofflic0')      call nf95_put_att(nid, nvarid, 'title', 'Runofflic0')
404      ierr = nf_enddef(nid)      call nf95_enddef(nid)
405      ierr = nf_put_var_real(nid, nvarid, run_off_lic_0)      call nf95_put_var(nid, nvarid, run_off_lic_0)
406    
407    
408      ierr = nf_close(nid)      call nf95_close(nid)
409    
410    END SUBROUTINE phyredem    END SUBROUTINE phyredem
411    

Legend:
Removed from v.15  
changed lines
  Added in v.43

  ViewVC Help
Powered by ViewVC 1.1.21