Autoplot Application (v2012a_11)

Jemmy Automated GUI Testing found a bug that was introduced just a day ago. It will run through http://autoplot.org/developer.tests
Autoplot attempts to allow plotting of data from many data sources, including local files and OpenDAP servers.
Datasets are identified with URIs, and by the URI's extension a module is used to load the data into the internal data model. Data is then
displayed by guessing the rendering method and axis ranges to provide a reasonable, useful view of the data.
This is the Autoplot2012 branch. This is an update to the production version containing bugfixes and minor new features.
Single-jar version, autoplot.jar, can be run without network access and from the command line. Note CDFs are only supported
via the Java-based reader and Autoplot will attempt to use it when the C-based version is not available.
Bugfixes:
- fix 20 second delay in FTP downloads caused by recent changes that closed resources out-of-order
- rte 0808343081: null pointer exception from bookmarks (guessing at a fix)
- rte 1769726397: operations " " would cause RTE, now we trim before parsing
- rte 1882535572: cast exception in layout GUI, because non-components (Renderers) can be in the list
- multiple plots can be selected again by holding down control in the layout tab's layout GUI
- add "plot" button to file cache window, since I often hit okay when I meant right-click...plot
- orbitPlot is selectable in list of plots
- validRange override is properly loaded from vaps
- autoranging with colorScatter corrected, it was ignoring the z ranging.
- CDAWeb uses HTTP for file access instead of problemmatic FTP access
- bugfix: clean up code in CDAWeb where web transaction occurred on the event thread.
- clean up of FTP filesystem access, including setting timeout, properly handling cancel, and properly closing channels.
- 3534309: procedure shows bug in reset after make stack plot.
- rte 0066550323: don't show "local listing file (.listing) not found" when filesystem is offline.
- 3516161: clear old binding between timerange and plot.context.
- 3533882: reset of timerange when move plot caused by handler ignoring binding
- Jemmy testing showed that ScriptContext.waitUntilIdle() would not detect pending event from data set selector.
- Jemmy end-to-end testing at gui level.
- run button on script panel now uses a popup monitor instead of a monitor attached to the canvas.
- bugfix when remote http host is in accessible, runtime error prevented offline use.
- Profiling used to remove memory leaks. Now all CDF quantities can be plotted in one session.
- jsamp jar (Cluster Final Archive) added to Eclipse build script
- check for fill in Ops.interpolate( rank2ds, xx, yy )
- Chris pointed out problem where ytagWidth is used from the first table of a rank 3 join dataset. Now we use the maximum of all tables.
- $o and $(o properly detected in pngwalk tool
Older Bugfixes:
- match Nand's CDF library logic where getEffectiveRank skips over 1-element dimensions. vap+cdaweb:ds=C1_CP_FGM_SPIN&id=B_vec_xyz_gse__C1_CP_FGM_SPIN&timerange=2011-03-02
- non-varying dimensions were assumed to be the trailing dimension. vap+cdfj:ftp://cdaweb.gsfc.nasa.gov/pub/istp/canopus/asi/1999/cn_k0_asi_19991230_v01.cdf?Image
- PNGWalk Covers and Grid didn't update when the Quality status changed.
- remove extraneous call to load data in SimpleServlet
- progress monitor finished method wasn't called when script was interrupted.
- rte_0293612998: remove dead code that would occasionally trigger "java.lang.IllegalArgumentException: unable to find plot element for das renderer" message.
- CDFLeapSeconds.txt, file was never embedded in the jar files.
- Jython resourceURI can point at HTML file. Before the new warning would pop up.
- allow fractional days in getTimeDatum(Y,m,d,H,M,S,N) function
- URI drop target moved to allow Applet to compile again.
- cleanup with das2 server and TCA labeling
- findex function allows repeat values in monotonic dataset.
- FileStorageModel wouldn't return representative file from $Y/$Y$m$d.dat if the last $Y was empty.
- TCA axis annotations are loaded asynchronously. Before they were loaded on the event thread.
- Das2Server TCA labels corrected, they were not reported properly.
- code in TCAs assumed rank 0, causing failure of some TCAs to load.
- All children of off-line HTTP folder are automatically off-line. Before, each would have to time out.
- recent timeranges and operations corrected. After 20 entries, history would cause textfield to clear.
- delay construction of JColorChooser in color selector, on a Mac this could take 500ms!
- we need to trim preceeding _ and 0's in orbit names, to support orbit-based PNGWalks.
Features:
- Reduction.reduce2D puts on error bars to show the range of the data.
Less recent features:
- improvements to the LSpec routine, so inward and outward sweeps can be examined, use timetags to detect breaks
- add orbitPlot render type, which takes a bundle of time,x,y
- add example getParam(resourceURI) to the popup in Jython editor, add raise exception.
- add len and timetags to AudioSystemDataSource. This makes for a useful source of demo data.
- jython script server re-enabled in the autoplot servlet, along with new security restrictions
- 3528211: URIs maybe dropped above or below plot to insert. Enter editor when URI is rejected.
- script servlet reincarnated, now has allowhosts file and logs use.
- check parameters in time range specs, for example $(H,M) is now an exception.
- timerange selector uses droplist to allow selection of recently-entered timeranges
- likewise, operations selector keeps track of recent operations
Known issues:
This completes the feature set for the new production branch. No major features will be added before branching this version.
A production branch will be started in a couple of weeks, and the "Start Autoplot" link at the top of
autoplot.org will run this version.
Feedback on the function and quality of this release is greatly appreciated!
data is input from:
- ASCII files (.dat,.txt)
- CSV files (.csv)
- Binary files (.bin)
- CDF files(.cdf)
- Excel spread sheets (.xls)
- das2Streams (.d2s or .das2Stream)
- ViRBO's TSDS server
- QStreams (.qds), QDataSet on a das2Stream
- Plasma Wave Group das2 Server
- NetCDF files (.nc,.ncml)
- HDF5 files
- DODs servers (.dds)
- Cluster Exchange Format files (.cef)
- Fits Format Files
- Images (.jpg, .png, .gif)
- Wav audio files
This is not complete, and limitations include:
- Quantities of rank 3 dimensionality (e.g. flux(Time,Energy,pitch) are plotted by slicing.
- Quantities of rank 4 dimensionality (e.g. flux(Time,Energy,azimuth,sector) are plotted by slicing twice.
autoplot.org is the wiki website, and contains
more information than this launch page.