/[lmdze]/trunk/libf/dyn3d/dynredem0.f90
ViewVC logotype

Diff of /trunk/libf/dyn3d/dynredem0.f90

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

revision 6 by guez, Mon Mar 3 16:32:04 2008 UTC revision 7 by guez, Mon Mar 31 12:24:17 2008 UTC
# Line 1  Line 1 
1  SUBROUTINE dynredem0(fichnom, iday_end, phis)  module dynredem0_m
2    
3    ! From dyn3d/dynredem.F, v 1.2 2004/06/22 11:45:30    IMPLICIT NONE
4    
5    ! Ecriture du fichier de redémarrage au format NetCDF (initialisation)  contains
6    
7    USE IOIPSL, only: ymds2ju, ju2ymds    SUBROUTINE dynredem0(fichnom, iday_end, phis)
   use dimens_m, only: iim, jjm, llm, nqmx  
   use paramet_m, only: ip1jmp1, iip1, jjp1, llmp1  
   use comconst, only: rad, cpp, daysec, dtvr, kappa, g, omeg  
   use comvert, only: pa, bp, ap, nivsigs, preff, presnivs, nivsig  
   use logic  
   use comgeom  
   use serre  
   use temps, only: annee_ref, day_ref, itaufin, itau_dyn  
   use ener  
   use advtrac_m, only: tname, ttext  
   use netcdf95, only: nf95_create, NF90_CLOBBER, nf95_put_att, NF90_GLOBAL, &  
        nf95_def_dim, NF90_UNLIMITED  
8    
9    IMPLICIT NONE      ! From dyn3d/dynredem.F, v 1.2 2004/06/22 11:45:30
10    
11        ! Ecriture du fichier de redémarrage au format NetCDF (initialisation)
12    
13    CHARACTER(len=*), intent(in):: fichnom      USE IOIPSL, only: ymds2ju, ju2ymds
14    INTEGER, intent(in):: iday_end      use dimens_m, only: iim, jjm, llm, nqmx
15    REAL, intent(in):: phis(ip1jmp1)      use paramet_m, only: ip1jmp1, iip1, jjp1, llmp1
16        use comconst, only: rad, cpp, daysec, dtvr, kappa, g, omeg
17    !   Local:      use comvert, only: pa, bp, ap, nivsigs, preff, presnivs, nivsig
18        use logic
19    include "netcdf.inc"      use comgeom
20        use serre
21    INTEGER iq, l      use temps, only: annee_ref, day_ref, itaufin, itau_dyn
22    INTEGER length      use ener
23    PARAMETER (length = 100)      use advtrac_m, only: tname, ttext
24    REAL tab_cntrl(length) ! tableau des parametres du run      use netcdf95, only: nf95_create, nf95_put_att, nf95_def_dim, &
25    INTEGER ierr           nf95_def_var, NF95_ENDDEF, NF95_PUT_VAR
26        use netcdf, only: NF90_CLOBBER, NF90_GLOBAL, NF90_UNLIMITED, nf90_float
27    !   Variables locales pour NetCDF:  
28        CHARACTER(len=*), intent(in):: fichnom
29    INTEGER dims2(2), dims3(3), dims4(4)      INTEGER, intent(in):: iday_end
30    INTEGER idim_index      REAL, intent(in):: phis(:, :)
31    INTEGER idim_rlonu, idim_rlonv, idim_rlatu, idim_rlatv  
32    INTEGER idim_s, idim_sig      !   Local:
33    INTEGER idim_tim  
34    INTEGER nid, nvarid      include "netcdf.inc"
35    
36    REAL zjulian, hours      INTEGER iq, l
37    INTEGER yyears0, jjour0, mmois0      INTEGER length
38    character(len=30) unites      PARAMETER (length = 100)
39        REAL tab_cntrl(length) ! tableau des parametres du run
40    !-----------------------------------------------------------------------      INTEGER ierr
41    
42    print *, "Call sequence information: dynredem0"      !   Variables locales pour NetCDF:
43    
44    call ymds2ju(annee_ref, 1, iday_end, 0.0, zjulian)      INTEGER dims2(2), dims3(3), dims4(4)
45    call ju2ymds(zjulian, yyears0, mmois0, jjour0, hours)      INTEGER idim_index
46        INTEGER idim_rlonu, idim_rlonv, idim_rlatu, idim_rlatv
47    DO l=1, length      INTEGER idim_s, idim_sig
48       tab_cntrl(l) = 0.      INTEGER idim_tim
49    ENDDO      INTEGER nid, nvarid
50    tab_cntrl(1)  = REAL(iim)  
51    tab_cntrl(2)  = REAL(jjm)      REAL zjulian, hours
52    tab_cntrl(3)  = REAL(llm)      INTEGER yyears0, jjour0, mmois0
53    tab_cntrl(4)  = REAL(day_ref)      character(len=30) unites
54    tab_cntrl(5)  = REAL(annee_ref)  
55    tab_cntrl(6)  = rad      !-----------------------------------------------------------------------
56    tab_cntrl(7)  = omeg  
57    tab_cntrl(8)  = g      print *, "Call sequence information: dynredem0"
58    tab_cntrl(9)  = cpp  
59    tab_cntrl(10) = kappa      call ymds2ju(annee_ref, 1, iday_end, 0.0, zjulian)
60    tab_cntrl(11) = daysec      call ju2ymds(zjulian, yyears0, mmois0, jjour0, hours)
61    tab_cntrl(12) = dtvr  
62    tab_cntrl(13) = etot0      DO l=1, length
63    tab_cntrl(14) = ptot0         tab_cntrl(l) = 0.
64    tab_cntrl(15) = ztot0      ENDDO
65    tab_cntrl(16) = stot0      tab_cntrl(1)  = REAL(iim)
66    tab_cntrl(17) = ang0      tab_cntrl(2)  = REAL(jjm)
67    tab_cntrl(18) = pa      tab_cntrl(3)  = REAL(llm)
68    tab_cntrl(19) = preff      tab_cntrl(4)  = REAL(day_ref)
69        tab_cntrl(5)  = REAL(annee_ref)
70    ! Paramètres  pour le zoom :      tab_cntrl(6)  = rad
71        tab_cntrl(7)  = omeg
72    tab_cntrl(20)  = clon      tab_cntrl(8)  = g
73    tab_cntrl(21)  = clat      tab_cntrl(9)  = cpp
74    tab_cntrl(22)  = grossismx      tab_cntrl(10) = kappa
75    tab_cntrl(23)  = grossismy      tab_cntrl(11) = daysec
76        tab_cntrl(12) = dtvr
77    IF ( fxyhypb )   THEN      tab_cntrl(13) = etot0
78       tab_cntrl(24) = 1.      tab_cntrl(14) = ptot0
79       tab_cntrl(25) = dzoomx      tab_cntrl(15) = ztot0
80       tab_cntrl(26) = dzoomy      tab_cntrl(16) = stot0
81       tab_cntrl(27) = 0.      tab_cntrl(17) = ang0
82       tab_cntrl(28) = taux      tab_cntrl(18) = pa
83       tab_cntrl(29) = tauy      tab_cntrl(19) = preff
84    ELSE  
85       tab_cntrl(24) = 0.      ! Paramètres  pour le zoom :
86       tab_cntrl(25) = dzoomx  
87       tab_cntrl(26) = dzoomy      tab_cntrl(20)  = clon
88       tab_cntrl(27) = 0.      tab_cntrl(21)  = clat
89       tab_cntrl(28) = 0.      tab_cntrl(22)  = grossismx
90       tab_cntrl(29) = 0.      tab_cntrl(23)  = grossismy
91       IF( ysinus )  tab_cntrl(27) = 1.  
92    ENDIF      IF ( fxyhypb )   THEN
93           tab_cntrl(24) = 1.
94    tab_cntrl(30) = REAL(iday_end)         tab_cntrl(25) = dzoomx
95    tab_cntrl(31) = REAL(itau_dyn + itaufin)         tab_cntrl(26) = dzoomy
96           tab_cntrl(27) = 0.
97    call nf95_create(fichnom, NF90_CLOBBER, nid)         tab_cntrl(28) = taux
98    call nf95_put_att(nid, NF90_GLOBAL, "title", &         tab_cntrl(29) = tauy
99         "Fichier de démarrage dynamique")      ELSE
100           tab_cntrl(24) = 0.
101    ! Definir les dimensions du fichiers:         tab_cntrl(25) = dzoomx
102           tab_cntrl(26) = dzoomy
103    call nf95_def_dim(nid, "index", length, idim_index)         tab_cntrl(27) = 0.
104    call NF95_DEF_DIM(nid, "rlonu", iip1, idim_rlonu)         tab_cntrl(28) = 0.
105    call NF95_DEF_DIM(nid, "rlatu", jjp1, idim_rlatu)         tab_cntrl(29) = 0.
106    call NF95_DEF_DIM(nid, "rlonv", iip1, idim_rlonv)         IF( ysinus )  tab_cntrl(27) = 1.
107    call NF95_DEF_DIM(nid, "rlatv", jjm, idim_rlatv)      ENDIF
108    call NF95_DEF_DIM(nid, "sigs", llm, idim_s)  
109    call NF95_DEF_DIM(nid, "sig", llmp1, idim_sig)      tab_cntrl(30) = REAL(iday_end)
110    call NF95_DEF_DIM(nid, "temps", NF90_UNLIMITED, idim_tim)      tab_cntrl(31) = REAL(itau_dyn + itaufin)
111    
112    ierr = NF_ENDDEF(nid) ! sortir du mode de definition      call nf95_create(fichnom, NF90_CLOBBER, nid)
113        call nf95_put_att(nid, NF90_GLOBAL, "title", &
114    ! Definir et enregistrer certains champs invariants:           "Fichier de démarrage dynamique")
115    
116    ierr = NF_REDEF (nid)      ! Definir les dimensions du fichiers:
117    ierr = NF_DEF_VAR (nid, "controle", NF_FLOAT, 1, idim_index, nvarid)  
118    call nf95_put_att(nid, nvarid, "title", "Parametres de controle")      call nf95_def_dim(nid, "index", length, idim_index)
119    ierr = NF_ENDDEF(nid)      call NF95_DEF_DIM(nid, "rlonu", iip1, idim_rlonu)
120    ierr = NF_PUT_VAR_REAL (nid, nvarid, tab_cntrl)      call NF95_DEF_DIM(nid, "rlatu", jjp1, idim_rlatu)
121        call NF95_DEF_DIM(nid, "rlonv", iip1, idim_rlonv)
122    ierr = NF_REDEF (nid)      call NF95_DEF_DIM(nid, "rlatv", jjm, idim_rlatv)
123    ierr = NF_DEF_VAR (nid, "rlonu", NF_FLOAT, 1, idim_rlonu, nvarid)      call NF95_DEF_DIM(nid, "sigs", llm, idim_s)
124    call nf95_put_att(nid, nvarid, "title", "Longitudes des points U")      call NF95_DEF_DIM(nid, "sig", llmp1, idim_sig)
125    ierr = NF_ENDDEF(nid)      call NF95_DEF_DIM(nid, "temps", NF90_UNLIMITED, idim_tim)
126    ierr = NF_PUT_VAR_REAL (nid, nvarid, rlonu)  
127        ! Definir et enregistrer certains champs invariants:
128    ierr = NF_REDEF (nid)  
129    ierr = NF_DEF_VAR (nid, "rlatu", NF_FLOAT, 1, idim_rlatu, nvarid)      call nf95_def_var(nid, "controle", NF90_FLOAT, idim_index, nvarid)
130    call nf95_put_att(nid, nvarid, "title", "Latitudes des points U")      call nf95_put_att(nid, nvarid, "title", "Parametres de controle")
131    ierr = NF_ENDDEF(nid)      call NF95_ENDDEF(nid)
132    ierr = NF_PUT_VAR_REAL (nid, nvarid, rlatu)      call NF95_PUT_VAR(nid, nvarid, tab_cntrl)
133    
134    ierr = NF_REDEF (nid)      ierr = NF_REDEF (nid)
135    ierr = NF_DEF_VAR (nid, "rlonv", NF_FLOAT, 1, idim_rlonv, nvarid)      call nf95_def_var(nid, "rlonu", NF90_FLOAT, idim_rlonu, nvarid)
136    call nf95_put_att(nid, nvarid, "title", "Longitudes des points V")      call nf95_put_att(nid, nvarid, "title", "Longitudes des points U")
137    ierr = NF_ENDDEF(nid)      call NF95_ENDDEF(nid)
138    ierr = NF_PUT_VAR_REAL (nid, nvarid, rlonv)      call NF95_PUT_VAR(nid, nvarid, rlonu)
139    
140    ierr = NF_REDEF (nid)      ierr = NF_REDEF (nid)
141    ierr = NF_DEF_VAR (nid, "rlatv", NF_FLOAT, 1, idim_rlatv, nvarid)      call nf95_def_var(nid, "rlatu", NF90_FLOAT, idim_rlatu, nvarid)
142    call nf95_put_att(nid, nvarid, "title", "Latitudes des points V")      call nf95_put_att(nid, nvarid, "title", "Latitudes des points U")
143    ierr = NF_ENDDEF(nid)      call NF95_ENDDEF(nid)
144    ierr = NF_PUT_VAR_REAL (nid, nvarid, rlatv)      call NF95_PUT_VAR(nid, nvarid, rlatu)
145    
146    ierr = NF_REDEF (nid)      ierr = NF_REDEF (nid)
147    ierr = NF_DEF_VAR (nid, "nivsigs", NF_FLOAT, 1, idim_s, nvarid)      call nf95_def_var(nid, "rlonv", NF90_FLOAT, idim_rlonv, nvarid)
148    call nf95_put_att(nid, nvarid, "title", "Numero naturel des couches s")      call nf95_put_att(nid, nvarid, "title", "Longitudes des points V")
149    ierr = NF_ENDDEF(nid)      call NF95_ENDDEF(nid)
150    ierr = NF_PUT_VAR_REAL (nid, nvarid, nivsigs)      call NF95_PUT_VAR(nid, nvarid, rlonv)
151    
152    ierr = NF_REDEF (nid)      ierr = NF_REDEF (nid)
153    ierr = NF_DEF_VAR (nid, "nivsig", NF_FLOAT, 1, idim_sig, nvarid)      call nf95_def_var(nid, "rlatv", NF90_FLOAT, idim_rlatv, nvarid)
154    call nf95_put_att(nid, nvarid, "title", "Numero naturel des couches sigma")      call nf95_put_att(nid, nvarid, "title", "Latitudes des points V")
155    ierr = NF_ENDDEF(nid)      call NF95_ENDDEF(nid)
156    ierr = NF_PUT_VAR_REAL (nid, nvarid, nivsig)      call NF95_PUT_VAR(nid, nvarid, rlatv)
157    
158    ierr = NF_REDEF (nid)      ierr = NF_REDEF (nid)
159    ierr = NF_DEF_VAR (nid, "ap", NF_FLOAT, 1, idim_sig, nvarid)      call nf95_def_var(nid, "nivsigs", NF90_FLOAT, idim_s, nvarid)
160    call nf95_put_att(nid, nvarid, "title", "Coefficient A pour hybride")      call nf95_put_att(nid, nvarid, "title", "Numero naturel des couches s")
161    ierr = NF_ENDDEF(nid)      call NF95_ENDDEF(nid)
162    ierr = NF_PUT_VAR_REAL (nid, nvarid, ap)      call NF95_PUT_VAR(nid, nvarid, nivsigs)
163    
164    ierr = NF_REDEF (nid)      ierr = NF_REDEF (nid)
165    ierr = NF_DEF_VAR (nid, "bp", NF_FLOAT, 1, idim_sig, nvarid)      call nf95_def_var(nid, "nivsig", NF90_FLOAT, idim_sig, nvarid)
166    call nf95_put_att(nid, nvarid, "title", "Coefficient B pour hybride")      call nf95_put_att(nid, nvarid, "title", "Numero naturel des couches sigma")
167    ierr = NF_ENDDEF(nid)      call NF95_ENDDEF(nid)
168    ierr = NF_PUT_VAR_REAL (nid, nvarid, bp)      call NF95_PUT_VAR(nid, nvarid, nivsig)
169    
170    ierr = NF_REDEF (nid)      ierr = NF_REDEF (nid)
171    ierr = NF_DEF_VAR (nid, "presnivs", NF_FLOAT, 1, idim_s, nvarid)      call nf95_def_var(nid, "ap", NF90_FLOAT, idim_sig, nvarid)
172    ierr = NF_ENDDEF(nid)      call nf95_put_att(nid, nvarid, "title", "Coefficient A pour hybride")
173    ierr = NF_PUT_VAR_REAL (nid, nvarid, presnivs)      call NF95_ENDDEF(nid)
174        call NF95_PUT_VAR(nid, nvarid, ap)
175    ! Coefficients de passage cov. <-> contra. <--> naturel  
176        ierr = NF_REDEF (nid)
177    ierr = NF_REDEF (nid)      call nf95_def_var(nid, "bp", NF90_FLOAT, idim_sig, nvarid)
178    dims2(1) = idim_rlonu      call nf95_put_att(nid, nvarid, "title", "Coefficient B pour hybride")
179    dims2(2) = idim_rlatu      call NF95_ENDDEF(nid)
180    ierr = NF_DEF_VAR (nid, "cu", NF_FLOAT, 2, dims2, nvarid)      call NF95_PUT_VAR(nid, nvarid, bp)
181    call nf95_put_att(nid, nvarid, "title", "Coefficient de passage pour U")  
182    ierr = NF_ENDDEF(nid)      ierr = NF_REDEF (nid)
183    ierr = NF_PUT_VAR_REAL (nid, nvarid, cu)      call nf95_def_var(nid, "presnivs", NF90_FLOAT, idim_s, nvarid)
184        call NF95_ENDDEF(nid)
185    ierr = NF_REDEF (nid)      call NF95_PUT_VAR(nid, nvarid, presnivs)
186    dims2(1) = idim_rlonv  
187    dims2(2) = idim_rlatv      ! Coefficients de passage cov. <-> contra. <--> naturel
188    ierr = NF_DEF_VAR (nid, "cv", NF_FLOAT, 2, dims2, nvarid)  
189    call nf95_put_att(nid, nvarid, "title", "Coefficient de passage pour V")      ierr = NF_REDEF (nid)
190    ierr = NF_ENDDEF(nid)      dims2(1) = idim_rlonu
191    ierr = NF_PUT_VAR_REAL (nid, nvarid, cv)      dims2(2) = idim_rlatu
192        call nf95_def_var(nid, "cu", NF90_FLOAT, dims2, nvarid)
193    ! Aire de chaque maille:      call nf95_put_att(nid, nvarid, "title", "Coefficient de passage pour U")
194        call NF95_ENDDEF(nid)
195    ierr = NF_REDEF (nid)      call NF95_PUT_VAR(nid, nvarid, cu_2d)
196    dims2(1) = idim_rlonv  
197    dims2(2) = idim_rlatu      ierr = NF_REDEF (nid)
198    ierr = NF_DEF_VAR (nid, "aire", NF_FLOAT, 2, dims2, nvarid)      dims2(1) = idim_rlonv
199    call nf95_put_att(nid, nvarid, "title", "Aires de chaque maille")      dims2(2) = idim_rlatv
200    ierr = NF_ENDDEF(nid)      call nf95_def_var(nid, "cv", NF90_FLOAT, dims2, nvarid)
201    ierr = NF_PUT_VAR_REAL (nid, nvarid, aire)      call nf95_put_att(nid, nvarid, "title", "Coefficient de passage pour V")
202        call NF95_ENDDEF(nid)
203    ! Geopentiel au sol:      call NF95_PUT_VAR(nid, nvarid, cv_2d)
204    
205    ierr = NF_REDEF (nid)      ! Aire de chaque maille:
206    dims2(1) = idim_rlonv  
207    dims2(2) = idim_rlatu      ierr = NF_REDEF (nid)
208    ierr = NF_DEF_VAR (nid, "phisinit", NF_FLOAT, 2, dims2, nvarid)      dims2(1) = idim_rlonv
209    call nf95_put_att(nid, nvarid, "title", "Geopotentiel au sol")      dims2(2) = idim_rlatu
210    ierr = NF_ENDDEF(nid)      call nf95_def_var(nid, "aire", NF90_FLOAT, dims2, nvarid)
211    ierr = NF_PUT_VAR_REAL (nid, nvarid, phis)      call nf95_put_att(nid, nvarid, "title", "Aires de chaque maille")
212        call NF95_ENDDEF(nid)
213    ! Definir les variables pour pouvoir les enregistrer plus tard:      call NF95_PUT_VAR(nid, nvarid, aire_2d)
214    
215    ierr = NF_REDEF (nid) ! entrer dans le mode de definition      ! Geopentiel au sol:
216    
217    ierr = NF_DEF_VAR (nid, "temps", NF_FLOAT, 1, idim_tim, nvarid)      ierr = NF_REDEF (nid)
218    call nf95_put_att(nid, nvarid, "title", "Temps de simulation")      dims2(1) = idim_rlonv
219    write(unites, 200)yyears0, mmois0, jjour0      dims2(2) = idim_rlatu
220        call nf95_def_var(nid, "phisinit", NF90_FLOAT, dims2, nvarid)
221        call nf95_put_att(nid, nvarid, "title", "Geopotentiel au sol")
222        call NF95_ENDDEF(nid)
223        call NF95_PUT_VAR(nid, nvarid, phis)
224    
225        ! Definir les variables pour pouvoir les enregistrer plus tard:
226    
227        ierr = NF_REDEF (nid) ! entrer dans le mode de definition
228    
229        call nf95_def_var(nid, "temps", NF90_FLOAT, idim_tim, nvarid)
230        call nf95_put_att(nid, nvarid, "title", "Temps de simulation")
231        write(unites, 200)yyears0, mmois0, jjour0
232  200 format('days since ', i4, '-', i2.2, '-', i2.2, ' 00:00:00')  200 format('days since ', i4, '-', i2.2, '-', i2.2, ' 00:00:00')
233    call nf95_put_att(nid, nvarid, "units", unites)      call nf95_put_att(nid, nvarid, "units", unites)
234    
235    
236    dims4(1) = idim_rlonu      dims4(1) = idim_rlonu
237    dims4(2) = idim_rlatu      dims4(2) = idim_rlatu
238    dims4(3) = idim_s      dims4(3) = idim_s
239    dims4(4) = idim_tim      dims4(4) = idim_tim
240    ierr = NF_DEF_VAR (nid, "ucov", NF_FLOAT, 4, dims4, nvarid)      call nf95_def_var(nid, "ucov", NF90_FLOAT, dims4, nvarid)
241    call nf95_put_att(nid, nvarid, "title", "Vitesse U")      call nf95_put_att(nid, nvarid, "title", "Vitesse U")
242    
243    dims4(1) = idim_rlonv      dims4(1) = idim_rlonv
244    dims4(2) = idim_rlatv      dims4(2) = idim_rlatv
245    dims4(3) = idim_s      dims4(3) = idim_s
246    dims4(4) = idim_tim      dims4(4) = idim_tim
247    ierr = NF_DEF_VAR (nid, "vcov", NF_FLOAT, 4, dims4, nvarid)      call nf95_def_var(nid, "vcov", NF90_FLOAT, dims4, nvarid)
248    call nf95_put_att(nid, nvarid, "title", "Vitesse V")      call nf95_put_att(nid, nvarid, "title", "Vitesse V")
249    
250    dims4(1) = idim_rlonv      dims4(1) = idim_rlonv
251    dims4(2) = idim_rlatu      dims4(2) = idim_rlatu
252    dims4(3) = idim_s      dims4(3) = idim_s
253    dims4(4) = idim_tim      dims4(4) = idim_tim
254    ierr = NF_DEF_VAR (nid, "teta", NF_FLOAT, 4, dims4, nvarid)      call nf95_def_var(nid, "teta", NF90_FLOAT, dims4, nvarid)
255    call nf95_put_att(nid, nvarid, "title", "Temperature")      call nf95_put_att(nid, nvarid, "title", "Temperature")
256    
257    dims4(1) = idim_rlonv      dims4(1) = idim_rlonv
258    dims4(2) = idim_rlatu      dims4(2) = idim_rlatu
259    dims4(3) = idim_s      dims4(3) = idim_s
260    dims4(4) = idim_tim      dims4(4) = idim_tim
261    DO iq=1, nqmx      DO iq=1, nqmx
262       ierr = NF_DEF_VAR (nid, tname(iq), NF_FLOAT, 4, dims4, nvarid)         call nf95_def_var(nid, tname(iq), NF90_FLOAT, dims4, nvarid)
263       call nf95_put_att(nid, nvarid, "title", ttext(iq))         call nf95_put_att(nid, nvarid, "title", ttext(iq))
264    ENDDO      ENDDO
265    
266    dims4(1) = idim_rlonv      dims4(1) = idim_rlonv
267    dims4(2) = idim_rlatu      dims4(2) = idim_rlatu
268    dims4(3) = idim_s      dims4(3) = idim_s
269    dims4(4) = idim_tim      dims4(4) = idim_tim
270    ierr = NF_DEF_VAR (nid, "masse", NF_FLOAT, 4, dims4, nvarid)      call nf95_def_var(nid, "masse", NF90_FLOAT, dims4, nvarid)
271    call nf95_put_att(nid, nvarid, "title", "C est quoi ?")      call nf95_put_att(nid, nvarid, "title", "C est quoi ?")
272    
273    dims3(1) = idim_rlonv      dims3(1) = idim_rlonv
274    dims3(2) = idim_rlatu      dims3(2) = idim_rlatu
275    dims3(3) = idim_tim      dims3(3) = idim_tim
276    ierr = NF_DEF_VAR (nid, "ps", NF_FLOAT, 3, dims3, nvarid)      call nf95_def_var(nid, "ps", NF90_FLOAT, dims3, nvarid)
277    call nf95_put_att(nid, nvarid, "title", "Pression au sol")      call nf95_put_att(nid, nvarid, "title", "Pression au sol")
278    
279        ierr = NF_ENDDEF(nid) ! sortir du mode de definition
280        ierr = NF_CLOSE(nid) ! fermer le fichier
281    
282    ierr = NF_ENDDEF(nid) ! sortir du mode de definition      PRINT*, 'iim, jjm, llm, iday_end', iim, jjm, llm, iday_end
283    ierr = NF_CLOSE(nid) ! fermer le fichier      PRINT*, 'rad, omeg, g, cpp, kappa', rad, omeg, g, cpp, kappa
284    
285    PRINT*, 'iim, jjm, llm, iday_end', iim, jjm, llm, iday_end    END SUBROUTINE dynredem0
   PRINT*, 'rad, omeg, g, cpp, kappa', rad, omeg, g, cpp, kappa  
286    
287  END SUBROUTINE dynredem0  end module dynredem0_m

Legend:
Removed from v.6  
changed lines
  Added in v.7

  ViewVC Help
Powered by ViewVC 1.1.21