- Timestamp:
- Jun 3, 2011, 7:01:52 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4_AR5/libf/phylmd/write_paramLMDZ_phy.h
r996 r1533 1 1 c 2 IF (is_sequential) THEN 3 2 c calcul moyennes globales 3 c 4 zx_tmp_fi2d=bils*airephy 5 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gbils) 6 zx_tmp_fi2d=evap*airephy 7 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gevap) 8 zx_tmp_fi2d(:)=fevap(:, is_ter)*airephy(:) 9 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gevapt) 10 zx_tmp_fi2d=zxfluxlat*airephy 11 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,glat) 12 zx_tmp_fi2d=(topsw0-toplw0)*airephy 13 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gnet0) 14 zx_tmp_fi2d=(topsw-toplw)*airephy 15 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gnet) 16 zx_tmp_fi2d=(rain_fall+snow_fall)*airephy 17 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,grain) 18 zx_tmp_fi2d=zxtsol*airephy 19 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gtsol) 20 zx_tmp_fi2d=zt2m*airephy 21 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gt2m) 22 zx_tmp_fi2d=prw*airephy 23 CALL global_mean(zx_tmp_fi2d,airephy,.TRUE.,gprw) 24 c 25 c$OMP MASTER 26 if (is_mpi_root) then 27 c 4 28 ndex2d = 0 5 29 itau_w = itau_phy + itap 6 30 c 7 c Variables type caractere : plusieurs valeurs possibles31 c Variables globales 8 32 c 9 IF(type_ocean.EQ.'force ') THEN 10 zx_tmp_2d(1:iim,1:jjmp1)=1. 11 ELSE IF(type_ocean.EQ.'slab ') THEN 12 zx_tmp_2d(1:iim,1:jjmp1)=2. 13 ELSE IF(type_ocean.EQ.'couple') THEN 14 zx_tmp_2d(1:iim,1:jjmp1)=3. 15 ENDIF 16 CALL histwrite(nid_ctesGCM,"ocean",itau_w, 17 . zx_tmp_2d,iim*jjmp1,ndex2d) 33 zx_tmp_0d=R_ecc 34 CALL histwrite(nid_ctesGCM,"R_ecc",itau_w, 35 . zx_tmp_0d,np,ndex2d) 18 36 c 19 IF(type_run.EQ.'CLIM'.OR.type_run.EQ.'ENSP') THEN 20 zx_tmp_2d(1:iim,1:jjmp1)=1. 21 ELSE IF(type_run.EQ.'AMIP'.OR.type_run.EQ.'CFMI') THEN 22 zx_tmp_2d(1:iim,1:jjmp1)=2. 23 ENDIF 24 CALL histwrite(nid_ctesGCM,"type_run",itau_w, 25 . zx_tmp_2d,iim*jjmp1,ndex2d) 37 zx_tmp_0d=R_peri 38 CALL histwrite(nid_ctesGCM,"R_peri",itau_w, 39 . zx_tmp_0d,np,ndex2d) 26 40 c 27 c Variables logiques (1=true, 2=false) 41 zx_tmp_0d=R_incl 42 CALL histwrite(nid_ctesGCM,"R_incl",itau_w, 43 . zx_tmp_0d,np,ndex2d) 28 44 c 29 IF(ok_veget) THEN 30 zx_tmp_2d(1:iim,1:jjmp1)=1. 31 ELSE 32 zx_tmp_2d(1:iim,1:jjmp1)=0. 33 ENDIF 34 CALL histwrite(nid_ctesGCM,"ok_veget",itau_w, 35 . zx_tmp_2d,iim*jjmp1,ndex2d) 45 zx_tmp_0d=solaire 46 CALL histwrite(nid_ctesGCM,"solaire",itau_w, 47 . zx_tmp_0d,np,ndex2d) 36 48 c 37 IF(ok_journe) THEN 38 zx_tmp_2d(1:iim,1:jjmp1)=1. 39 ELSE 40 zx_tmp_2d(1:iim,1:jjmp1)=0. 41 ENDIF 42 CALL histwrite(nid_ctesGCM,"ok_journe",itau_w, 43 . zx_tmp_2d,iim*jjmp1,ndex2d) 49 zx_tmp_0d=co2_ppm 50 CALL histwrite(nid_ctesGCM,"co2_ppm",itau_w, 51 . zx_tmp_0d,np,ndex2d) 44 52 c 45 IF(ok_mensuel) THEN 46 zx_tmp_2d(1:iim,1:jjmp1)=1. 47 ELSE 48 zx_tmp_2d(1:iim,1:jjmp1)=0. 49 ENDIF 50 CALL histwrite(nid_ctesGCM,"ok_mensuel",itau_w, 51 . zx_tmp_2d,iim*jjmp1,ndex2d) 53 zx_tmp_0d=CH4_ppb 54 CALL histwrite(nid_ctesGCM,"CH4_ppb",itau_w, 55 . zx_tmp_0d,np,ndex2d) 52 56 c 53 IF(ok_instan) THEN 54 zx_tmp_2d(1:iim,1:jjmp1)=1. 55 ELSE 56 zx_tmp_2d(1:iim,1:jjmp1)=0. 57 ENDIF 58 CALL histwrite(nid_ctesGCM,"ok_instan",itau_w, 59 . zx_tmp_2d,iim*jjmp1,ndex2d) 57 zx_tmp_0d=N2O_ppb 58 CALL histwrite(nid_ctesGCM,"N2O_ppb",itau_w, 59 . zx_tmp_0d,np,ndex2d) 60 60 c 61 IF(ok_ade) THEN 62 zx_tmp_2d(1:iim,1:jjmp1)=1. 63 ELSE 64 zx_tmp_2d(1:iim,1:jjmp1)=0. 65 ENDIF 66 CALL histwrite(nid_ctesGCM,"ok_ade",itau_w, 67 . zx_tmp_2d,iim*jjmp1,ndex2d) 61 zx_tmp_0d=CFC11_ppt 62 CALL histwrite(nid_ctesGCM,"CFC11_ppt",itau_w, 63 . zx_tmp_0d,np,ndex2d) 68 64 c 69 IF(ok_aie) THEN 70 zx_tmp_2d(1:iim,1:jjmp1)=1. 71 ELSE 72 zx_tmp_2d(1:iim,1:jjmp1)=0. 73 ENDIF 74 CALL histwrite(nid_ctesGCM,"ok_aie",itau_w, 75 . zx_tmp_2d,iim*jjmp1,ndex2d) 76 c 77 78 c 79 c Champs 2D: 80 c 81 zx_tmp_2d(1:iim,1:jjmp1)=bl95_b0 82 CALL histwrite(nid_ctesGCM,"bl95_b0",itau_w, 83 . zx_tmp_2d,iim*jjmp1,ndex2d) 84 c 85 zx_tmp_2d(1:iim,1:jjmp1)=bl95_b1 86 CALL histwrite(nid_ctesGCM,"bl95_b1",itau_w, 87 . zx_tmp_2d,iim*jjmp1,ndex2d) 88 c 89 zx_tmp_2d(1:iim,1:jjmp1)=ip_ebil_phy 90 CALL histwrite(nid_ctesGCM,"ip_ebil_phy",itau_w, 91 . zx_tmp_2d,iim*jjmp1,ndex2d) 92 c 93 zx_tmp_2d(1:iim,1:jjmp1)=R_ecc 94 CALL histwrite(nid_ctesGCM,"R_ecc",itau_w, 95 . zx_tmp_2d,iim*jjmp1,ndex2d) 96 c 97 zx_tmp_2d(1:iim,1:jjmp1)=R_peri 98 CALL histwrite(nid_ctesGCM,"R_peri",itau_w, 99 . zx_tmp_2d,iim*jjmp1,ndex2d) 100 c 101 zx_tmp_2d(1:iim,1:jjmp1)=R_incl 102 CALL histwrite(nid_ctesGCM,"R_incl",itau_w, 103 . zx_tmp_2d,iim*jjmp1,ndex2d) 104 c 105 zx_tmp_2d(1:iim,1:jjmp1)=solaire 106 CALL histwrite(nid_ctesGCM,"solaire",itau_w, 107 . zx_tmp_2d,iim*jjmp1,ndex2d) 108 c 109 zx_tmp_2d(1:iim,1:jjmp1)=co2_ppm 110 CALL histwrite(nid_ctesGCM,"co2_ppm",itau_w, 111 . zx_tmp_2d,iim*jjmp1,ndex2d) 112 c 113 zx_tmp_2d(1:iim,1:jjmp1)=CH4_ppb 114 CALL histwrite(nid_ctesGCM,"CH4_ppb",itau_w, 115 . zx_tmp_2d,iim*jjmp1,ndex2d) 116 c 117 zx_tmp_2d(1:iim,1:jjmp1)=N2O_ppb 118 CALL histwrite(nid_ctesGCM,"N2O_ppb",itau_w, 119 . zx_tmp_2d,iim*jjmp1,ndex2d) 120 c 121 zx_tmp_2d(1:iim,1:jjmp1)=CFC11_ppt 122 CALL histwrite(nid_ctesGCM,"CFC11_ppt",itau_w, 123 . zx_tmp_2d,iim*jjmp1,ndex2d) 124 c 125 zx_tmp_2d(1:iim,1:jjmp1)=CFC12_ppt 65 zx_tmp_0d=CFC12_ppt 126 66 CALL histwrite(nid_ctesGCM,"CFC12_ppt",itau_w, 127 . zx_tmp_2d,iim*jjmp1,ndex2d) 128 c 129 zx_tmp_2d(1:iim,1:jjmp1)=epmax 130 CALL histwrite(nid_ctesGCM,"epmax",itau_w, 131 . zx_tmp_2d,iim*jjmp1,ndex2d) 132 c 133 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 134 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 135 ! Mais est-il bien raisonable de stoker ces fichiers comme des 136 ! champs 2D... 137 ! WARNING : 138 ! Il faudrait ici ajoute l'ecriture des champs 139 ! cycle_diurne = cycle_diurne_omp 140 ! soil_model = soil_model_omp 141 ! new_oliq = new_oliq_omp 142 ! ok_orodr = ok_orodr_omp 143 ! ok_orolf = ok_orolf_omp 144 ! ok_limitvrai = ok_limitvrai_omp 145 ! nbapp_rad = nbapp_rad_omp 146 ! iflag_con = iflag_con_omp 147 ! qui se trouvaient auparavant dans gcm.def et maintenant dans 148 ! physiq.def. 149 ! Mais regarder d'abord a quoi ca sert ... 150 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 151 152 153 c 154 IF(ok_adj_ema) THEN 155 zx_tmp_2d(1:iim,1:jjmp1)=1. 156 ELSE 157 zx_tmp_2d(1:iim,1:jjmp1)=0. 158 ENDIF 159 CALL histwrite(nid_ctesGCM,"ok_adj_ema",itau_w, 160 . zx_tmp_2d,iim*jjmp1,ndex2d) 161 c 162 zx_tmp_2d(1:iim,1:jjmp1)=iflag_clw 163 CALL histwrite(nid_ctesGCM,"iflag_clw",itau_w, 164 . zx_tmp_2d,iim*jjmp1,ndex2d) 165 c 166 zx_tmp_2d(1:iim,1:jjmp1)=cld_lc_lsc 167 CALL histwrite(nid_ctesGCM,"cld_lc_lsc",itau_w, 168 . zx_tmp_2d,iim*jjmp1,ndex2d) 169 c 170 zx_tmp_2d(1:iim,1:jjmp1)=cld_lc_con 171 CALL histwrite(nid_ctesGCM,"cld_lc_con",itau_w, 172 . zx_tmp_2d,iim*jjmp1,ndex2d) 173 c 174 zx_tmp_2d(1:iim,1:jjmp1)=cld_tau_lsc 175 CALL histwrite(nid_ctesGCM,"cld_tau_lsc",itau_w, 176 . zx_tmp_2d,iim*jjmp1,ndex2d) 177 c 178 zx_tmp_2d(1:iim,1:jjmp1)=cld_tau_con 179 CALL histwrite(nid_ctesGCM,"cld_tau_con",itau_w, 180 . zx_tmp_2d,iim*jjmp1,ndex2d) 181 c 182 zx_tmp_2d(1:iim,1:jjmp1)=ffallv_lsc 183 CALL histwrite(nid_ctesGCM,"ffallv_lsc",itau_w, 184 . zx_tmp_2d,iim*jjmp1,ndex2d) 185 c 186 zx_tmp_2d(1:iim,1:jjmp1)=ffallv_con 187 CALL histwrite(nid_ctesGCM,"ffallv_con",itau_w, 188 . zx_tmp_2d,iim*jjmp1,ndex2d) 189 c 190 zx_tmp_2d(1:iim,1:jjmp1)=coef_eva 191 CALL histwrite(nid_ctesGCM,"coef_eva",itau_w, 192 . zx_tmp_2d,iim*jjmp1,ndex2d) 193 c 194 IF(reevap_ice) THEN 195 zx_tmp_2d(1:iim,1:jjmp1)=1. 196 ELSE 197 zx_tmp_2d(1:iim,1:jjmp1)=0. 198 ENDIF 199 CALL histwrite(nid_ctesGCM,"reevap_ice",itau_w, 200 . zx_tmp_2d,iim*jjmp1,ndex2d) 201 c 202 zx_tmp_2d(1:iim,1:jjmp1)=iflag_cldcon 203 CALL histwrite(nid_ctesGCM,"iflag_cldcon",itau_w, 204 . zx_tmp_2d,iim*jjmp1,ndex2d) 205 c 206 zx_tmp_2d(1:iim,1:jjmp1)=iflag_pdf 207 CALL histwrite(nid_ctesGCM,"iflag_pdf",itau_w, 208 . zx_tmp_2d,iim*jjmp1,ndex2d) 209 c 210 zx_tmp_2d(1:iim,1:jjmp1)=fact_cldcon 211 CALL histwrite(nid_ctesGCM,"fact_cldcon",itau_w, 212 . zx_tmp_2d,iim*jjmp1,ndex2d) 213 c 214 zx_tmp_2d(1:iim,1:jjmp1)=facttemps 215 CALL histwrite(nid_ctesGCM,"facttemps",itau_w, 216 . zx_tmp_2d,iim*jjmp1,ndex2d) 217 c 218 IF(ok_newmicro) THEN 219 zx_tmp_2d(1:iim,1:jjmp1)=1. 220 ELSE 221 zx_tmp_2d(1:iim,1:jjmp1)=0. 222 ENDIF 223 CALL histwrite(nid_ctesGCM,"ok_newmicro",itau_w, 224 . zx_tmp_2d,iim*jjmp1,ndex2d) 225 c 226 zx_tmp_2d(1:iim,1:jjmp1)=ratqsbas 227 CALL histwrite(nid_ctesGCM,"ratqsbas",itau_w, 228 . zx_tmp_2d,iim*jjmp1,ndex2d) 229 c 230 zx_tmp_2d(1:iim,1:jjmp1)=ratqshaut 231 CALL histwrite(nid_ctesGCM,"ratqshaut",itau_w, 232 . zx_tmp_2d,iim*jjmp1,ndex2d) 233 c 234 zx_tmp_2d(1:iim,1:jjmp1)=rad_froid 235 CALL histwrite(nid_ctesGCM,"rad_froid",itau_w, 236 . zx_tmp_2d,iim*jjmp1,ndex2d) 237 c 238 zx_tmp_2d(1:iim,1:jjmp1)=rad_chau1 239 CALL histwrite(nid_ctesGCM,"rad_chau1",itau_w, 240 . zx_tmp_2d,iim*jjmp1,ndex2d) 241 c 242 zx_tmp_2d(1:iim,1:jjmp1)=rad_chau2 243 CALL histwrite(nid_ctesGCM,"rad_chau2",itau_w, 244 . zx_tmp_2d,iim*jjmp1,ndex2d) 245 c 246 zx_tmp_2d(1:iim,1:jjmp1)=top_height 247 CALL histwrite(nid_ctesGCM,"top_height",itau_w, 248 . zx_tmp_2d,iim*jjmp1,ndex2d) 249 c 250 zx_tmp_2d(1:iim,1:jjmp1)=overlap 251 CALL histwrite(nid_ctesGCM,"overlap",itau_w, 252 . zx_tmp_2d,iim*jjmp1,ndex2d) 253 c 254 zx_tmp_2d(1:iim,1:jjmp1)=cdmmax 255 CALL histwrite(nid_ctesGCM,"cdmmax",itau_w, 256 . zx_tmp_2d,iim*jjmp1,ndex2d) 257 c 258 zx_tmp_2d(1:iim,1:jjmp1)=cdhmax 259 CALL histwrite(nid_ctesGCM,"cdhmax",itau_w, 260 . zx_tmp_2d,iim*jjmp1,ndex2d) 261 c 262 zx_tmp_2d(1:iim,1:jjmp1)=ksta 263 CALL histwrite(nid_ctesGCM,"ksta",itau_w, 264 . zx_tmp_2d,iim*jjmp1,ndex2d) 265 c 266 zx_tmp_2d(1:iim,1:jjmp1)=ksta_ter 267 CALL histwrite(nid_ctesGCM,"ksta_ter",itau_w, 268 . zx_tmp_2d,iim*jjmp1,ndex2d) 269 c 270 IF(ok_kzmin) THEN 271 zx_tmp_2d(1:iim,1:jjmp1)=1. 272 ELSE 273 zx_tmp_2d(1:iim,1:jjmp1)=0. 274 ENDIF 275 CALL histwrite(nid_ctesGCM,"ok_kzmin",itau_w, 276 . zx_tmp_2d,iim*jjmp1,ndex2d) 277 c 278 zx_tmp_2d(1:iim,1:jjmp1)=iflag_pbl 279 CALL histwrite(nid_ctesGCM,"iflag_pbl",itau_w, 280 . zx_tmp_2d,iim*jjmp1,ndex2d) 281 c 282 zx_tmp_2d(1:iim,1:jjmp1)=lev_histhf 283 CALL histwrite(nid_ctesGCM,"lev_histhf",itau_w, 284 . zx_tmp_2d,iim*jjmp1,ndex2d) 285 c 286 zx_tmp_2d(1:iim,1:jjmp1)=lev_histday 287 CALL histwrite(nid_ctesGCM,"lev_histday",itau_w, 288 . zx_tmp_2d,iim*jjmp1,ndex2d) 289 c 290 zx_tmp_2d(1:iim,1:jjmp1)=lev_histmth 291 CALL histwrite(nid_ctesGCM,"lev_histmth",itau_w, 292 . zx_tmp_2d,iim*jjmp1,ndex2d) 293 c 294 IF(ok_isccp) THEN 295 zx_tmp_2d(1:iim,1:jjmp1)=1. 296 ELSE 297 zx_tmp_2d(1:iim,1:jjmp1)=0. 298 ENDIF 299 CALL histwrite(nid_ctesGCM,"ok_isccp",itau_w, 300 . zx_tmp_2d,iim*jjmp1,ndex2d) 301 c 302 zx_tmp_2d(1:iim,1:jjmp1)=lonmin_ins 303 CALL histwrite(nid_ctesGCM,"lonmin_ins",itau_w, 304 . zx_tmp_2d,iim*jjmp1,ndex2d) 305 c 306 zx_tmp_2d(1:iim,1:jjmp1)=lonmax_ins 307 CALL histwrite(nid_ctesGCM,"lonmax_ins",itau_w, 308 . zx_tmp_2d,iim*jjmp1,ndex2d) 309 c 310 zx_tmp_2d(1:iim,1:jjmp1)=latmin_ins 311 CALL histwrite(nid_ctesGCM,"latmin_ins",itau_w, 312 . zx_tmp_2d,iim*jjmp1,ndex2d) 313 c 314 zx_tmp_2d(1:iim,1:jjmp1)=latmax_ins 315 CALL histwrite(nid_ctesGCM,"latmax_ins",itau_w, 316 . zx_tmp_2d,iim*jjmp1,ndex2d) 317 c 318 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_ins 319 CALL histwrite(nid_ctesGCM,"ecrit_ins",itau_w, 320 . zx_tmp_2d,iim*jjmp1,ndex2d) 321 c 322 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_hf 323 CALL histwrite(nid_ctesGCM,"ecrit_hf",itau_w, 324 . zx_tmp_2d,iim*jjmp1,ndex2d) 325 c 326 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_day 327 CALL histwrite(nid_ctesGCM,"ecrit_day",itau_w, 328 . zx_tmp_2d,iim*jjmp1,ndex2d) 329 c 330 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_mth 331 CALL histwrite(nid_ctesGCM,"ecrit_mth",itau_w, 332 . zx_tmp_2d,iim*jjmp1,ndex2d) 333 c 334 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_tra 335 CALL histwrite(nid_ctesGCM,"ecrit_tra",itau_w, 336 . zx_tmp_2d,iim*jjmp1,ndex2d) 337 c 338 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_reg 339 CALL histwrite(nid_ctesGCM,"ecrit_reg",itau_w, 340 . zx_tmp_2d,iim*jjmp1,ndex2d) 341 c 342 zx_tmp_2d(1:iim,1:jjmp1)=freq_ISCCP 343 CALL histwrite(nid_ctesGCM,"freq_ISCCP",itau_w, 344 . zx_tmp_2d,iim*jjmp1,ndex2d) 345 c 346 zx_tmp_2d(1:iim,1:jjmp1)=ecrit_ISCCP 347 CALL histwrite(nid_ctesGCM,"ecrit_ISCCP",itau_w, 348 . zx_tmp_2d,iim*jjmp1,ndex2d) 67 . zx_tmp_0d,np,ndex2d) 349 68 c 350 69 c================================================================= 351 c================================================================= 70 c moyennes globales 71 c 72 CALL histwrite(nid_ctesGCM,"bils",itau_w, 73 . gbils,np,ndex2d) 74 CALL histwrite(nid_ctesGCM,"evap",itau_w, 75 . gevap,np,ndex2d) 76 CALL histwrite(nid_ctesGCM,"evap_land",itau_w, 77 . gevapt,np,ndex2d) 78 CALL histwrite(nid_ctesGCM,"flat",itau_w, 79 . glat,np,ndex2d) 80 CALL histwrite(nid_ctesGCM,"nettop0",itau_w, 81 . gnet0,np,ndex2d) 82 CALL histwrite(nid_ctesGCM,"nettop",itau_w, 83 . gnet,np,ndex2d) 84 CALL histwrite(nid_ctesGCM,"precip",itau_w, 85 . grain,np,ndex2d) 86 CALL histwrite(nid_ctesGCM,"tsol",itau_w, 87 . gtsol,np,ndex2d) 88 CALL histwrite(nid_ctesGCM,"t2m",itau_w, 89 . gt2m,np,ndex2d) 90 CALL histwrite(nid_ctesGCM,"prw",itau_w, 91 . gprw,np,ndex2d) 352 92 c================================================================= 353 93 c … … 356 96 endif 357 97 c 358 ENDIF ! mono_cpu 98 endif !(is_mpi_root) then 99 c$OMP END MASTER
Note: See TracChangeset
for help on using the changeset viewer.