### Autoplot Application (20251114d)

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!

Nice auroras were visible in Iowa on Nov 11.

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 v2025a 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 (2025-11-14):

- DataPointRecorder resolution limit increased to 100 nanoseconds, was 100 microseconds. Improve feedback when a bunch of points are received. Thanks, Sadie and Lily!
- rte 567726773: script running code assumed there was a non-null message attached to the caught exception, causing NullPointerException and hiding the actual exception. Thanks, Lily!
- 2762: FlatLAF now also has control for font, as quick fix for high resolution displays. Thanks Connor and George!
- 151: Clipped label containing units with superscript was clipped, because macro was used when calculating bounds. Thanks, Connor!
- 150: Label the ephemeris parameter when it is not time. Thanks, Connor!
- Insert plot looks at adjacent plots to detect when x-axis and title should be turned off.
- 2760: LabelConverter for interval which is not identified
- 2759: Run Batch tool resourceURI parameter didn't like spaces and parens
- Resolve references like %{UNITS} and %{LABEL} when writing Rich PNGs.
- New code which more carefully formats the Rich PNG json showed a bug in DatumUtil.bestFormatter with "Deg F" location units. Thanks, Jenkins!
- 2747: slice-at-datum was disabled, incorrectly.
- 2753: don't reset to time/date ticks if ephemeris data is showing. Thanks, Connor!
- 2752: clear the BUNDLE_1 which was common to all ticks. Thanks, Connor!
- RichPNG supports flipped axis property. This affects PNG Walk Tool, ImageDataSource, and Servlets.
- Case where TCA Ephemeris labels could not be found resulted in NullPointerException. Thanks, George!
- 2750: HDF5 from Personal Space Weather Station showed where slice array was mishandled. Thanks, Bill E!
- rte_0324293530: code which infers typeness to XML and JSON files assumed files were at least 1024 bytes.
- correction to Schemes.isComplexNumbers. Add example to Schemes.complexNumbers.
- |trim(2016-10-04,2016-10-10) now works properly. Thanks, Sadie!
- %{RANGE_NOORBIT} kludge needed more attention. Thanks, Darrelle!
- 3: check for orbits which start with /, since it was very confusing when local file reference did not work. Thanks, Jeremy!
- add verifyJythonInline so that isDataMashupJythonInline can be evaluated without creating a GUI and adding to recent timeranges.

Older Bugfixes (2025-09-02):

- 1425: Sadie saw where it was impossible to load the start times of an events list, because it ignored the ...?field0.
- isDataMashupJythonInline is now evaluated without running through GUI code and writing to recent timeranges.
- 2475: colorbar title now supports %{TIMERANGE} macro.
- Support CDF files containing both zvars and zvars, like vap+cdaweb:ds=AC_OR_SSC&filter=ac_or_&id=XYZ_GSE&timerange=2024. Thanks for the code, Mike!
- 2475: back off DasPlot handles %{TIMERANGE} macro, now we explicitly tell the Converter which node it is working for. Thanks, Darrelle!
- 2475: DasPlot handles %{TIMERANGE} macro, since Plot wouldn't update properly.
- 491: review and tweak how the orbit number for the timerange can be displayed in Annotation (using %{TIMERANGE;FORMAT=$o}).
- 2746: drawGrid preference is now saved in .vap files. Thanks, Connor!
- Schemes.isComplexNumbers checks for old COORDINATE_FRAME properly.
- support ISO8601 times with finer than picosecond resolution by dropping the picoseconds. Thanks, Bob!
- bugfix: new, more general, code to do rotations for any angle didn't rotate counter-clockwise, as was the original convention.
- Support MSL_RAD_OBS-L1 vp_moment_SC_gd which uses string data for apply_filter_flag virtual variable.
- vap+inline: with X,Y;X,Y;... wouldn't reenter the editor GUI (to add more points) because of index error.
- 146: Don't assume the first FFT window has uniform timetags, scan through until one is found.
- DasAnnotation "rotate" property finally supports -90, 0, 90, and 180 degrees.
- 143: AsciiParser's RegexParser would always reset the fields, making it impossible to use external timeFormat.
- URIs can now have { and } in them, supporting the pattern control of the ASCII data source.
- 2739: add --quietLoggers option to quiet loggers. Thanks, Kristoff!
- Orbits files come directly from https://github.com/das-developers/das2meta/tree/main/orbits, no longer relying on github to redirect the old name.

Features:

- automatically turn off x-axis and title when surrounding plots have this turned off to make a tight stack.
- Remember FileChooser size. Thanks, Ivar!
- FileChooser shows details view initially on some platforms. Thanks, Ivar and George!
- 858: RichPNG properly limits resolution when formatting.
- 858: RichPNG checks for axis flipped property.
- add complexNumber QDataSet scheme.
- add median, mode, and mean filters. Thanks, Cindy!

Less recent features:

- Introduce StringTransmogrifier, which will be used in annotations to transmogify from one format to another using regular expressions.
- 855: Support new Rank3WaveformXYZ scheme, wave[timebase,timeoffset,component], used on TRACERS.
- Replace font chooser with new GUI that is more conventional. Thanks, JFontChooser for your years of service!
- Implement apply_filter_flag CDF virtual function, used in Parker Solar Probe files.
- Pick Font Tool checks example text for missing glyphs and displays warning.
- 857: Annotations have new rotate property which can be -90,0,90,180, and arbitrary when anchor is center. Thanks, Cindy!
- 856: Annotations now have "duplicate annotation" pop-up menu item.
- Screenshots Tool does the final trim operation with multiple threads, greatly speeding up the operation.
- 855: support CDF rank 4 ds[t,en,dir,component] datasets, allowing one component to be selected. Thanks, Chris!
- 854: allow events list with column header "color" to contain named colors.

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.