source: trunk/procs/fld_pltext.pro @ 12

Last change on this file since 12 was 2, checked in by post_it, 17 years ago

Initial import from ~/POST_IT/

File size: 2.8 KB
Line 
1;-----------------------------------------------
2; Define field plot attributes min/max
3; EG 4/10/99
4;-----------------------------------------------
5FUNCTION fld_pltext,  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 (min/max)
15
16   fldextr = {name:'', assos:'', min: 0.0, max: 0.0, homin:0.0, homax:0.0, min1d:0.0, max1d:0.0, dmax:0.0}
17
18; name of defaults files
19
20   file_mmx = 'fld_glo_mmx.def'
21
22; min/max
23   print,' '
24   print,'    Reading minmax of ',var_name,' from : ', file_mmx
25
26   spawn, 'grep -i "\ '+var_name+' " '+hom_def+file_mmx, line
27   line = strcompress(strtrim(line[0], 2))
28   length = strlen(line)
29
30   IF length EQ 0 THEN BEGIN
31      print, '     *** no min & max found for field ', var_name, $
32       ' in file fld_glo_mmx.def'
33         fldextr.min = min(field.data(where(field.data NE valmask)))
34         fldextr.max = max(field.data(where(field.data NE valmask)))
35         fldextr.homin = fldextr.min
36         fldextr.homax = fldextr.max
37         fldextr.min1d = fldextr.min
38         fldextr.max1d = fldextr.max
39         fldextr.dmax = max([abs(fldextr.min), abs(fldextr.max)])
40         fldextr.assos = var_name
41   ENDIF ELSE BEGIN
42      argvar = str_sep(line, ' ')
43      IF strmid(argvar[1], 0, 1) EQ '@' THEN BEGIN
44         ; get info from other variable
45         friend_name = strmid(argvar[1], 1, strlen(argvar[1])-1)
46         print, '      -> linked to ', friend_name
47         fldextr = fld_pltext(friend_name, plttyp, dimplot, hotyp)
48         fldextr.assos = friend_name
49      ENDIF ELSE  BEGIN
50         fldextr.min = float(argvar[1])
51         fldextr.max = float(argvar[2])
52         fldextr.homin = !VALUES.F_NAN
53         fldextr.homax = !VALUES.F_NAN
54         fldextr.min1d = !VALUES.F_NAN
55         fldextr.max1d = !VALUES.F_NAN
56         fldextr.dmax = !VALUES.F_NAN
57         IF n_elements(argvar) GE 5 THEN BEGIN
58            fldextr.homin = float(argvar[3])
59            fldextr.homax = float(argvar[4])
60         ENDIF
61         IF n_elements(argvar) GE 7 THEN BEGIN
62            fldextr.min1d = float(argvar[5])
63            fldextr.max1d = float(argvar[6])
64         ENDIF
65         IF free_1d_minmax EQ 'yes' THEN BEGIN
66            IF hotyp EQ 't' THEN BEGIN
67               fldextr.homin = !VALUES.F_NAN
68               fldextr.homax = !VALUES.F_NAN
69            ENDIF
70            fldextr.min1d = !VALUES.F_NAN
71            fldextr.max1d = !VALUES.F_NAN
72         ENDIF 
73         IF n_elements(argvar) GE 8 THEN BEGIN
74            fldextr.dmax = float(argvar[7])
75         ENDIF
76         tempvar = SIZE(TEMPORARY(argvar))
77         fldextr.assos = var_name
78      ENDELSE
79   ENDELSE
80
81   fldextr.name = var_name
82
83   return, fldextr
84END
Note: See TracBrowser for help on using the repository browser.