Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / var / graphics / ncl / gen_be / gen_be_global_evecs.ncl
blobdfd284bc60dbaa042b18f6e0ea53c9fb86116e3e
1 ; ***********************************************
2 ; xy_1.ncl
3 ; ***********************************************
4 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
5 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
6 ;************************************************
7 begin
8    ;************************************************
9    ; read in data
10    ;************************************************
12    works = getenv("GRAPHIC_WORKS")
14    region = getenv("REGION")
15    dir    = getenv("BE_DIR")
16    nrow   = stringtointeger(getenv("NUM_LEVELS"))
18    ncol = 6
19    y = new((/nrow/),float)
20    x = new((/5,nrow/),float)
22    var1="psi"
23    filename1="fort.174"
25    var2="chi_u"
26    filename2="fort.178"
28    var3="t_u"
29    filename3 = "fort.182"
31    var4="rh"
32    filename4 = "fort.186"
34    data1=asciiread(dir+"/"+filename1,(/nrow,ncol/),"float")
35    data2=asciiread(dir+"/"+filename2,(/nrow,ncol/),"float")
36    data3=asciiread(dir+"/"+filename3,(/nrow,ncol/),"float")
37    data4=asciiread(dir+"/"+filename4,(/nrow,ncol/),"float")
39    ;************************************************
40    ; plotting parameters
41    ;************************************************
42    wks   = gsn_open_wks (works,"gen_be_global_evecs_"+region)  ; open workstation
44    res                  = True                     ; plot mods desired
45    res@trXMinF  =  -1.0                  ; min value on x-axis
46    res@trXMaxF  =  1.0                   ; max value on x-axis
47    res@trYMinF  =  1.0                   ; min value on y-axis
48    res@trYMaxF  =  nrow                  ; max value on y-axis
49    res@tiXAxisString   = "Eigenvector"                  ; Label for the X axis
50    res@tiYAxisString   = "Model Level"             ; Label for the Y axis
51    res@xyLineThicknesses = (/4.0,4.0,4.0,4.0/)             ; make 2nd lines thicker
52    res@xyLineColors      = (/"black","red","blue","green","purple"/)          ; change line color
53    res@xyDashPatterns    = (/0,1,2,3,4/)                         ; choose dash patterns
54    res@tiMainFont      = "Helvetica"               ; Font for title
55    res@tiXAxisFont     = "Helvetica"               ; Font for X axis label
56    res@tiYAxisFont     = "Helvetica"               ; Font for Y axis label
57    res@xyMarkLineModes = (/"MarkLines","MarkLines","MarkLines","MarkLines","MarkLines","MarkLines"/)
58    res@xyMarkers       = (/1,2,3,4,5/)                 ; (none, dot, asterisk)
59    res@xyMarkerColors   = res@xyLineColors         ; Marker colors
60    res@xyMarkerSizeF   = 0.02                      ; Marker size (default is 0.01)
61    res@tiXAxisFontHeightF     = 0.03               ; Change the font size.
62    res@tiYAxisFontHeightF     = 0.03
63    ; res@xyLabelMode            = "Custom"    ; Label XY curves.
64    res@xyLineLabelFontHeightF = 0.03        ; Font size and color
65    res@xyLineLabelFontColor   = 2           ; for line labels
67    res@lgPerimOn              = False               ; turn off box around
68    res@lgLabelFontHeightF     = .02                 ; label font height
69    res@xyExplicitLegendLabels = (/"m=1","m=2","m=3","m=4","m=5"/)         ; create explicit labels
70    res@pmLegendDisplayMode    = "Always"            ; turn on legend
71    res@pmLegendSide           = "Bottom"               ; Change location of 
72    res@pmLegendParallelPosF   = 0.15                ; move units right
73    res@pmLegendOrthogonalPosF = -0.55                ; move units down
74    res@pmLegendWidthF         = 0.2                 ; Change width and
75    res@pmLegendHeightF        = 0.2                 ; height of legend.
77    plts                      = new (4,"graphic")
79    res@gsnDraw               = False            ; (a) do not draw
80    res@gsnFrame              = False            ; (b) do not advance 'frame'
82    y(:)   = data1(:,0)
83    x(0,:) = data1(:,1)
84    x(1,:) = data1(:,2)
85    x(2,:) = data1(:,3)
86    x(3,:) = data1(:,4)
87    x(4,:) = data1(:,5)
88    res@tiMainString     = var1         ; add title
89    plts(0) = gsn_csm_xy (wks,x,y,res) ; create plot
91    y(:)   = data2(:,0)
92    x(0,:) = data2(:,1)
93    x(1,:) = data2(:,2)
94    x(2,:) = data2(:,3)
95    x(3,:) = data2(:,4)
96    x(4,:) = data2(:,5)
97    res@tiMainString     = var2         ; add title
98    plts(1) = gsn_csm_xy (wks,x,y,res) ; create plot
100    y(:)   = data3(:,0)
101    x(0,:) = data3(:,1)
102    x(1,:) = data3(:,2)
103    x(2,:) = data3(:,3)
104    x(3,:) = data3(:,4)
105    x(4,:) = data3(:,5)
106    res@tiMainString     = var3         ; add title
107    plts(2) = gsn_csm_xy (wks,x,y,res) ; create plot
109    y(:)   = data4(:,0)
110    x(0,:) = data4(:,1)
111    x(1,:) = data4(:,2)
112    x(2,:) = data4(:,3)
113    x(3,:) = data4(:,4)
114    x(4,:) = data4(:,5)
115    res@tiMainString     = var4         ; add title
116    plts(3) = gsn_csm_xy (wks,x,y,res) ; create plot
118    ;************************************************
119    ; create panel: panel plots have their own set of resources
120    ;************************************************
121     resP                  = True                   ; modify the panel plot
122    ;  resP@txString         = directory
123    ; resP@gsnMaximize      = True                   ; maximize panel area
124    resP@gsnPanelRowSpec  = True                   ; specify 1 top, 2 lower level
125    gsn_panel(wks,plts,(/2,2/),resP)               ; now draw as one plot