Autoplot Application (20190316a)
Parameters GUI-creating code is updated for the .jyds source, so that it using the same code as the space-efficient .jy version.
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 Autoplot2018a 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.
Run with 4GB of memory (64-bit Java only): autoplot_4GB.jnlp
Single-jar version, autoplot.jar, can be run without network access and from the command line.
Mac DMG Release is available.
Bugfixes (2019-03-15 r23440):
- 2132: aggregation with local files on Windows corrected when $Y/$m/$Y$m$d.cdf is used with network drive. Thanks, Seth!
- 2131: cdf editor does not say "0 records of CDF_FLOAT" when the CDAWeb source is used.
- 2131: datasource filters GUI is turned on whenever it is used. Thanks, Kris!
- 2131: reimplement where parent plotElement's component change implies that this child should change its component.
- 2126: review BASIC mode, where new components were added without considering this constraint.
- 2129: stacked histogram runtime error when there is no data and we are zoomed in.
- 2130: aggregate dialog doesn't replace the dataSetSelector address, which is confusing.
- 1762: two different codes were used to create GUIs for jy and jyds scripts, this is finally fixed, correcting a problem with .jyds layout as well.
- check for infinite min or max required that they both be infinite, now both must be finite.
- 2127: support CDF variables with trailing virtual fill records, when fill was never written. Improvements to the editor.
- 1310: experiment with code to check that a script has been run before.
- 1687: support documentation at completion "tp=TimePars<C>"
- rte_1199189909: reset zoom on image would result in runtime error. Thanks, Bob!
- 2111: Series renderer dataset reduction branch doesn't support sloppy units (rte_0195003323). Thanks, Kris!
- 2122: Autoplot appears off-screen on some windows configurations. Thanks, Scott!
- export to 2-channel wave with scale=T would clip because the shift was incorrect. Thanks, Larry!
- 0292: support $Y/$m/mms1_fgm_srvy_l2_$Y$m$d in automatic aggregation suggestions. Thanks, Kris!
- 2105: allow direct access of GitHub files, or other sites when the parent http folder listing results in error 400. Thanks, Bob!
- rte_1955990895: index out-of-bounds because display data assumed there was no depend0.
- PitchAngleDistribution renderer handles where data needs to transposed, newer autorange code was never tested.
- 2116: jython indexing bug where get and put don't both allow for list-of-indeces. Thanks, Ivar!
- rte_0000000000_20190219_072309: runtime error when completions for "import<C>"
- rank0 access of LongDataSetLongReadAccess didn't account for offset.
- rte_1613985001: thread sloppiness for reset resulted in RTE when plot was removed. (Local copy makes this code safe.)
- 2115: correction to inferBins and LanlNearestNeighbor when CADENCE is set artifically high to disable cadence checks. Thanks, Kris!
- 2114: improvements to NetCDF to support GOES files, including labels and units. Thanks, Allison!
- rte_2038937185: vapfile:... was loaded on the event thread, which could lock up the app.
- javadoc table now has "org.autoplot" and "org.das2" instead of just org, so that new documentation can be installed.
- 1687: jython completions had a case where a three-line command would loose its last line in refactoring to provide completions.
- 2105: Github support checks for tree/master and blob/master references, and corrects them to support cut-n-paste from browser.
- rte 0195003323: catch the runtime error when the units are not compatible in data reduction branch.
- 2076: command-line version of createPngWalk would loose the property which would suppress the message bubbles.
- 2109: Do a GCD check for small datasets when calculating cadence, after seeing cadence of 1.21 for IndexGenDataSet.
- browse trigger for .jy does filesystem completions when the carot is before the ".jy"
- 2110: rank 2 bundle of x,y,z data works again with typical spectrogram renderings.
- PWD wasn't sent into code for Jython completions, causing RTE which would prevent completions from working.
- 2109: series plot in "stairsteps" mode had cases where fill region didn't match line plot. Thanks, Chris!
- 2105: Github support didn't cache properly, so ETags are now supported.
- annotation position SSE's icon was incorrect.
- BindingSupport's unused toString Converter was not properly implemented, and would only go one way (toString, not parse).
- annotation editor dialog url/text toggle did not toggle back properly.
- Corrections to "fix layout" action. Thanks, Jon N. and Bill and others who have pointed out this bug over the years!
- URL in console was too easy to trigger, so now you need to hold shift while double-clicking.
- add "insert plot elements from clipboard" action, menu item was not added to make the feature available.
- Crosshair digitizer "all planes report" checkbox hadn't been tested. Now auxillary planes can be displayed.
- synchronize( data, [timetags] ) will synchronize timetags to data's timetags, to ease use with the mashup tool.
- log10 shows up property in the filter chain.
- downloadResourceAsTempFile also checks for redirects.
- code sites which open a URL connection should log the URL to das.url.
- das2stream units error with yValidMin would cause runtime error and prevent the streams use.
- pds-ppi handles redirects, and is now pointed at https site.
- 2100: export to xls, then try to load the xls.
- when aggregation looks for a representative file, use the first one with non-zero length.
- 2-D buckshotInterpolate rescales the data so that it is always order 1 (an assumption of ProGal library).
- SeriesRenderer red line indicating warning limit is now dashed so that data at the limit can be seen.
- 2096: connector when two slices are done, where CONTEXT_0 should be ignored and CONTEXT_1 should be used.
- ArrayDataSet can now take array of arrays as input, supporting Python NumPy to Autoplot bridge via jpype.
- monitor was reused in IDL bridge's APDataSet, causing warning about misuse of monitor.
- nLargest function finds the M largest elements as an O(N log M) operation.
- format and cadence added to dataset command.
- rfe670: DEPEND_2 can now be rank 3. collapse, slice1, and trim are supported.
- new class completions on "g.<C>" (a kludge) to support graphics in scripts.
- reset will check for strange axes, supporting where a script has replaces the yaxis with a DasLabelAxis. Thanks, Chris!
- improve html version of pngwalk export to write separate pages.
Less recent features:
- add LongWriteAccess, so that longs can be used to write TT2000 data without roundoff errors.
- 666: add bytarr, shortarr, intarr, replicate(int), and replicate(short)
- introduce AuralizationHandler which makes sounds when HEAD and GET log messages are encountered.
- lineThickness property allows plot bounds and axes to be thickened.
- removeIndeces function removes a set of indeces from data (not just inserting fill).
- add special filesystem support for Github, so files stored on GitHub can be used directly.
- add low-level shutdown hook so that hung process' vap can be recovered, see autoplot_data/logs/last.vap.
- 625: GrannyTextRenderer supports !(color;red) and !(painter;id) in strings.
- gamma function added, though for now data must be positive.
- add "insert plot elements from clipboard" action. Thanks, Kris!
- beginnings of new das2stream reader which will read directly to QDataSet, instead of via old data model, which is buggy.
- PngWalkTool checks EXIF metadata for rotation cues, so that pngwalk tool works for family photos.
- experimental "expect" code included, which should be useful for writing scripts which control IDL.
- mashup-tool automatically names new variables based on the URI.
- see Source Forge
- Bugs often have a four-digit ID and can be reviewed with https://sourceforge.net/p/autoplot/bugs/<ID>/.
- Features typically have a three-digit ID and can be reviewed with https://sourceforge.net/p/autoplot/feature-requests/<ID>/.
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.