Skip to content

Releases: dbekaert/RAiDER

RAiDER v0.6.0

09 Sep 16:58
64b57ac

Choose a tag to compare

Removed

  • 764 - Removed Python 3.8 support. Python 3.9 is now the minimum version officially required to run RAiDER.
  • 753 - Removed support for ERA-Interim.

Changed

  • 743 - Switched from HTTPS to DAP4 for retrieving MERRA2 data, and suppressed a warning for using DAP4 for GMAO data where doing so is not possible.

Fixed

  • 765 - Fixed a dead link to "Installing from Source" in the ReadMe.
  • 759 - Added a browse S3 tag for .png files when uploaded to AWS.
  • 751 - Fixed ERA-5 interface for a change to its API that requires pressure variables to be requested separately from temperature and humidity.
  • 741 - Updated mamba setup commands in CircleCI for mamba 2.0.0.
  • 738 - Resolved an InsecureRequestWarning when fetching data through CDS, such as for ERA5.
  • 734 - Resolved a deprecation warning from Rasterio about the use of statistics().
  • 733 - Fixed coverage reports being generated for incorrect directories.
  • 732 - Updated hrrr.py to resolve a deprecation warning about unary_union.
  • 731 - Fixed fetch routine for GMAO.

Added

  • 762 - Added lockfiles through conda-lock to the repo, documentation, and CircleCI runners.
  • 761 - Added Python 3.13 support.
  • 747 - Added support for run config time format %H:%M:%S (without quotes).
  • 746 - Added support for numpy v2.
  • 725 - Added rules to ignore all test artifacts in git.
  • 728 - Added downloader tests for HRES, GMAO, and MERRA2.
  • 726 - Updated code and documentation for changes to the CDS API.

RAiDER v0.5.5

19 May 17:43
1028fcc

Choose a tag to compare

Changed

  • RAiDER.s1_orbits now uses the s1_orbits package to retrieve orbit files from AWS, rather than using hyp3lib
    to retrieve orbit files from ASF and CDSE.
  • RAiDER no longer requires a dataspace.copernicus.eu .netrc entry or the ESA_USERNAME/ESA_PASSWORD environment variables.

Fixed

  • 721 - Fixed bug mixing station_delay_mean and station_delay_median
  • 715 - Fixed the coverage test Github action and a timing issue with raiderCombine
  • 719 - Fixed the automatic switch to HRRR-AK based on bounding box when generic HRRR is specified as the weather model
  • 720 - Bug-fix to properly pass expected user_title argument through raiderStats function.

RAiDER v0.5.4

28 Feb 20:33
914f19c

Choose a tag to compare

Changed

  • 701 - Fixed a few path typos and handle some edge cases, add unit tests, lint project
  • 672 - Linted the project with ruff.
  • 683 - Fixed a naive datetime and added default template to template generation argument
  • prepFromGunw.check_weather_model_availability now returns False for HRRR when outside the CONUS or AK coverage areas, rather than raising ValueError.
    As a result, HRRR jobs run via HyP3 for GUNWs outside HRRR coverage will exit successfully without making any changes to the GUNW.

Fixed

  • 700 - Fixed a few path typos and handle some edge cases
  • 679 - Fixed a bug causing test_updateTrue to falsely pass.
  • 685 - Fixed a global bbox bug in checkContainment
  • Pinned to herbie-data<2025.2.1 to address failing HRRR AK tests introduced with the 2025.2.1 release on 2025-02-18.

RAiDER v0.5.3

30 Jul 18:18
a9bf37c

Choose a tag to compare

Fixed

  • Updates dem-stitcher to 2.5.8 to ensure new (ARIA-managed) url for reading the Geoid EGM 2008. See this issue.

RAiDER v0.5.2

15 Jul 16:55
2a34802

Choose a tag to compare

Changed

  • 627 - Made Python datetimes timezone-aware and added unit tests and bug fixes.
  • 651 - Removed use of deprecated argument to pandas.read_csv.
  • 652 - Changed the behavior of RAiDER.models.credentials.check_api to not overwrite the user's API credential files.
  • 656 - Example run configuration files available through raider.py --generate_config <example_name>.
  • 657 - Fixed a few typos in README.md.
  • 658 - Fixed opaque error message if a GUNW file is not produced while HyP3 independently against a previous INSAR_ISCE.
  • 661 - Fixed bug in raiderDownloadGNSS, removed call to scipy.sum, and added unit tests.
  • 662 - Bumped dem-stitcher to >= v2.5.6, which updates the URL for reading the Geoid EGM 2008.

RAiDER v0.5.1

06 May 23:54
223d862

Choose a tag to compare

Changed

  • Use hyp3-lib v3* to download orbits to be able to distribute load across ESA and ASF. Can be easily swapped out for sentineleof in future release.

RAiDER v0.5.0

29 Apr 22:48
c1ef3f1

Choose a tag to compare

Added

  • A --input-bucket-prefix argument to calcDelaysGUNW which will allow RAiDER to process ARIA GUNW products under one prefix and upload the final products to another prefix provided by the --bucket-prefix argument.

Fixed

  • 613 - ensure NASA Earthdata credentials for downloading orbits from ASF
  • 634 - download orbits from ASF before trying ESA
  • 630 - use correct model name so (hrrr-ak) in azimuth_timing_grid
  • 620 - Fix MERRA-2 access because API was updated

RAiDER v0.4.7

20 Feb 22:41
85a26cd

Choose a tag to compare

Fixed

  • 617 - RAiDER created .netrc is too permissive
  • 622 - RAiDER's call to sentineleof needs to have missions and times have same length.

RAiDER v0.4.6

21 Nov 04:02
38eab39

Choose a tag to compare

Added

  • Adds an s1_orbits.py module which includes:
    • get_orbits_from_slc_ids to download the associated orbit files for a list of Sentinel-1 SLC IDs
    • ensure_orbit_credentials to ensure ESA CSDE credentials have been provides to download orbit files. This should be called before sentineleof is used to download orbits.
  • Adds a setup_from_env function to models/credentials.py which will pull all credentials needed for acquiring weather model data from environment variables and ensure the correct config file is written. This makes setting up credentials in CI pipelines significantly easier

Changed

  • sentineleof upgraded to version 0.9.5 or later to (a) fetch orbits from ESA CDSE and (b) ensure that if CDSE fetch fails, code resorts to ASF orbit repository

Fixes

  • RAiDER is now tested on Python version 3.9-3.12
  • All typehints are now Python 3.9 compatible
  • 607: Python entrypoint loading is now compatible with Python 3.12
  • 610: Sentinel-1 orbit availability due to ESA migrating Sentinel-1 orbit files from Copernicus Open Access Hub (Scihub) to the new Copernicus Data Space Ecosystem (CDSE)
  • make weather file directory when it doesn't exist
  • Ensures the models/data/alaska.geojson.zip file is packaged when building from the source tarball
  • Make ISCE3 an optional dependency in s1_azimuth_timing.py
  • Added unit tests and removed unused and depracated functions

Removed

  • hyp3lib, which was only used for downloading orbit fies, has been removed in favor of sentineleof

RAiDER v0.4.5

27 Sep 16:52
d9fbf91

Choose a tag to compare

Fixes

  • #583: it appears that since the issues with geo2rdr cropped up during our processing campaign, there has been a new release of ISCE3 that resolves these failures with geo2rdr and the time interpolation that uses this ISCE3 routine.
  • #584: failed Raider step function in hyp3 job submission when HRRR model times are not available (even within the valid model range) - to resolve, we check availability of files when delay workflow called with a) azimuth_grid_interpolation and b) input to workflow is GUNW. If weather model files are unavailable and the GUNW is on s3, do nothing to GUNW (i.e. do not add tropo delay) and exit successfully. If weather model files are unavailable and the GUNW is on local disk, raise ValueError
  • #587: similar to 584 except added here to the mix is control flow in RAiDER.py passes over numerous exceptions in workflow. This is fixed identically as above.
  • #596: the "prefix" for aws does not include the final netcdf file name, just the sub-directories in the bucket and therefore extra logic must be added to determine the GUNW netcdf file name (and the assocaited reference/secondary dates). We proceed by downloading the data which is needed regardless. Tests are updated.

Removed

  • Removes update option (either True or False) from calcGUNW workflow which asks whether the GUNW should be updated or not. In existing code, it was not being used/applied, i.e. previous workflow always updated GUNW. Removed input arguments related from respective functions so that it can be updated later.

Added

  • Allow for Hyp3 GUNW workflow with HRRR (i.e. specifying a gunw path in s3) to successfully exit if any of the HRRR model times required for azimuth-time-grid interpolation (which is default interpolatin method) are not available when using bucket inputs (i.e. only on the cloud)
  • For GUNW workflow, when model is HRRR, azimuth_time_grid interpolation used, and using a local GUNW, if requisite weather model files are not available for raise a ValueError (before processing)
  • Raise a value error if non-unique dates are given in the function get_inverse_weights_for_dates in s1_azimuth_timing.py
  • Added metadata provenance for each delay layer that is included in GUNW and the cube workflow generally in calcDelays including:
    • model_times_used - the weather models used and interpolated for the delay calculation
    • interpolation_method - whether none, center_time, or azimuth_time_grid methods were used - see description in calcDelayGUNW
    • scene_center_time - the center time in which the associated SAR image was acquired
  • Stages GMAO data for GUNW testing of correct dataset update i.e. in the test test_GUNW_dataset_update.
  • Stages HRRR data for test_HRRR_ztd test.
  • Ensures ISCE3 is >=0.15.0
  • Uses correct HyP3 S3 prefix conventions and filename suffix within test patches to improve readability of what tests are mocking (see comments in #597).

Changed

  • Get only 2 or 3 model times required for azimuth-time-interpolation (previously obtained all 3 as it was easier to implement) - this ensures slightly less failures associated with HRRR availability. Importantly, if a acquisition time occurs during a model time, then we order by distance to the reference time and how early it occurs (so earlier times come first if two times are equidistant to the aquisition time).
  • Made test names in test_GUNW.py more descriptive
  • Numpy docstrings and general linting to modified function including removing variables that were not being accessed
  • hrrr_download to ensure that hybrid coordinate is obtained regardless how herbie returns datacubes and ensures test_HRRR_ztd passes consistently
    • Remove the command line call in test_HRRR_ztd.py and call using the python mock up of CLI for better error handling and data mocking.
  • Return xarray.Dataset types for RAiDER.calcGUNW.tropo_gunw_slc and RAiDER.raider.calcDelayGUNW for easier inspection and testing
  • Fixes tests for checking availability of HRRR due Issue #596 (above).