v1.4.1: - Clearer error messages for datasets that could not be processed - Small compatibility improvements v1.4.0: - add support for multiple types of input files - also search for measurement files in subfolders - fix altitude misalignment issues for some intensive parameters calculations v1.3.0: - new measurement index file subsystem v1.2.0: - Added logic to further clasify Marine/CC into Marine, Cloud Corrupted, Mineral (Coarse) and Smog v1.1.7: - Raise the maximum accepted error of intensive parameters to 50%. - Add support for files containing both volume and particle depolarisation channels. - Make sure the timeseries plot respects the altitude scale as selected by the user in the Settings. - Add option to plot only low-resolution typing on the timeseries chart. This can be useful when comparing stations with/without a linear depolarisation channel. v1.1.6: - Fix crashes on files that do not contain the error for the measurements. - For these cases assume a constant 20% relative error. - Fix crashes on measurements where the e355 and e532 files do not contain a Backscatter series as well. - The software will now look inside all files for a given measurement and will intelligently decide where to read the data from. v1.1.5: - Make it possible to read files with or without .nc extension. v1.1.3: - Bugfix release v1.1.2: - Fixed Extinction plot colors and line style - Plot LPDR only inside layers - Improve handling of N/A results: - N/A results have a grey color - If all layer results are N/A the user will be notified, displaying an error for that dataset. v1.1.1: - The 'Stop' button now responds much faster. - The ANNs will be forcefully closed, meaning the user doesn't have to wait a long time after pressing the 'Stop' button. - Plots now display the error as well. - Highlight the current measurement in the timeseries plot - Rearrange the plots: - Bottom ones now only display extensive and intensive parameters. - The aerosol layers are only displayed in the timeseries plot. - Added the ability to change the vertical (altitude) scale from the Settings menu. - Added two new columns to the .CSV and .TXT output files: Retrieval Bottom (m) and Retrieval Top (m) - These two tell the user the sublayer inside which the optical intensive parameters were averaged due to low SNR at the edges. - Renamed several aerosol types to reflect the fact they could be cloud corrupted (added '/CC' to their names) v1.1: - Added brand new graphical user interface: - Display plots for individual measurements as well as a timeseries plot allowing to watch the evolution of aerosol layers. - Can save plots as high-resolution .PNG images. - Allow to select only certain datasets from the data folder. - Display text output in the main window. - Provides a settings menu to change the parameters used in computations. - Voting procedure in the typing module has been changed. - The final answer is now the answer from the network with the highest "score". The score is calculated as the product of the number of confident answers and the average confidence of the network. - Command-line arguments are no longer supported by the application, it is possible they will come back to allow easy scripting of the application. - The running parameters can be changed using the graphical interface, from the "Settings" dialog. - Tab-separated files with intensive parameters are no longer supported by the application. v1.0.8: - Fixed calculation of the ANN confidence level in the typing module. - Tweaked the typing module algorithm: - Introduced a new "trust" level for each network which replaces the agreements and the confidence criteria. - The number agreements between networks still remains the main criteria. v1.0.7: - Add option to read directly the intensive parameters from a tab-separated file. v1.0.6: - Change ANN columns order in the output files. - Group H-resolution and L-resolution networks. - Remove commas from CSV output. - Certain software programs used to read CSV files don't ignore commas inside double quotes, ignoring the standard, thus making impossible to read the CSV files. Therefore natali.py will not write commas anymore inside the CSV cells. - Fix incorrect calculation of ANN confidence level v1.0.5: - Fix reading results from ANNs. v1.0.4: - Change "Marine" aerosol type name to "Marine/CC". - Re-factor the source code, start to document it. - Consolidate ANN 'Comments' output; v1.0.3: - Output "N/A" for layers where we don't run the ANNs - Fix possible crash when no network can determine the aerosol type or component. v1.0.2: - Clarified comments regarding ANNs responses - Changed some console ouput messages - Removed the "Typing not possible" message caused by the depolarisation channel v1.0.1: - Output geometric layer boundaries instead of boundary used to perform calculations inside. - Output "N/A" in the "Aerosol_Type" column when the depolarisation channel isn't available. v1.0: - Re-release v0.6: - New voting algorithm: - Take into account both the confidence of an answer as well as the total number of confident answers for a given aerosol type - Don't open the NetCDF files just to look for measurement channels inside. Instead, find the channels by looking at the file's name. - Only look for the Depolarization channel if the required files are present and if the 'b532' file exists. v0.5.3: - Fix 'Bottom' and 'Top' values missing from output files v0.5.2: - Print ANN progress during aerosol typing - Removed "Too few arguments!" error when omitting command line parameters - Print error message if ANN folder couldn't be found v0.5.1: - Fixed crash when reading corrupt NetCDF files - Added error message in case of measurement read error - If depolarization is not available in a single layer run the B class ANNs for that layer instead of aborting - Fixed reading stdout and stderr deadlocks from ANNs. This greatly improves the performance of the software. v0.5: - Now using an adaptive method of finding the averaging layer depth - The algorithm looks for the highest SNR portion of the layer centred in the layer - It uses either the largest window with SNR > 5 or the window with the best SNR, but larger than 200m - Renamed a few command line parameters: - "--data-folder" -> "--input" - "--min-accepted-confidence" -> "--confidence" - "--min-agreement-percentage" -> "--agreement" - Removed the "--averaging-layer-depth" command line parameter - Fixed bug in LidarMeasurement.get_layers() - The method was finding two overlapping layers starting from the bottom of the channel because variable "layer_start" wasn't properly initialized with '0' before finding layer edges