Changeset 117


Ignore:
Timestamp:
07/08/08 16:21:07 (16 years ago)
Author:
kolasinski
Message:

clean nc_read routine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/procs/nc_read.pro

    r111 r117  
    1717   IF NOT keyword_set(TIME_1) THEN time_1 =  1 
    1818   IF NOT keyword_set(TIME_2) THEN time_2 =  time_1 
    19    IF debug_w THEN print, '    key_yreverse : ', key_yreverse   
     19   IF debug_w THEN print, '  Before read_ncdf,  key_yreverse=', key_yreverse   
    2020; 
    2121 
     
    6666   IF debug_w THEN print,  '    lastxt,lastyt,lastzt=', firstxt, firstyt, firstzt    
    6767   IF debug_w THEN print,  '    zinvar=', zinvar 
    68    IF debug_w THEN print, '     ixmindta,iymindta,izmindta  =', ixmindta,iymindta,izmindta 
    69    IF debug_w THEN print, '     ixminmesh,iyminmesh=', ixminmesh,iyminmesh 
    70    IF debug_w THEN print, '     ixmaxmesh,iymaxmesh=', ixmaxmesh,iymaxmesh  
    71    IF debug_w THEN print, '     izminmesh,izmaxmesh=', izminmesh,izmaxmesh  
    7268   IF debug_w THEN print, '     jpt=', jpt 
    7369   IF debug_w THEN print, '     key_shift=', key_shift 
    74    IF debug_w THEN print, '     key_yreverse=',key_yreverse  
     70   IF debug_w THEN print, '     After read_ncdf, key_yreverse=',key_yreverse  
    7571   IF debug_w THEN print, '     ' 
    7672    
     
    9389 
    9490; replace NaN with valmask 
    95  
    9691   idx_t = where (~finite(field.data)) 
    97    IF idx_t(0) NE -1 THEN field.data(idx_t) = valmask 
     92   IF idx_t[0] NE -1 THEN field.data(idx_t) = valmask 
    9893 
    9994; get valmask (might need valmask = float(string(valmask)) 
    100  
    101 ; valmask = 1.e20 
    102    IF size(missing_value,  /TYPE) EQ 4 OR size(missing_value,  /TYPE) EQ 5 THEN BEGIN 
     95   valmask = 1.e20 
     96   IF size(missing_value, /TYPE) EQ 4 OR size(missing_value, /TYPE) EQ 5 THEN BEGIN 
    10397      valmask = missing_value 
    104 ; ensure valmask is positive 
     98      ; ensure valmask is positive 
    10599      IF valmask LT 0 THEN BEGIN 
    106100         print, '      *** Warning valmask is negative - changing sign: ', valmask 
    107101         idx_t = where (field.data EQ valmask) 
    108          IF idx_t(0) NE -1 THEN field.data(idx_t) = -valmask 
     102         IF idx_t[0] NE -1 THEN field.data(idx_t) = -valmask 
    109103         valmask = -valmask 
    110104         idx_t=0                ; free memory 
     
    113107 
    114108; if pseudo 3d mask, read mask file and set masked points to valmask 
    115  
    116109; still to do 
    117110 
     
    123116   ENDFOR   
    124117 
    125    index_test = (where (field.data EQ valmask)) 
    126    IF index_test(0) NE -1 THEN BEGIN  
    127       minf = min(field.data(where (field.data NE valmask))) 
    128       maxf = max(field.data(where (field.data NE valmask))) 
    129    ENDIF ELSE BEGIN  
    130       minf =  min(field.data) 
    131       maxf =  max(field.data) 
    132    ENDELSE  
     118   idx_valmsk = (where (field.data EQ valmask)) 
     119   idx_novalmsk = (where (field.data NE valmask)) 
     120   minf = idx_valmsk[0] EQ -1 ? min(field.data) : min(field.data(idx_novalmsk)) 
     121   maxf = idx_valmsk[0] EQ -1 ? max(field.data) : max(field.data(idx_novalmsk)) 
    133122 
    134123   print, '      = ',field.legend, '    [min/max = ',minf , maxf,'  ', field.units,' - masked values = ',valmask, chardim, ']' 
    135  
    136    IF keyword_set(key_yreverse) THEN print, '    key_yreverse active : ',  key_yreverse 
    137124 
    138125   IF debug_w THEN print,  '  ...EXIT nc_read' 
Note: See TracChangeset for help on using the changeset viewer.