Skip to content

RAiDER v0.4.3

Compare
Choose a tag to compare
@dbekaert dbekaert released this 23 Aug 21:04
05a8a40
  • Prevent ray tracing integration from occuring at exactly top of weather model
  • Properly expose z_ref (max integration height) parameter, and dont allow higher than weather model
  • Min version for sentineleof for obtaining restituted orbits.
  • Rename datetime columns and convert from strings for GNSS workflow
  • Use native model levels in HRRR which extend up to 2 hPa as opposed to 50 hPa in pressure levels
  • Update tests to account for different interpolation scheme
  • Dont error out when the weather model contains nan values (HRRR)
  • Fix bug in fillna3D for NaNs at elevations higher than present in the weather model
  • write delays even if they contain nans
  • check that the aoi is contained within HRRR extent
  • streamline some unit tests to remove downloading
  • move the ray building out of the _build_cube_ray and into its own function for cleaner testing
  • update the tests to use the new build_ray function
  • If the processed weather file exists use it; otherwise check if raw exists and covers study area; otherwise download new
  • Update the integration height for raytracing from 50 km to 80 km
  • Reinstate test 3 (slant proj and ray trace), remove unused calls with ZREF
  • Add buffer to W/E for ERA5
  • refactor imports to allow for a cleaner raider-base
  • Add buffer to HRES when downloading as with the other models
  • Refactor to pass a weather file directly to fetch
  • Update staged weather models to reflect update to aligned grid
  • Correctly pass buffered bounds when aligning grid
  • Check the valid bounds prior to starting and use HRRR-AK if its correct so that rounding times to obtain data at are correctly fed to Herbie
  • Update test_intersect to already existing weather model files
  • Replace the real weather model files used for the synthetic test with the correct ones (bounding box changed slightly)
  • Update test_scenerio_1 to match golden data by selecting a grid by lat/lon rather than indices
  • Adjust the buffering to account for grid spacing
  • Update ERA5 model coordinates to reflect changes in support of HRRR
  • Re-work the HRRR weather model to use herbie (https://github.com/blaylockbk/Herbie) for weather model access. HRRR conus and Alaska validation periods are respectively 2016-7-15 and 2018-7-13 onwards.
  • minor bug fixes and unit test updates
  • add log file write location as a top-level command-line option and within Python as a user-specified option
  • account for grid spacing impact on bounding box before downloading weather model
  • update the GUNW test to account for change in grid spacing on affine transform
  • add CLI for the old processDelayFiles script and rename to raiderCombine
  • Fix gridding bug in accessing HRRR-AK
  • misc clean-up
  • Specify unbuffered python output in the docker entrypoint script using python -um RAiDER.cli ... whose __main__.py is the desired entrypoint.
  • For the GUNW workflow uses azimuth time interpolation using ISCE3 geo2rdr (see here).
    • Updates interpolate_time options to: 'none' (formerly False), 'center_time' (formerly True and default), and azimuth_time_grid (not implemented previously)
  • Series of bug-fixes/compatibility updates with stats class:
    • Inconsistent definition of index IDs, which leads to key errors as so when querying the grid space for valid data points
    • Turn off default behavior of plotting minor ticks on colorbars, which translates to unreadable plots especially when scientific notation is involved
    • Assign valid geotrans to output tif files used for replotting/dedup.
    • Properly load existing grids for replotting runs. Before the program crashed as single bands were incorrectly being read as cubes.
    • Update in pandas not backwards compatible with original conditional logic. Specifically, conditions like (not self.df['Date'].dt.is_leap_year) replaced with (self.df['Date'].dt.is_leap_year is False)
  • add unit tests for the hydro and two pieces of wet equation
  • bump bottom/top height of user requested levels by ~1mm during ray tracing to ensure interpolation works
  • ensure directories for storage are written
  • fix bug in writing delays for station files
  • Force lat/lon/hgt to float32 so that they line up correctly in stitching
  • Add two stage buffer;
    • first pad user bounding box such that a 3D cube is generated that at min covers user area of interest.
    • then if ray tracing is used, pad the downloaded model in look direction. Assumes look angle is fixed increases with latitude.
  • Update and convert user given AOI to weather model projection (except for HRRR)
  • Clean up error messagse, skip date if temporal interpolation fails
  • Update valid range for ERA5 (current date - 3 months) & ERA5T
  • Temporal interpolation of delays if the requested datetime is more than _THRESHOLD_SECONDS away from the closest weather model available time and interpolate_time = True (default behavior)
  • Add assert statement to raise error if the delay cube for each SAR date in a GUNW IFG is not written
  • Verify some constants / equations and remove the comments questioning them
  • Relocate the time resolution of wmodels to one spot
  • Skip test_scenario_3 until a new golden dataset is created
  • Update environment with scipy version minimum and requiring pybind11 (the latter for Apple ARM64 with rosetta2)
  • For GUNW entrypoint and associated workflow, update json metadata when bucket argument is provided to include weather_model key with value being a list.
  • For the GUNW workflow:
    • Updated GUNW workflow to expose input arguments (usually passed through command line options) within the python function for testing
    • Include integration test of HRRR for GUNW workflow
    • Test the json write (do not test s3 upload/download) in that it conforms to the DAAC ingest schema correctly - we add a weather model field to the metadata in this workflow
    • Removed comments in GUNW test suite that were left during previous development
    • If a bucket is provided and the GUNWs reference or secondary scenes are not in the valid range, we do nothing - this is to ensure that GUNWs can still be delivered to the DAAC without painful operator (i.e. person submitting to the hyp3 API) book-keeping