/[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

trunk/libf/phylmd/phyredem.f revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC trunk/Sources/phylmd/phyredem.f revision 157 by guez, Mon Jul 20 16:01:49 2015 UTC
# Line 1  Line 1 
1  !  module phyredem_m
2  ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/phyredem.F,v 1.3 2005/05/25 13:10:09 fairhead Exp $  
3  !    IMPLICIT NONE
4  c  
5        SUBROUTINE phyredem (fichnom,dtime,radpas,  contains
6       .           rlat,rlon, pctsrf,tsol,tsoil,  
7  cIM "slab" ocean    SUBROUTINE phyredem(pctsrf, tsol, tsoil, tslab, seaice, qsurf, qsol, snow, &
8       .           tslab,seaice,         albedo, evap, rain_fall, snow_fall, solsw, sollw, fder, radsol, frugs, &
9       .           qsurf,qsol,snow,         agesno, zmea, zstd, zsig, zgam, zthe, zpic, zval, t_ancien, q_ancien, &
10       .           albedo, alblw, evap, rain_fall, snow_fall,         rnebcon, ratqs, clwcon, run_off_lic_0, sig1, w01)
11       .           solsw, sollw,fder,  
12       .           radsol,frugs,agesno,      ! From phylmd/phyredem.F, version 1.3, 2005/05/25 13:10:09
13       .           zmea,zstd,zsig,zgam,zthe,zpic,zval,rugsrel,      ! Author: Z. X. Li (LMD/CNRS)
14       .           t_ancien, q_ancien, rnebcon, ratqs, clwcon,      ! Date: 1993/08/18
15       .           run_off_lic_0)  
16        use dimens_m      ! Objet : \'ecriture de l'\'etat de d\'emarrage ou red\'emarrage
17        use indicesol      ! pour la physique
18        use dimphy  
19        use conf_gcm_m      USE dimphy, ONLY: klev, klon, zmasq
20        use dimsoil      USE indicesol, ONLY: is_lic, is_oce, is_sic, is_ter, nbsrf
21        use temps      USE netcdf95, ONLY: nf95_inq_varid, nf95_put_var, nf95_close
22        use clesphys      use phyredem0_m, only: ncid_restartphy
23        IMPLICIT none  
24  c======================================================================      REAL, INTENT(IN):: pctsrf(:, :) ! (klon, nbsrf)
25  c Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818      REAL, INTENT(IN):: tsol(:, :) ! (klon, nbsrf)
26  c Objet: Ecriture de l'etat de redemarrage pour la physique      REAL, INTENT(IN):: tsoil(:, :, :) ! (klon, nsoilmx, nbsrf)
27  c======================================================================      REAL, INTENT(IN):: tslab(:), seaice(:) ! (klon) slab ocean
28        include "netcdf.inc"      REAL, INTENT(IN):: qsurf(:, :) ! (klon, nbsrf)
29  c======================================================================  
30        CHARACTER*(*) fichnom      REAL, intent(in):: qsol(:) ! (klon)
31        REAL dtime      ! column-density of water in soil, in kg m-2
32        INTEGER radpas  
33        REAL, intent(in):: rlat(klon), rlon(klon)      REAL, INTENT(IN):: snow(klon, nbsrf)
34        REAL tsol(klon,nbsrf)      REAL, INTENT(IN):: albedo(klon, nbsrf)
35        REAL tsoil(klon,nsoilmx,nbsrf)      REAL, INTENT(IN):: evap(klon, nbsrf)
36  cIM "slab" ocean      REAL, INTENT(IN):: rain_fall(klon)
37        REAL tslab(klon), seaice(klon)      REAL, INTENT(IN):: snow_fall(klon)
38        REAL qsurf(klon,nbsrf)      REAL, INTENT(IN):: solsw(klon)
39        REAL qsol(klon)      REAL, INTENT(IN):: sollw(klon)
40        REAL snow(klon,nbsrf)      REAL, INTENT(IN):: fder(klon)
41        REAL albedo(klon,nbsrf)      REAL, INTENT(IN):: radsol(klon)
42  cIM BEG      REAL, INTENT(IN):: frugs(klon, nbsrf)
43        REAL alblw(klon,nbsrf)      REAL, INTENT(IN):: agesno(klon, nbsrf)
44  cIM END      REAL, INTENT(IN):: zmea(klon)
45        REAL evap(klon,nbsrf)      REAL, intent(in):: zstd(klon)
46        REAL rain_fall(klon)      REAL, intent(in):: zsig(klon)
47        REAL snow_fall(klon)      REAL, intent(in):: zgam(klon)
48        real solsw(klon)      REAL, intent(in):: zthe(klon)
49        real sollw(klon)      REAL, intent(in):: zpic(klon)
50        real fder(klon)      REAL, intent(in):: zval(klon)
51        REAL radsol(klon)      REAL, intent(in):: t_ancien(klon, klev), q_ancien(klon, klev)
52        REAL frugs(klon,nbsrf)      REAL, intent(in):: rnebcon(klon, klev), ratqs(klon, klev)
53        REAL agesno(klon,nbsrf)      REAL, intent(in):: clwcon(klon, klev)
54        REAL zmea(klon)      REAL, intent(in):: run_off_lic_0(klon)
55        REAL zstd(klon)      real, intent(in):: sig1(klon, klev) ! section adiabatic updraft
56        REAL zsig(klon)  
57        REAL zgam(klon)      real, intent(in):: w01(klon, klev)
58        REAL zthe(klon)      ! vertical velocity within adiabatic updraft
59        REAL zpic(klon)  
60        REAL zval(klon)      ! Local:
61        REAL rugsrel(klon)      integer varid
62        REAL pctsrf(klon, nbsrf)  
63        REAL t_ancien(klon,klev), q_ancien(klon,klev)      !------------------------------------------------------------
64        real clwcon(klon,klev),rnebcon(klon,klev),ratqs(klon,klev)  
65        REAL run_off_lic_0(klon)      PRINT *, 'Call sequence information: phyredem'
66  c  
67        INTEGER nid, nvarid, idim1, idim2, idim3      call nf95_inq_varid(ncid_restartphy, "masque", varid)
68        INTEGER ierr      call nf95_put_var(ncid_restartphy, varid, zmasq)
69        INTEGER length  
70        PARAMETER (length=100)      call nf95_inq_varid(ncid_restartphy, "FTER", varid)
71        REAL tab_cntrl(length)      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_ter))
72  c  
73        INTEGER isoil, nsrf      call nf95_inq_varid(ncid_restartphy, "FLIC", varid)
74        CHARACTER*7 str7      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_lic))
75        CHARACTER*2 str2  
76  c      call nf95_inq_varid(ncid_restartphy, "FOCE", varid)
77        print *, "Call sequence information: phyredem"      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_oce))
78        ierr = NF_CREATE(fichnom, NF_CLOBBER, nid)  
79        IF (ierr.NE.NF_NOERR) THEN      call nf95_inq_varid(ncid_restartphy, "FSIC", varid)
80          write(6,*)' Pb d''ouverture du fichier '//fichnom      call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_sic))
81          write(6,*)' ierr = ', ierr  
82          STOP 1      call nf95_inq_varid(ncid_restartphy, "TS", varid)
83        ENDIF      call nf95_put_var(ncid_restartphy, varid, tsol)
84  c  
85        ierr = NF_PUT_ATT_TEXT (nid, NF_GLOBAL, "title", 28,      call nf95_inq_varid(ncid_restartphy, "Tsoil", varid)
86       .                       "Fichier redemmarage physique")      call nf95_put_var(ncid_restartphy, varid, tsoil)
87  c  
88        ierr = NF_DEF_DIM (nid, "index", length, idim1)      call nf95_inq_varid(ncid_restartphy, "TSLAB", varid)
89        ierr = NF_DEF_DIM (nid, "points_physiques", klon, idim2)      call nf95_put_var(ncid_restartphy, varid, tslab)
90        ierr = NF_DEF_DIM (nid, "horizon_vertical", klon*klev, idim3)  
91  c      call nf95_inq_varid(ncid_restartphy, "SEAICE", varid)
92        ierr = NF_ENDDEF(nid)      call nf95_put_var(ncid_restartphy, varid, seaice)
93  c  
94        DO ierr = 1, length      call nf95_inq_varid(ncid_restartphy, "QS", varid)
95           tab_cntrl(ierr) = 0.0      call nf95_put_var(ncid_restartphy, varid, qsurf)
96        ENDDO  
97        tab_cntrl(1) = dtime      call nf95_inq_varid(ncid_restartphy, "QSOL", varid)
98        tab_cntrl(2) = radpas      call nf95_put_var(ncid_restartphy, varid, qsol)
99        tab_cntrl(3) = co2_ppm  
100        tab_cntrl(4) = solaire      call nf95_inq_varid(ncid_restartphy, "ALBE", varid)
101        tab_cntrl(5) = iflag_con      call nf95_put_var(ncid_restartphy, varid, albedo)
102        tab_cntrl(6) = nbapp_rad  
103        call nf95_inq_varid(ncid_restartphy, "EVAP", varid)
104        IF( cycle_diurne ) tab_cntrl( 7 ) = 1.      call nf95_put_var(ncid_restartphy, varid, evap)
105        IF(   soil_model ) tab_cntrl( 8 ) = 1.  
106        IF(     new_oliq ) tab_cntrl( 9 ) = 1.      call nf95_inq_varid(ncid_restartphy, "SNOW", varid)
107        IF(     ok_orodr ) tab_cntrl(10 ) = 1.      call nf95_put_var(ncid_restartphy, varid, snow)
108        IF(     ok_orolf ) tab_cntrl(11 ) = 1.  
109        call nf95_inq_varid(ncid_restartphy, "RADS", varid)
110        tab_cntrl(13) = day_end      call nf95_put_var(ncid_restartphy, varid, radsol)
111        tab_cntrl(14) = annee_ref  
112        tab_cntrl(15) = itau_phy      call nf95_inq_varid(ncid_restartphy, "solsw", varid)
113  c      call nf95_put_var(ncid_restartphy, varid, solsw)
114        ierr = NF_REDEF (nid)  
115        ierr = NF_DEF_VAR (nid, "controle", NF_FLOAT, 1, idim1,nvarid)      call nf95_inq_varid(ncid_restartphy, "sollw", varid)
116        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 22,      call nf95_put_var(ncid_restartphy, varid, sollw)
117       .                        "Parametres de controle")  
118        ierr = NF_ENDDEF(nid)      call nf95_inq_varid(ncid_restartphy, "fder", varid)
119        ierr = NF_PUT_VAR_REAL (nid,nvarid,tab_cntrl)      call nf95_put_var(ncid_restartphy, varid, fder)
120  c  
121        ierr = NF_REDEF (nid)      call nf95_inq_varid(ncid_restartphy, "rain_f", varid)
122        ierr = NF_DEF_VAR (nid, "longitude", NF_FLOAT, 1, idim2,nvarid)      call nf95_put_var(ncid_restartphy, varid, rain_fall)
123        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32,  
124       .                        "Longitudes de la grille physique")      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,rlon)  
127  c      call nf95_inq_varid(ncid_restartphy, "RUG", varid)
128        ierr = NF_REDEF (nid)      call nf95_put_var(ncid_restartphy, varid, frugs)
129        ierr = NF_DEF_VAR (nid, "latitude", NF_FLOAT, 1, idim2,nvarid)  
130        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 31,      call nf95_inq_varid(ncid_restartphy, "AGESNO", varid)
131       .                        "Latitudes de la grille physique")      call nf95_put_var(ncid_restartphy, varid, agesno)
132        ierr = NF_ENDDEF(nid)  
133        ierr = NF_PUT_VAR_REAL (nid,nvarid,rlat)      call nf95_inq_varid(ncid_restartphy, "ZMEA", varid)
134  c      call nf95_put_var(ncid_restartphy, varid, zmea)
135  C PB ajout du masque terre/mer  
136  C      call nf95_inq_varid(ncid_restartphy, "ZSTD", varid)
137        ierr = NF_REDEF (nid)      call nf95_put_var(ncid_restartphy, varid, zstd)
138        ierr = NF_DEF_VAR (nid, "masque", NF_FLOAT, 1, idim2,nvarid)  
139        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 16,      call nf95_inq_varid(ncid_restartphy, "ZSIG", varid)
140       .                        "masque terre mer")      call nf95_put_var(ncid_restartphy, varid, zsig)
141        ierr = NF_ENDDEF(nid)  
142        ierr = NF_PUT_VAR_REAL (nid,nvarid,zmasq)      call nf95_inq_varid(ncid_restartphy, "ZGAM", varid)
143  c BP ajout des fraction de chaque sous-surface      call nf95_put_var(ncid_restartphy, varid, zgam)
144  C  
145  C 1. fraction de terre      call nf95_inq_varid(ncid_restartphy, "ZTHE", varid)
146  C      call nf95_put_var(ncid_restartphy, varid, zthe)
147        ierr = NF_REDEF (nid)  
148        ierr = NF_DEF_VAR (nid, "FTER", NF_FLOAT, 1, idim2,nvarid)      call nf95_inq_varid(ncid_restartphy, "ZPIC", varid)
149        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21,      call nf95_put_var(ncid_restartphy, varid, zpic)
150       .                        "fraction de continent")  
151        ierr = NF_ENDDEF(nid)      call nf95_inq_varid(ncid_restartphy, "ZVAL", varid)
152        ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_ter))      call nf95_put_var(ncid_restartphy, varid, zval)
153  C  
154  C 2. Fraction de glace de terre      call nf95_inq_varid(ncid_restartphy, "TANCIEN", varid)
155  C      call nf95_put_var(ncid_restartphy, varid, t_ancien)
156        ierr = NF_REDEF (nid)  
157        ierr = NF_DEF_VAR (nid, "FLIC", NF_FLOAT, 1, idim2,nvarid)      call nf95_inq_varid(ncid_restartphy, "QANCIEN", varid)
158        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 24,      call nf95_put_var(ncid_restartphy, varid, q_ancien)
159       .                        "fraction glace de terre")  
160        ierr = NF_ENDDEF(nid)      call nf95_inq_varid(ncid_restartphy, "RUGMER", varid)
161        ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_lic))      call nf95_put_var(ncid_restartphy, varid, frugs(:, is_oce))
162  C  
163  C 3. fraction ocean      call nf95_inq_varid(ncid_restartphy, "CLWCON", varid)
164  C      call nf95_put_var(ncid_restartphy, varid, clwcon(:, 1))
165        ierr = NF_REDEF (nid)  
166        ierr = NF_DEF_VAR (nid, "FOCE", NF_FLOAT, 1, idim2,nvarid)      call nf95_inq_varid(ncid_restartphy, "RNEBCON", varid)
167        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14,      call nf95_put_var(ncid_restartphy, varid, rnebcon(:, 1))
168       .                        "fraction ocean")  
169        ierr = NF_ENDDEF(nid)      call nf95_inq_varid(ncid_restartphy, "RATQS", varid)
170        ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_oce))      call nf95_put_var(ncid_restartphy, varid, ratqs(:, 1))
171  C  
172  C 4. Fraction glace de mer      call nf95_inq_varid(ncid_restartphy, "RUNOFFLIC0", varid)
173  C      call nf95_put_var(ncid_restartphy, varid, run_off_lic_0)
174        ierr = NF_REDEF (nid)  
175        ierr = NF_DEF_VAR (nid, "FSIC", NF_FLOAT, 1, idim2,nvarid)      call nf95_inq_varid(ncid_restartphy, "sig1", varid)
176        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 18,      call nf95_put_var(ncid_restartphy, varid, sig1)
177       .                        "fraction glace mer")  
178        ierr = NF_ENDDEF(nid)      call nf95_inq_varid(ncid_restartphy, "w01", varid)
179        ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon, is_sic))      call nf95_put_var(ncid_restartphy, varid, w01)
180  C  
181  C      call nf95_close(ncid_restartphy)
182  c  
183        DO nsrf = 1, nbsrf    END SUBROUTINE phyredem
184          IF (nsrf.LE.99) THEN  
185          WRITE(str2,'(i2.2)') nsrf  end module phyredem_m
         ierr = NF_REDEF (nid)  
         ierr = NF_DEF_VAR (nid, "TS"//str2, NF_FLOAT, 1, idim2,nvarid)  
         ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,  
      .                        "Temperature de surface No."//str2)  
         ierr = NF_ENDDEF(nid)  
         ELSE  
         PRINT*, "Trop de sous-mailles"  
         stop 1  
         ENDIF  
         ierr = NF_PUT_VAR_REAL (nid,nvarid,tsol(1,nsrf))  
       ENDDO  
 c  
       DO nsrf = 1, nbsrf  
       DO isoil=1, nsoilmx  
         IF (isoil.LE.99 .AND. nsrf.LE.99) THEN  
         WRITE(str7,'(i2.2,"srf",i2.2)') isoil,nsrf  
         ierr = NF_REDEF (nid)  
         ierr = NF_DEF_VAR (nid, "Tsoil"//str7,NF_FLOAT,1,idim2,nvarid)  
         ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 29,  
      .                        "Temperature du sol No."//str7)  
         ierr = NF_ENDDEF(nid)  
         ELSE  
         PRINT*, "Trop de couches"  
         stop 1  
         ENDIF  
         ierr = NF_PUT_VAR_REAL (nid,nvarid,tsoil(1,isoil,nsrf))  
       ENDDO  
       ENDDO  
 c  
 cIM "slab" ocean  
       ierr = NF_REDEF (nid)  
       ierr = NF_DEF_VAR (nid, "TSLAB", NF_FLOAT, 1, idim2,nvarid)  
       ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 33,  
      .                        "Ecart de la SST (pour slab-ocean)")  
       ierr = NF_ENDDEF(nid)  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,tslab)  
 c  
       ierr = NF_REDEF (nid)  
       ierr = NF_DEF_VAR (nid, "SEAICE", NF_FLOAT, 1, idim2,nvarid)  
       ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 33,  
      .                        "Glace de mer kg/m2 (pour slab-ocean)")  
       ierr = NF_ENDDEF(nid)  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,seaice)  
 c  
       DO nsrf = 1, nbsrf  
         IF (nsrf.LE.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  
         ENDIF  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,qsurf(1,nsrf))  
       END DO  
 C  
       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)  
 c  
       DO nsrf = 1, nbsrf  
         IF (nsrf.LE.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  
         ENDIF  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,albedo(1,nsrf))  
       ENDDO  
   
 cIM BEG albedo LW  
         DO nsrf = 1, nbsrf  
         IF (nsrf.LE.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  
         ENDIF  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,alblw(1,nsrf))  
       ENDDO  
 cIM END albedo LW  
 c  
       DO nsrf = 1, nbsrf  
         IF (nsrf.LE.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  
         ENDIF  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,evap(1,nsrf))  
       ENDDO  
   
 c  
       DO nsrf = 1, nbsrf  
         IF (nsrf.LE.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  
         ENDIF  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,snow(1,nsrf))  
       ENDDO  
   
 c  
       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)  
 c  
       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)  
 c  
       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)  
 c  
       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)  
 c  
       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)  
 c  
       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)  
 c  
       DO nsrf = 1, nbsrf  
         IF (nsrf.LE.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  
         ENDIF  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,frugs(1,nsrf))  
       ENDDO  
 c  
       DO nsrf = 1, nbsrf  
         IF (nsrf.LE.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  
         ENDIF  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,agesno(1,nsrf))  
       ENDDO  
 c  
       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)  
 c  
       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, "RUGSREL", NF_FLOAT, 1, idim2,nvarid)  
       ierr = NF_ENDDEF(nid)  
       ierr = NF_PUT_VAR_REAL (nid,nvarid,rugsrel)  
 c  
       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)  
 c  
       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)  
 c  
       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))  
 c  
       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)  
 c  
       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)  
 c  
       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)  
 c  
 c run_off_lic_0  
 c  
       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)  
 c  
 c  
       ierr = NF_CLOSE(nid)  
 c  
       RETURN  
       END  

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

  ViewVC Help
Powered by ViewVC 1.1.21