Autoplot Application (20120207c)

Tabs can now be dropped into undocked panes.
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 Autoplot2011 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:
- 3479676: improve feedback with misformatted extension files. Applet had been failing to compile and I finally tracked this down.
- 3480193: cacheTag added to result of Jython data source script when TimeSeriesBrowse is detected, so that the script is not called for zoom in.
- bugfix on Windows with the ftp filesystem when a file already exists, which prevented the CDAWeb module from working properly on some machines.
- 3475644: in downloadResourceAsTempFile, where multiple threads would step on each other's work.
- 3479791: LogConsole/logger.log prevents datasets from garbage collected from memory
- 3479791: Metadata panel used das2 CombinedTreeModel which held references to datasets as well.
- bugfix: deadlock could occur because of synchronization in UndoRedoSupport where it would create the thumbnail.
- JythonDataSource script= keyword supported properly in editor.
- 3480889: "address bar" menu item moved to underused "view" menu, "provide feedback" moved to "help"
- size of the subpanel help links reduced to just the label, to reduce accidental clicks
Older Bugfixes:
- 3469219: handle units in append. For example LANL has files where timetags are always from start of day
- bugfix: Turns out "ms since 1992-09-13T00:00" in a QStream would not be interpreted as a time. Now SemanticOps.lookupUnits is used.
- bugfix: rank3 copyValues IDL/Matlab adapter failed because the length(i0) was used instead of length(i0,i1), leaving result mostly zeroes.
- bugfix: migrate changes from the CDF Java library to support the same virtual variables
- 3469880: tooltips should go on field labels, not on the label itself.
- bugfix: getParam( 'timerange', '1997-Jan' ) wouldn't support TimeSeriesBrowse because "Jan" was not [a-z]*
- updates to auralizeTool so that it works again
- clean up aggregate GUI, so previews are shown and one code is used to form aggregations
- bugfix: extra messages "autolayout was set to false" because all prefs were read just to get NN
- profiling to find problem spots for long batch runs
- limit undo list to 100 states to support long batch runs
- 3471016: move more GUI operations to event thread to avoid deadlocks
- ytagsDataSet gave Y[X] -> indgen() instead of Y.
- bugfix: digital renderer color was not bound to foreground color.
- bugfix: rank 2 [:,[X,Y,Z]] scheme supported in SeriesRenderer.
- update contour function to return bundle [:,[X,Y,Z]]
- bugfix: python supports ds[:,0] as unbundle, before it would drop metadata making it useless for bundles
- bugfix: in plotx, allow symbol='stars' by loosing up code that looks for values in enumeration
- bugfix: guard against ordinal units getting into axis setting.
- bugfix: rank 4 was never coded for TrimStrideWrapper.java, so python ds[:,:,:,4:6] would fail, clean up to today's qdataset
- bugfix: python supports ds[:,0] as shorthand for unbundle, before it would drop metadata making it useless for bundles
Features:
- 3479591: tearoff tabs can be dropped into child container
- removeBackground1 and removeBackground0 provide in-line means of running background removal on data.
- cache result of FFTUtil.getFreqDomainTagsForPower, to save memory since this is repeated for each record.
Less recent features:
- guessNameFor(URI) introduced, and Jython script getDataSet completion attempts to suggest better name than "ds"
- add fftPowerDelta1024 to CDF virtual variable functions
- improve support for filesystem completions like .../1wire/dot4_data/$Y/$m/$d/10.<COMP>
- LSpec code updated to work with today's Autoplot, and included in single-jar release
- NetCDF/HDF5 reader supports constraints like ds[0:10] to allow read of huge files.
- box zoom detected and described efficiently in undo list
- add Ops.flatten function, before we had only flattenRank2
- introduce SemanticOps.getLooseUnitsConverter, which allows a ratiometric unit to be compared to a dimensionless. (2 kg).gt(1)
- simplify code and allow ds[r] to be used where ds is rank 2 and r is rank 1
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 www.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.