NOVAC Explorer version history

ver 1.0 (28 June 2023)
First release of the basic software for downloading and displaying SO2 flux data stored in FluxLog files on the NOVAC sftp server.

ver 1.01 (30 June 2023)
Added error handling in case a downloaded FluxLog file does not adhere to the specified format for these files.
Changed the way that underscore characters are handled in figure legends.
Added a check of the local database path. Users are now prompted to select a valid path before data can be plotted.

ver 1.02 (26 July 2023)
If an error is encountered while negotiating the HostKeyFingerprint, the Sftp connection now throws an error and measurement dates are no longer considered updated.
Support for running NOVAC Explorer on a network path has been added.
Fixed a bug that occurred when parsing months in the time period entry.
Added support for querying weeks in the time period entry. Use 'W' or 'w'.
Made the time period entry indifferent to capitalization of the y, m, d, or w identifier.
Plots are no longer automatically updated if the plume completeness is modified. Users must press the Create/Update Plots button.
Fixed a bug which caused data to be labeled incorrectly in the legend in certain situations
Added the ability to plot data from a custom local directory rather than the sftp server
When a new plot is requested, the software now asks the user whether to synchronize with the sftp server for each volcano before beginning any downloads.
Added the ability to plot PostFluxLog data, provided these are stored in a local directory.
Changed plots to display exactly the requested date/time range rather than zooming in on existing data.
Added bpptkg sftp credentials to the accepted list.
Fixed a bug related to entering of incorrect sftp credentials on startup. Users will now be prompted for credentials again until they provide accepted ones.

ver 1.03 (27 July 2023)
Reduced the vertical dimension of the main panel to fit on older laptop screens.

ver 1.04 (28 July 2023)
Made a slight change to the default position of the main panel on opening.
Changed the way that the index specifying the volcano of interest is loaded into memory.

ver 1.05 (29 August 2023)
Added the 7z DLL libraries to the release such that users don't have to install 7zip on their systems to use the NOVAC Explorer tool.
Fixed a bug that caused duplicates in the database of downloaded dates.

ver 1.06 (2 November 2023)
Fixed a bug that occurred when attempting to plot the last month of data.
Fixed a bug that caused the spectrometer serial number to be truncated when plotting PostFlusLogs.
Implemented internal database files for each volcano (VolcanoDB.mat) containing all relevant data previously loaded from FluxLogs/PostFluxLogs. Greatly improves plotting performance.
Changed behavior of main dialog to only display user components once all intialization has completed.
Changed progress bars such that they update as FluxLogs/PostFluxLogs are being read, rathern than just during the plotting process itself.
Implemented a Settings dialog that allows the user to define certain settings. Moved the emission rate unit selection to this dialog.
Changed the behavior of the program to set the local DB path to pwd/localDB if the path in the configuration file does not exist. A warning dialog box is displayed.
Added the ability to change the localDB path in the Settings dialog.
Adjusted the input format of the Start and EndTime fields to be more flexible, making the hour and minute fields optional.
Added the automatic update feature which can be used to automatically update plots at user-defined time intervals.
Updated the program icon.
Added features which allow images of the plots and data tables to be written to disk each time an automatic update is performed.
Added a feature allowing users to define a batch file which will be run each time an automatic update is performed.
Changed the color pallette of the plots to be more accessible.
Adjusted behaviour of the Create/Update plots button and the Settings button such that they are not enabled when automatic updates are on.
Adjusted the message displayed on plots when not completely synchronized to the NOVAC server to display last date/time of synchronization.
Added the ability to plot two data streams, with one appearing on a separate y-axis on the right side of the plot.

ver 1.07 (14 November 2023)
Fixed a bug that sometimes could cuase images from different volcanoes to overwrite each other when manually saving images of plots.
Changed the appearance of the second y-axis to make it clear which data are plotted on it.
When no minimum plume completeness is selected, changed the appearance of emission rate data to distinguish between no plume (open marks) vs plume detects (closed markers)
Added a feature allowing users to stamp each plot with custom text
Added error handling for cases in which the user-defined start or end times cannot be parsed.
Changed the order of axes such that emission rates plot on top of wind data whenever both are plotted.
Added fields for customizing the CustomLocalInputDirectory to the Settings Dialog.
Added the option to include subdirectories when selecting a Custom Local input directory.
Added a button that brings up a folder selection dialog to the CustomLocal option in the main dialog.
Changed the behavior of the main dialog such that the CustomLocal selection window is not automatically opened when selecting Custom Local as a Data Source.
Changed the way that the internal local database is managed such that this DB is rebuilt if any files are removed from consideration
Added the ability to use pseudo accounts to give institutional access to specific volcanoes

ver 1.08 (18 July 2024)
Fixed a bug that occurred when plotting data from a local directory of a volcano that had not been selected before.
Fixed a bug that led to incorrect averaging of scan start and stop times when scans ran through midnight UTC.
Added a filter such that plots and output data tables only contain one unique entry for every timestamp. The latest evaluation log entry is used.
Fixed a bug that led to program crashes when plotting PostFluxLog data from a local directory.
Added functionality to remember which data streams were being plotted last time the program was run and select these by default at next program launch.
Changed the program behaviour to start up in AutoUpdate mode if that mode was active when the program was last shut down (or crashed).
Modified the data tips so that they now show dates in a human readable format.

ver 1.09 (2 December 2024)
Changed behavior so that the plot windows no longer pop to the front when automatically updating.
Added a tabe containing volcano-specific settings to the settings dialog box
Added functionality allowing a user-defined limit for plots of emission rate. Values higher than this limit appear as triangles at the top of the plot.
Made the WinSCP SFTP interface agnostic to languages set in the Windows settings. Tested in Spanish.
Changed the x value when hovering mouse over data to be UTC time rather than indecipherable matlab time
Fixed the plot size such that it doesn't depend on the number of plots requested.
Added functionality allowing users to plot daily maximum and/or daily average emission rates.
Added functionality allowing useres to make box plots of 0, 25, 50, 75, and 100th quantiles of daily emission rates.

ver 1.10 (9 September 2025)
Added columns to the data export tables to include plme height, plume center, plume edges, temperature, battery voltage, exposure time, and scan start/stop times.
Fixed a bug that caused automatic updates to crash if no data were available to report for the given time interval.

ver 1.11 (26 September 2025)
Fixed a bug that occurred when certain special characters were included in the user credentials.

ver 1.12 (25 April 2026)
Fixed a bug that caused the program to crash if only a single FluxLog file is available for plotting.
Corrected for a bug in MATLAB 2020a that causes MATLAB to apply Daylight Savings Time to Mexico City time zone.

ver 1.13 (29 April 2026)
Changed the physical address check to query the Universally Unique Identifier (UUID) through powershell rather than check the MAC address. This works better on VMs.

ToDo in future releases:
Auto plot updates crash if a volcano is encountered with no data available (e.g. Gamalama).
Respond to zooming in on plots to ensure that x axes remain linked (see ActionPostCallback event)
Allow users to select date/times by clicking on plots?
allow for a second plot showing instrument diagnostics.
wind speed at cotopaxi seems to be wind direction.
second axis should be linked to first.
add ticks back to time axis after zooming
Enable plotting of only certain stations? 
Include plume edges in plotting to focus on plumes that are centered more above the station? 
Plot maximum emission rates of multiple stations within a certain time period (e.g., 30 minute intervals) 
Carlos asks about adding exposure time filter?  
Change data export to include everything in the fluxlog 
Link second y-axis scaling + adjust x-axis for timing tick marks when zooming in 
Create an instrument parameters plot, in background? Advanced diagnostics drop-down option? 
ABility to filter data, e.g, only certain wind directions
Volcano issues discovered: 
Check wind speed and wind direction mix up at Cotopaxi? 
If 2 evaluation log entries exist for the same scanner and same time, then only plot the newer one as this is an update of a previously analyzed scan.
Implement filter that only plots data when winds are such that gas should be blowing towards scanner(s).