### Autoplot Application (20260326a)

Single-Jar : .jar files can be launched on Windows and Mac, and contain a shell script for launching on Unix computers.
dmg: a self-contained installer for Mac computers.
exe: a self-contained installer for Windows computers.
Built with Install4J multi-platform installer builder and deb and rpm are available as well. Thanks, Install4J!
On 32-bit systems, use the single-jar release and a 32-bit version of Java. These systems will be limited to 1GB of memory.

Playing with Lava Lamp script written by ChatGPT.

Autoplot allows plotting of data from many data sources, including remote CDF files and HAPI servers. Datasets are identified with URIs, and by the URI's extension, data are loaded into one uniform data model. Data are then displayed by determining the rendering method and axis ranges to provide a useful display with interactive axes and mouse actions. The data can then be further processed with other operations like smooth and FFT, and Jython scripting provides a capable programming environment.

This is the Autoplot v2026a branch. This is an update to the production version containing bugfixes and minor new features. Java 8 is required.

Autoplot's development is guided by feedback from those using it. Thanks for your feedback!

Bugfixes (2026-03-25):

- Allow arguments in script command line like --script=multiParamGraphic.jy?ncenter=5&radius=1
- Annotation string properties where "" means off now call strip to allow " " to be used carelessly.
- Run Batch Tool .batch files use new format by default. This output will not be handled by Autoplots older than v2026a_2.
- rte_2038937185: slice0, slice1, slice2, and slice3 didn't handle slice-at-datum properly when datum was past the end.
- 2818: Correctly check if loaded data from Das2Server was sufficient resolution to satisfy request. Thanks, Bill!
- 2817: Improve support for HAPI 3.0, using new dataset parameter, and code will try "id" if "dataset" fails.
- 2815: Don't show "symbol color and background are same warning" when color scatter is used.
- URISplit.makeAbsolute would assume colon in dust2025-01-28T22:35:12.420densZ.txt was a fully-qualified protocol (file:/...). Verify protocol does not end in two digits.
- 2811: Runtime error with CDF with incorrect dependencies now communicates problem to the scientist. Thanks, Connor!
- 2808: URISplit.makeAbsolute should support Windows
- 2809: old code looking get getParam('timerange',...) to detect time series browse capability in Jython scripts didn't like constraints like {"format":"$Y-$m-$d"}.
- 8: improve support for Das2Server DSDF parameters like sensor=@ as with this DSDF, and support three-argument boolean switches. Thanks, Chris!
- 168: Quiet warning message about "strange bug where update event didn't clear dirty flags, reposting" which can be ignored. Thanks, Darrelle!
- 2803: Disable autolayout by default when running createPngWalk. Thanks, Darrelle!
- new RunBatchTool which can monitor a multi-machine batch run is compiled into the release.
- 2805: Autolayout needs rewrite
- 2789: don't allow new code to accept "123" as column name, where data is used as a column name.
- 2804: vap macro feature is barely described. Thanks, Darrelle!
- 2803: Disable autoLayout for the immediate interval where the DasCanvas is resetting. Thanks, Darrelle!
- 2802: Script parameter with default value is still included in "params" dictionary. Thanks, Kristoff!
- 2801: ASCII files read with regex parameter support aggregation.
- 2789: Be more aggressive about creating column names, including / and * characters.
- 2670: bug corrected where first parameter was reset when running two-parameter batch.
- 2799: putValues where fill is not specified and histogram2d where units differ are handled properly.
- 2798: Be more aggressive about keeping invalid datum ranges out of the DOM.
- LogConsole mishandled log message entering(source,method,arg1,arg2)

Older Bugfixes (2026-02-16):

- 2795: ScriptPanelSupport brought back in because one of the GIT scripts is using the deprecated class.
- "Set script title" dialog should appear above the script.
- 2793: Remove "log console initialized" message because it is self-evident and now breaks Jemmy testing.
- 2792: Correct window position code when two monitors are used, total size wasn't accounted for. Thanks, Chris!
- 164: Das2Stream slice of peaks and averages should be conveyed as a bundle of peaks and average, not using BIN_MAX, to match old parser. Thanks, Chris!
- 2788: Don't use "scan" when multiple plot elements, not from one family (Bx,By,Bz), are used. Thanks, Ivar!
- 164: HugeScatter shows limits as well as Series. WARN is drawn after NOMINAL, not before. In the case where they overlap, WARN implies NOMINAL. Thanks, Chris!
- 164: Das2Stream yWarn and yNominal are supported. New Das2Stream to QDataSet parser is used by default. Thanks, Chris!
- 164: Das2Stream to QDataSet parser preserves more metadata in USER_PROPERTIES.
- 155: new Das2Stream parser properly handles data.min, data.max, etc. Thanks, Chris!
- 2787: add explicit resolution limit for Das2Server, clean up GUI. Thanks, Chris!
- 2786: reject when where(...) is used in ASCII URI, should be where=... Thanks, Sadie!
- 162: bug fixed in DataPointRecorder when third column is time column and last is nominal.
- 2785: Strange deadlock observed resolved by removing unnecessary synchronized blocks. Thanks, Connor!
- 161: New code in DataPointRecorder caused runtime error with some existing scripts. Thanks, Andrew!
- Run batch tool sets "copy script URI" mouse action before attempting run.
- 2783: --script --help when PWD is used now works properly.
- Minor corrections to command line arguments, including "Welcome to Autoplot" is not printed with --quietLoggers. Thanks, Kristoff!
- 2781: change hadn't been pushed for build.
- 2781: check bounds when switching dimensions with slice GUI. Thanks, Connor!

Features:

- 171: improvements to mouse modules and drag renderers, see the demos.
- HAPI server checks both dataset and id parameters with 3.x servers.
- 2814: getParam constraints now have glob (like *.{cdf,CDF}) as well as regex. GlobToRegex code rewritten by ChatGPT.
- Introduce three- and four-argument append to make scripts more legible.
- Various improvements to Auralizor, including more precise location report. Thanks, Erika!
- Plot TopDecorator is drawn independently from the cache image to allow feedback without redo expensive rebuild of cache image.
- Regression testing moved to new server, finally!
- Add StringTools.spaces to use until Java 11 is the platform.
- New logging handler logs to CSV file, so it can be studied later.

Less recent features:

- 2793: script and console tabs initialize sooner, after verifying this did not affect launch time.
- add diffMod, mod, and modp filters to operations on data tab.
- 645: Das2Server uses timetags to indicate progress by default now.
- Das2Stream to QDataSet picks up yWarnMin, yWarnMax etc and puts them in METADATA as with CDF source.
- Das2Stream directly to QDataSet is always used.
- StringTransmogrifer interface throws exception or returns alternate text, and has new find to replace strings found anywhere in text.
- add cartesianToPolar function and filter to match polarToCartesian. add cartesianToSpherical. Thanks, Scott!
- TimeParser supports $Z, three-character time zone codes.
- Be a bit more cautious about assuming PDS4 data type is CDF_TT2000.
- 2670: .batch file can be entered in the address bar to enter the Run Batch GUI with the settings.
- 2670: Run batch supports multiple machines.
- 2670: Run batch can finally be used from the command line.
- 866: Run batch tool file format new format is handled, still write old format unless setenv newBatchFileFormat to true.
- 160: show both 100% confidence and 68% confidence intervals when metadata is available. (This may change.)
- 2670: beginnings of run batch from command line. 1-parameter batch jobs are supported now.
- 159: allow orbits files to be more lax, allowing csv files and comments. Thanks, Darrelle!
- -q is added to mean --quietLoggers. Thanks, Kristoff!
- Look for "v_perp" and "v_par" as well when deciding how to automatically slice a rank 3 qube. Thanks, Connor!
- 865: HAPI client uses abouts.json. Thanks, HAPI team!
- 864: Add option for native file dialog to pick .vap files. Thanks, Allison!
- 863: Run Batch ETA calculation is shown by default.

Data is input from:

- ASCII files (.dat,.txt)
- CSV files (.csv)
- Binary files (.bin)
- CDF files(.cdf)
- OpenDAP servers (.dds, .dods)
- PDS4 files (.lblx)
- PDS3 files (.lbl)
- Excel spread sheets (.xls)
- das2Streams (.d2s, .d2t, or .das2Stream)
- HAPI Servers (vap+hapi:)
- CDAWeb data server (vap+cdaweb:)
- das2servers (vap+das2server:)
- QStreams (.qds) (serialized version of internal model QDataSet)
- Plasma Wave Group das2 Server
- NetCDF files (.nc,.ncml)
- HDF5 files (.h5,.hdf5)
- DODs servers (.dds)
- Cluster Exchange Format files (.cef)
- Fits Format Files (.fits)
- Images (.jpg, .png, .gif)
- Wav audio files (.wav)
- ODL files (.sts)
- IDL Savesets (.sav)
- Matlab .mat files
- NumPy .npy files
- JSON lines file (.jsonl)
- RadioJove .sps and .spd files
- ESA TFCat files (.tfcat)

autoplot.org is the website containing more information than this launch page.