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/f2v.pro

    r12 r13  
    3838;------------------------------------------------------------ 
    3939FUNCTION f2v, 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=nxf, etc ... 
    43    premierxv = premierxf 
    44    dernierxv = dernierxf 
    45    premieryv = premieryf 
    46    dernieryv = dernieryf 
     50   firstxv = firstxf 
     51   lastxv = lastxf 
     52   firstyv = firstyf 
     53   lastyv = lastyf 
    4754   nxv = nxf 
    4855   nyv = nyf 
    4956   vargrid = 'V' 
    5057   if NOT keyword_set(valmask) then valmask = 1e20 
    51    lon1 = glamv[premierxv, 0] 
    52    lon2 = glamf[dernierxf, 0] 
     58   lon1 = glamv[firstxv, 0] 
     59   lon2 = glamf[lastxf, 0] 
    5360 
    5461; cas sur la taille du tableau et application  
     
    6067            taille[1] eq nxf and taille[2] eq nyf: 
    6168            taille[1] eq jpi and taille[2] eq jpj: $ 
    62              res=res[premierxf:dernierxf, premieryf:dernieryf] 
     69             res=res[firstxf:lastxf, firstyf:lastyf] 
    6370            else: $ 
    6471             return, report('Probleme d''adequation entre les tailles du domaine et de la boite.') 
    6572         endcase 
    66          mask = (fmask())[premierxf:dernierxf, premieryf:dernieryf, 0] 
     73         mask = (fmask())[firstxf:lastxf, firstyf:lastyf, 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 nxf EQ jpi) then res[0, *] = !values.f_nan 
    71          mask = (vmask())[premierxf:dernierxf, premieryf:dernieryf, 0] 
     77         if NOT (keyword_set(key_periodic) AND nxf EQ jpi) then res[0, *] = !values.f_nan 
     78         mask = (vmask())[firstxf:lastxf, firstyf:lastyf, 0] 
    7279         terre = where(mask EQ 0)  
    7380         IF terre[0] NE -1 THEN res[terre] = valmask 
     
    7784            taille[1] eq nxf and taille[2] eq nyf AND taille[3] EQ nzt: 
    7885            taille[1] eq nxf and taille[2] eq nyf AND taille[3] EQ jpk: $ 
    79              res=res[*, *, premierzt:dernierzt] 
     86             res=res[*, *, firstzt:lastzt] 
    8087            taille[1] eq nxf and taille[2] eq nyf AND taille[3] EQ jpt: 
    8188            taille[1] eq jpi and taille[2] eq jpj AND taille[3] EQ jpk: $ 
    82              res=res[premierxf:dernierxf, premieryf:dernieryf, premierzt:dernierzt] 
     89             res=res[firstxf:lastxf, firstyf:lastyf, firstzt:lastzt] 
    8390            taille[1] eq jpi and taille[2] eq jpj AND taille[3] EQ jpt: $ 
    84              res=res[premierxf:dernierxf, premieryf:dernieryf, *] 
     91             res=res[firstxf:lastxf, firstyf:lastyf, *] 
    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 = (fmask())[premierxf:dernierxf, premieryf:dernieryf, dernierzt*(nzt NE jpk)] 
     96            mask = (fmask())[firstxf:lastxf, firstyf:lastyf, lastzt*(nzt NE jpk)] 
    9097            mask = temporary(mask[*])#replicate(1, jpt) 
    9198            mask = reform(mask, nxf, nyf, jpt, /over) 
    92          ENDIF ELSE mask = (fmask())[premierxf:dernierxf, premieryf:dernieryf, premierzt:dernierzt] 
     99         ENDIF ELSE mask = (fmask())[firstxf:lastxf, firstyf:lastyf, 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 nxf EQ jpi) then res[0, *, *] = !values.f_nan 
     103         if NOT (keyword_set(key_periodic) AND nxf EQ jpi) then res[0, *, *] = !values.f_nan 
    97104         if taille[3] EQ jpt then BEGIN 
    98             mask = tmask[premierxf:dernierxf, premieryf:dernieryf, dernierzt*(nzt NE jpk)] 
     105            mask = tmask[firstxf:lastxf, firstyf:lastyf, lastzt*(nzt NE jpk)] 
    99106            mask = temporary(mask[*])#replicate(1, jpt) 
    100107            mask = reform(mask, nxf, nyf, jpt, /over) 
    101          ENDIF ELSE mask = (vmask())[premierxf:dernierxf, premieryf:dernieryf, premierzt:dernierzt] 
     108         ENDIF ELSE mask = (vmask())[firstxf:lastxf, firstyf:lastyf, firstzt:lastzt] 
    102109         terre = where(temporary(mask) EQ 0)  
    103110         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
     
    107114            taille[1] eq nxf and taille[2] eq nyf AND taille[3] EQ nzt AND taille[4] EQ jpt: 
    108115            taille[1] eq nxf and taille[2] eq nyf 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[premierxf:dernierxf, premieryf:dernieryf, premierzt:dernierzt, *] 
     118             res=res[firstxf:lastxf, firstyf:lastyf, firstzt:lastzt, *] 
    112119            else: $ 
    113120             return, report('Probleme d''adequation entre les tailles du domaine et de la boite.') 
    114121         ENDCASE 
    115          mask = (fmask())[premierxf:dernierxf, premieryf:dernieryf, premierzt:dernierzt] 
     122         mask = (fmask())[firstxf:lastxf, firstyf:lastyf, firstzt:lastzt] 
    116123         mask = temporary(mask[*])#replicate(1, jpt) 
    117124         mask = reform(mask, nxf, nyf, 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 nxf EQ jpi) then res[0, *, *, *] = !values.f_nan 
    122          mask = (vmask())[premierxf:dernierxf, premieryf:dernieryf, premierzt:dernierzt] 
     128         if NOT (keyword_set(key_periodic) AND nxf EQ jpi) then res[0, *, *, *] = !values.f_nan 
     129         mask = (vmask())[firstxf:lastxf, firstyf:lastyf, firstzt:lastzt] 
    123130         mask = temporary(mask[*])#replicate(1, jpt) 
    124131         mask = reform(mask, nxf, nyf, 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.