/[lmdze]/trunk/bibio/initfluxsto.f
ViewVC logotype

Annotation of /trunk/bibio/initfluxsto.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 57 - (hide annotations)
Mon Jan 30 12:54:02 2012 UTC (12 years, 3 months ago) by guez
Original Path: trunk/libf/bibio/initfluxsto.f90
File size: 5986 byte(s)
Write used namelists to file "" instead of standard output.

Avoid aliasing in "inidissip" in calls to "divgrad2", "divgrad",
"gradiv2", "gradiv", "nxgraro2" and "nxgrarot". Add a degenerate
dimension to arrays so they have rank 3, like the dummy arguments in
"divgrad2", "divgrad", "gradiv2", "gradiv", "nxgraro2" and "nxgrarot".

Extract the initialization part from "bilan_dyn" and make a separate
procedure, "init_dynzon", from it.

Move variables from modules "iniprint" and "logic" to module
"conf_gcm_m".

Promote internal procedures of "fxy" to private procedures of module
"fxy_m".

Extracted documentation from "inigeom". Removed useless "save"
attributes. Removed useless intermediate variables. Extracted
processing of poles from loop on latitudes. Write coordinates to file
"longitude_latitude.txt" instead of standard output.

Do not use ozone tracer for radiative transfer.

1 guez 31 SUBROUTINE initfluxsto(tstep, t_ops, t_wrt, nq, fileid, filevid, filedid)
2 guez 3
3 guez 31 ! From bibio/initfluxsto.F, v 1.1.1.1 2004/05/19 12:53:05
4 guez 3
5 guez 31 ! 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 guez 3
13 guez 31 ! 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 guez 3
20 guez 31 ! Sortie:
21     ! fileid: ID du fichier netcdf cree
22     ! filevid:ID du fichier netcdf pour la grille v
23 guez 3
24 guez 31 ! L. Fairhead, 03/99
25 guez 3
26 guez 31 USE calendar
27     USE histcom
28     USE dimens_m
29     USE paramet_m
30     USE comconst
31     USE comvert
32 guez 57 use conf_gcm_m
33 guez 31 USE comgeom
34     USE serre
35     USE temps, ONLY : annee_ref, day_ref, itau_dyn
36     USE ener
37 guez 39 USE nr_util, ONLY : pi
38 guez 3
39 guez 31 IMPLICIT NONE
40 guez 3
41 guez 31 ! 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 guez 3
49 guez 31 ! 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 guez 3
60 guez 31 !---------------------------------------------------------
61 guez 3
62 guez 31 ! Initialisations
63     str = 'q '
64     ctrac = 'traceur '
65     ok_sync = .TRUE.
66 guez 3
67 guez 31 ! Appel a histbeg: creation du fichier netcdf et initialisations diverses
68 guez 3
69 guez 31 zan = annee_ref
70     idayref = day_ref
71     CALL ymds2ju(zan, 1, idayref, 0.0, zjulian)
72 guez 3
73 guez 31 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 guez 3
80 guez 31 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