/[lmdze]/trunk/libf/bibio/initfluxsto.f90
ViewVC logotype

Contents of /trunk/libf/bibio/initfluxsto.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 39 - (show annotations)
Tue Jan 25 15:11:05 2011 UTC (13 years, 3 months ago) by guez
File size: 5981 byte(s)
"pi" comes from "nr_util". Removed subroutine "initialize" in module
"comconst".

Copied the content of "fxy_sin.h" into "fxysinus", instead of getting
it from an "include" line. Removed file "fxy_sin.h".

"ps" has rank 2 in "gcm" and "dynetat0".

Assumed-shape for argument "q" of "integrd".

1 SUBROUTINE initfluxsto(tstep, t_ops, t_wrt, nq, fileid, filevid, filedid)
2
3 ! From bibio/initfluxsto.F, v 1.1.1.1 2004/05/19 12:53:05
4
5 ! Routine d'initialisation des ecritures des fichiers histoires LMDZ
6 ! au format IOIPSL
7 ! Appels succesifs des routines: histbeg
8 ! histhori
9 ! histver
10 ! histdef
11 ! histend
12
13 ! Entree:
14 ! day0, anne0: date de reference
15 ! tstep: duree du pas de temps en seconde
16 ! t_ops: frequence de l'operation pour IOIPSL
17 ! t_wrt: frequence d'ecriture sur le fichier
18 ! nq: nombre de traceurs
19
20 ! Sortie:
21 ! fileid: ID du fichier netcdf cree
22 ! filevid:ID du fichier netcdf pour la grille v
23
24 ! L. Fairhead, 03/99
25
26 USE calendar
27 USE histcom
28 USE dimens_m
29 USE paramet_m
30 USE comconst
31 USE comvert
32 USE logic
33 USE comgeom
34 USE serre
35 USE temps, ONLY : annee_ref, day_ref, itau_dyn
36 USE ener
37 USE nr_util, ONLY : pi
38
39 IMPLICIT NONE
40
41 ! Arguments
42 INTEGER itau
43 REAL, INTENT (IN) :: tstep
44 REAL t_ops, t_wrt
45 INTEGER fileid, filevid, filedid
46 INTEGER nq, ndex(1)
47 REAL nivd(1)
48
49 ! Variables locales
50 REAL zjulian
51 CHARACTER*3 str
52 CHARACTER*10 ctrac
53 INTEGER iq
54 REAL rlong(iip1, jjp1), rlat(iip1, jjp1)
55 INTEGER uhoriid, vhoriid, thoriid, zvertiid, dhoriid, dvertiid
56 INTEGER ii, jj
57 INTEGER zan, idayref
58 LOGICAL ok_sync
59
60 !---------------------------------------------------------
61
62 ! Initialisations
63 str = 'q '
64 ctrac = 'traceur '
65 ok_sync = .TRUE.
66
67 ! Appel a histbeg: creation du fichier netcdf et initialisations diverses
68
69 zan = annee_ref
70 idayref = day_ref
71 CALL ymds2ju(zan, 1, idayref, 0.0, zjulian)
72
73 DO jj = 1, jjp1
74 DO ii = 1, iip1
75 rlong(ii, jj) = rlonu(ii)*180./pi
76 rlat(ii, jj) = rlatu(jj)*180./pi
77 END DO
78 END DO
79
80 CALL histbeg_totreg('fluxstoke', rlong(:, 1), rlat(1, :), 1, iip1, 1, jjp1, &
81 itau_dyn, zjulian, tstep, uhoriid, fileid)
82
83 ! Creation du fichier histoire pour la grille en V (oblige pour l'instant,
84 ! IOIPSL ne permet pas de grilles avec des nombres de point differents dans
85 ! un meme fichier)
86
87 DO jj = 1, jjm
88 DO ii = 1, iip1
89 rlong(ii, jj) = rlonv(ii)*180./pi
90 rlat(ii, jj) = rlatv(jj)*180./pi
91 END DO
92 END DO
93
94 CALL histbeg_totreg('fluxstokev.nc', rlong(:, 1), rlat(1, :jjm), 1, iip1, &
95 1, jjm, itau_dyn, zjulian, tstep, vhoriid, filevid)
96
97 CALL histbeg_totreg('defstoke.nc', (/1./), (/1./), 1, 1, 1, 1, itau_dyn, &
98 zjulian, tstep, dhoriid, filedid)
99
100 ! Appel a histhori pour rajouter les autres grilles horizontales
101
102 DO jj = 1, jjp1
103 DO ii = 1, iip1
104 rlong(ii, jj) = rlonv(ii)*180./pi
105 rlat(ii, jj) = rlatu(jj)*180./pi
106 END DO
107 END DO
108
109 CALL histhori_regular(fileid, iip1, rlong, jjp1, rlat, 'scalar', &
110 'Grille points scalaires', thoriid)
111
112 ! Appel a histvert pour la grille verticale
113
114 CALL histvert(fileid, 'sig_s', 'Niveaux sigma', 'sigma_level', llm, &
115 nivsigs, zvertiid)
116 ! Pour le fichier V
117 CALL histvert(filevid, 'sig_s', 'Niveaux sigma', 'sigma_level', llm, &
118 nivsigs, zvertiid)
119 ! pour le fichier def
120 nivd(1) = 1
121 CALL histvert(filedid, 'sig_s', 'Niveaux sigma', 'sigma_level', 1, nivd, &
122 dvertiid)
123
124 ! Appels a histdef pour la definition des variables a sauvegarder
125 CALL histdef(fileid, 'phis', 'Surface geop. height', '-', iip1, jjp1, &
126 thoriid, 1, 1, 1, -99, 'once', t_ops, t_wrt)
127 CALL histdef(fileid, 'aire', 'Grid area', '-', iip1, jjp1, thoriid, 1, 1, &
128 1, -99, 'once', t_ops, t_wrt)
129 CALL histdef(filedid, 'dtvr', 'tps dyn', 's', 1, 1, dhoriid, 1, 1, 1, -99, &
130 'once', t_ops, t_wrt)
131 CALL histdef(filedid, 'istdyn', 'tps stock', 's', 1, 1, dhoriid, 1, 1, 1, &
132 -99, 'once', t_ops, t_wrt)
133 CALL histdef(filedid, 'istphy', 'tps stock phy', 's', 1, 1, dhoriid, 1, 1, &
134 1, -99, 'once', t_ops, t_wrt)
135 CALL histdef(fileid, 'masse', 'Masse', 'kg', iip1, jjp1, thoriid, llm, 1, &
136 llm, zvertiid, 'inst(X)', t_ops, t_wrt)
137 CALL histdef(fileid, 'pbaru', 'flx de masse zonal', 'kg m/s', iip1, jjp1, &
138 uhoriid, llm, 1, llm, zvertiid, 'inst(X)', t_ops, t_wrt)
139 CALL histdef(filevid, 'pbarv', 'flx de masse mer', 'kg m/s', iip1, jjm, &
140 vhoriid, llm, 1, llm, zvertiid, 'inst(X)', t_ops, t_wrt)
141 CALL histdef(fileid, 'w', 'flx de masse vert', 'kg m/s', iip1, jjp1, &
142 thoriid, llm, 1, llm, zvertiid, 'inst(X)', t_ops, t_wrt)
143 CALL histdef(fileid, 'teta', 'temperature potentielle', '-', iip1, jjp1, &
144 thoriid, llm, 1, llm, zvertiid, 'inst(X)', t_ops, t_wrt)
145 CALL histdef(fileid, 'phi', 'geopotentiel instantane', '-', iip1, jjp1, &
146 thoriid, llm, 1, llm, zvertiid, 'inst(X)', t_ops, t_wrt)
147
148 CALL histend(fileid)
149 CALL histend(filevid)
150 CALL histend(filedid)
151 IF (ok_sync) THEN
152 CALL histsync(fileid)
153 CALL histsync(filevid)
154 CALL histsync(filedid)
155 END IF
156
157 END SUBROUTINE initfluxsto

  ViewVC Help
Powered by ViewVC 1.1.21