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

Contents of /trunk/Sources/phylmd/initphysto.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 178 - (show annotations)
Fri Mar 11 18:47:26 2016 UTC (8 years, 2 months ago) by guez
File size: 5951 byte(s)
Moved variables date0, deltat, datasz_max, ncvar_ids, point, buff_pos,
buffer, regular from module histcom_var to modules where they are
defined.

Removed procedure ioipslmpp, useless for a sequential program.

Added argument datasz_max to histwrite_real (to avoid circular
dependency with histwrite).

Removed useless variables and computations everywhere.

Changed real litteral constants from default kind to double precision
in lwb, lwu, lwvn, sw1s, swtt, swtt1, swu.

Removed unused arguments: paer of sw, sw1s, sw2s, swclr; pcldsw of
sw1s, sw2s; pdsig, prayl of swr; co2_ppm of clmain, clqh; tsol of
transp_lay; nsrf of screenp; kcrit and kknu of gwstress; pstd of
orosetup.

Added output of relative humidity.

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

  ViewVC Help
Powered by ViewVC 1.1.21