Changeset 205 for trunk/procs/macros/make_energetics.pro
- Timestamp:
- 01/26/10 10:46:13 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/procs/macros/make_energetics.pro
r203 r205 190 190 valmask = 1.e20 191 191 idxw = where (tmaskr EQ 0) 192 IF idxw[0] NE -1 THEN w[idxw] = valmask 192 IF idxw[0] NE -1 THEN BEGIN 193 w[idxw] = valmask 194 ENDIF 193 195 idxt = where (tmaskr EQ 0) 194 IF idxt[0] NE -1 THEN t [idxt] = 0. 195 IF idxt[0] NE -1 THEN s [idxt] = 0. 196 IF idxt[0] NE -1 THEN BEGIN 197 t[idxt] = 0. 198 ENDIF 199 IF idxt[0] NE -1 THEN BEGIN 200 s[idxt] = 0. 201 ENDIF 196 202 tmaskr = 0 ; free memory 197 203 ENDIF ELSE BEGIN 198 204 idxt = where (t EQ valmask) 199 IF idxt[0] NE -1 THEN t [idxt] = 0. 200 IF idxt[0] NE -1 THEN s [idxt] = 0. 205 IF idxt[0] NE -1 THEN BEGIN 206 t[idxt] = 0. 207 ENDIF 208 IF idxt[0] NE -1 THEN BEGIN 209 s[idxt] = 0. 210 ENDIF 201 211 ENDELSE 202 212 … … 223 233 224 234 idx_2d = where (u[*, *, 0, 0] GT valmask/10.) 225 IF idx_2d[0] NE -1 THEN tx[idx_2d] = valmask 235 IF idx_2d[0] NE -1 THEN BEGIN 236 tx[idx_2d] = valmask 237 ENDIF 226 238 idx_2d = where (v[*, *, 0, 0] GT valmask/10.) 227 IF idx_2d[0] NE -1 THEN ty[idx_2d] = valmask 239 IF idx_2d[0] NE -1 THEN BEGIN 240 ty[idx_2d] = valmask 241 ENDIF 228 242 idx = where (t LT valmask/10.) 229 243 IF t_unit NE "C" THEN BEGIN 230 IF idx[0] NE -1 THEN t[idx] = t[idx]-273.15 244 IF idx[0] NE -1 THEN BEGIN 245 t[idx] = t[idx]-273.15 246 ENDIF 231 247 ENDIF 232 248 idx1 = n_elements(idx_t) … … 241 257 idxt=where(t GT valmask/10.) 242 258 idxs=where(s GT valmask/10.) 243 IF source_model EQ 'ipcc' THEN print, ' check these are 0 (T,S): ', min(idxt -idxs), max(idxt-idxs) 244 IF idxt[0] NE -1 THEN t[idxt]=0. 245 IF idxs[0] NE -1 THEN s[idxs]=0. 259 IF source_model EQ 'ipcc' THEN BEGIN 260 print, ' check these are 0 (T,S): ', min(idxt -idxs), max(idxt-idxs) 261 ENDIF 262 IF idxt[0] NE -1 THEN BEGIN 263 t[idxt]=0. 264 ENDIF 265 IF idxs[0] NE -1 THEN BEGIN 266 s[idxs]=0. 267 ENDIF 246 268 idxs = 0 ; free memory 247 269 … … 262 284 rhop = ( ( 4.8314E-4*s + r3*sr +r2)*s +r1) 263 285 print, ' rhop min/max', min(rhop), max(rhop) 264 IF idxt[0] NE -1 THEN rhop[idxt] = valmask 286 IF idxt[0] NE -1 THEN BEGIN 287 rhop[idxt] = valmask 288 ENDIF 265 289 sr = 0 & r1 = 0 & r2 = 0 & r3 = 0 & t = 0 & s = 0 ; free memory 266 290 … … 305 329 306 330 int_val2 = ((rhop-rho_s4d)^2)*stab_inv 307 IF idxt[0] NE -1 THEN int_val2[idxt] = 0. 331 IF idxt[0] NE -1 THEN BEGIN 332 int_val2[idxt] = 0. 333 ENDIF 308 334 309 335 print, ' compute APE...' … … 321 347 322 348 int_val = (rhop-rho_s4d)*(w_T) 323 IF idxt[0] NE -1 THEN int_val[idxt] = 0. 349 IF idxt[0] NE -1 THEN BEGIN 350 int_val[idxt] = 0. 351 ENDIF 324 352 325 353 ; remove first 2 levels (MXL too unstable) … … 348 376 idyv = where(vmean GT valmask/10.) 349 377 350 IF idx[0] NE -1 THEN tx[idx] = 0. 351 IF idy[0] NE -1 THEN ty[idy] = 0. 352 IF idxu[0] NE -1 THEN umean[idxu] = 0. 353 IF idyv[0] NE -1 THEN vmean[idyv] = 0. 378 IF idx[0] NE -1 THEN BEGIN 379 tx[idx] = 0. 380 ENDIF 381 IF idy[0] NE -1 THEN BEGIN 382 ty[idy] = 0. 383 ENDIF 384 IF idxu[0] NE -1 THEN BEGIN 385 umean[idxu] = 0. 386 ENDIF 387 IF idyv[0] NE -1 THEN BEGIN 388 vmean[idyv] = 0. 389 ENDIF 354 390 355 391 dot_prodx = tx*umean … … 387 423 tvlct, red, green, blue 388 424 389 IF cmd_wrk.out EQ 'ps' THEN ps = 1 390 391 IF ps EQ 1 THEN openps 425 IF cmd_wrk.out EQ 'ps' THEN BEGIN 426 ps = 1 427 ENDIF 428 429 IF ps EQ 1 THEN BEGIN 430 openps 431 ENDIF 392 432 393 433 pltt, ape, 't', petit = [2, 4, 1], landscape = 1, /rempli, /BASICMARGES, title = 'APE (full) '+cmd_wrk.exp, window=3 … … 422 462 423 463 maxdepth = 10 424 IF gdept[0] GT maxdepth THEN maxdepth = gdept[0] 464 IF gdept[0] GT maxdepth THEN BEGIN 465 maxdepth = gdept[0] 466 ENDIF 425 467 426 468 ;domdef, [210., 280., -5., 5., 0., maxdepth]
Note: See TracChangeset
for help on using the changeset viewer.