source: LMDZ4/branches/LMDZ4V5.0-LF/libf/phylmd/ini_histmthNMC.h @ 3536

Last change on this file since 3536 was 1299, checked in by Laurent Fairhead, 15 years ago

Nettoyage general pour se rapprocher des normes et éviter des erreurs a la
compilation:

  • tous les FLOAT() sont remplacés par des REAL()
  • tous les STOP dans phylmd sont remplacés par des appels à abort_gcm
  • le common control défini dans le fichier control.h est remplacé par le module control_mod pour éviter des messages sur l'alignement des variables dans les déclarations
  • des $Header$ remplacés par des $Id$ pour svn

Quelques remplacements à faire ont pu m'échapper


General cleanup of the code to try and adhere to norms and to prevent some
compilation errors:

  • all FLOAT() instructions have been replaced by REAL() instructions
  • all STOP instructions in phylmd have been replaced by calls to abort_gcm
  • the common block control defined in the control.h file has been replaced by the control_mod to prevent compilation warnings on the alignement of declared variables
  • $Header$ replaced by $Id$ for svn

Some changes which should have been made might have escaped me

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.3 KB
Line 
1!
2! $Id: ini_histmthNMC.h 1299 2010-01-20 14:27:21Z oboucher $
3!
4      IF (ok_mensuel) THEN
5c
6c$OMP MASTER
7
8       zstophy = dtime
9       zstohf = ecrit_hf
10       zstomth = ecrit_mth
11       zout = ecrit_mth
12c
13         idayref = day_ref
14         CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
15c
16cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
17cym         DO i = 1, iim
18cym            zx_lon(i,1) = rlon(i+1)
19cym            zx_lon(i,jjmp1) = rlon(i+1)
20cym         ENDDO
21         DO ll=1,klev
22            znivsig(ll)=REAL(ll)
23         ENDDO
24cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
25cym         CALL histbeg("histNMC.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
26cym     .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 
27cym     .                 nhori, nid_nmc)
28
29         CALL histbeg_phy("histNMC",itau_phy, zjulian, dtime, 
30     .                 nhori, nid_nmc)
31c
32         CALL histvert(nid_nmc, "presnivs", "Vertical levels", "mb",
33     .                 nlevSTD, rlevSTD/100., nvert)
34ccc
35ccc Champs 3D interpolles sur des niveaux de pression du NMC
36ccc
37      IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
38c
39          CALL histdef(nid_nmc, "temp",
40     .                 "Temperature","K",
41     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
42     .                "inst(X)", zout,zout)
43c
44         CALL histdef(nid_nmc, "phi",
45     .                "Geopotential", "m",
46     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
47     .                "inst(X)", zout,zout)
48c
49          CALL histdef(nid_nmc, "q",
50     .                 "Specific humidity","kg/kg",
51     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
52     .                "inst(X)", zout,zout)
53c
54         CALL histdef(nid_nmc, "rh",
55     .                 "Relative humidity", "%",
56     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
57     .                "inst(X)", zout,zout)
58c
59          CALL histdef(nid_nmc, "u",
60     .                 "Zonal wind","m/s",
61     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
62     .                "inst(X)", zout,zout)
63c
64          CALL histdef(nid_nmc, "v",
65     .                 "Meridional wind","m/s",
66     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
67     .                "inst(X)", zout,zout)
68c
69      ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
70c
71c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
72c             sur les niveaux du NMC et on somme & moyenne
73c             toutes les 6 heures par des routines undefSTD et
74c             moy_undefSTD pour eliminer les valeurs "undef"
75c             de la moyenne mensuelle
76c ======> le "inst(X)" ci-dessous est par consequence factice !
77c
78          CALL histdef(nid_nmc, "temp",
79     .                 "Temperature","K",
80     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
81     .                "inst(X)", zout,zout)
82c
83         CALL histdef(nid_nmc, "phi",
84     .                "Geopotential ", "m",
85     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
86     .                "inst(X)", zout,zout)
87c
88          CALL histdef(nid_nmc, "q",
89     .                 "Specific humidity","kg/kg",
90     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
91     .                "inst(X)", zout,zout)
92c
93         CALL histdef(nid_nmc, "rh",
94     .                 "Relative humidity", "%",
95     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
96     .                "inst(X)", zout,zout)
97c
98          CALL histdef(nid_nmc, "u",
99     .                 "Zonal wind","m/s",
100     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
101     .                "inst(X)", zout,zout)
102c
103          CALL histdef(nid_nmc, "v",
104     .                 "Meridional wind","m/s",
105     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
106     .                "inst(X)", zout,zout)
107c
108          CALL histdef(nid_nmc, "w",
109     .                 "Vertical motion","Pa/s",
110     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
111     .                "inst(X)", zout,zout)
112c
113c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
114c             sur les niveaux du NMC et on somme & moyenne
115c             toutes les 6 heures par des routines undefSTD et
116c             moy_undefSTD pour eliminer les valeurs "undef"
117c             de la moyenne mensuelle
118c ======> le "inst(X)" ci-dessus est par consequence factice !
119c
120c
121          CALL histdef(nid_nmc, "psbg",
122     .         "Pressure sfce below ground","%",
123     .         iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
124     .         "inst(X)", zout,zout)
125c
126          CALL histdef(nid_nmc, "uv",
127     .         "uv ",
128     .         "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
129     .         "inst(X)", zout,zout)
130c
131          CALL histdef(nid_nmc, "vq",
132     .         "vq ",
133     .         "m/s * (kg/kg)",iim,jj_nb,nhori, 
134     .          nlevSTD,1,nlevSTD, nvert, 32,
135     .         "inst(X)", zout,zout)
136c
137          CALL histdef(nid_nmc, "vT",
138     .         "vT ", 
139     .         "mK/s",iim,jj_nb,nhori, 
140     .          nlevSTD,1,nlevSTD, nvert, 32,
141     .         "inst(X)", zout,zout)
142c
143          CALL histdef(nid_nmc, "wq",
144     .         "wq ", 
145     .         "(Pa/s)*(kg/kg)",iim,jj_nb,nhori,
146     .          nlevSTD,1,nlevSTD, nvert, 32,
147     .         "inst(X)", zout,zout)
148c
149          CALL histdef(nid_nmc, "vphi",
150     .         "vphi ", 
151     .         "m2/s",iim,jj_nb,nhori, 
152     .          nlevSTD,1,nlevSTD, nvert, 32,
153     .         "inst(X)", zout,zout)
154c
155          CALL histdef(nid_nmc, "wT",
156     .         "wT ", 
157     .         "K*Pa/s",iim,jj_nb,nhori,
158     .          nlevSTD,1,nlevSTD, nvert, 32,
159     .         "inst(X)", zout,zout)
160c
161          CALL histdef(nid_nmc, "uxu",
162     .         "u2 ", 
163     .         "m2/s2",iim,jj_nb,nhori,
164     .          nlevSTD,1,nlevSTD, nvert, 32,
165     .         "inst(X)", zout,zout)
166c
167          CALL histdef(nid_nmc, "vxv",
168     .         "v2 ", 
169     .         "m2/s2",iim,jj_nb,nhori,
170     .          nlevSTD,1,nlevSTD, nvert, 32,
171     .         "inst(X)", zout,zout)
172c
173          CALL histdef(nid_nmc, "TxT",
174     .         "T2 ", 
175     .         "K2",iim,jj_nb,nhori,
176     .          nlevSTD,1,nlevSTD, nvert, 32,
177     .         "inst(X)", zout,zout)
178c
179      ENDIF !(type_run.EQ."AMIP")
180
181         CALL histend(nid_nmc)
182c
183c$OMP END MASTER
184
185      ENDIF ! fin de test sur ok_mensuel
Note: See TracBrowser for help on using the repository browser.