Changeset 1533 for LMDZ4/branches/LMDZ4_AR5
- Timestamp:
- Jun 3, 2011, 7:01:52 PM (14 years ago)
- Location:
- LMDZ4/branches/LMDZ4_AR5/libf/phylmd
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4_AR5/libf/phylmd/ini_paramLMDZ_phy.h
r996 r1533 1 c ym Non implemente en modeparallele1 cIM Implemente en modes sequentiel et parallele 2 2 3 IF (is_sequential) THEN 3 CALL gather(rlat,rlat_glo) 4 CALL bcast(rlat_glo) 5 CALL gather(rlon,rlon_glo) 6 CALL bcast(rlon_glo) 7 8 c$OMP MASTER 9 if (is_mpi_root) then 4 10 c 5 11 zstophy = dtime 6 zout = ecrit_day12 zout = mth_len*un_jour 7 13 c 8 14 idayref = day_ref 9 15 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 10 16 c 11 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon ,zx_lon)17 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon_glo,zx_lon) 12 18 if (iim.gt.1) then 13 19 DO i = 1, iim 14 zx_lon(i,1) = rlon (i+1)15 zx_lon(i,jjmp1) = rlon (i+1)20 zx_lon(i,1) = rlon_glo(i+1) 21 zx_lon(i,jjmp1) = rlon_glo(i+1) 16 22 ENDDO 17 23 endif 18 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat ,zx_lat)24 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat_glo,zx_lat) 19 25 c 20 26 CALL histbeg("paramLMDZ_phy.nc", 21 . iim,zx_lon(:,1), jjmp1,zx_lat(1,:),27 . np,zx_lon(np:np,1), np,zx_lat(1,np:np), 22 28 . 1,1,1,1, 23 29 . itau_phy, zjulian, dtime, 24 30 . nhori, nid_ctesGCM) 25 31 c 26 c Variables type caractere : plusieurs valeurs possibles27 c28 CALL histdef(nid_ctesGCM, "ocean",29 . "Type ocean utilise: 1=force, 2=slab, 3=couple",30 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,31 . "once", zstophy,zout)32 c33 CALL histdef(nid_ctesGCM, "type_run",34 . "Type run: 1= CLIM ou ENSP, 2= AMIP ou CFMI",35 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,36 . "once", zstophy,zout)37 c38 c Variables logiques (1=true, 0=false)39 c40 CALL histdef(nid_ctesGCM, "ok_veget",41 . "Type de modele de vegetation: 1=ORCHIDEE, 0=bucket",42 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,43 . "once", zstophy,zout)44 c45 CALL histdef(nid_ctesGCM, "ok_journe",46 . "Creation du fichier histday: 1=true, 0=false",47 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,48 . "once", zstophy,zout)49 c50 CALL histdef(nid_ctesGCM, "ok_mensuel",51 . "Creation du fichier histmth: 1=true, 0=false",52 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,53 . "once", zstophy,zout)54 c55 CALL histdef(nid_ctesGCM, "ok_instan",56 . "Creation du fichier histins: 1=true, 0=false",57 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,58 . "once", zstophy,zout)59 c60 CALL histdef(nid_ctesGCM, "ok_ade",61 . "Aerosol direct effect: 1=true, 0=false",62 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,63 . "once", zstophy,zout)64 c65 CALL histdef(nid_ctesGCM, "ok_aie",66 . "Aerosol indirect effect: 1=true, 0=false",67 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,68 . "once", zstophy,zout)69 c70 CALL histdef(nid_ctesGCM, "bl95_b0",71 . "Parameter in CDNC-maer link (Boucher&Lohmann 1995)",72 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,73 . "ave(X)", zstophy,zout)74 c75 CALL histdef(nid_ctesGCM, "bl95_b1",76 . "Parameter in CDNC-maer link (Boucher&Lohmann 1995)",77 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,78 . "ave(X)", zstophy,zout)79 c80 CALL histdef(nid_ctesGCM, "ip_ebil_phy",81 . "Niveau sortie diags bilan energie cote physique",82 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32,83 . "ave(X)", zstophy,zout)84 c85 32 CALL histdef(nid_ctesGCM, "R_ecc", 86 33 . "Excentricite","-", 87 . iim,jjmp1,nhori, 1,1,1, -99, 32,88 . " once", zstophy,zout)34 . 1,1,nhori, 1,1,1, -99, 32, 35 . "ave", zstophy,zout) 89 36 c 90 37 CALL histdef(nid_ctesGCM, "R_peri", 91 38 . "Equinoxe","-", 92 . iim,jjmp1,nhori, 1,1,1, -99, 32,93 . " once", zstophy,zout)39 . 1,1,nhori, 1,1,1, -99, 32, 40 . "ave", zstophy,zout) 94 41 c 95 42 CALL histdef(nid_ctesGCM, "R_incl", 96 43 . "Inclinaison","deg", 97 . iim,jjmp1,nhori, 1,1,1, -99, 32,98 . " once", zstophy,zout)44 . 1,1,nhori, 1,1,1, -99, 32, 45 . "ave", zstophy,zout) 99 46 c 100 47 CALL histdef(nid_ctesGCM, "solaire", 101 48 . "Constante solaire","W/m2", 102 . iim,jjmp1,nhori, 1,1,1, -99, 32,103 . " once", zstophy,zout)49 . 1,1,nhori, 1,1,1, -99, 32, 50 . "ave", zstophy,zout) 104 51 c 105 52 CALL histdef(nid_ctesGCM, "co2_ppm", 106 53 . "Concentration du CO2", "ppm", 107 . iim,jjmp1,nhori, 1,1,1, -99, 32,54 . 1,1,nhori, 1,1,1, -99, 32, 108 55 . "ave(X)", zstophy,zout) 109 56 c 110 57 CALL histdef(nid_ctesGCM, "CH4_ppb", 111 58 . "Concentration du CH4", "ppb", 112 . iim,jjmp1,nhori, 1,1,1, -99, 32,59 . 1,1,nhori, 1,1,1, -99, 32, 113 60 . "ave(X)", zstophy,zout) 114 61 c 115 62 CALL histdef(nid_ctesGCM, "N2O_ppb", 116 63 . "Concentration du N2O", "ppb", 117 . iim,jjmp1,nhori, 1,1,1, -99, 32,64 . 1,1,nhori, 1,1,1, -99, 32, 118 65 . "ave(X)", zstophy,zout) 119 66 c 120 67 CALL histdef(nid_ctesGCM, "CFC11_ppt", 121 68 . "Concentration du CFC11", "ppt", 122 . iim,jjmp1,nhori, 1,1,1, -99, 32,69 . 1,1,nhori, 1,1,1, -99, 32, 123 70 . "ave(X)", zstophy,zout) 124 71 c 125 72 CALL histdef(nid_ctesGCM, "CFC12_ppt", 126 73 . "Concentration du CFC12", "ppt", 127 . iim,jjmp1,nhori, 1,1,1, -99, 32,74 . 1,1,nhori, 1,1,1, -99, 32, 128 75 . "ave(X)", zstophy,zout) 129 76 c 130 CALL histdef(nid_ctesGCM, " epmax",131 . " Efficacite precip", "-",132 . iim,jjmp1,nhori, 1,1,1, -99, 32,133 . " once", zstophy,zout)77 CALL histdef(nid_ctesGCM, "bils", 78 . "Surface total heat flux", "W m-2", 79 . 1,1,nhori, 1,1,1, -99, 32, 80 . "ave", zstophy,zout) 134 81 c 135 CALL histdef(nid_ctesGCM, " ok_adj_ema",136 . " ok_adj_ema: 1=true, 0=false", "-",137 . iim,jjmp1,nhori, 1,1,1, -99, 32,138 . " once", zstophy,zout)82 CALL histdef(nid_ctesGCM, "evap", 83 . "Evaporation", "kg m-2 s-1", 84 . 1,1,nhori, 1,1,1, -99, 32, 85 . "ave", zstophy,zout) 139 86 c 140 CALL histdef(nid_ctesGCM, " iflag_clw",141 . " iflag_clw", "-",142 . iim,jjmp1,nhori, 1,1,1, -99, 32,143 . " once", zstophy,zout)87 CALL histdef(nid_ctesGCM, "evap_land", 88 . "Land evaporation", "kg m-2 s-1", 89 . 1,1,nhori, 1,1,1, -99, 32, 90 . "ave", zstophy,zout) 144 91 c 145 CALL histdef(nid_ctesGCM, " cld_lc_lsc",146 . " cld_lc_lsc", "-",147 . iim,jjmp1,nhori, 1,1,1, -99, 32,148 . " once", zstophy,zout)92 CALL histdef(nid_ctesGCM, "flat", 93 . "Latent heat flux", "W m-2", 94 . 1,1,nhori, 1,1,1, -99, 32, 95 . "ave", zstophy,zout) 149 96 c 150 CALL histdef(nid_ctesGCM, "cld_lc_con", 151 . "cld_lc_con", "-", 152 . iim,jjmp1,nhori, 1,1,1, -99, 32, 153 . "once", zstophy,zout) 97 CALL histdef(nid_ctesGCM, "nettop0", 98 . "Clear sky net downward radiatif flux at TOA", 99 . "W m-2", 100 . 1,1,nhori, 1,1,1, -99, 32, 101 . "ave", zstophy,zout) 154 102 c 155 CALL histdef(nid_ctesGCM, " cld_tau_lsc",156 . " cld_tau_lsc", "-",157 . iim,jjmp1,nhori, 1,1,1, -99, 32,158 . " once", zstophy,zout)103 CALL histdef(nid_ctesGCM, "nettop", 104 . "Net downward radiatif flux at TOA", "W m-2", 105 . 1,1,nhori, 1,1,1, -99, 32, 106 . "ave", zstophy,zout) 159 107 c 160 CALL histdef(nid_ctesGCM, " cld_tau_con",161 . " cld_tau_con", "-",162 . iim,jjmp1,nhori, 1,1,1, -99, 32,163 . " once", zstophy,zout)108 CALL histdef(nid_ctesGCM, "precip", 109 . "Total precipitation (liq+sol)", "kg m-2 s-1", 110 . 1,1,nhori, 1,1,1, -99, 32, 111 . "ave", zstophy,zout) 164 112 c 165 CALL histdef(nid_ctesGCM, " ffallv_lsc",166 . " ffallv_lsc", "-",167 . iim,jjmp1,nhori, 1,1,1, -99, 32,168 . " once", zstophy,zout)113 CALL histdef(nid_ctesGCM, "tsol", 114 . "Surface temperature", "K", 115 . 1,1,nhori, 1,1,1, -99, 32, 116 . "ave", zstophy,zout) 169 117 c 170 CALL histdef(nid_ctesGCM, " ffallv_con",171 . " ffallv_con", "-",172 . iim,jjmp1,nhori, 1,1,1, -99, 32,173 . " once", zstophy,zout)118 CALL histdef(nid_ctesGCM, "t2m", 119 . "Temperature at 2m", "K", 120 . 1,1,nhori, 1,1,1, -99, 32, 121 . "ave", zstophy,zout) 174 122 c 175 CALL histdef(nid_ctesGCM, "coef_eva", 176 . "coef_eva", "-", 177 . iim,jjmp1,nhori, 1,1,1, -99, 32, 178 . "once", zstophy,zout) 179 c 180 CALL histdef(nid_ctesGCM, "reevap_ice", 181 . "reevap_ice: 1=true, 0=false", "-", 182 . iim,jjmp1,nhori, 1,1,1, -99, 32, 183 . "once", zstophy,zout) 184 c 185 CALL histdef(nid_ctesGCM, "iflag_cldcon", 186 . "iflag_cldcon", "-", 187 . iim,jjmp1,nhori, 1,1,1, -99, 32, 188 . "once", zstophy,zout) 189 c 190 CALL histdef(nid_ctesGCM, "iflag_pdf", 191 . "iflag_pdf", "-", 192 . iim,jjmp1,nhori, 1,1,1, -99, 32, 193 . "once", zstophy,zout) 194 c 195 CALL histdef(nid_ctesGCM, "fact_cldcon", 196 . "fact_cldcon", "-", 197 . iim,jjmp1,nhori, 1,1,1, -99, 32, 198 . "once", zstophy,zout) 199 c 200 CALL histdef(nid_ctesGCM, "facttemps", 201 . "facttemps", "-", 202 . iim,jjmp1,nhori, 1,1,1, -99, 32, 203 . "once", zstophy,zout) 204 c 205 CALL histdef(nid_ctesGCM, "ok_newmicro", 206 . "Nouvelle micro-physique: 1=true, 0=false", 207 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32, 208 . "once", zstophy,zout) 209 c 210 CALL histdef(nid_ctesGCM, "ratqsbas", 211 . "ratqsbas", "-", 212 . iim,jjmp1,nhori, 1,1,1, -99, 32, 213 . "once", zstophy,zout) 214 c 215 CALL histdef(nid_ctesGCM, "ratqshaut", 216 . "ratqshaut", "-", 217 . iim,jjmp1,nhori, 1,1,1, -99, 32, 218 . "once", zstophy,zout) 219 c 220 CALL histdef(nid_ctesGCM, "rad_froid", 221 . "rad_froid", "-", 222 . iim,jjmp1,nhori, 1,1,1, -99, 32, 223 . "once", zstophy,zout) 224 c 225 CALL histdef(nid_ctesGCM, "rad_chau1", 226 . "rad_chau1", "-", 227 . iim,jjmp1,nhori, 1,1,1, -99, 32, 228 . "once", zstophy,zout) 229 c 230 CALL histdef(nid_ctesGCM, "rad_chau2", 231 . "rad_chau2", "-", 232 . iim,jjmp1,nhori, 1,1,1, -99, 32, 233 . "once", zstophy,zout) 234 c 235 CALL histdef(nid_ctesGCM, "top_height", 236 . "top_height", "-", 237 . iim,jjmp1,nhori, 1,1,1, -99, 32, 238 . "once", zstophy,zout) 239 c 240 CALL histdef(nid_ctesGCM, "overlap", 241 . "overlap", "-", 242 . iim,jjmp1,nhori, 1,1,1, -99, 32, 243 . "once", zstophy,zout) 244 c 245 CALL histdef(nid_ctesGCM, "cdmmax", 246 . "cdmmax", "-", 247 . iim,jjmp1,nhori, 1,1,1, -99, 32, 248 . "once", zstophy,zout) 249 c 250 CALL histdef(nid_ctesGCM, "cdhmax", 251 . "cdhmax", "-", 252 . iim,jjmp1,nhori, 1,1,1, -99, 32, 253 . "once", zstophy,zout) 254 c 255 CALL histdef(nid_ctesGCM, "ksta", 256 . "ksta", "-", 257 . iim,jjmp1,nhori, 1,1,1, -99, 32, 258 . "once", zstophy,zout) 259 c 260 CALL histdef(nid_ctesGCM, "ksta_ter", 261 . "ksta_ter", "-", 262 . iim,jjmp1,nhori, 1,1,1, -99, 32, 263 . "once", zstophy,zout) 264 c 265 CALL histdef(nid_ctesGCM, "ok_kzmin", 266 . "ok_kzmin: 1=true, 0=false", "-", 267 . iim,jjmp1,nhori, 1,1,1, -99, 32, 268 . "once", zstophy,zout) 269 c 270 CALL histdef(nid_ctesGCM, "iflag_pbl", 271 . "iflag_pbl", "-", 272 . iim,jjmp1,nhori, 1,1,1, -99, 32, 273 . "once", zstophy,zout) 274 c 275 CALL histdef(nid_ctesGCM, "lev_histhf", 276 . "lev_histhf", "-", 277 . iim,jjmp1,nhori, 1,1,1, -99, 32, 278 . "once", zstophy,zout) 279 c 280 CALL histdef(nid_ctesGCM, "lev_histday", 281 . "lev_histday", "-", 282 . iim,jjmp1,nhori, 1,1,1, -99, 32, 283 . "once", zstophy,zout) 284 c 285 CALL histdef(nid_ctesGCM, "lev_histmth", 286 . "lev_histmth", "-", 287 . iim,jjmp1,nhori, 1,1,1, -99, 32, 288 . "once", zstophy,zout) 289 c 290 CALL histdef(nid_ctesGCM, "ok_isccp", 291 . "Creation fichier histISCCP: 1=true, 0=false", 292 . "-",iim,jjmp1,nhori, 1,1,1, -99, 32, 293 . "once", zstophy,zout) 294 c 295 CALL histdef(nid_ctesGCM, "lonmin_ins", 296 . "lonmin_ins", "-", 297 . iim,jjmp1,nhori, 1,1,1, -99, 32, 298 . "once", zstophy,zout) 299 c 300 CALL histdef(nid_ctesGCM, "lonmax_ins", 301 . "lonmax_ins", "-", 302 . iim,jjmp1,nhori, 1,1,1, -99, 32, 303 . "once", zstophy,zout) 304 c 305 CALL histdef(nid_ctesGCM, "latmin_ins", 306 . "latmin_ins", "-", 307 . iim,jjmp1,nhori, 1,1,1, -99, 32, 308 . "once", zstophy,zout) 309 c 310 CALL histdef(nid_ctesGCM, "latmax_ins", 311 . "latmax_ins", "-", 312 . iim,jjmp1,nhori, 1,1,1, -99, 32, 313 . "once", zstophy,zout) 314 c 315 CALL histdef(nid_ctesGCM, "ecrit_ins", 316 . "ecrit_ins", "-", 317 . iim,jjmp1,nhori, 1,1,1, -99, 32, 318 . "once", zstophy,zout) 319 c 320 CALL histdef(nid_ctesGCM, "ecrit_hf", 321 . "ecrit_hf", "-", 322 . iim,jjmp1,nhori, 1,1,1, -99, 32, 323 . "once", zstophy,zout) 324 c 325 CALL histdef(nid_ctesGCM, "ecrit_day", 326 . "ecrit_day", "-", 327 . iim,jjmp1,nhori, 1,1,1, -99, 32, 328 . "once", zstophy,zout) 329 c 330 CALL histdef(nid_ctesGCM, "ecrit_mth", 331 . "ecrit_mth", "-", 332 . iim,jjmp1,nhori, 1,1,1, -99, 32, 333 . "once", zstophy,zout) 334 c 335 CALL histdef(nid_ctesGCM, "ecrit_tra", 336 . "ecrit_tra", "-", 337 . iim,jjmp1,nhori, 1,1,1, -99, 32, 338 . "once", zstophy,zout) 339 c 340 CALL histdef(nid_ctesGCM, "ecrit_reg", 341 . "ecrit_reg", "-", 342 . iim,jjmp1,nhori, 1,1,1, -99, 32, 343 . "once", zstophy,zout) 344 c 345 CALL histdef(nid_ctesGCM, "freq_ISCCP", 346 . "freq_ISCCP", "-", 347 . iim,jjmp1,nhori, 1,1,1, -99, 32, 348 . "once", zstophy,zout) 349 c 350 CALL histdef(nid_ctesGCM, "ecrit_ISCCP", 351 . "ecrit_ISCCP", "-", 352 . iim,jjmp1,nhori, 1,1,1, -99, 32, 353 . "once", zstophy,zout) 354 c 123 CALL histdef(nid_ctesGCM, "prw", 124 . "Precipitable water", "kg m-2", 125 . 1,1,nhori, 1,1,1, -99, 32, 126 . "ave", zstophy,zout) 355 127 c================================================================= 356 128 c 357 129 CALL histend(nid_ctesGCM) 358 130 359 ENDIF ! is_sequential360 c 131 endif !(is_mpi_root) 132 c$OMP END MASTER 361 133 c================================================================= -
LMDZ4/branches/LMDZ4_AR5/libf/phylmd/physiq.F
r1528 r1533 1150 1150 c============================================================ 1151 1151 real :: mr_ozone(klon,klev) 1152 1153 cIM sorties fichier 1D paramLMDZ_phy.nc 1154 REAL :: zx_tmp_0d(1,1) 1155 INTEGER, PARAMETER :: np=1 1156 REAL,dimension(klon_glo) :: rlat_glo 1157 REAL,dimension(klon_glo) :: rlon_glo 1158 REAL gbils(1), gevap(1), gevapt(1), glat(1), gnet0(1), gnet(1) 1159 REAL grain(1), gtsol(1), gt2m(1), gprw(1) 1160 1152 1161 cIM for NMC files 1153 1162 missing_val=nf90_fill_real -
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.