[2] | 1 | ;----------------------------------------------- |
---|
| 2 | ; Define field plot attributes min/max/int/mult |
---|
| 3 | ; EG 25/2/99 |
---|
| 4 | ;----------------------------------------------- |
---|
| 5 | FUNCTION fld_pltint, var_name, plttyp, dimplot, hotyp |
---|
| 6 | |
---|
| 7 | @common |
---|
| 8 | @com_eg |
---|
| 9 | |
---|
| 10 | ; arguments var_name = variable name, |
---|
| 11 | ; plttyp = plot type |
---|
| 12 | ; dimplot = dimension of plot (1,2) |
---|
| 13 | ; outputs structure |
---|
| 14 | ; define variable plot attributes (contour intervals) |
---|
| 15 | |
---|
| 16 | fldintr = {name:'', int: 0.0, mult: 0.0, add: 0.0, unit: '', mid: 0.0} |
---|
| 17 | |
---|
| 18 | ; name of defaults files |
---|
| 19 | |
---|
| 20 | CASE plttyp of |
---|
| 21 | 'plt': file_iso = 'fld_glo_iso.def' |
---|
| 22 | 'pltz': file_iso = 'fld_glo_iso.def' |
---|
| 23 | 'pltt': file_iso = 'fld_glo_iso.def' |
---|
| 24 | ELSE: file_iso = 'fld_glo_iso.def' |
---|
| 25 | ENDCASE |
---|
| 26 | IF field.origin EQ 'diff' THEN file_iso = 'fld_zoo_iso.def' |
---|
| 27 | |
---|
[19] | 28 | IF debug_w THEN print, ' field.origin in fld_pltint: ', field.origin |
---|
[2] | 29 | |
---|
| 30 | print,' ' |
---|
| 31 | print,' Reading iso/mult of ',var_name,' from : ', file_iso |
---|
| 32 | |
---|
| 33 | spawn, 'grep -i "\ '+var_name+' " '+hom_def+file_iso, line |
---|
| 34 | line = strcompress(strtrim(line[0], 2)) |
---|
| 35 | length = strlen(line) |
---|
[31] | 36 | |
---|
[2] | 37 | IF length EQ 0 THEN BEGIN |
---|
| 38 | |
---|
| 39 | print, ' *** field_pltint : no iso/mult for field ', var_name, $ |
---|
| 40 | ' in file ', file_iso |
---|
| 41 | fldintr.int = !VALUES.F_NAN |
---|
| 42 | fldintr.mult = 1.0 |
---|
| 43 | fldintr.add = 0.0 |
---|
| 44 | fldintr.unit = '' |
---|
| 45 | fldintr.mid = 0.0 |
---|
| 46 | |
---|
[63] | 47 | ENDIF ELSE BEGIN |
---|
| 48 | argvar = strsplit(line, ' ', /EXTRACT) |
---|
[2] | 49 | IF strmid(argvar[1], 0, 1) EQ '@' THEN BEGIN |
---|
| 50 | ; get info from other variable |
---|
| 51 | friend_name = strmid(argvar[1], 1, strlen(argvar[1])-1) |
---|
| 52 | print, ' -> linked to ', friend_name |
---|
| 53 | fldintr = fld_pltint(friend_name, plttyp, dimplot, hotyp) |
---|
| 54 | ENDIF ELSE BEGIN |
---|
| 55 | fldintr.int = float(argvar[3]) |
---|
| 56 | ; separation for iso =0 if difference |
---|
| 57 | ; plot |
---|
| 58 | CASE field.origin OF |
---|
| 59 | 'diff': BEGIN |
---|
| 60 | fldintr.mid = 0. |
---|
| 61 | fldatt.max = fldatt.dmax |
---|
| 62 | fldatt.min = -fldatt.dmax |
---|
| 63 | fldatt.homax = fldatt.max |
---|
| 64 | fldatt.homin = fldatt.min |
---|
| 65 | fldatt.max1d = fldatt.max |
---|
| 66 | fldatt.min1d = fldatt.min |
---|
| 67 | END |
---|
| 68 | ELSE: fldintr.mid = float(argvar[5]) |
---|
| 69 | ENDCASE |
---|
[31] | 70 | IF size(argvar, /N_ELEMENTS) eq 8 OR field.origin EQ 'div' THEN BEGIN ; OR field.origin EQ 'diff' |
---|
[2] | 71 | fldintr.mult = 1.0 |
---|
| 72 | fldintr.add = 0.0 |
---|
| 73 | fldintr.unit = '' |
---|
| 74 | ENDIF ELSE BEGIN |
---|
| 75 | fldintr.mult = float(argvar[8]) |
---|
| 76 | fldintr.add = float(argvar[9]) |
---|
| 77 | fldintr.unit = argvar[10] |
---|
| 78 | ENDELSE |
---|
| 79 | tempvar = SIZE(TEMPORARY(argvar)) |
---|
| 80 | ENDELSE |
---|
| 81 | ENDELSE |
---|
| 82 | |
---|
| 83 | fldintr.name = var_name |
---|
| 84 | |
---|
| 85 | return, fldintr |
---|
| 86 | END |
---|