Ignore:
Timestamp:
04/28/06 14:18:03 (18 years ago)
Author:
pinsard
Message:

upgrade of GRILLE/Utilities according to cerbere.lodyc.jussieu.fr: /usr/home/smasson/SAXO_RD/ : files

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/ToBeReviewed/GRILLE/u2t.pro

    r12 r13  
    3838;------------------------------------------------------------ 
    3939FUNCTION u2t, temp 
    40 @common 
     40;--------------------------------------------------------- 
     41@cm_4mesh 
     42@cm_4data 
     43@cm_4cal 
     44  IF NOT keyword_set(key_forgetold) THEN BEGIN 
     45@updatenew 
     46  ENDIF 
     47;--------------------------------------------------------- 
    4148   res = temp 
    4249;on force nxt=nxu, etc ... 
    43    premierxt = premierxu 
    44    dernierxt = dernierxu 
    45    premieryt = premieryu 
    46    dernieryt = dernieryu 
     50   firstxt = firstxu 
     51   lastxt = lastxu 
     52   firstyt = firstyu 
     53   lastyt = lastyu 
    4754   nxt = nxu 
    4855   nyt = nyu 
    4956   vargrid = 'T' 
    5057   if NOT keyword_set(valmask) then valmask = 1e20 
    51    lon1 = glamt[premierxt, 0] 
    52    lon2 = glamu[dernierxu, 0] 
     58   lon1 = glamt[firstxt, 0] 
     59   lon2 = glamu[lastxu, 0] 
    5360; 
    5461; cas sur la taille du tableau et application  
     
    6067            taille[1] eq nxu and taille[2] eq nyu: 
    6168            taille[1] eq jpi and taille[2] eq jpj: $ 
    62              res=res[premierxu:dernierxu, premieryu:dernieryu] 
     69             res=res[firstxu:lastxu, firstyu:lastyu] 
    6370            else: $ 
    6471             return, report('Probleme d''adequation entre les tailles du domaine et de la boite.') 
    6572         endcase 
    66          mask = (umask())[premierxu:dernierxu, premieryu:dernieryu, 0] 
     73         mask = (umask())[firstxu:lastxu, firstyu:lastyu, 0] 
    6774         terre = where(mask EQ 0)  
    6875         IF terre[0] NE -1 THEN res[terre] = !values.f_nan 
    6976         res = 0.5*(res + shift(res, 1, 0)) 
    70          if NOT (keyword_set(key_periodique) AND nxu EQ jpi) then res[0, *] = !values.f_nan 
    71          mask = tmask[premierxu:dernierxu, premieryu:dernieryu, 0] 
     77         if NOT (keyword_set(key_periodic) AND nxu EQ jpi) then res[0, *] = !values.f_nan 
     78         mask = tmask[firstxu:lastxu, firstyu:lastyu, 0] 
    7279         terre = where(mask EQ 0)  
    7380         IF terre[0] NE -1 THEN res[terre] = valmask 
     
    7784            taille[1] eq nxu and taille[2] eq nyu AND taille[3] EQ nzt: 
    7885            taille[1] eq nxu and taille[2] eq nyu AND taille[3] EQ jpk: $ 
    79              res=res[*, *, premierzt:dernierzt] 
     86             res=res[*, *, firstzt:lastzt] 
    8087            taille[1] eq nxu and taille[2] eq nyu AND taille[3] EQ jpt: 
    8188            taille[1] eq jpi and taille[2] eq jpj AND taille[3] EQ jpk: $ 
    82              res=res[premierxu:dernierxu, premieryu:dernieryu, premierzt:dernierzt] 
     89             res=res[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt] 
    8390            taille[1] eq jpi and taille[2] eq jpj AND taille[3] EQ jpt: $ 
    84              res=res[premierxu:dernierxu, premieryu:dernieryu, *] 
     91             res=res[firstxu:lastxu, firstyu:lastyu, *] 
    8592            else: $ 
    8693             return, report('Probleme d''adequation entre les tailles du domaine et de la boite.') 
    8794         ENDCASE 
    8895         if taille[3] EQ jpt then begin 
    89             mask = (umask())[premierxu:dernierxu, premieryu:dernieryu, dernierzt*(nzt NE jpk)] 
     96            mask = (umask())[firstxu:lastxu, firstyu:lastyu, lastzt*(nzt NE jpk)] 
    9097            mask = temporary(mask[*])#replicate(1, jpt) 
    9198            mask = reform(mask, nxu, nyu, jpt, /over) 
    92          ENDIF ELSE mask = (umask())[premierxu:dernierxu, premieryu:dernieryu, premierzt:dernierzt] 
     99         ENDIF ELSE mask = (umask())[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt] 
    93100         terre = where(temporary(mask) EQ 0)  
    94101         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    95102         res = 0.5*(res + shift(res, 1, 0, 0)) 
    96          if NOT (keyword_set(key_periodique) AND nxu EQ jpi) then res[0, *, *] = !values.f_nan 
     103         if NOT (keyword_set(key_periodic) AND nxu EQ jpi) then res[0, *, *] = !values.f_nan 
    97104         if taille[3] EQ jpt then BEGIN 
    98             mask = tmask[premierxu:dernierxu, premieryu:dernieryu, dernierzt*(nzt NE jpk)] 
     105            mask = tmask[firstxu:lastxu, firstyu:lastyu, lastzt*(nzt NE jpk)] 
    99106            mask = temporary(mask[*])#replicate(1, jpt) 
    100107            mask = reform(mask, nxu, nyu, jpt, /over) 
    101          ENDIF ELSE mask = tmask[premierxu:dernierxu, premieryu:dernieryu, premierzt:dernierzt] 
     108         ENDIF ELSE mask = tmask[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt] 
    102109         terre = where(temporary(mask) EQ 0)  
    103110         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
     
    107114            taille[1] eq nxu and taille[2] eq nyu AND taille[3] EQ nzt AND taille[4] EQ jpt: 
    108115            taille[1] eq nxu and taille[2] eq nyu AND taille[3] EQ jpk AND taille[4] EQ jpt: $ 
    109              res=res[*, *, premierzt:dernierzt, *] 
     116             res=res[*, *, firstzt:lastzt, *] 
    110117            taille[1] eq jpi and taille[2] eq jpj AND taille[3] EQ jpk AND taille[4] EQ jpt: $ 
    111              res=res[premierxu:dernierxu, premieryu:dernieryu, premierzt:dernierzt, *] 
     118             res=res[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt, *] 
    112119            else: $ 
    113120             return, report('Probleme d''adequation entre les tailles du domaine et de la boite.') 
    114121         ENDCASE 
    115          mask = (umask())[premierxu:dernierxu, premieryu:dernieryu, premierzt:dernierzt] 
     122         mask = (umask())[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt] 
    116123         mask = temporary(mask[*])#replicate(1, jpt) 
    117124         mask = reform(mask, nxu, nyu, nzt, jpt, /over) 
     
    119126         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    120127         res = 0.5*(res + shift(res, 1, 0, 0, 0)) 
    121          if NOT (keyword_set(key_periodique) AND nxu EQ jpi) then res[0, *, *, *] = !values.f_nan 
    122          mask = tmask[premierxu:dernierxu, premieryu:dernieryu, premierzt:dernierzt] 
     128         if NOT (keyword_set(key_periodic) AND nxu EQ jpi) then res[0, *, *, *] = !values.f_nan 
     129         mask = tmask[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt] 
    123130         mask = temporary(mask[*])#replicate(1, jpt) 
    124131         mask = reform(mask, nxu, nyu, nzt, jpt, /over) 
     
    128135   endcase 
    129136 
     137  IF NOT keyword_set(key_forgetold) THEN BEGIN 
     138   @updateold 
     139  ENDIF  
     140   
    130141   return, res 
    131142END 
Note: See TracChangeset for help on using the changeset viewer.