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

Annotation of /trunk/phylmd/initphysto.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 104 - (hide annotations)
Thu Sep 4 10:05:52 2014 UTC (9 years, 8 months ago) by guez
File size: 5846 byte(s)
Removed procedure sortvarc0. Called sortvarc with an additional
argument resetvarc instead. (Following LMDZ.) Moved current time
computations and some printing statements from sortvarc to
caldyn. Could then remove arguments itau and time_0 of sortvarc, and
could remove "use dynetat0". Better to keep "dynetat0.f" as a gcm-only
file.

Moved some variables from module ener to module sortvarc.

Split file "mathelp.f" into single-procedure files.

Removed unused argument nadv of adaptdt. Removed dimension arguments
of bernoui.

Removed unused argument nisurf of interfoce_lim. Changed the size of
argument lmt_sst of interfoce_lim from klon to knon. Removed case when
newlmt is false.

dynredem1 is called only once in each run, either ce0l or gcm. So
variable nb in call to nf95_put_var was always 1. Removed variable nb.

Removed dimension arguments of calcul_fluxs. Removed unused arguments
precip_rain, precip_snow, snow of calcul_fluxs. Changed the size of
all the arrays in calcul_fluxs from klon to knon.

Removed dimension arguments of fonte_neige. Changed the size of all
the arrays in fonte_neige from klon to knon.

Changed the size of arguments tsurf and tsurf_new of interfsurf_hq
from klon to knon. Changed the size of argument ptsrf of soil from
klon to knon.

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

  ViewVC Help
Powered by ViewVC 1.1.21