My Project
Main Page
Data Types List
Files
File List
File Members
All
Classes
Files
Functions
Variables
Macros
moy_undefSTD.F
Go to the documentation of this file.
1
!
2
! $Id: moy_undefSTD.F 1403 2010-07-01 09:02:53Z fairhead $
3
!
4
SUBROUTINE
moy_undefstd
(itap,freq_outNMC,freq_moyNMC)
5
USE
netcdf
6
USE
dimphy
7
USE
phys_state_var_mod
! Variables sauvegardees de la physique
8
IMPLICIT none
9
c
10
c====================================================================
11
c
12
c I. Musat : 09.2004
13
c
14
c Moyenne - a des frequences differentes - des valeurs bien definies
15
c (.NE.missing_val) des variables interpolees a un niveau de
16
c pression.
17
c 1) les variables de type "day" (nout=1) ou "mth" (nout=2) sont sommees
18
c tous les pas de temps de la physique
19
c
20
c 2) les variables de type "NMC" (nout=3) sont calculees a partir
21
c des valeurs instantannees toutes les 6 heures
22
c
23
c
24
c NB: mettre "inst(X)" dans le write_hist*NMC.h !
25
c====================================================================
26
cym#include "dimensions.h"
27
cym integer jjmp1
28
cym parameter (jjmp1=jjm+1-1/jjm)
29
cym#include "dimphy.h"
30
c
31
c
32
c variables Input
33
c INTEGER nlevSTD, klevSTD, itap
34
c PARAMETER(klevSTD=17)
35
INTEGER
itap
36
c
37
c variables locales
38
c INTEGER i, k, nout, n
39
c PARAMETER(nout=3) !nout=1 day/nout=2 mth/nout=3 NMC
40
INTEGER
i
,
k
,
n
41
c REAL dtime, freq_outNMC(nout), freq_moyNMC(nout)
42
REAL
freq_outnmc(nout), freq_moynmc(nout)
43
c
44
c variables Output
45
c REAL tnondef(klon,klevSTD,nout)
46
c REAL tsumSTD(klon,klevSTD,nout)
47
c
48
REAL
missing_val
49
c
50
missing_val
=nf90_fill_real
51
c
52
DO
n
=1, nout
53
c
54
c calcul 1 fois par jour
55
c
56
IF
(mod(itap,nint(freq_outnmc(
n
)/
dtime
)).EQ.0)
THEN
57
c
58
DO
k
=1, nlevstd
59
DO
i
=1, klon
60
IF
(tnondef(
i
,
k
,
n
).NE.(freq_moynmc(
n
)))
THEN
61
tsumstd(
i
,
k
,
n
)=tsumstd(
i
,
k
,
n
)/
62
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
63
cIM BEG
64
usumstd(
i
,
k
,
n
)=usumstd(
i
,
k
,
n
)/
65
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
66
vsumstd(
i
,
k
,
n
)=vsumstd(
i
,
k
,
n
)/
67
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
68
wsumstd(
i
,
k
,
n
)=wsumstd(
i
,
k
,
n
)/
69
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
70
phisumstd(
i
,
k
,
n
)=phisumstd(
i
,
k
,
n
)/
71
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
72
qsumstd(
i
,
k
,
n
)=qsumstd(
i
,
k
,
n
)/
73
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
74
rhsumstd(
i
,
k
,
n
)=rhsumstd(
i
,
k
,
n
)/
75
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
76
uvsumstd(
i
,
k
,
n
)=uvsumstd(
i
,
k
,
n
)/
77
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
78
vqsumstd(
i
,
k
,
n
)=vqsumstd(
i
,
k
,
n
)/
79
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
80
vtsumstd(
i
,
k
,
n
)=vtsumstd(
i
,
k
,
n
)/
81
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
82
wqsumstd(
i
,
k
,
n
)=wqsumstd(
i
,
k
,
n
)/
83
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
84
vphisumstd(
i
,
k
,
n
)=vphisumstd(
i
,
k
,
n
)/
85
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
86
wtsumstd(
i
,
k
,
n
)=wtsumstd(
i
,
k
,
n
)/
87
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
88
u2sumstd(
i
,
k
,
n
)=u2sumstd(
i
,
k
,
n
)/
89
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
90
v2sumstd(
i
,
k
,
n
)=v2sumstd(
i
,
k
,
n
)/
91
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
92
t2sumstd(
i
,
k
,
n
)=t2sumstd(
i
,
k
,
n
)/
93
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
94
o3sumstd(
i
,
k
,
n
)=o3sumstd(
i
,
k
,
n
)/
95
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
96
o3daysumstd(
i
,
k
,
n
)=o3daysumstd(
i
,
k
,
n
)/
97
$ (freq_moynmc(
n
)-tnondef(
i
,
k
,
n
))
98
cIM END
99
ELSE
100
tsumstd(
i
,
k
,
n
)=
missing_val
101
usumstd(
i
,
k
,
n
)=
missing_val
102
vsumstd(
i
,
k
,
n
)=
missing_val
103
wsumstd(
i
,
k
,
n
)=
missing_val
104
phisumstd(
i
,
k
,
n
)=
missing_val
105
qsumstd(
i
,
k
,
n
)=
missing_val
106
rhsumstd(
i
,
k
,
n
)=
missing_val
107
uvsumstd(
i
,
k
,
n
)=
missing_val
108
vqsumstd(
i
,
k
,
n
)=
missing_val
109
vtsumstd(
i
,
k
,
n
)=
missing_val
110
wqsumstd(
i
,
k
,
n
)=
missing_val
111
vphisumstd(
i
,
k
,
n
)=
missing_val
112
wtsumstd(
i
,
k
,
n
)=
missing_val
113
u2sumstd(
i
,
k
,
n
)=
missing_val
114
v2sumstd(
i
,
k
,
n
)=
missing_val
115
t2sumstd(
i
,
k
,
n
)=
missing_val
116
o3sumstd(
i
,
k
,
n
)=
missing_val
117
o3daysumstd(
i
,
k
,
n
)=
missing_val
118
ENDIF
!tnondef(i,k,n).NE.(freq_moyNMC(n))
119
ENDDO
!i
120
ENDDO
!k
121
ENDIF
!MOD(itap,NINT(freq_outNMC(n)/dtime)).EQ.0
122
c
123
ENDDO
!n
124
c
125
RETURN
126
END
libf
phylmd
moy_undefSTD.F
Generated on Fri Jun 28 2013 15:59:25 for My Project by
1.8.1.2