1 |
SUBROUTINE ini_undefSTD(nlevSTD,itap, |
2 |
$ ecrit_day,ecrit_mth, |
3 |
$ tnondef,tsumSTD) |
4 |
use dimens_m |
5 |
use dimphy |
6 |
IMPLICIT none |
7 |
c |
8 |
c==================================================================== |
9 |
c |
10 |
c I. Musat : 09.2004 |
11 |
c |
12 |
c Initialisation - a des frequences differentes : |
13 |
c |
14 |
c 1) des variables moyennees sur la journee "day" ou sur le mois "mth" |
15 |
c calculees a partir des valeurs "instantannees" de la physique |
16 |
c |
17 |
c 2) des variables moyennes mensuelles "NMC" calculees a partir des val. |
18 |
c toutes les 6 heures |
19 |
c |
20 |
c nout=1 !var. journaliere "day" moyenne sur tous les pas de temps |
21 |
c ! de la physique |
22 |
c nout=2 !var. mensuelle "mth" moyennee sur tous les pas de temps |
23 |
c ! de la physique |
24 |
c nout=3 !var. mensuelle "NMC" moyennee toutes les 6heures |
25 |
c |
26 |
c |
27 |
c NB: mettre "inst(X)" dans le write_histXXX.h ! |
28 |
c==================================================================== |
29 |
c |
30 |
integer jjmp1 |
31 |
parameter (jjmp1=jjm+1-1/jjm) |
32 |
c variables Input/Output |
33 |
INTEGER, intent(in):: nlevSTD |
34 |
integer klevSTD |
35 |
integer, intent(in):: itap |
36 |
PARAMETER(klevSTD=17) |
37 |
INTEGER ecrit_day,ecrit_mth |
38 |
c |
39 |
c variables locales |
40 |
INTEGER i, k, nout |
41 |
PARAMETER(nout=3) !nout=1 day/nout=2 mth/nout=3 NMC |
42 |
c |
43 |
c variables Output |
44 |
REAL tnondef(klon,klevSTD,nout) |
45 |
REAL tsumSTD(klon,klevSTD,nout) |
46 |
c |
47 |
c initialisation variables journalieres en debut de journee |
48 |
c |
49 |
IF(MOD(itap,ecrit_day).EQ.1.) THEN |
50 |
DO k=1, nlevSTD |
51 |
DO i=1, klon |
52 |
tnondef(i,k,1)=0. |
53 |
tsumSTD(i,k,1)=0. |
54 |
ENDDO !i |
55 |
ENDDO !k |
56 |
ENDIF |
57 |
c |
58 |
c initialisation variables mensuelles (calculees a chaque pas de temps) |
59 |
c en debut de mois : nout=2 |
60 |
c |
61 |
IF(MOD(itap,ecrit_mth).EQ.1.) THEN |
62 |
c |
63 |
DO k=1, nlevSTD |
64 |
DO i=1, klon |
65 |
tnondef(i,k,2)=0. |
66 |
tsumSTD(i,k,2)=0. |
67 |
ENDDO !i |
68 |
ENDDO !k |
69 |
c |
70 |
c initialisation variables mensuelles - runs type Amip - (calculees toutes les 6h) |
71 |
c en debut de mois : nout = 3 |
72 |
c |
73 |
DO k=1, nlevSTD |
74 |
DO i=1, klon |
75 |
tnondef(i,k,3)=0. |
76 |
tsumSTD(i,k,3)=0. |
77 |
ENDDO !i |
78 |
ENDDO !k |
79 |
c |
80 |
ENDIF |
81 |
c |
82 |
RETURN |
83 |
END |