1 | c |
---|
2 | c $Header$ |
---|
3 | c |
---|
4 | cIM 090704 BEG |
---|
5 | c nbapp_isccp=48 |
---|
6 | c nbapp_isccp=8 |
---|
7 | c nbapp_isccp=6 |
---|
8 | c nbapp_isccp=4 !CPU < 30min pour 9pdt/jour |
---|
9 | nbapp_isccp=3 !CPU ?? 10pdt/jour |
---|
10 | c nbapp_isccp=2 |
---|
11 | c nbapp_isccp=1 |
---|
12 | isccppas=NINT(86400./dtime/nbapp_isccp) |
---|
13 | cIM 010904 BEG |
---|
14 | cIM IF (MOD(itap,isccppas).EQ.0) THEN |
---|
15 | c PRINT*,'itap,isccppas,xjour',itap,isccppas,xjour |
---|
16 | c |
---|
17 | cIM initialisation nbsunlit pour calculs simulateur ISCCP pdt la journee |
---|
18 | c |
---|
19 | DO i=1, klon |
---|
20 | sunlit(i)=1 |
---|
21 | IF(rmu0(i).EQ.0.) sunlit(i)=0 |
---|
22 | nbsunlit(1,i)=FLOAT(sunlit(i)) |
---|
23 | ENDDO |
---|
24 | c |
---|
25 | cIM calcul tau, emissivite nuages convectifs |
---|
26 | c |
---|
27 | convfra(:,:)=rnebcon(:,:) |
---|
28 | convliq(:,:)=rnebcon(:,:)*clwcon(:,:) |
---|
29 | cIM Amip2 beg |
---|
30 | c |
---|
31 | CALL newmicro (paprs, pplay,ok_newmicro, |
---|
32 | . t_seri, convliq, convfra, dtau_c, dem_c, |
---|
33 | . cldh_c, cldl_c, cldm_c, cldt_c, cldq_c, |
---|
34 | . flwp_c, fiwp_c, flwc_c, fiwc_c, |
---|
35 | e ok_aie, |
---|
36 | e sulfate, sulfate_pi, |
---|
37 | e bl95_b0, bl95_b1, |
---|
38 | s cldtaupi, re, fl) |
---|
39 | c |
---|
40 | cIM Amip2 end |
---|
41 | |
---|
42 | c |
---|
43 | cIM calcul tau, emissivite nuages startiformes |
---|
44 | c |
---|
45 | cIM Amip2 beg |
---|
46 | c |
---|
47 | CALL newmicro (paprs, pplay,ok_newmicro, |
---|
48 | . t_seri, cldliq, cldfra, dtau_s, dem_s, |
---|
49 | . cldh_s, cldl_s, cldm_s, cldt_s, cldq_s, |
---|
50 | . flwp_s, fiwp_s, flwc_s, fiwc_s, |
---|
51 | e ok_aie, |
---|
52 | e sulfate, sulfate_pi, |
---|
53 | e bl95_b0, bl95_b1, |
---|
54 | s cldtaupi, re, fl) |
---|
55 | c |
---|
56 | cIM Amip2 end |
---|
57 | c |
---|
58 | cldtot(:,:)=min(max(cldfra(:,:),rnebcon(:,:)),1.) |
---|
59 | c |
---|
60 | cIM inversion des niveaux de pression ==> de haut en bas |
---|
61 | c |
---|
62 | CALL haut2bas(klon, klev, pplay, pfull) |
---|
63 | CALL haut2bas(klon, klev, q_seri, qv) |
---|
64 | CALL haut2bas(klon, klev, cldtot, cc) |
---|
65 | CALL haut2bas(klon, klev, rnebcon, conv) |
---|
66 | CALL haut2bas(klon, klev, dtau_s, dtau_sH2B) |
---|
67 | CALL haut2bas(klon, klev, dtau_c, dtau_cH2B) |
---|
68 | CALL haut2bas(klon, klev, t_seri, at) |
---|
69 | CALL haut2bas(klon, klev, dem_s, dem_sH2B) |
---|
70 | CALL haut2bas(klon, klev, dem_c, dem_cH2B) |
---|
71 | CALL haut2bas(klon, klevp1, paprs, phalf) |
---|
72 | c |
---|
73 | cIM lecture invtau, tautab des fichiers formattes |
---|
74 | c |
---|
75 | IF (debut) THEN |
---|
76 | c open(99,file='tautab.bin',access='sequential', |
---|
77 | c $ form='unformatted',status='old') |
---|
78 | c read(99) tautab |
---|
79 | c |
---|
80 | open(99,file='tautab.formatted', FORM='FORMATTED') |
---|
81 | read(99,'(f30.20)') tautab |
---|
82 | close(99) |
---|
83 | c |
---|
84 | open(99,file='invtau.formatted',form='FORMATTED') |
---|
85 | read(99,'(i10)') invtau |
---|
86 | close(99) |
---|
87 | c |
---|
88 | cIM: calcul coordonnees regions pour statistiques distribution |
---|
89 | cIM: nuages en ftion du regime dynamique pour regions oceaniques |
---|
90 | c |
---|
91 | IF (ok_regdyn) THEN !histREGDYN |
---|
92 | c |
---|
93 | #include "ini_coord_REGDYN.h" |
---|
94 | c |
---|
95 | ENDIF !ok_regdyn |
---|
96 | c |
---|
97 | ENDIF !debut |
---|
98 | c |
---|
99 | cIM: initialisation de seed |
---|
100 | DO i=1, klon |
---|
101 | seed(i)=i+100 |
---|
102 | ENDDO |
---|
103 | c |
---|
104 | cIM: pas de debug, debugcol |
---|
105 | debug=0 |
---|
106 | debugcol=0 |
---|
107 | c |
---|
108 | cIM o500 ==> distribution nuage ftion du regime dynamique (vit. verticale a 500 hPa) |
---|
109 | c |
---|
110 | DO k=1, klevm1 |
---|
111 | kp1=k+1 |
---|
112 | c PRINT*,'k, presnivs',k,presnivs(k), presnivs(kp1) |
---|
113 | if(presnivs(k).GT.50000.AND.presnivs(kp1).LT.50000.) THEN |
---|
114 | DO i=1, klon |
---|
115 | o500(i)=omega(i,k)*RDAY/100. |
---|
116 | c if(i.EQ.1) print*,' 500hPa lev',k,presnivs(k),presnivs(kp1) |
---|
117 | ENDDO |
---|
118 | GOTO 1000 |
---|
119 | endif |
---|
120 | 1000 continue |
---|
121 | ENDDO |
---|
122 | c |
---|
123 | cIM recalcule les nuages vus par satellite, via le simulateur ISCCP |
---|
124 | c |
---|
125 | CALL ISCCP_CLOUD_TYPES( |
---|
126 | & debug, |
---|
127 | & debugcol, |
---|
128 | cIM 300704 & itap, debut, |
---|
129 | cIM 300604 klon !BAD |
---|
130 | & klon, |
---|
131 | & sunlit, |
---|
132 | & klev, |
---|
133 | & ncol, |
---|
134 | & seed, |
---|
135 | & pfull, |
---|
136 | & phalf, |
---|
137 | & qv, cc, conv, dtau_sH2B, dtau_cH2B, |
---|
138 | & top_height, |
---|
139 | & overlap, |
---|
140 | & tautab, |
---|
141 | & invtau, |
---|
142 | & ztsol, |
---|
143 | & emsfc_lw, |
---|
144 | & at, dem_sH2B, dem_cH2B, |
---|
145 | & fq_isccp, |
---|
146 | & totalcldarea, |
---|
147 | & meanptop, |
---|
148 | & meantaucld, |
---|
149 | & boxtau, |
---|
150 | & boxptop) |
---|
151 | c |
---|
152 | c calcul regime dynamique sur les regions fixees |
---|
153 | c |
---|
154 | IF (ok_regdyn) THEN !histREGDYN |
---|
155 | c |
---|
156 | #include "calcul_REGDYN.h" |
---|
157 | c |
---|
158 | ENDIF !(ok_regdyn) THEN !histREGDYN |
---|
159 | cIM ENDIF !(MOD(itaprad,radpas).EQ.0) THEN |
---|
160 | cIM 010904 END |
---|