source: LMDZ4/tags/pre_parallel/libf/phylmd/write_histmthNMC.h

Last change on this file was 694, checked in by lmdzadmin, 18 years ago

Correction bogue : debordement de memoire si klev < nlevSTD(=17)
PLV/IM

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.7 KB
Line 
1!
2! $Header$
3!
4      IF (ok_mensuel) THEN
5c
6       ndex3d = 0
7       itau_w = itau_phy + itap
8ccc
9c  Champs interpolles sur des niveaux de pression du NMC
10c
11c     PARAMETER(nout=3) !nout=1 : day; =2 : mth; =3 : NMC
12ccc
13      IF(type_run.EQ."CLIM".OR.type_run.EQ."ENSP") THEN
14ccc
15       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,tsumSTD(:,:,2),
16     $      zx_tmp_NC)
17       CALL histwrite(nid_nmc,"temp",itau_w,zx_tmp_NC,
18     $       iim*jjmp1*nlevSTD,ndex3d)
19c
20       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,phisumSTD(:,:,2),
21     $     zx_tmp_NC)
22       CALL histwrite(nid_nmc,"phi",itau_w,zx_tmp_NC,
23     $       iim*jjmp1*nlevSTD,ndex3d)
24c
25       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,qsumSTD(:,:,2),
26     $     zx_tmp_NC)
27       CALL histwrite(nid_nmc,"q",itau_w,zx_tmp_NC,
28     $       iim*jjmp1*nlevSTD,ndex3d)
29c
30       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,rhsumSTD(:,:,2),
31     $     zx_tmp_NC)
32       CALL histwrite(nid_nmc,"rh",itau_w,zx_tmp_NC,
33     $       iim*jjmp1*nlevSTD,ndex3d)
34c
35       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,usumSTD(:,:,2),
36     $     zx_tmp_NC)
37       CALL histwrite(nid_nmc,"u",itau_w,zx_tmp_NC,
38     $       iim*jjmp1*nlevSTD,ndex3d)
39c
40       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,vsumSTD(:,:,2),
41     $     zx_tmp_NC)
42       CALL histwrite(nid_nmc,"v",itau_w,zx_tmp_NC,
43     $       iim*jjmp1*nlevSTD,ndex3d)
44ccc
45      ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
46ccc
47       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,tsumSTD(:,:,3),
48     $     zx_tmp_NC)
49       CALL histwrite(nid_nmc,"temp",itau_w,zx_tmp_NC,
50     $       iim*jjmp1*nlevSTD,ndex3d)
51c
52       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,phisumSTD(:,:,3),
53     $     zx_tmp_NC)
54       CALL histwrite(nid_nmc,"phi",itau_w,zx_tmp_NC,
55     $       iim*jjmp1*nlevSTD,ndex3d)
56c
57       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,qsumSTD(:,:,3),
58     $     zx_tmp_NC)
59       CALL histwrite(nid_nmc,"q",itau_w,zx_tmp_NC,
60     $       iim*jjmp1*nlevSTD,ndex3d)
61c
62       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,rhsumSTD(:,:,3),
63     $     zx_tmp_NC)
64       CALL histwrite(nid_nmc,"rh",itau_w,zx_tmp_NC,
65     $       iim*jjmp1*nlevSTD,ndex3d)
66c
67       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,usumSTD(:,:,3),
68     $     zx_tmp_NC)
69       CALL histwrite(nid_nmc,"u",itau_w,zx_tmp_NC,
70     $       iim*jjmp1*nlevSTD,ndex3d)
71c
72       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,vsumSTD(:,:,3),
73     $     zx_tmp_NC)
74       CALL histwrite(nid_nmc,"v",itau_w,zx_tmp_NC,
75     $       iim*jjmp1*nlevSTD,ndex3d)
76c
77       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,wsumSTD(:,:,3),
78     $     zx_tmp_NC)
79       CALL histwrite(nid_nmc,"w",itau_w,zx_tmp_NC,
80     $       iim*jjmp1*nlevSTD,ndex3d)
81c
82       DO k=1, nlevSTD
83        DO i=1, klon
84         IF(tnondef(i,k,3).NE.1.E+20) THEN
85          zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,3))/ecrit_hf2mth
86         ELSE
87          zx_tmp_fiNC(i,k) = 1.E+20
88         ENDIF
89        ENDDO
90       ENDDO !k=1, nlevSTD
91c
92       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,zx_tmp_fiNC,zx_tmp_NC)
93       CALL histwrite(nid_nmc,"psbg",itau_w,zx_tmp_NC,
94     $       iim*jjmp1*nlevSTD,ndex3d)
95c
96       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,uvsumSTD(:,:,3),
97     $     zx_tmp_NC)
98       CALL histwrite(nid_nmc,"uv",itau_w,zx_tmp_NC,
99     $       iim*jjmp1*nlevSTD,ndex3d)
100c
101       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,vqsumSTD(:,:,3),
102     $     zx_tmp_NC)
103       CALL histwrite(nid_nmc,"vq",itau_w,zx_tmp_NC,
104     $       iim*jjmp1*nlevSTD,ndex3d)
105c
106       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,vTsumSTD(:,:,3),
107     $     zx_tmp_NC)
108       CALL histwrite(nid_nmc,"vT",itau_w,zx_tmp_NC,
109     $       iim*jjmp1*nlevSTD,ndex3d)
110c
111       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1, wqsumSTD(:,:,3),
112     $     zx_tmp_NC)
113       CALL histwrite(nid_nmc,"wq",itau_w,zx_tmp_NC,
114     $       iim*jjmp1*nlevSTD,ndex3d)
115c
116       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,vphisumSTD(:,:,3),
117     $     zx_tmp_NC)
118       CALL histwrite(nid_nmc,"vphi",itau_w,zx_tmp_NC,
119     $       iim*jjmp1*nlevSTD,ndex3d)
120c
121       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,wTsumSTD(:,:,3),
122     $     zx_tmp_NC)
123       CALL histwrite(nid_nmc,"wT",itau_w,zx_tmp_NC,
124     $       iim*jjmp1*nlevSTD,ndex3d)
125c
126       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,u2sumSTD(:,:,3),
127     $     zx_tmp_NC)
128       CALL histwrite(nid_nmc,"uxu",itau_w,zx_tmp_NC,
129     $       iim*jjmp1*nlevSTD,ndex3d)
130c
131       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,v2sumSTD(:,:,3),
132     $     zx_tmp_NC)
133       CALL histwrite(nid_nmc,"vxv",itau_w,zx_tmp_NC,
134     $       iim*jjmp1*nlevSTD,ndex3d)
135c
136       CALL gr_fi_ecrit(nlevSTD, klon,iim,jjmp1,T2sumSTD(:,:,3),
137     $     zx_tmp_NC)
138       CALL histwrite(nid_nmc,"TxT",itau_w,zx_tmp_NC,
139     $       iim*jjmp1*nlevSTD,ndex3d)
140c
141      ENDIF !type_run
142c
143      if (ok_sync) then
144        call histsync(nid_nmc)
145      endif
146
147      ENDIF
Note: See TracBrowser for help on using the repository browser.