Autoplot Application (20200605a)
MatLab HSV Colorbar is available for modulo data, where -PI and +PI are the same thing.
Autoplot allows 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 Autoplot v2020a 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 (2020-06-05 r24901):
- try/catch on DasPlot topDecorator, making debugging difficult when there is a runtime error.
- series renderer properly handles case where data has one fill record.
- errors when multiple threads would access the same file on GitHubFileSystem. Thanks, Kristoff!
- Das2 Render legendLabel property had typo, was lengendLabel.
- correct X cadence when Y is cycling.
- corrections to setDepend0Cadence, where valid inputs "1" and "4.5" were not accepted by the GUI.
- 1682: header of events list resulted in fill record, when CSV reader would properly skip. Thanks, Masafumi!
- 1682: CSV files containing events lists were broken after refactoring. Thanks, Masafumi!
- improve feedback when orbits file is not found.
- TimeRangeTool's next and previous buttons preserve month identity.
- cut-n-paste code mixed recVariance and reform.
- Jython scripts with syntax errors failed quietly when run from the address bar. Now a clear error message is indicated.
- Crosshair digitizer looking up Z values from spectra, would fail with rank 3 bundle of 1-record tables. Thanks, George!
- Don't include .jy scripts in list of mashable recent datasets.
- aggregation of CDF file with 1 record in a file would fail because BufferDataSet.append code was incorrectly implemented.
- findbugs OS_OPEN_STREAM in old das2stream code.
- Slope drag renderer shows fit equations when yaxis or xaxis is log.
- EnumerationUnits within a DataPointRecorder would cause problem when file was loaded and then additional points are added.
- corrections to IDLSav files containing structures with string tags.
- new make aggregation code would assume there wasn't already a question mark in the URI, creating URIs with two question marks.
- Provide feedback dialog now says "provide feedback" and not "error report"
- Runtime error dialog now includes the words "runtime error" since that seems to be what we call it.
- check for null USER_PROPERTIES and METADATA resolving macros, to avoid noise on stderr during transitional states.
- non-monotonic timetags would mess up expandToFillGaps process. Thanks, George!
- 2258: correction to $p, AM/PM field, where 12am and 12pm were mishandled.
- jython editor would incorrectly warn when xrange keyword was used in plot, this is not reassigning xrange function.
- 1682: further corrections needed for test143_002, where units were not initialized properly.
- support "r= where( county.eq('Cook') )" in Jython.
- psp_fld_l2_mag_SC_2018110400_v01.cdf?slice1=0 could not be FFTPower'd, because of CONTEXT_0 property. Thanks, Kristoff!
- interactions with CDAWeb so that only one connection occurs at a time, which was causing problems when .vaps with many CDAWeb URIs were loaded. Thanks, Bernie!
- 1682: .dat supports the case where all fields are quoted, which is allowed in CSV.
- 1682: .dat split function now has look-ahead regex to check for commas within quotes.
- 1682: .dat supports recStart
- 1682: .dat supports quoted fields containing newlines now.
- 1682: make sure .dat can handle all .csv so one reader can handle all ASCII files, ending years of confusion.
- fixed indexOutOfBounds with cross hair digitizer when all data was off canvas and snapping was on.
- AutoplotServlet uses https for third-party codes, so the thin client works again.
- LeafTrim didn't slice the properties properly, dropping DEPEND_1 when the vertical slice was used with spectrograms from AsciiTableDataSource. Thanks, Bill!
- AsciiParser had some path which would result in a parsable line but then would fail to create a DelimParser. Thanks, yumin!
- 714: corrections to yaxis locations for each pixel row.
- reducex has third argument which will will also average timetags in each bin.
- add icons for jython commands in completion popups.
- add irange function to avoid the confusion of xrange, and which allows double arguments.
- GrannyTextRenderer has getBounds2D so that code can be used without cast to float.
- add matlab_hsv colorbar.
- add spectrogram interpolation mode which first interpolates in X and then in Y.
- new strarr functions return rank 1 and rank 2 arrays of empty strings. Thanks, Ivar!
- support assigning strings to datasets in Jython when the units are set already.
- link supports rank 0 datasets.
- join supports rank 0 dataset arguments with CONTEXT_0 property to form datasets.
- PngWalkTool's show sublist uses TimeRangeTool to select time ranges.
- IDLSav data source has X=, Y=, and Z= keywords to match CDF. Thanks, Scott!
- loadErrors=T introduced to CDF data source. Thanks, Jon N!
- Write contact sheet in PngWalkTool created. Thanks, Kris!
- bundle of rank 2 datasets can be exported to CDF file. Thanks, Kristoff!
Less recent features:
- Mouse modules' label is rounded.
- Units.createDatum(Datum) added, so that codes don't have to check for EnumerationUnits so much when ingesting Datums.
- IDLSav files allow X,Y,Z notation like the .mat (Matlab) files support. Automatically transpose array to make fit.
- Initial support for reading data from IDLSav files introduced.
- Jython editor goto line includes class declarations.
- more checks for valid URIs like FPE_1997_12_16_V01.CSV?&delim=;column=field20 where arg0 is "".
- add "pattern=" keyword to ascii file parser to support regular expressions parsing.
- tickValues property can contain control for minor tick count, like "+1hr/4" means minor ticks on 15 minute boundaries.
- 715: waveform data can contain TT2000 timetags for DEPEND_1, supporting Parker Solar Probe groups.
- NetCDF variable attributes are visible in USER_PROPERTIES, and long_name is used for label when nothing else is available.
- NetCDF GOES n,3 arrays are rendered as X,Y,Z components to match CDAWeb logic.
- ASCII table GUI allows selection of values to use for y-tags (depend1Values keyword). Thanks, Bill!
- 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.