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

Diff of /trunk/phylmd/phyredem.f

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

trunk/libf/phylmd/phyredem.f90 revision 19 by guez, Thu Aug 7 15:46:20 2008 UTC trunk/Sources/phylmd/phyredem.f revision 157 by guez, Mon Jul 20 16:01:49 2015 UTC
# Line 4  module phyredem_m Line 4  module phyredem_m
4    
5  contains  contains
6    
7    SUBROUTINE phyredem(fichnom, rlat, rlon, pctsrf, tsol, tsoil, tslab, &    SUBROUTINE phyredem(pctsrf, tsol, tsoil, tslab, seaice, qsurf, qsol, snow, &
8         seaice, qsurf, qsol, snow, albedo, alblw, evap, rain_fall,&         albedo, evap, rain_fall, snow_fall, solsw, sollw, fder, radsol, frugs, &
9         snow_fall, solsw, sollw, fder, radsol, frugs, agesno, zmea,&         agesno, zmea, zstd, zsig, zgam, zthe, zpic, zval, t_ancien, q_ancien, &
10         zstd, zsig, zgam, zthe, zpic, zval, t_ancien, q_ancien,&         rnebcon, ratqs, clwcon, run_off_lic_0, sig1, w01)
11         rnebcon, ratqs, clwcon, run_off_lic_0)  
12        ! From phylmd/phyredem.F, version 1.3, 2005/05/25 13:10:09
13      ! From phylmd/phyredem.F, v 1.3 2005/05/25 13:10:09      ! Author: Z. X. Li (LMD/CNRS)
14      ! Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818      ! Date: 1993/08/18
15      ! Objet: Ecriture de l'etat de démarrage ou redémarrage pour la physique  
16        ! Objet : \'ecriture de l'\'etat de d\'emarrage ou red\'emarrage
17      USE indicesol, ONLY : is_lic, is_oce, is_sic, is_ter, nbsrf      ! pour la physique
18      USE dimphy, ONLY : klev, klon, zmasq  
19      USE dimsoil, ONLY : nsoilmx      USE dimphy, ONLY: klev, klon, zmasq
20      USE temps, ONLY : itau_phy      USE indicesol, ONLY: is_lic, is_oce, is_sic, is_ter, nbsrf
21      USE netcdf95, ONLY : nf95_create, nf95_put_att      USE netcdf95, ONLY: nf95_inq_varid, nf95_put_var, nf95_close
22      USE netcdf, ONLY : nf90_clobber, nf90_global      use phyredem0_m, only: ncid_restartphy
23    
24      INCLUDE 'netcdf.inc'      REAL, INTENT(IN):: pctsrf(:, :) ! (klon, nbsrf)
25        REAL, INTENT(IN):: tsol(:, :) ! (klon, nbsrf)
26      CHARACTER(len=*) fichnom      REAL, INTENT(IN):: tsoil(:, :, :) ! (klon, nsoilmx, nbsrf)
27      REAL, INTENT (IN) :: rlat(klon), rlon(klon)      REAL, INTENT(IN):: tslab(:), seaice(:) ! (klon) slab ocean
28      REAL :: tsol(klon, nbsrf)      REAL, INTENT(IN):: qsurf(:, :) ! (klon, nbsrf)
29      REAL :: tsoil(klon, nsoilmx, nbsrf)  
30        REAL, intent(in):: qsol(:) ! (klon)
31      REAL :: tslab(klon), seaice(klon) !IM "slab" ocean      ! column-density of water in soil, in kg m-2
32      REAL :: qsurf(klon, nbsrf)  
33      REAL :: qsol(klon)      REAL, INTENT(IN):: snow(klon, nbsrf)
34      REAL :: snow(klon, nbsrf)      REAL, INTENT(IN):: albedo(klon, nbsrf)
35      REAL :: albedo(klon, nbsrf)      REAL, INTENT(IN):: evap(klon, nbsrf)
36        REAL, INTENT(IN):: rain_fall(klon)
37      REAL :: alblw(klon, nbsrf)      REAL, INTENT(IN):: snow_fall(klon)
38        REAL, INTENT(IN):: solsw(klon)
39      REAL :: evap(klon, nbsrf)      REAL, INTENT(IN):: sollw(klon)
40      REAL :: rain_fall(klon)      REAL, INTENT(IN):: fder(klon)
41      REAL :: snow_fall(klon)      REAL, INTENT(IN):: radsol(klon)
42      REAL :: solsw(klon)      REAL, INTENT(IN):: frugs(klon, nbsrf)
43      REAL :: sollw(klon)      REAL, INTENT(IN):: agesno(klon, nbsrf)
44      REAL :: fder(klon)      REAL, INTENT(IN):: zmea(klon)
     REAL :: radsol(klon)  
     REAL :: frugs(klon, nbsrf)  
     REAL :: agesno(klon, nbsrf)  
     REAL :: zmea(klon)  
45      REAL, intent(in):: zstd(klon)      REAL, intent(in):: zstd(klon)
46      REAL, intent(in):: zsig(klon)      REAL, intent(in):: zsig(klon)
47      REAL :: zgam(klon)      REAL, intent(in):: zgam(klon)
48      REAL :: zthe(klon)      REAL, intent(in):: zthe(klon)
49      REAL :: zpic(klon)      REAL, intent(in):: zpic(klon)
50      REAL :: zval(klon)      REAL, intent(in):: zval(klon)
51      REAL :: pctsrf(klon, nbsrf)      REAL, intent(in):: t_ancien(klon, klev), q_ancien(klon, klev)
52      REAL :: t_ancien(klon, klev), q_ancien(klon, klev)      REAL, intent(in):: rnebcon(klon, klev), ratqs(klon, klev)
53      REAL :: clwcon(klon, klev), rnebcon(klon, klev), ratqs(klon, klev)      REAL, intent(in):: clwcon(klon, klev)
54      REAL :: run_off_lic_0(klon)      REAL, intent(in):: run_off_lic_0(klon)
55        real, intent(in):: sig1(klon, klev) ! section adiabatic updraft
56      INTEGER :: nid, nvarid, idim2, idim3  
57      INTEGER :: ierr      real, intent(in):: w01(klon, klev)
58        ! vertical velocity within adiabatic updraft
59      INTEGER :: isoil, nsrf  
60      CHARACTER (7) :: str7      ! Local:
61      CHARACTER (2) :: str2      integer varid
62    
63      !------------------------------------------------------------      !------------------------------------------------------------
64    
65      PRINT *, 'Call sequence information: phyredem'      PRINT *, 'Call sequence information: phyredem'
     CALL nf95_create(fichnom, nf90_clobber, nid)  
66    
67      call nf95_put_att(nid, nf90_global, 'title', &      call nf95_inq_varid(ncid_restartphy, "masque", varid)
68           'Fichier redémarrage physique')      call nf95_put_var(ncid_restartphy, varid, zmasq)
69      call nf95_put_att(nid, nf90_global, "itau_phy", itau_phy)  
70        call nf95_inq_varid(ncid_restartphy, "FTER", varid)
71      ierr = nf_def_dim(nid, 'points_physiques', klon, idim2)      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_ter))
72      ierr = nf_def_dim(nid, 'horizon_vertical', klon*klev, idim3)  
73        call nf95_inq_varid(ncid_restartphy, "FLIC", varid)
74      ierr = nf_def_var(nid, 'longitude', nf_float, 1, idim2, nvarid)      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_lic))
75      ierr = nf_put_att_text(nid, nvarid, 'title', 32, &  
76           'Longitudes de la grille physique')      call nf95_inq_varid(ncid_restartphy, "FOCE", varid)
77      ierr = nf_enddef(nid)      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_oce))
78      ierr = nf_put_var_real(nid, nvarid, rlon)  
79        call nf95_inq_varid(ncid_restartphy, "FSIC", varid)
80      ierr = nf_redef(nid)      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_sic))
81      ierr = nf_def_var(nid, 'latitude', nf_float, 1, idim2, nvarid)  
82      ierr = nf_put_att_text(nid, nvarid, 'title', 31, &      call nf95_inq_varid(ncid_restartphy, "TS", varid)
83           'Latitudes de la grille physique')      call nf95_put_var(ncid_restartphy, varid, tsol)
84      ierr = nf_enddef(nid)  
85      ierr = nf_put_var_real(nid, nvarid, rlat)      call nf95_inq_varid(ncid_restartphy, "Tsoil", varid)
86        call nf95_put_var(ncid_restartphy, varid, tsoil)
87      ! PB ajout du masque terre/mer  
88        call nf95_inq_varid(ncid_restartphy, "TSLAB", varid)
89      ierr = nf_redef(nid)      call nf95_put_var(ncid_restartphy, varid, tslab)
90      ierr = nf_def_var(nid, 'masque', nf_float, 1, idim2, nvarid)  
91      ierr = nf_put_att_text(nid, nvarid, 'title', 16, 'masque terre mer')      call nf95_inq_varid(ncid_restartphy, "SEAICE", varid)
92      ierr = nf_enddef(nid)      call nf95_put_var(ncid_restartphy, varid, seaice)
93      ierr = nf_put_var_real(nid, nvarid, zmasq)  
94      ! BP ajout des fraction de chaque sous-surface      call nf95_inq_varid(ncid_restartphy, "QS", varid)
95        call nf95_put_var(ncid_restartphy, varid, qsurf)
96      ! 1. fraction de terre  
97        call nf95_inq_varid(ncid_restartphy, "QSOL", varid)
98      ierr = nf_redef(nid)      call nf95_put_var(ncid_restartphy, varid, qsol)
99      ierr = nf_def_var(nid, 'FTER', nf_float, 1, idim2, nvarid)  
100      ierr = nf_put_att_text(nid, nvarid, 'title', 21, 'fraction de continent')      call nf95_inq_varid(ncid_restartphy, "ALBE", varid)
101      ierr = nf_enddef(nid)      call nf95_put_var(ncid_restartphy, varid, albedo)
102      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_ter))  
103        call nf95_inq_varid(ncid_restartphy, "EVAP", varid)
104      ! 2. Fraction de glace de terre      call nf95_put_var(ncid_restartphy, varid, evap)
105    
106      ierr = nf_redef(nid)      call nf95_inq_varid(ncid_restartphy, "SNOW", varid)
107      ierr = nf_def_var(nid, 'FLIC', nf_float, 1, idim2, nvarid)      call nf95_put_var(ncid_restartphy, varid, snow)
108      ierr = nf_put_att_text(nid, nvarid, 'title', 24, 'fraction glace de terre')  
109      ierr = nf_enddef(nid)      call nf95_inq_varid(ncid_restartphy, "RADS", varid)
110      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_lic))      call nf95_put_var(ncid_restartphy, varid, radsol)
111    
112      ! 3. fraction ocean      call nf95_inq_varid(ncid_restartphy, "solsw", varid)
113        call nf95_put_var(ncid_restartphy, varid, solsw)
114      ierr = nf_redef(nid)  
115      ierr = nf_def_var(nid, 'FOCE', nf_float, 1, idim2, nvarid)      call nf95_inq_varid(ncid_restartphy, "sollw", varid)
116      ierr = nf_put_att_text(nid, nvarid, 'title', 14, 'fraction ocean')      call nf95_put_var(ncid_restartphy, varid, sollw)
117      ierr = nf_enddef(nid)  
118      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_oce))      call nf95_inq_varid(ncid_restartphy, "fder", varid)
119        call nf95_put_var(ncid_restartphy, varid, fder)
120      ! 4. Fraction glace de mer  
121        call nf95_inq_varid(ncid_restartphy, "rain_f", varid)
122      ierr = nf_redef(nid)      call nf95_put_var(ncid_restartphy, varid, rain_fall)
123      ierr = nf_def_var(nid, 'FSIC', nf_float, 1, idim2, nvarid)  
124      ierr = nf_put_att_text(nid, nvarid, 'title', 18, 'fraction glace mer')      call nf95_inq_varid(ncid_restartphy, "snow_f", varid)
125      ierr = nf_enddef(nid)      call nf95_put_var(ncid_restartphy, varid, snow_fall)
126      ierr = nf_put_var_real(nid, nvarid, pctsrf(1:klon, is_sic))  
127        call nf95_inq_varid(ncid_restartphy, "RUG", varid)
128        call nf95_put_var(ncid_restartphy, varid, frugs)
129    
130      DO nsrf = 1, nbsrf      call nf95_inq_varid(ncid_restartphy, "AGESNO", varid)
131         IF (nsrf<=99) THEN      call nf95_put_var(ncid_restartphy, varid, agesno)
132            WRITE (str2, '(i2.2)') nsrf  
133            ierr = nf_redef(nid)      call nf95_inq_varid(ncid_restartphy, "ZMEA", varid)
134            ierr = nf_def_var(nid, 'TS'//str2, nf_float, 1, idim2, nvarid)      call nf95_put_var(ncid_restartphy, varid, zmea)
135            ierr = nf_put_att_text(nid, nvarid, 'title', 28, &  
136                 'Temperature de surface No.'//str2)      call nf95_inq_varid(ncid_restartphy, "ZSTD", varid)
137            ierr = nf_enddef(nid)      call nf95_put_var(ncid_restartphy, varid, zstd)
138         ELSE  
139            PRINT *, 'Trop de sous-mailles'      call nf95_inq_varid(ncid_restartphy, "ZSIG", varid)
140            STOP 1      call nf95_put_var(ncid_restartphy, varid, zsig)
141         END IF  
142         ierr = nf_put_var_real(nid, nvarid, tsol(1, nsrf))      call nf95_inq_varid(ncid_restartphy, "ZGAM", varid)
143      END DO      call nf95_put_var(ncid_restartphy, varid, zgam)
144    
145      DO nsrf = 1, nbsrf      call nf95_inq_varid(ncid_restartphy, "ZTHE", varid)
146         DO isoil = 1, nsoilmx      call nf95_put_var(ncid_restartphy, varid, zthe)
147            IF (isoil<=99 .AND. nsrf<=99) THEN  
148               WRITE (str7, '(i2.2, "srf", i2.2)') isoil, nsrf      call nf95_inq_varid(ncid_restartphy, "ZPIC", varid)
149               ierr = nf_redef(nid)      call nf95_put_var(ncid_restartphy, varid, zpic)
150               ierr = nf_def_var(nid, 'Tsoil'//str7, nf_float, 1, idim2, nvarid)  
151               ierr = nf_put_att_text(nid, nvarid, 'title', 29, &      call nf95_inq_varid(ncid_restartphy, "ZVAL", varid)
152                    'Temperature du sol No.'//str7)      call nf95_put_var(ncid_restartphy, varid, zval)
153               ierr = nf_enddef(nid)  
154            ELSE      call nf95_inq_varid(ncid_restartphy, "TANCIEN", varid)
155               PRINT *, 'Trop de couches'      call nf95_put_var(ncid_restartphy, varid, t_ancien)
156               STOP 1  
157            END IF      call nf95_inq_varid(ncid_restartphy, "QANCIEN", varid)
158            ierr = nf_put_var_real(nid, nvarid, tsoil(1, isoil, nsrf))      call nf95_put_var(ncid_restartphy, varid, q_ancien)
159         END DO  
160      END DO      call nf95_inq_varid(ncid_restartphy, "RUGMER", varid)
161        call nf95_put_var(ncid_restartphy, varid, frugs(:, is_oce))
162      !IM "slab" ocean  
163      ierr = nf_redef(nid)      call nf95_inq_varid(ncid_restartphy, "CLWCON", varid)
164      ierr = nf_def_var(nid, 'TSLAB', nf_float, 1, idim2, nvarid)      call nf95_put_var(ncid_restartphy, varid, clwcon(:, 1))
165      ierr = nf_put_att_text(nid, nvarid, 'title', 33, &  
166           'Ecart de la SST (pour slab-ocean)')      call nf95_inq_varid(ncid_restartphy, "RNEBCON", varid)
167      ierr = nf_enddef(nid)      call nf95_put_var(ncid_restartphy, varid, rnebcon(:, 1))
168      ierr = nf_put_var_real(nid, nvarid, tslab)  
169        call nf95_inq_varid(ncid_restartphy, "RATQS", varid)
170      ierr = nf_redef(nid)      call nf95_put_var(ncid_restartphy, varid, ratqs(:, 1))
171      ierr = nf_def_var(nid, 'SEAICE', nf_float, 1, idim2, nvarid)  
172      ierr = nf_put_att_text(nid, nvarid, 'title', 33, &      call nf95_inq_varid(ncid_restartphy, "RUNOFFLIC0", varid)
173           'Glace de mer kg/m2 (pour slab-ocean)')      call nf95_put_var(ncid_restartphy, varid, run_off_lic_0)
174      ierr = nf_enddef(nid)  
175      ierr = nf_put_var_real(nid, nvarid, seaice)      call nf95_inq_varid(ncid_restartphy, "sig1", varid)
176        call nf95_put_var(ncid_restartphy, varid, sig1)
     DO nsrf = 1, nbsrf  
        IF (nsrf<=99) THEN  
           WRITE (str2, '(i2.2)') nsrf  
           ierr = nf_redef(nid)  
           ierr = nf_def_var(nid, 'QS'//str2, nf_float, 1, idim2, nvarid)  
           ierr = nf_put_att_text(nid, nvarid, 'title', 25, &  
                'Humidite de surface No.'//str2)  
           ierr = nf_enddef(nid)  
        ELSE  
           PRINT *, 'Trop de sous-mailles'  
           STOP 1  
        END IF  
        ierr = nf_put_var_real(nid, nvarid, qsurf(1, nsrf))  
     END DO  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'QSOL', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 20, 'Eau dans le sol (mm)')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, qsol)  
   
     DO nsrf = 1, nbsrf  
        IF (nsrf<=99) THEN  
           WRITE (str2, '(i2.2)') nsrf  
           ierr = nf_redef(nid)  
           ierr = nf_def_var(nid, 'ALBE'//str2, nf_float, 1, idim2, nvarid)  
           ierr = nf_put_att_text(nid, nvarid, 'title', 23, &  
                'albedo de surface No.'//str2)  
           ierr = nf_enddef(nid)  
        ELSE  
           PRINT *, 'Trop de sous-mailles'  
           STOP 1  
        END IF  
        ierr = nf_put_var_real(nid, nvarid, albedo(1, nsrf))  
     END DO  
   
     !IM BEG albedo LW  
     DO nsrf = 1, nbsrf  
        IF (nsrf<=99) THEN  
           WRITE (str2, '(i2.2)') nsrf  
           ierr = nf_redef(nid)  
           ierr = nf_def_var(nid, 'ALBLW'//str2, nf_float, 1, idim2, nvarid)  
           ierr = nf_put_att_text(nid, nvarid, 'title', 23, &  
                'albedo LW de surface No.'//str2)  
           ierr = nf_enddef(nid)  
        ELSE  
           PRINT *, 'Trop de sous-mailles'  
           STOP 1  
        END IF  
        ierr = nf_put_var_real(nid, nvarid, alblw(1, nsrf))  
     END DO  
     !IM END albedo LW  
   
     DO nsrf = 1, nbsrf  
        IF (nsrf<=99) THEN  
           WRITE (str2, '(i2.2)') nsrf  
           ierr = nf_redef(nid)  
           ierr = nf_def_var(nid, 'EVAP'//str2, nf_float, 1, idim2, nvarid)  
           ierr = nf_put_att_text(nid, nvarid, 'title', 28, &  
                'Evaporation de surface No.'//str2)  
           ierr = nf_enddef(nid)  
        ELSE  
           PRINT *, 'Trop de sous-mailles'  
           STOP 1  
        END IF  
        ierr = nf_put_var_real(nid, nvarid, evap(1, nsrf))  
     END DO  
   
   
     DO nsrf = 1, nbsrf  
        IF (nsrf<=99) THEN  
           WRITE (str2, '(i2.2)') nsrf  
           ierr = nf_redef(nid)  
           ierr = nf_def_var(nid, 'SNOW'//str2, nf_float, 1, idim2, nvarid)  
           ierr = nf_put_att_text(nid, nvarid, 'title', 22, &  
                'Neige de surface No.'//str2)  
           ierr = nf_enddef(nid)  
        ELSE  
           PRINT *, 'Trop de sous-mailles'  
           STOP 1  
        END IF  
        ierr = nf_put_var_real(nid, nvarid, snow(1, nsrf))  
     END DO  
   
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'RADS', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 28, &  
          'Rayonnement net a la surface')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, radsol)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'solsw', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 32, &  
          'Rayonnement solaire a la surface')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, solsw)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'sollw', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 27, &  
          'Rayonnement IF a la surface')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, sollw)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'fder', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 14, 'Derive de flux')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, fder)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'rain_f', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 21, 'precipitation liquide')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, rain_fall)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'snow_f', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 20, 'precipitation solide')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, snow_fall)  
   
     DO nsrf = 1, nbsrf  
        IF (nsrf<=99) THEN  
           WRITE (str2, '(i2.2)') nsrf  
           ierr = nf_redef(nid)  
           ierr = nf_def_var(nid, 'RUG'//str2, nf_float, 1, idim2, nvarid)  
           ierr = nf_put_att_text(nid, nvarid, 'title', 23, &  
                'rugosite de surface No.'//str2)  
           ierr = nf_enddef(nid)  
        ELSE  
           PRINT *, 'Trop de sous-mailles'  
           STOP 1  
        END IF  
        ierr = nf_put_var_real(nid, nvarid, frugs(1, nsrf))  
     END DO  
   
     DO nsrf = 1, nbsrf  
        IF (nsrf<=99) THEN  
           WRITE (str2, '(i2.2)') nsrf  
           ierr = nf_redef(nid)  
           ierr = nf_def_var(nid, 'AGESNO'//str2, nf_float, 1, idim2, nvarid)  
           ierr = nf_put_att_text(nid, nvarid, 'title', 15, &  
                'Age de la neige surface No.'//str2)  
           ierr = nf_enddef(nid)  
        ELSE  
           PRINT *, 'Trop de sous-mailles'  
           STOP 1  
        END IF  
        ierr = nf_put_var_real(nid, nvarid, agesno(1, nsrf))  
     END DO  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'ZMEA', nf_float, 1, idim2, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, zmea)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'ZSTD', nf_float, 1, idim2, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, zstd)  
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'ZSIG', nf_float, 1, idim2, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, zsig)  
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'ZGAM', nf_float, 1, idim2, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, zgam)  
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'ZTHE', nf_float, 1, idim2, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, zthe)  
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'ZPIC', nf_float, 1, idim2, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, zpic)  
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'ZVAL', nf_float, 1, idim2, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, zval)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'TANCIEN', nf_float, 1, idim3, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, t_ancien)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'QANCIEN', nf_float, 1, idim3, nvarid)  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, q_ancien)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'RUGMER', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 28, &  
          'Longueur de rugosite sur mer')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, frugs(1, is_oce))  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'CLWCON', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 28, 'Eau liquide convective')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, clwcon)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'RNEBCON', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 28, 'Nebulosite convective')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, rnebcon)  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'RATQS', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 5, 'Ratqs')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, ratqs)  
   
     ! run_off_lic_0  
   
     ierr = nf_redef(nid)  
     ierr = nf_def_var(nid, 'RUNOFFLIC0', nf_float, 1, idim2, nvarid)  
     ierr = nf_put_att_text(nid, nvarid, 'title', 10, 'Runofflic0')  
     ierr = nf_enddef(nid)  
     ierr = nf_put_var_real(nid, nvarid, run_off_lic_0)  
177    
178        call nf95_inq_varid(ncid_restartphy, "w01", varid)
179        call nf95_put_var(ncid_restartphy, varid, w01)
180    
181      ierr = nf_close(nid)      call nf95_close(ncid_restartphy)
182    
183    END SUBROUTINE phyredem    END SUBROUTINE phyredem
184    

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

  ViewVC Help
Powered by ViewVC 1.1.21