### Autoplot Application (20260205a)

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!

Das2Server source now has resolution limit control.

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.

To run on 32-bit systems, use the single-jar release and a 32-bit version of Java.

Bugfixes (2026-02-04):

- 155: new Das2Stream parser properly handles data.min, data.max, etc. Thanks, Chris!
- 2787: add explicit resolution limit for Das2Server, clean up GUI.
- 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 (probably) 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!

Older Bugfixes (2025-01-07):

- 2778: check for integers in float parameter values.
- 2780: Run Batch Tool cancel press is handled properly.
- 2780: Run Batch Tool re-enables "go" button after run and then editing.
- 2779: improper use of the PDS4-parser library resulted in open FileChannels and files which would fill the /tmp drive. Thanks, Larry!
- 2777: getDataSets command didn't indicate progress.
- Remove extra comma in import list when converting from Jython to Java.
- Make the "Here we go..." deep stack recursion detector less sensitive, since it seems to be misfiring. Thanks, Ivar!
- Remove debug printlns from a number of locations.
- Show BIN_MAX_NAME, DELTA_PLUS_NAME, etc in properties metadata tab.
- Das2Stream Datum: and DatumRange: handle time locations in metadata.
- digital renderer handles BUNDLE_1 (bundle descriptor scheme) dataset.
- 2775: get PDS4 metadata for Group_Field_Binary and Group_Field_Character
- 158: properly support bundle of datasets with error bars in Das2Streams. Thanks, Chris!
- 155: restore support for error bars in Das2Streams (see examples).
- Case where ds[0,0] on rank 2 data had runtime error, I think because 0 and 0 were rank 1 QDataSets.
- Remove old PDS-PPI DIT/DOS data source, which is no longer operational and PDS3/4 and HAPI support deprecates it.
- 2774: setOutputParam without constraints works again. Jan 2025 validate code didn't consider that the constraint might not be specified.
- 1687: limit length of string shown in completions, so that resourceURI is not obscured.
- 2768: Initial GUI size needs to be large enough to show all buttons.
- 154: don't drop units in TCA datasets since CDF labels often contain %{UNITS} macro. Thanks, Connor!
- Git pull and commit actions now show dialogs over undocked editor, not the Autoplot canvas.
- 150: allow TCA datasets with L as the independent parameter to get the label "L" from the dataset. Respect " " to mean don't automatically set the label to %{RANGE}. Thanks, Connor!
- In run batch, don't treat escape as cancel when cancel is not enabled.
- 2767: GrannyText editor cannot be resized on Mac, link to documentation.
- GrannyTextRenderer cleanup fixes "glow" property and removes kludgy code which detected URL in text to display image (<img src=""> should be used instead)
- Support UTF-16 encoded character streams for .csv and .dat (ASCII table source now officially supports non-ASCII)

Features:

- add cartesianToPolar function and filter to match polarToCartesian. 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.
- -q is added to mean --quietLoggers.
- 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.

Less recent features:

- Run Batch Tool has "active focus" checkbox which will scroll the list to what is being worked on.
- add git.jfaden.net to list of gitlab filesystems. Let me know if you have others you would like to add.
- guessSlice looks for "vperp" and "vpar" dimensions. Thanks, Connor!
- Jython to Java detects constructor calls and uses this to declare Java type, instead of using Object for everything.
- Copy full metadata path to clipboard, since this is often useful when coding.
- Improvements to Jython completions, such as limiting the length of strings exposed to protect the GUI.
- improve password handling in KeyChain, don't allow extra space which gets in there somehow.
- Add Largest Triangle Three Buckets (LTTB) code written by ChatGPT (which it wrote using QDataSet, worked without any modifications, see the session)!
- More characters added to list of allowed characters in ASCII file column names (% and #), to support BlueDriver app.
- Introduce "upper" and "lower" keywords for RichPNG, so that plots can be located relative to page bottom.
- Introduce plotInfoFile switch for ImageDataSource, so that third-party images can be decorated.
- Series connector looks at AVERAGE_TYPE for ...MOD24, ...MOD360 etc.

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)
- PDS4 files (.lblx)
- PDS3 files (.lbl)
- Excel spread sheets (.xls)
- das2Streams (.d2s 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)

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