Commit 3da6bd95 authored by Carl Schreck's avatar Carl Schreck
Browse files

Automated Nightly Commit - Wed Jun 22 00:00:14 EDT 2016

parent ce206de4
/home/carl/tools/filter/wk99_calc.ncl
\ No newline at end of file
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;;
; wk99.ncl
; Carl Schreck (carl.schreck@noaa.gov)
; August 2010
; Requires "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
;;---------------------------------------------------------------------------;;
; Description: Draw a Wheeler & Kiladis (1999)-style spectrum
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<;;
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;;
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
;load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
;load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
;load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/diagnostics_cam.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/cd_string.ncl"
load "~/lib/kf_window.ncl"
load "~/lib/kf_curves.ncl"
load "~/lib/kf_outline.ncl"
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
function plotOne( \\
io_wks[1] : graphic, \\
i_sensor[1] : string, \\
i_plotNumber[1] : integer, \\
i_fontHeightF[1] : numeric \\
)
begin
path = "/home/carl/data/olr/compare/" + i_sensor + "/olr.anom.nc"
window = 96 * 2
overlap = 64 * 2
print( "Reading the data..." )
fin = addfile( path, "r" )
timeUnits = fin->time@units
print( (/ timeUnits /) )
data = short2flt( fin->olr(:,{-15:15},:) )
obsPerDay = 1
; data@_FillValue = 0
printVarSummary( data )
printMinMax( data, True )
if( any( ismissing(data) ) ) then
print_clock( "WARNING: Setting missing data to zero" )
data = where( ismissing(data), 0, data )
end if
; Find north and south
north = data(time|:,{lat|0:},lon|:)
south = data(time|:,{lat|:0:-1},lon|:)
sym = ( north(:,0:,:) + south(:,0:,:) ) / 2
anti = ( north(:,0:,:) - south(:,0:,:) ) / 2
copy_VarMeta( north(:,0:,:), sym )
copy_VarMeta( north(:,0:,:), anti )
print( (/ sym&lat(1) /) )
symPower = kf_window( sym(lat|1,lon|:,time|:), obsPerDay, window, overlap )
antiPower = kf_window( anti(lat|1,lon|:,time|:), obsPerDay, window, overlap )
do y = 2, dimsizes(sym&lat)-1
print( (/ sym&lat(y) /) )
symPower = symPower + kf_window( sym(lat|y,lon|:,time|:), \\
obsPerDay, window, overlap )
antiPower = antiPower + kf_window( anti(lat|y,lon|:,time|:), \\
obsPerDay, window, overlap )
end do
symPower = symPower / dimsizes(sym&lat)
antiPower = antiPower / dimsizes(anti&lat)
; Make the power for the time-mean to be missing
; Otherwise it would overshadow the actual signal
symPower@_FillValue = -999.
antiPower@_FillValue = -999.
; symPower(freq|0,k|:) = 0
; antiPower(freq|0,k|:) = 0
; Calculate the background
background = ( symPower + antiPower ) / 2
copy_VarMeta( symPower, background )
background = where( ismissing(symPower).or.ismissing(antiPower), \\
background@_FillValue, background )
; smooth the background
; note that we ignore freq(0) because it's the powerful time-mean
do i = 1, 40
background(freq|1:,k|:) = wgt_runave( background(freq|1:,k|:), \\
(/ 0.25, 0.5, 0.25 /), 1 )
background(k|:,freq|1:) = wgt_runave( background(k|:,freq|1:), \\
(/ 0.25, 0.5, 0.25 /), 1 )
end do
symPower = symPower / background
antiPower = antiPower / background
print( "YO! " + num(ismissing(symPower) ))
print( "YO! " + num(ismissing(antiPower) ))
print( "YO! " + num(ismissing(background) ))
; allPower = allPower / nWindows
; allPower@_FillValue = -999.
; allPower(freq|0,k|:) = allPower@_FillValue
; Customize base plot
res = True
res@gsnDraw = False
res@gsnFrame = False
res@gsnLeftString = ""
res@gsnRightString = ""
; ...standardize the font sizes
res@cnInfoLabelFontHeightF = i_fontHeightF
res@gsnLeftStringFontHeightF = i_fontHeightF
res@gsnRightStringFontHeightF = i_fontHeightF
res@lbTitleFontHeightF = i_fontHeightF
res@lbLabelFontHeightF = i_fontHeightF
res@tiMainFontHeightF = i_fontHeightF * 1.3
res@tiYAxisFontHeightF = i_fontHeightF
res@tiXAxisFontHeightF = i_fontHeightF
res@tmXBLabelFontHeightF = i_fontHeightF
res@tmYLLabelFontHeightF = i_fontHeightF
; ...shading resources
res@cnFillOn = True
; res@cnFillMode = "AreaFill"
res@cnRasterSmoothingOn = True
res@cnMonoFillColor = False
res@cnInfoLabelOn = False
res@cnLineLabelsOn = False
res@cnLinesOn = True
res@cnLineColor = "gray"
res@cnMissingValFillPattern = "SolidFill"
res@cnMissingValFillColor = "gray"
; ...set the contour levels
res@cnLevelSelectionMode = "ManualLevels"
res@cnLevelSpacingF = .2
res@cnMinLevelValF = 1.0
res@cnMaxLevelValF = 2.4
res@gsnSpreadColors = True
res@gsnSpreadColorStart = 10
res@gsnSpreadColorEnd = 18
; ...labelbar resources
res@lbLabelBarOn = False
res@cnMissingValFillPattern = "SolidFill"
res@cnMissingValFillColor = "gray"
; set up the right axis for period
res@tmYUseLeft = False
res@tmYRLabelsOn = True
res@tmYROn = True
res@tmYRMode = "Explicit"
res@tmYRLabels = (/ 48, 20, 10, 6.67, 5, 4, 3.33, 2.86, 2.5, 2.22, 2, 1.82, 1.67, 1.54, 1.43, 1.33, 1.25 /)
res@tmYRValues = 1 / res@tmYRLabels
res@gsnLeftString = inttochar(97+i_plotNumber) + ") " + str_upper(i_sensor) + ": Anti-symmetric"
; res@tiMainString = "Anti-symmetric"
res@trYMinF = 0.0
res@trYMaxF = 0.5
res@trXMinF = -20
res@trXMaxF = 20
; res@trYMinF = 0.1
; res@trYMaxF = 0.3
; res@trXMinF = 10
; res@trXMaxF = 20
print( min( antiPower({freq|:},{k|-20:20}) ) + " " \\
+ max( antiPower({freq|:},{k|-20:20}) ) )
; res@tmYROn = False
res@tiYAxisString = "Frequency (CPD)"
res@tiYAxisSide = "Left"
plotA = gsn_csm_contour( io_wks, antiPower(freq|:,k|:), res )
res@gsnLeftString = inttochar(98+i_plotNumber) + ") " + str_upper(i_sensor) + ": Symmetric"
; res@tiMainString = "Symmetric"
print( min( symPower({freq|:.51},{k|-20:20}) ) + " " + max( symPower({freq|:.51},{k|-20:20}) ) )
; res@tmYROn = True
; res@tmYLOn = False
res@tiYAxisString = "Period (days)"
res@tiYAxisSide = "Right"
plotB = gsn_csm_contour( io_wks, symPower(freq|:,k|:), res )
; add annotations
kf_curves( io_wks, plotA, 8, False, True )
kf_curves( io_wks, plotA, 90, False, True )
kf_curves( io_wks, plotB, 8, True, False )
kf_curves( io_wks, plotB, 90, True, False )
; add the gridlines
resLine = True
resLine@gsLineDashPattern = 2
plotA@line30A = gsn_add_polyline( io_wks, plotA, (/ -99, 99 /), 1./ (/ 30, 30 /), resLine )
plotA@line6A = gsn_add_polyline( io_wks, plotA, (/ -99, 99 /), 1./ (/ 6, 6 /), resLine )
plotA@line3A = gsn_add_polyline( io_wks, plotA, (/ -99, 99 /), 1./ (/ 3, 3 /), resLine )
plotA@line0A = gsn_add_polyline( io_wks, plotA, (/ 0, 0 /), (/ 0, 99 /), resLine )
plotB@line30B = gsn_add_polyline( io_wks, plotB, (/ -99, 99 /), 1./ (/ 30, 30 /), resLine )
plotB@line6B = gsn_add_polyline( io_wks, plotB, (/ -99, 99 /), 1./ (/ 6, 6 /), resLine )
plotB@line3B = gsn_add_polyline( io_wks, plotB, (/ -99, 99 /), 1./ (/ 3, 3 /), resLine )
plotB@line0B = gsn_add_polyline( io_wks, plotB, (/ 0, 0 /), (/ 0, 99 /), resLine )
; add the significant periods
resTx = True
resTx@txFontHeightF = 0.015
day30A = gsn_add_text( io_wks, plotA, "30 days", 17, .043, resTx )
day6A = gsn_add_text( io_wks, plotA, "6 days", 17, .176, resTx )
day3A = gsn_add_text( io_wks, plotA, "3 days", 17, .343, resTx )
day30B = gsn_add_text( io_wks, plotB, "30 days", 17, .043, resTx )
day6B = gsn_add_text( io_wks, plotB, "6 days", 17, .176, resTx )
day3B = gsn_add_text( io_wks, plotB, "3 days", 17, .343, resTx )
; add some other annotations....
boxRes = True
boxRes@gsnFrame = False
boxRes@gsnDraw = False
boxRes@xyLineColor = "magenta"
boxRes@xyLineThicknessF = 4
if( False ) then
xK06 = (/ -20, -20, -6, -6, -20 /)
yK06 = (/ 0.5, 0.3, 0.133, 0.333, 0.5 /)
k06A = gsn_csm_xy( io_wks, xK06, yK06, boxRes )
overlay( plotA, k06A )
k06B = gsn_csm_xy( io_wks, xK06, yK06, boxRes )
overlay( plotB, k06B )
end if
mis = -999
mis@_FillValue = -999
; Roundy & Frank (2004)
if( False ) then
kf_outline( io_wks, plotA, False, 2.5, 17, 1, 14, 8, 90, "Kelvin" )
kf_outline( io_wks, plotA, False, 30, 96, 0, 9, mis, mis, "None" )
kf_outline( io_wks, plotA, False, 3, 96, -10, -1, 8, 90, "MRG" )
kf_outline( io_wks, plotA, False, 2.5, 5, -20, -6, 90, mis, "MRG" )
kf_outline( io_wks, plotA, False, 9.7, 48, -14, -1, mis, mis, "None" )
kf_outline( io_wks, plotB, False, 2.5, 17, 1, 14, 8, 90, "Kelvin" )
kf_outline( io_wks, plotB, False, 30, 96, 0, 9, mis, mis, "None" )
kf_outline( io_wks, plotB, False, 3, 96, -10, -1, 8, 90, "MRG" )
kf_outline( io_wks, plotB, False, 2.5, 5, -20, -6, 90, mis, "MRG" )
kf_outline( io_wks, plotB, False, 9.7, 48, -14, -1, mis, mis, "None" )
end if
; Kiladis 2009 and others
if( True ) then
kfRes = True
; kfRes@xyLineColor = "red"
; kfRes@xyLineColor = "magenta"
; kfRes@xyDashPattern = 2
kfRes@xyLineThicknessF = 4
kfRes@xyLineColor = "blue"
kf_outline( io_wks, plotA, kfRes, 2.5, 17, 1, 14, 8, 90, "Kelvin" )
; kfRes@xyLineColor = "cyan"
; kf_outline( io_wks, plotA, kfRes, 2.5, 5, -20, -6, mis, mis, "None" )
kfRes@xyLineColor = "blue"
kf_outline( io_wks, plotA, kfRes, 30, 96, 0, 9, mis, mis, "None" )
; kfRes@xyLineColor = "red"
; kf_outline( io_wks, plotA, kfRes, 2.5, 10, -10, -1, 8, 90, "MRG" )
kfRes@xyLineColor = "blue"
kf_outline( io_wks, plotA, kfRes, 05, 72, -10, -1, mis, 90, "ER" )
kfRes@xyLineColor = "blue"
kf_outline( io_wks, plotB, kfRes, 2.5, 17, 1, 14, 8, 90, "Kelvin" )
; kfRes@xyLineColor = "cyan"
; kf_outline( io_wks, plotB, kfRes, 2.5, 5, -20, -6, mis, mis, "None" )
kfRes@xyLineColor = "blue"
kf_outline( io_wks, plotB, kfRes, 30, 96, 0, 9, mis, mis, "None" )
; kfRes@xyLineColor = "red"
; kf_outline( io_wks, plotB, kfRes, 2.5, 10, -10, -1, 8, 90, "MRG" )
kfRes@xyLineColor = "blue"
kf_outline( io_wks, plotB, kfRes, 05, 72, -10, -1, mis, 90, "ER" )
end if
; WK99-style
if( False ) then
kfRes = True
kfRes@xyLineColor = "palegreen"
kfRes@xyLineColor = "blue"
kfRes@xyLineThicknessF = 6
; kfRes@xyDashPattern = 16
kf_outline( io_wks, plotA, kfRes, 2.5, 30, 1, 14, 8, 90, "Kelvin" )
kf_outline( io_wks, plotA, kfRes, 30, 96, 1, 5, mis, mis, "None" )
kf_outline( io_wks, plotA, kfRes, 2.5, 10, -10, -1, 8, 90, "MRG" )
kf_outline( io_wks, plotA, kfRes, 2.5, 10, -18,-10, 90, mis, "MRG" )
kf_outline( io_wks, plotA, kfRes, 05, 48, -10, -1, 8, 90, "ER" )
kf_outline( io_wks, plotB, kfRes, 2.5, 30, 1, 14, 8, 90, "Kelvin" )
kf_outline( io_wks, plotB, kfRes, 30, 96, 1, 5, mis, mis, "None" )
kf_outline( io_wks, plotB, kfRes, 2.5, 10, -10, -1, 8, 90, "MRG" )
kf_outline( io_wks, plotB, kfRes, 2.5, 10, -18,-10, 90, mis, "MRG" )
kf_outline( io_wks, plotB, kfRes, 05, 48, -10, -1, 8, 90, "ER" )
end if
resTx@txFontHeightF = 0.020
; resTx@txFont = "helvetica-bold"
resTx@txPerimOn = True
resTx@txBackgroundFillColor = "background"
resTx@txPerimThicknessF = 0
resTx@txPerimSpaceF = 0.2
mjoLabA = gsn_add_text( io_wks, plotA, "MJO", 7, 0.05, resTx )
kelvinLabA = gsn_add_text( io_wks, plotA, "Kelvin", 9, 0.3, resTx )
mrgLabA = gsn_add_text( io_wks, plotA, "MRG", -4, 0.195, resTx )
tdLabA = gsn_add_text( io_wks, plotA, "TD", -14, 0.30, resTx )
erLabA = gsn_add_text( io_wks, plotA, "ER", -7, 0.06, resTx )
mjoLabB = gsn_add_text( io_wks, plotB, "MJO", 7, 0.05, resTx )
kelvinLabB = gsn_add_text( io_wks, plotB, "Kelvin", 9, 0.3, resTx )
; mrgLabB = gsn_add_text( io_wks, plotB, "MRG", -4, 0.195, resTx )
tdLabB = gsn_add_text( io_wks, plotB, "TD", -14, 0.30, resTx )
erLabB = gsn_add_text( io_wks, plotB, "ER", -7, 0.06, resTx )
retVal = (/ plotA, plotB /)
copy_VarAtts( plotA, retVal )
copy_VarAtts( plotB, retVal )
return(retVal)
end ; plotOne
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
begin
plotType = "png"
plotName = "figures/spectra"
plotRes = 300
fontHeightF = 0.03
if( ( plotType.eq."png" ).or.( plotType.eq."gif" ) ) then
plotTypeLocal = "eps"
else
plotTypeLocal = plotType
end if
panRes = True
panRes@gsnPanelRight = 0.97
panRes@gsnPanelBottom = 0.05
panRes@gsnPanelYWhiteSpacePercent = 5
panRes@gsnPanelLabelBar = True
panRes@lbTitlePosition = "Right"
panRes@lbTitleDirection = "Across"
panRes@lbOrientation = "Horizontal"
panRes@lbLabelAutoStride = True
panRes@lbTitleFontHeightF = fontHeightF * 0.5
panRes@lbLabelFontHeightF = fontHeightF * 0.5
panRes@pmLabelBarOrthogonalPosF = fontHeightF * 0
panRes@pmLabelBarHeightF = fontHeightF * 2
wks = gsn_open_wks( plotTypeLocal, plotName )
gsn_merge_colormaps( wks, "posneg_carl", "default" )
sensor = "hirs"
hirsPlots = plotOne( wks, sensor, 0, fontHeightF )
sensor = "avhrr"
avhrrPlots = plotOne( wks, sensor, 2, fontHeightF )
gsn_panel( wks, ndtooned( (/ hirsPlots, avhrrPlots /) ), (/ 3, 2 /), panRes )
delete(wks)
if( ( plotType.eq."png" ).or.( plotType.eq."gif" ) ) then
system( "convert -trim +repage -density " + plotRes + " " \\
+ plotName + ".eps " + plotName + "." + plotType )
system( "rm -f " + plotName + ".eps" )
end if
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; blank.ncl
; Carl Schreck (cjschrec@ncsu.edu)
; February 2016
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Description: Empty file to start NCL scripts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load "$CJS_NCL_LIB/lib.cjs_graphics.ncl"
load "$CJS_NCL_LIB/lib.array.ncl"
load "$CJS_NCL_LIB/lib.kf.ncl"
load "$CJS_NCL_LIB/print_clock.ncl"
begin ; main
print_clock( "Here we go!" )
; These are some parameters that could be useful to have up top
plotType = "png"
plotName = "figures/wk99_diff"
plotDpi = 200
fontHeightF = 0.02
print_clock( "Reading hirs" )
inPath = "/home/carl/data/olr/compare/hirs/olr.wk99.nc"
inFile = addfile( inPath, "r" )
hirsSymLog = inFile->symLogPower({-20:20},:)
hirsAntiLog = inFile->antiLogPower({-20:20},:)
hirsSymNorm = inFile->symNormPower({-20:20},:)
hirsAntiNorm = inFile->antiNormPower({-20:20},:)
print_clock( "Reading avhrr" )
inPath = "/home/carl/data/olr/compare/avhrr/olr.wk99.nc"
inFile = addfile( inPath, "r" )
avhrrSymLog = inFile->symLogPower({-20:20},:)
avhrrAntiLog = inFile->antiLogPower({-20:20},:)
avhrrSymNorm = inFile->symNormPower({-20:20},:)
avhrrAntiNorm = inFile->antiNormPower({-20:20},:)
diffSymLog = hirsSymLog - avhrrSymLog
copy_VarCoords( hirsSymLog, diffSymLog )
printMinMax( diffSymLog, True )
diffAntiLog = hirsAntiLog - avhrrAntiLog
copy_VarCoords( hirsAntiLog, diffAntiLog )
printMinMax( diffAntiLog, True )
diffSymNorm = hirsSymNorm - avhrrSymNorm
copy_VarCoords( hirsSymNorm, diffSymNorm )
printMinMax( diffSymNorm, True )
diffAntiNorm = hirsAntiNorm - avhrrAntiNorm
copy_VarCoords( hirsAntiNorm, diffAntiNorm )
printMinMax( diffAntiNorm, True )
print_clock( "Opening the workstation" )
; ...allows png or gif to work
if( isStrSubset( plotType, "png" ).or.isStrSubset( plotType, "gif" ) ) then
plotTypeLocal = "eps"
else
plotTypeLocal = plotType
end if
wks = gsn_open_wks( plotTypeLocal, plotName )
; Customize base plot
res = True
res@cnFillPalette = "CBR_coldhot"
res@cnLinesOn = False
; res@cnFillMode = "CellFill"
res@lbLabelBarOn := True
cntRes = True
cntRes@gsnLeftString = ""
cntRes@gsnRightString = ""
cntRes@gsnDraw = False
cntRes@gsnFrame = False
cntRes@cnInfoLabelOn = False
cntRes@gsnContourNegLineDashPattern = 0
cntRes@cnLinePalette = "gray" + ispan(70,10,1)
cntRes@cnMonoLineColor = False
cntRes@cnLineLabelsOn = True
cntRes@cnMaxLevelCount = 8
cntRes@cnLineLabelFontHeightF = 0.01
res@cnLevels = ispan( -5, 5, 1 ) * 0.02
res@gsnLeftString = "Log Anti-symmetric"
print_clock( res@gsnLeftString )
plotAntiLog = kf_draw( wks, diffAntiLog(freq|:,k|:), \
"None", False, True, res )
cjs_add_contours( wks, plotAntiLog, hirsAntiLog(freq|:,k|:), cntRes )
res@gsnLeftString = "Log Symmetric"
print_clock( res@gsnLeftString )
plotSymLog = kf_draw( wks, diffSymLog(freq|:,k|:), \
"None", True, False, res )
cjs_add_contours( wks, plotSymLog, hirsSymLog(freq|:,k|:), cntRes )
res@cnLevels = ispan( -5, 5, 1 ) * 0.05
cntRes@cnLevels = cspan( 1.0, 2.0, 0.2 )
res@gsnLeftString = "Normalized Anti-symmetric"
print_clock( res@gsnLeftString )
plotAntiNorm = kf_draw( wks, diffAntiNorm(freq|:,k|:), \
"None", False, True, res )
cjs_add_contours( wks, plotAntiNorm, hirsAntiNorm(freq|:,k|:), cntRes )
res@gsnLeftString = "Normalized Symmetric"
print_clock( res@gsnLeftString )
plotSymNorm = kf_draw( wks, diffSymNorm(freq|:,k|:), \
"None", True, False, res )
cjs_add_contours( wks, plotSymNorm, hirsSymNorm(freq|:,k|:), cntRes )
; Customize panel
panRes = True
panRes@gsnPanelYWhiteSpacePercent = 5
gsn_panel( wks, (/ plotAntiLog, plotSymLog, plotAntiNorm, plotSymNorm /), \
(/ 2, 2 /), panRes )
print_clock( "Convert the image, if necessary" )
delete(wks)
if( isStrSubset( plotType, "png" ).or.isStrSubset( plotType, "gif" ) ) then
system( "convert -trim -border 5x5 -bordercolor white " \
+ "+repage -density " + plotDpi + " " \\
+ plotName + ".eps " + plotName + "." + plotType )
if( .not.isStrSubset( plotType, "e" ) ) then
; system( "rm -f " + plotName + ".eps" )
end if
end if
print_clock( "Thank you, come again." )
end; main
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment