Changeset 440 for trunk/SRC/ToBeReviewed/CALCULS/moyenne.pro
- Timestamp:
- 12/21/10 14:26:05 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/ToBeReviewed/CALCULS/moyenne.pro
r424 r440 45 45 ; To make an integral rather than an average 46 46 ; 47 ; @keyword SSH 48 ; array giving the sea level elenation (in meter) that must be added 49 ; to the thickness of the first level when computing vertical mean 50 ; 47 51 ; @keyword WDEPTH 48 52 ; to specify that the field is at W depth instead of T … … 73 77 ;- 74 78 FUNCTION moyenne, tab, direc, BOXZOOM=boxzoom, INTEGRATION=integration, KEEPBOTTOM = keepbottom $ 75 , NAN=nan, NODOMDEF=nodomdef, WDEPTH=wdepth, _EXTRA=ex79 , NAN=nan, NODOMDEF=nodomdef, SSH = ssh, WDEPTH=wdepth, _EXTRA=ex 76 80 ; 77 81 compile_opt idl2, strictarrsubs … … 143 147 IF vargrid EQ 'W' THEN wdepth = 1 144 148 grille, mask, glam, gphi, gdep, nx, ny, nz, firstx, firsty, firstz, lastx, lasty, lastz, e1, e2, e3, WDEPTH = wdepth 149 ;--------------------------------------------------------------- 150 ; check the use of ssh keyword... 151 ;--------------------------------------------------------------- 152 IF keyword_set(ssh) AND dirz NE 0 AND firstz EQ 0 AND taille[0] GE 2 THEN BEGIN 153 szssh = size(ssh) 154 IF szssh[1] NE taille[1] OR szssh[2] NE taille[2] THEN $ 155 return, report('ssh and input arrays must have the same size') 156 sshh = ssh 157 ENDIF 145 158 ;------------------------------------------------------------ 146 159 ;------------------------------------------------------------ … … 317 330 ;--------------------------------------------------------------- 318 331 case 1 of 319 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq jpk: $332 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq jpk:BEGIN 320 333 res = tab[firstx:lastx, firsty:lasty, firstz:lastz] 321 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq nz: $ 334 IF keyword_set(sshh) THEN sshh = sshh[firstx:lastx, firsty:lasty] 335 END 336 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq nz:BEGIN 322 337 res = tab[firstx:lastx, firsty:lasty, *] 338 IF keyword_set(sshh) THEN sshh = sshh[firstx:lastx, firsty:lasty] 339 END 323 340 taille[1] EQ nx and taille[2] eq ny and taille[3] eq nz :res = tab 324 341 taille[1] EQ nx and taille[2] eq ny and taille[3] eq jpk : $ … … 424 441 e33 = replicate(1, 1.*nx*ny)#e3 425 442 e33 = reform(e33, nx, ny, nz, /over) 443 IF keyword_set(sshh) THEN e33[*, *, 0] = e33[*, *, 0] + sshh 426 444 IF keyword_set(key_partialstep) AND bottom[0] NE -1 THEN BEGIN 427 445 IF keyword_set(wdepth) THEN $ … … 476 494 e133 = e1[*]#e3 477 495 e133 = reform(e133, nx, ny, nz, /over) 496 IF keyword_set(sshh) THEN e133[*, *, 0] = e133[*, *, 0] + sshh*e1 478 497 IF keyword_set(key_partialstep) AND bottom[0] NE -1 THEN BEGIN 479 498 IF keyword_set(wdepth) THEN $ … … 500 519 e233 = e2[*]#e3 501 520 e233 = reform(e233, nx, ny, nz, /over) 521 IF keyword_set(sshh) THEN e233[*, *, 0] = e233[*, *, 0] + sshh*e2 502 522 IF keyword_set(key_partialstep) AND bottom[0] NE -1 THEN BEGIN 503 523 IF keyword_set(wdepth) THEN $ … … 524 544 e1233 = (e1*e2)[*]#e3 525 545 e1233 = reform(e1233, nx, ny, nz, /over) 546 IF keyword_set(sshh) THEN e1233[*, *, 0] = e1233[*, *, 0] + sshh*e1*e2 526 547 IF keyword_set(key_partialstep) AND bottom[0] NE -1 THEN BEGIN 527 548 IF keyword_set(wdepth) THEN $
Note: See TracChangeset
for help on using the changeset viewer.