Changelog

0.15

Released on Mars 7, 2025

  • General

    • Documentation updates including new diagnostics parameter and new CasysPlot customizations

  • NadirData/SwathData

    • Fixing an issue with the Nadir crossovers diagnostic (related to jump_threshold)

  • CasysPlot

    • Changing default PlotParams values for fill_ocean and grid.

      • fill_ocean is set to False by default

      • grid is set to True by default

    • Adding options to define x_limits and y_limits, similar to how color_limits is defined:

      • (min, max): Minimum and maximum values

      • auto: compute limits (mean-3*std, mean+3*std)

      • ("p", (p_min, p_max)) or ("p", p_value): fix limits according to the percentiles in the data

  • Diagnostic storage

    • Implementing delayed reading of stored diagnostics: stored data will only be read when accessed

    • Optimizing StoreReader automatic reading

    • Improving post diagnostics handling with a StoreReader (computation from the store if available or classic computation)

    • Improving StoreReader robustness in handling fields as direct characters chain when adding diagnostics

0.14

Released on November 11, 2024

  • General

    • Definitive removal of the from casys.nadir import ... path (replaced by from casys import ...) and the old AltiData class (replaced by NadirData)

    • Optimization of some diagnostics computation

    • Documentation updates including new diagnostics, new CasysPlot customization and many fixes

  • NadirData/SwathData

    • Adding a new section analysis sub-diagnostic to the missing points diagnostic [doc]

    • Adding a new periodogram diagnostic, with the method add_periodogram() [doc]

    • Crossovers diagnostic: Allowing the specification of different statistics for temporal and geobox sub-diagnostic through the new temporal_stats and geobox_stats parameters (the common stats parameter remains available) [doc]

    • Adding a new parameter allowing to pass additional frequency related parameters to the pandas.date_range underlying function, instead of passing them as direct keywords

      • Along time diagnostic: the parameter name is freq_kwargs [doc]

      • Missing points diagnostic: the parameter name is temporal_freq_kwargs [doc]

      • Crossovers diagnostic: the parameter name is temporal_freq_kwargs [doc]

  • CasysPlot

  • Diagnostic storage

    • Optimization of diagnostics storage speed

    • Evolution of MissingPoints storage for a more compact storage

  • Reports

    • Adding a new casys-report program

    • Normalizing automatic diagnostics naming convention (ex. “time_stat” -> “temporal”)

    • Making ges_table_dir and data_dir parameters optional in sources

    • Fixing gridded plots generation when a list of statistics is explicitly provided

    • Many fixes

0.13

Released on April 14, 2024

  • General

    • This version will be the last one supporting deprecated casys.nadir imports

    • Importing casys is now a lot faster (and less IO intensive)

    • Updating the dask documentation to include Slurm clusters

  • Diagnostic storage

  • NadirData/SwathData

    • Simple fields (existing as such in the source) might be referenced by their name (just a string) without having to declare a Field object when adding diagnostic.

    • New time_extension=True option allowing an automatic extension of the defined time interval for temporal diagnostic requiring complete splits (full days, hours, passes, …).

    • Adding the holes_threshold interpolation option (for interpolated fields)

    • Allowing to use box defined in a different projection for geographical box diagnostics with the new projection option of the add_geobox_stat() method [doc]

    • compute_dask() now correctly scatters loaded data when working with xarray Datasets (no more distributed warning).

    • Along track interpolation minor fixes

  • CasysPlot

    • New automatic and percentile based color_limits definition [doc]

    • Discretized colormap [doc]

      • Can now associate a color with a value

      • Improved handling of numpy.nan values

      • Improved handling of empty datasets

    • The method set_ticks() does not have a alti parameter anymore. Just set the fmt parameter to something other than None to activate altimetric ticks.

    • Some plot elements can now be customized:

      • Statistics bar allow to chose the set of displayed statistics and the number of digits to print.

      • Histogram bars allow to set the y_limits of the histogram graphic.

      • Statistics graphic allow to set the y_limits of the histogram graphic.

    • Coastlines and FeatureParams are now documented [doc]

    • Spectral analysis: second axis fixes

    • New how to add custom points to a CasysPlot example

    • PlotParams’s kwargs_plot now accept the background_img keyword

  • Reports

    • Allowing to store individual images for gridded plot

    • Many fixes

0.12

Released on August 17, 2023

  • NadirData/SwathData

    • Removing the unused resample parameter

    • Improving parameter name autocompletion (when using the tab key in notebooks) for readers, NadirData and SwathData

    • add_raw_comparison now allows to work with 3 variables [doc]

    • SwathData

      • Enabling raw_data diagnostics [doc]

      • Can now compute crossovers on passes intersecting multiple times with the pass_multi_intersect parameter [doc]

      • Adding more flexibility to field and selection clips using a mix of 1D and 2D fields

    • Spectral analysis:

      • Adding the segments_reduction parameter allowing to choose the function used to reduce data across segments [doc]

      • [Fix] Using the select_clip parameter could cause problems during pixel selection

  • CasysPlot

    • Adding 3D plotting options for many diagnostics

    • Spectral analysis:

      • Improving second axis ticks [doc]

      • [Fix] Using some sets of parameters could generate an error when creating a plot

    • PlotParameters now allow to disable coastlines as well as using different coastlines through the coastlines parameter and the FeatureParams class

    • Can now use vador to plot diagnostics with the showv() method

    • [Fix] Adding a RangeEvent was canceling PlotParameters x_limits and y_limits

  • Reports

    • ReportConfigurator

      • Adding grid display options for custom diagnostics

      • Automatic naming of images according to their section

      • [Fix] Fixing stats parameter for plots added with “add_plot”

0.11

Released on February 17, 2023

  • NadirData/SwathData

    • Fully validating creation parameters

    • Allowing to overwrite diagnostic using a similar name by setting the diag_overwrite parameter to True when creating a NadirData or SwathData

    • Spectral diagnostics have been reworked [doc]

      • New computation options

      • New PSD defaults parameters

      • New plots (with an optional second axis)

      • New swath pixels selections

  • CasysPlot

    • [Fix] Scatter plot regression curve parameters is now correctly shown in legend

    • Regression curve parameters are now stored as attributes in the data_used dataset using the names: reg_slope, reg_intercept, reg_correlation

  • Reports

    • Can now generate SwathData reports.

    • [Fix] Diagnostics depending of others (ratio) are now added in a correct order when computing data

0.10

Released on January 6, 2023

Warning

Casys Nadir Toolbox is now Casys Toolbox!
The Python module has been renamed from casys.nadir to casys.

0.7.2

Released on November 4, 2022

Warning

Casys Nadir Toolbox 0.7 will be the last version of the casys.nadir module.
Following versions (starting with 0.10) will use a new, more generic, module name: casys.
These changes will be backwards compatible. Your imports will continue to work and show a warning if something should be changed on your side.
  • Reports

    • Now allows users to define their own diagnostics and report output.

0.7.1

Released on October 3, 2022

  • Reports

    • [Fix] Raw data plots were not included in reports.

0.7

Released on August 10, 2022

  • AltiData

    • Adding the possibility to list existing diagnostics [doc]

    • compute_dask() can now display a progress bar when working with xarray Datasets

  • CasysPlot

    • New 2D binning multi-curves plot’s type [doc]

    • New discretized color bars [doc]

  • Reports

    • New ReportConfigurator class allowing simplified CalVal report configuration and generation

    • [Fix] Adding missing add_ticks_space schema

0.6.1

Released on May 22, 2022

  • CasysPlot

    • [Fix] Some invalid legend’s properties were used in the statistics’ table (add_stat_bar)

0.6

Released on May 15, 2022

Warning

Clips can now always be written using the Python CLIP syntax: you can use vector comparison operators (:==, :!=, :<, :>, :<= and :>=) everywhere without wondering if it will be executed in C or Python.
Clips will be automatically converted when reading data from a CLS Table.
  • AltiData

    • Now support multi-readers [doc]

    • Fields can now have subfields [doc]

    • Binned statistics

      • New statistics: prod and sum

      • Can now be computed on datetime fields

    • [Fix] add_ratio now works with additional diagnostics (was limited to time_stats)

    • [Fix] Multiple dask computation issues

      • MissingPoints computation

      • Error when encountering empty chunks

  • Reports

    • Many schemas were fixed

0.5.1

Released on January 25, 2022

  • AltiData

    • longitude and latitude parameters are now optional. Not setting them disable the following options and diagnostics:

      • Geographical box diagnostics

      • Crossover diagnostics

      • Missing points diagnostics

      • Raw data diagnostic map plot

      • Editing diagnostic map plot

      • Along track interpolation

      • Shape selection

    • [Fix] add_crossover_stat() now correctly use the stat_selection parameter.

    • [Fix] PlotTemplate now correctly set hist_bar_ and stat_graph_ x, y or z axis.

    • [Fix] add_histogram()

      • Plot’s stat_bar’s statistics computation was incorrect.

      • Computation with dask was unable to merge results.

0.5

Released on January 10, 2022

  • General

    • Now available as a conda package!

  • AltiData

    • compute_dask() was updated [doc]

      • Now works with xarray Datasets.

      • dask_client parameter is now optional.

        • Use current cluster if any.

        • Create a local cluster if no previous cluster was created.

      • dask_client parameter accepts a scheduler file’s path.

    • Now works with data not using the time field as main dimension.

    • [Fix] Along track interpolation now correctly works when used with compute_dask().

    • [Fix] stat_selection was not working when using compute_dask().

  • CasysPlot

    • Watermarks can now be added [doc]

    • DataParams’s normalize parameter now works with scatter’s plot

    • [Fix] Some template’s parameters were lost when doing operations on plots.

    • [Fix] data_used is correctly updated at instantiation.

0.4

Released on September 20, 2021

  • AltiData

    • Median Absolute Deviation: binning related diagnostics (time_stat, geobox_stat, binned_stat, binned_stat_2d) can now compute the mad statistic.

    • Multi-missions crossovers [doc - example]

      • add_crossover_stat() now have a data parameter allowing to compute crossovers between two AltiData.

      • Field now have a source_aux parameter allowing to set an alternative source.

    • NadirData now have a read_data() method allowing to directly read data from a source (without using add_raw_data/compute) [doc].

    • NadirData now have a add_raw_comparison() diagnostic allowing to compare two raw fields [doc - example]

    • Along track interpolation and merging

      • Data interpolated on a reference track now include values for each point of the reference track.

      • Data interpolated on a reference track now include the index of each measurement on the reference track simplifying comparison/merging of interpolated data.

      • merge_data() method’s interp parameter default value is now False.

      • Data containing the INTERPOLATED_INDEX field are considered as already aligned and will not be re-indexed when using merge_data() with interp set to False.

    • Binning related diagnostics (GeoBox, TimeStat, BinnedStat and BinnedStat 2D) now allow a stat_selection parameter. This parameter allows to only include bins (or box) respecting a given clip based on statistics. These clips might include any statistic (count, min, max, mean, median, std, var or mad):

      • count :>= 10 && max :< 100

      • min :> 3

      • median :> 10 && mean :> 9

  • CasysPlot

    • CasysPlot now allows to create raw and raw_comparison plots without having to add them as NadirData diagnostics first [doc]. The following new parameters can be used:

      • field: Field for which to create a raw_data diagnostic.

      • x: Field to use as x axis (raw comparison diagnostic).

      • y: Field to use as y axis (raw comparison diagnostic).

      • Additional read_data() parameters in order to work on different time intervals.

    • PlotParams’s show_legend parameter now applies to each individual plot in merged plots

      • Default value (None) : Only display if more than 1 curve.

      • True : Display the legend.

      • False: Hide the legend.

0.3.2

Released on July 26, 2021

  • Documentation

  • CasysPlot

    • Changes and fixes for geographical box count plots: Empty box (count = 0) were replaced with numpy.nan values in order to avoid coloring empty zones. This replacement did affect statistic and hist_graph data computation. New behavior and options:

      • 0 are not removed anymore

      • geobox_stat now have a box_selection parameter allowing to use a field to select boxes of interest.

      • Check basic and advanced examples for more information

  • AltiData

    • Fixing histogram statistics merging

    • Fixing xarray 0.19 compatibility issue when dealing with multidimensional indexes (different exception)

0.3.1

Released on June 13, 2021

  • AltiData

    • Fixing crossovers’ groups merging

    • Fixing crossovers’ data clearing

  • CasysPlot

    • Fixing plot’s operation (now handling operations with arrays)

0.3

Released on June 6, 2021

  • AltiData

    • Dask (documentation)

      • Now support raw_data

      • Now support STD computation (stat + histo)

      • Limited to CLS Table for now (does not work when datasets are used as input)

      • Stability improvements

    • data returns an empty dataset and not an exception when empty

    • clear() logs a warning if the requested diagnostic does not exist (instead of an exception)

    • Binning related diagnostics (GeoBox, TimeStat, BinnedStat and BinnedStat 2D) computation time improved by a factor of 10 to 40

  • CasysPlot

    • PlotTemplate: CasysPlot has now a PlotTemplate parameter. Templates regroup the whole plot’s configuration (documentation).

    • DataParams.points_min_radius: DataParams now accepts a minimum radius allowed between two points when plotting raw data on maps (documentation).

    • Bars limitations: it’s no longer possible to add as many instance of the same element on a plot. Plots are composed by a finite number of elements.

      • 1 title

      • 1 legend

      • 2 x-axis

      • 2 y-axis

      • 1 statistic bar

      • 1 color bar

      • 3 hist bars (x, y or z)

      • 2 stat graph (x, y)

    • CasysPlot.remove_bar() function has been removed

  • Utilities functions to work with NetCDF files