Autoplot Application (20170521a)

Dinosaur from an interesting article: https://www.autodeskresearch.com/publications/samestats . ASCII table reader with its "where" switch is used.
Autoplot attempts to allow plotting of data from many data sources, including remote CDF files and OpenDAP servers.
Datasets are identified with URIs, and by the URI's extension, data are loaded into the internal data model. Data are then
displayed by guessing the rendering method and axis ranges to provide a reasonable, useful view of the data. Data can then
be additionally processed with other operations like smooth and FFT, and Jython scripting provides a capable programming environment.
This is the Autoplot2016a branch. This is an update to the production version containing bugfixes and minor new features.
Java 7 is now required. Java 8 will be required sometime soon.
Single-jar version, autoplot.jar, can be run without network access and from the command line.
Mac DMG Release is available.
Bugfixes (2017-05-19 r20815):
- allow different credentials to be used on different paths on the same server.
- 1818: getTimeRange( 1990/12/01, 1month ) would fail the pngwalktool because 1990/13/01 was not normalized (via carry).
- 1833: catch bad path when "orbit:file:///" used where "file:///" should have been used. There was code to trap this exception, but the wrong exception type was thrown. Thanks, Ivar!
- 1698: proper support for bundles in qstreams.
- rte_0110509841: old events scheme check (time,deltaTime,color,str) was broken since last production release v2016a_15. Thanks, Chris!
- 1831: hint that something is wrong when URI is rejected in add plot dialog. Thanks, Ivar!
- 1829: check for null when adapting das2streams.
- file:///.../*.png used in PNG Walk tool would clip off the first two characters of each filename's label.
- rte_0424767770: new code didn't account for path where walkImageSequence would be null. Thanks, Ivar!
- DataPoint comparison of non-time values made no sense, causing some points to disappear.
- 1818: pngwalk of Omni DST vs KP skips each December.
- 0656: cancel press in load example script dialog is correctly handled.
- 0595: sftp is now recognized, fixing Jython listDirectory command.
- Data Point Recorder sorting is disabled while data is loaded from a file, for speed.
- 1825: Data Point Recorder drops points when x-axis is not a time axis.
- 1821,0656: load example script dialog cancel didn't work.
- 1697: A second path resulting in waiting threads when FileSystem simultaneously created by multiple threads. Thanks, Seth!
- 1824: -1e30 is treated as fill in DataPointRecorder, to support files from old Das2 applications. Thanks, Darrelle!
- in das2stream reader, buffer capacity now grows on data packet reads as well as header packets. Thanks, Chris!
- '$Y$m$(d,span=4)/P4D' counts off days consistently. Thanks, Masafumi!
- --enableResponseMonitor command line switch function restored, added to AutoplotServlet. Thanks, Seth!
- jnlp needed Codebase attribute to run without complaint.
- TimeParser ISO8601-deriving code would fail because it dropped the Z.
- DataPointRecorder support for old digitizing files is improved.
- 1823: PNGWalkTool QC needs, including show just QC records. Thanks, Kris and Craig!
- small round of findbugs cleanup.
- select time by orbit would pick previous orbit if it overlapped slightly.
- 1820: occasional failures of test033, double checking for valid ticks.
- 1723: Wind waves data then dbAboveBackground showed where VALID_MIN was improperly propogated. Thanks, Masafumi!
- 1559: trim getDataSet calls to the time range requested, when the time axis is not visible.
- debug printing for 1814 accidentally left in production release.
Older Bugfixes:
- 1723: Wind waves data then dsAboveBackground shows where VALID_MIN was incorrectly copied over to result.
- 1814: test002_022 shows how loading %{CONTEXT} is unreliable. Various experiments appear to improve results.
- trivial findbugs cleanup.
- rte_0066894792: code to enter mash-up dialog didn't consider all cases resulting in NullPointerException. Thanks, me!
- rte_0110509840: exception where tweaked code didn't consider all cases for CDF X,Y,Z plot. Thanks, jjm390!
- 1815: breaks in orbitPlot were not drawn properly.
- Quiet noisy CDF warnings, which endusers don't see and CDF developers can adjust log levels to see.
- 1814: test002_022 shows mismanagement of %{CONTEXT} property in one branch.
- orbitRenderer setTickVDescriptor is respected now.
- .html extension claimed for use for HTML tables. As OpenDap is not used often and it was reserved to avoid confusion with it.
- Html export format restored after it was accidentally removed from available options.
- Digital renderer properly handles formats like "%d mph" and rank 0 rendering (where location is not known) works more like rank 1, using format and align.
- PDS-PPI node now gets data from http://pds-ppi.igpp.ucla.edu.
- correctly handle pngwalk URIs with "?timerange=Apr+2017"
- pitch angle distribution renderer finally uses curved pieces to draw, instead of trapezoids. Thanks, Ed!
- reduce verbosity of "uh-oh, span used on ordinal like month, day" warning. I don't see that there's a problem with this.
- 1809: kludge in proper handling of signature for addMouseModule
- special handling of parseDecimal("NaN").
- improve handling of space and umlaut (¨) in pngwalk file names.
- rte_0746124665: George saw path that was resulted in NullPointerException.
- one-arg join(ds) was deleted at some point, and is now replaced. Thanks, George!
- HAPI export supports rank 3.
- bundle(ds1,ds2) correctly handles DEPEND_1 and DEPEND_2 when bundled datasets have equivalent values.
- correction to ascii formatting when microsecond resolution is used. Thanks, Kristoff!
- slice2 and slice3 preserve NAME property.
- bugfix: LocalFileObject write capability didn't check to see if it could create a file, with the QC stuff in PNGWalk.
- 1804: trim off-by-one error corrected.
- 1802: checkIsotropic could trigger before axes were sized with AutoplotServer.
Features:
- DataPointRecorder turn off the sorted property as data is loaded, since it is too slow and presumably sorted already.
- display data mouse module keeps track of which renderer was selected, to facilitate comparisons.
- Add action to write PNGWalk as an animated gif.
- Add tools menu to PNGWalkTool, and action to write PNGWalk to PDF file.
- Add handling for yscans without yTags at all, and those that use yTagInterval as well. Thanks, Chris!
- 573: pngwalk tool now supports zoom on image.
- isEventsList now requires that each endTime be greater than or equal to startTime, and is used in guessRenderType, to support (X,Y)->Z where Z can be ordinal data.
- ASCII table reader is able to read in (X,Y)->Z where Z can be ordinal data.
- ASCII table reader where now has matches clause, for example where=sc.matches('.*A')
- Editor panel has switch to turn off arrow annotations for tab, and to allow tab-is-4-spaces instead of completions popup.
- extent filter (which returns min,max of a dataset) added to filters.
Less recent features:
- DDataSet family of QDataSet implementations implement trim(0,n) by returning self, avoiding copy.
- add reduceBins which removes a bins dimension with the linear or geometric average.
- subtract filter added to remove confusion with diff, which is finite differences. (Bill)
- Jython editor now allows tabs to be used instead of spaces, when "tabIsCompletion" is false.
- Jython editor now shows tabs, which are syntactically different than spaces.
- 1787: add text field so that orbit number can be entered directly.
- Introduce "gridIrregularY" to replace old LGrid.rebin codes.
- TimeRangeEditor keeps track of last spacecraft used for orbits.
- JUNO Perijove intervals added.
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
- CDAWeb data server (vap+cdaweb:)
- das2servers (vap+das2server:)
- QStreams (.qds), QDataSet on a das2Stream
- Plasma Wave Group das2 Server
- NetCDF files (.nc,.ncml)
- HDF5 files (.h5,.hdf5)
- DODs servers (.dds)
- Cluster Exchange Format files (.cef)
- Fits Format Files
- Images (.jpg, .png, .gif)
- Wav audio files (.wav)
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.