Changeset 117
- Timestamp:
- 07/08/08 16:21:07 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/procs/nc_read.pro
r111 r117 17 17 IF NOT keyword_set(TIME_1) THEN time_1 = 1 18 18 IF NOT keyword_set(TIME_2) THEN time_2 = time_1 19 IF debug_w THEN print, ' key_yreverse :', key_yreverse19 IF debug_w THEN print, ' Before read_ncdf, key_yreverse=', key_yreverse 20 20 ; 21 21 … … 66 66 IF debug_w THEN print, ' lastxt,lastyt,lastzt=', firstxt, firstyt, firstzt 67 67 IF debug_w THEN print, ' zinvar=', zinvar 68 IF debug_w THEN print, ' ixmindta,iymindta,izmindta =', ixmindta,iymindta,izmindta69 IF debug_w THEN print, ' ixminmesh,iyminmesh=', ixminmesh,iyminmesh70 IF debug_w THEN print, ' ixmaxmesh,iymaxmesh=', ixmaxmesh,iymaxmesh71 IF debug_w THEN print, ' izminmesh,izmaxmesh=', izminmesh,izmaxmesh72 68 IF debug_w THEN print, ' jpt=', jpt 73 69 IF debug_w THEN print, ' key_shift=', key_shift 74 IF debug_w THEN print, ' key_yreverse=',key_yreverse70 IF debug_w THEN print, ' After read_ncdf, key_yreverse=',key_yreverse 75 71 IF debug_w THEN print, ' ' 76 72 … … 93 89 94 90 ; replace NaN with valmask 95 96 91 idx_t = where (~finite(field.data)) 97 IF idx_t (0)NE -1 THEN field.data(idx_t) = valmask92 IF idx_t[0] NE -1 THEN field.data(idx_t) = valmask 98 93 99 94 ; 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 103 97 valmask = missing_value 104 ; ensure valmask is positive98 ; ensure valmask is positive 105 99 IF valmask LT 0 THEN BEGIN 106 100 print, ' *** Warning valmask is negative - changing sign: ', valmask 107 101 idx_t = where (field.data EQ valmask) 108 IF idx_t (0)NE -1 THEN field.data(idx_t) = -valmask102 IF idx_t[0] NE -1 THEN field.data(idx_t) = -valmask 109 103 valmask = -valmask 110 104 idx_t=0 ; free memory … … 113 107 114 108 ; if pseudo 3d mask, read mask file and set masked points to valmask 115 116 109 ; still to do 117 110 … … 123 116 ENDFOR 124 117 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)) 133 122 134 123 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_yreverse137 124 138 125 IF debug_w THEN print, ' ...EXIT nc_read'
Note: See TracChangeset
for help on using the changeset viewer.