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

Annotation of /trunk/phylmd/initphysto.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 61 - (hide annotations)
Fri Apr 20 14:58:43 2012 UTC (12 years, 1 month ago) by guez
Original Path: trunk/libf/phylmd/initphysto.f90
File size: 5860 byte(s)
No more included file in LMDZE, not even "netcdf.inc".

Created a variable containing the list of common source files in
GNUmakefile. So we now also see clearly files that are specific to
each program.

Split module "histcom". Assembled resulting files in directory
"Histcom".

Removed aliasing in calls to "laplacien".

1 guez 31 SUBROUTINE initphysto(infile,rlon,rlat,tstep,t_ops,t_wrt,nq,fileid)
2 guez 3
3 guez 31 ! From phylmd/initphysto.F,v 1.2 2004/06/22 11:45:32
4     ! Routine d'initialisation des ecritures des fichiers histoires LMDZ
5     ! au format IOIPSL
6 guez 3
7 guez 31 ! Appels succesifs des routines: histbeg
8     ! histhori
9     ! histver
10     ! histdef
11     ! histend
12 guez 3
13 guez 31 ! Entree:
14 guez 3
15 guez 31 ! infile: nom du fichier histoire a creer
16     ! day0,anne0: date de reference
17     ! tstep: duree du pas de temps en seconde
18     ! t_ops: frequence de l'operation pour IOIPSL
19     ! t_wrt: frequence d'ecriture sur le fichier
20     ! nq: nombre de traceurs
21 guez 3
22 guez 31 ! Sortie:
23     ! fileid: ID du fichier netcdf cree
24     ! filevid:ID du fichier netcdf pour la grille v
25 guez 3
26 guez 31 ! L. Fairhead, 03/99
27 guez 3
28 guez 31 USE calendar
29 guez 61 USE histbeg_totreg_m, ONLY : histbeg_totreg
30     USE histdef_m, ONLY : histdef
31     USE histend_m, ONLY : histend
32     use histsync_m, only: histsync
33     USE histvert_m, ONLY : histvert
34 guez 31 USE dimens_m
35     USE paramet_m
36     USE comconst
37     USE indicesol
38     USE dimphy
39 guez 57 use conf_gcm_m
40 guez 31 USE comgeom
41     USE serre
42     USE temps
43     USE ener
44 guez 39 USE nr_util, ONLY : pi
45 guez 3
46 guez 31 IMPLICIT NONE
47 guez 3
48 guez 31 ! Arguments
49     CHARACTER*(*) infile
50     INTEGER nhoriid, i
51     REAL, INTENT (IN) :: tstep
52     REAL t_ops, t_wrt
53     INTEGER fileid, filevid
54     INTEGER nq, l
55     REAL nivsigs(llm)
56 guez 3
57 guez 31 ! Variables locales
58 guez 3
59 guez 31 INTEGER tau0
60     REAL zjulian
61     CHARACTER*3 str
62     CHARACTER*10 ctrac
63     INTEGER iq
64     INTEGER uhoriid, vhoriid, thoriid, zvertiid
65     INTEGER ii, jj
66     INTEGER zan, idayref
67     LOGICAL ok_sync
68     REAL zx_lon(iim,jjm+1), zx_lat(iim,jjm+1)
69 guez 3
70 guez 31 REAL, INTENT (IN) :: rlon(klon), rlat(klon)
71 guez 3
72 guez 31 !-----------------------------------------------------
73 guez 3
74 guez 31 ! Initialisations
75     str = 'q '
76     ctrac = 'traceur '
77     ok_sync = .TRUE.
78 guez 3
79 guez 31 ! Appel a histbeg: creation du fichier netcdf et initialisations
80     ! diverses
81 guez 3
82 guez 31 zan = annee_ref
83     idayref = day_ref
84     CALL ymds2ju(zan,1,idayref,0.0,zjulian)
85     tau0 = 0
86 guez 3
87 guez 31 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon)
88     DO i = 1, iim
89     zx_lon(i,1) = rlon(i+1)
90     zx_lon(i,jjm+1) = rlon(i+1)
91     END DO
92     CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat)
93 guez 3
94    
95 guez 31 CALL histbeg_totreg(infile,zx_lon(:,1),zx_lat(1,:),1,iim,1,jjm+1,tau0, &
96     zjulian,tstep,nhoriid,fileid)
97 guez 3
98 guez 31 ! Appel a histvert pour la grille verticale
99 guez 3
100 guez 31 DO l = 1, llm
101     nivsigs(l) = float(l)
102     END DO
103 guez 3
104 guez 31 CALL histvert(fileid,'sig_s','Niveaux sigma','sigma_level',llm,nivsigs, &
105     zvertiid)
106 guez 3
107 guez 31 ! Appels a histdef pour la definition des variables a sauvegarder
108 guez 3
109 guez 31 CALL histdef(fileid,'phis','Surface geop. height','-',iim,jjm+1,nhoriid, &
110     1,1,1,-99,'once',t_ops,t_wrt)
111 guez 3
112 guez 31 CALL histdef(fileid,'aire','Grid area','-',iim,jjm+1,nhoriid,1,1,1,-99, &
113     'once',t_ops,t_wrt)
114 guez 3
115 guez 31 CALL histdef(fileid,'dtime','tps phys ','s',1,1,nhoriid,1,1,1,-99, &
116     'once',t_ops,t_wrt)
117 guez 3
118 guez 31 CALL histdef(fileid,'istphy','tps stock','s',1,1,nhoriid,1,1,1,-99, &
119     'once',t_ops,t_wrt)
120 guez 3
121 guez 31 ! T
122 guez 3
123 guez 31 CALL histdef(fileid,'t','Temperature','K',iim,jjm+1,nhoriid,llm,1,llm, &
124     zvertiid,'inst(X)',t_ops,t_wrt)
125 guez 3
126 guez 31 CALL histdef(fileid,'mfu','flx m. pan. mt','kg m/s',iim,jjm+1,nhoriid, &
127     llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
128 guez 3
129 guez 31 CALL histdef(fileid,'mfd','flx m. pan. des','kg m/s',iim,jjm+1,nhoriid, &
130     llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
131    
132    
133     ! en_u
134    
135     CALL histdef(fileid,'en_u','flx ent pan mt','kg m/s',iim,jjm+1,nhoriid, &
136     llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
137    
138     CALL histdef(fileid,'de_u','flx det pan mt','kg m/s',iim,jjm+1,nhoriid, &
139     llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
140    
141    
142     ! en_d
143    
144     CALL histdef(fileid,'en_d','flx ent pan dt','kg m/s',iim,jjm+1,nhoriid, &
145     llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
146    
147    
148    
149     ! de_d
150    
151     CALL histdef(fileid,'de_d','flx det pan dt','kg m/s',iim,jjm+1,nhoriid, &
152     llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
153    
154     ! coefh frac_impa,frac_nucl
155    
156     CALL histdef(fileid,'coefh',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
157     zvertiid,'inst(X)',t_ops,t_wrt)
158    
159     ! abderrahmane le 16 09 02
160     CALL histdef(fileid,'fm_th',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
161     zvertiid,'inst(X)',t_ops,t_wrt)
162    
163     CALL histdef(fileid,'en_th',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
164     zvertiid,'inst(X)',t_ops,t_wrt)
165     ! fin aj
166    
167     CALL histdef(fileid,'frac_impa',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
168     zvertiid,'inst(X)',t_ops,t_wrt)
169    
170     CALL histdef(fileid,'frac_nucl',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
171     zvertiid,'inst(X)',t_ops,t_wrt)
172    
173    
174     ! pyu1
175    
176     CALL histdef(fileid,'pyu1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
177     'inst(X)',t_ops,t_wrt)
178    
179    
180     ! pyv1
181    
182     CALL histdef(fileid,'pyv1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
183     'inst(X)',t_ops,t_wrt)
184    
185     CALL histdef(fileid,'ftsol1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
186     'inst(X)',t_ops,t_wrt)
187    
188    
189     ! ftsol2
190    
191     CALL histdef(fileid,'ftsol2',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
192     'inst(X)',t_ops,t_wrt)
193    
194    
195     ! ftsol3
196    
197     CALL histdef(fileid,'ftsol3',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
198     'inst(X)',t_ops,t_wrt)
199    
200    
201     ! ftsol4
202    
203     CALL histdef(fileid,'ftsol4',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
204     'inst(X)',t_ops,t_wrt)
205    
206    
207     ! rain
208    
209     CALL histdef(fileid,'rain',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
210     'inst(X)',t_ops,t_wrt)
211    
212    
213     ! psrf1
214    
215     CALL histdef(fileid,'psrf1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
216     'inst(X)',t_ops,t_wrt)
217    
218    
219     ! psrf2
220    
221     CALL histdef(fileid,'psrf2',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
222     'inst(X)',t_ops,t_wrt)
223    
224    
225     ! psrf3
226    
227     CALL histdef(fileid,'psrf3',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
228     'inst(X)',t_ops,t_wrt)
229    
230    
231     ! psrf4
232    
233     CALL histdef(fileid,'psrf4',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
234     'inst(X)',t_ops,t_wrt)
235    
236     CALL histend(fileid)
237     IF (ok_sync) CALL histsync
238    
239     END SUBROUTINE initphysto

  ViewVC Help
Powered by ViewVC 1.1.21