Recent Releases of cryoswath

cryoswath - v0.2.4

The release comprises a comprehensive update and refactor of the CryoSwath project, a Python package for processing CryoSat-2 satellite data. The changes focus on improving code clarity, modularity, and maintainability, as well as updating documentation and dependencies.

Key changes include:

  • Consistent Naming: The project name is standardized from "cryoswath" to "CryoSwath" across documentation, code, and metadata, improving branding and clarity.
  • Imports Refactored: Relative imports are replaced with absolute imports (e.g., from .misc becomes from cryoswath.misc), which helps avoid circular dependencies and makes the codebase more robust.
  • Path Handling: Paths are now managed using Python's Path objects instead of raw strings, making file operations more reliable and platform-independent.
  • Integrated DEM downloader: DEMs can now be downloaded automatically. However, this capability is not yet fully exploited.
  • Empty DataFrames: A reusable empty_GeoDataFrame is introduced to handle cases where no data is available, reducing repetitive code and potential errors.
  • Functionality Enhancements: Several functions are updated for flexibility, such as allowing custom arguments for phase smoothing and swath detection, and improving error handling for file downloads (including fallback to HTTPS if FTP fails).
  • Documentation Updates: The README, Sphinx docs, and tutorials are revised for clarity, consistency, and to reflect new installation and usage instructions.
  • Docker and Environment: The Dockerfile and environment files are updated to ensure a smoother setup, including necessary dependencies and initialization steps.
  • Dependency Management: Optional dependencies are streamlined, and new ones (like pystac-client and stackstac) are added to support advanced geospatial data handling.

Overall, these changes modernize the codebase, improve user experience, and make the package easier to install, use, and extend. The refactor also prepares CryoSwath for broader adoption and future development by addressing common pain points in scientific Python projects.

Full Changelog: https://github.com/j-haacker/cryoswath/compare/v0.2.3.post1...v0.2.4

- Python
Published by j-haacker 6 months ago

cryoswath - Patched v0.2.2

This release fixes a single issue related to a published dataset[1]. The release merely serves reproducibility and transparency.

[1] https://doi.org/10.4121/955d7f5a-0e3f-4166-a411-f0dcc4557cb2

- Python
Published by j-haacker 7 months ago

cryoswath - Fix dependency specification

Add dependency specification xarray<2025 to fix bug.

- Python
Published by j-haacker 8 months ago

cryoswath - Fix xarray dependency specification

Add dependency specification xarray<2025 to fix bug.

- Python
Published by j-haacker 8 months ago

cryoswath - v0.2.3

Simplify installation, improve documentation, add high-level functions.

- Python
Published by j-haacker 8 months ago

cryoswath - v0.2.2.post1

This release is almost identical to v0.2.2 except for dropping setting the user email, that is required for ESA downloads, during initialization. This was necessary to please conda-forge CI tests.

- Python
Published by j-haacker 11 months ago

cryoswath - v0.2.2

  • Many small fixes
  • Some methodological improvements
  • Refactoring: drop L1bData class
  • Some convenience functions added

- Python
Published by j-haacker 11 months ago

cryoswath - v0.2.1

pip & PyPI

cryoswath is, now, installable - and available on PyPI. See the updated readme for install instructions.

directory structure

The directory and branch structure was refactored. The main branch, now, only includes the code. A new command line function cryoswath-init pulls the data and scripts branches, which contain the previous data and scripts directories, to set up an altimetry-project directory structure.

This allows to have one general virtual environment with the cryoswath installation and multiple projects using cryoswath in separated directories.

compatibility

cryoswath is, now, compatible back to python version 3.11 which is available in many repositories.


Full Changelog: https://github.com/j-haacker/cryoswath/compare/v0.2.0...v0.2.1

- Python
Published by j-haacker about 1 year ago

cryoswath - v0.2.0

There is less untouched than changed - I will not be able to provide an overview.

- Python
Published by j-haacker about 1 year ago

cryoswath - aggregate L2 data using dask

The new version offers a versatile method to grid the point elevation estimates using parallelism based on the dask package. By default the l3.build_dataset calculates the median elevation difference to the reference DEM. You can pass a custom aggregation function in case you are interested in other statistics.

For my testing region, I could run it on my local notebook, it took only 10 minutes for a 2-by-2 km grid on 16 CPUs, and less than 30 minutes for the "full-resolution" 500-by-500 m grid.

dask_dashboard_impression

image

There are some limitations, however. So far, the aggregation period has to be a number of months and the aggregation function always works on the elevation difference to the reference DEM. The latter is fairly easy to adapt to your needs by changing the build_dataset function.

- Python
Published by j-haacker almost 2 years ago

cryoswath - Parallel processing added

Processing L1b data to L2 is now parallelized.

Also, downloading L1b data now uses multiple threads.

However, it is, yet, not possible to have a backgroud thread to download the data while processing L1b files.

- Python
Published by j-haacker almost 2 years ago

cryoswath - Patch bug finding swath start

Previous version occasionally discarded waveforms if POCA couldn't be found.

- Python
Published by j-haacker about 2 years ago

cryoswath - Tested to mostly work

This is the second pre-release. Never the less, this version is better tested and there were substantial improvements.

For the test cases, swath processing including group recognition and POCA retrieval behave as expected.

data across DEM transect coherence waveform

Full Changelog: https://github.com/j-haacker/cryoswath/compare/v0.0...v0.1

- Python
Published by j-haacker about 2 years ago

cryoswath - Pre-beta release

This release is a preview of the cryoswath package.

While it can already build datasets of gridded surface elevations, it takes some adaptions to run it on another machine. On trying, you will need to obtain a reference DEM, provide glacier outlines, and set the file paths. Currently, there may be hardcoded preferences that, e.g., limits the use of cryoswath to the Arctic. However, if you patiently replace those parts you will be rewarded being the first user.

- Python
Published by j-haacker about 2 years ago