Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release V7.0.0 #262

Merged
merged 127 commits into from
Jan 25, 2024
Merged

Release V7.0.0 #262

merged 127 commits into from
Jan 25, 2024

Conversation

SpicyGarlicAlbacoreRoll
Copy link
Contributor

@SpicyGarlicAlbacoreRoll SpicyGarlicAlbacoreRoll commented Jan 24, 2024

Key Features:
Dataset specific ASFProduct subclasses, platform/processingLevel aliasing with collection concept-ids, ASFSession support for authenticating/downloading from non-prod deployments.

Key Changes:
remotezip is now an optional dependency, constants are now module scoped (imports like asf_search.SLC or asf_search.SENTINEL1 must now be asf_search.PRODUCT_TYPE.SLC and asf_search.PLATFORM.SENTINEL1), baseline stacking no longer filter out products with missing state vectors but logs a warning (harmonizing results with SearchAPI). OPERA-S1 dataset no longer has calval collections, moved to OPERA-S1-CALIBRATION dataset.

v.7.0.0

Added

  • ASFProduct now has 14 sublcasses for different sub-products that correspond to datasets/feature sets:
    • S1Product, S1BurstProduct, OPERAS1Product, ARIAS1GUNWProduct, ALOSProduct, RADARSATProduct, AIRSARProduct, ERSProduct, JERSProduct, UAVSARProduct, SIRCProduct, SEASATProduct, SMAPProduct, and ASFStackableProduct.
    • Each subclass defines relevant keys to pull from umm response, reducing the amount of irrelevant values in properties dict for certain product types
  • Adds collectionAlias to ASFSearchOptions validator map as config param. Set to False to disable concept-id aliasing behaviour for processingLevel and platform.
  • Adds warning when scenes in stack are missing state vectors, and logs baseline warnings with ASF_LOGGER
  • Adds OPERA-S1-CALIBRATION entry to dataset_collections and corresponding OPERA_S1_CALIBRATION constant to DATASET.py, used to search for OPERA-S1 CSLC and RTC calibration data.

Changed

  • Constants are no longer top level import, are now accessible through respective modules
  • processingLevel and platform are now aliased by collection concept-ids, (lists of concept ids by their processing levels/platforms viewable in dataset.py), improving search performance and dodging subquery system
  • Baseline stacking no longer excludes products with missing state vectors from final stack, like SearchAPI
  • OPERA-S1 dataset no longer includes calibration data (moved to new dataset)
  • Adds optional ASFSession constructor keyword arguments for new class variables:
    • edl_host
    • edl_client_id
    • asf_auth_host
    • cmr_host
    • cmr_collections
    • auth_domains
  • ASFSession imports asf_search.constants.INTERNAL in constructor call
  • ASFSession methods auth_with_creds(), auth_with_token(), and rebuild_auth() use new class variables instead of constants

kim and others added 30 commits September 15, 2023 12:44
kim and others added 20 commits January 18, 2024 15:55
ASFSession Class Variables, Constant Import
…oduct-casting

Adds subproduct class type casting to baseline_search
…ation

Perpendicular Baseline Harmonization with SearchAPI
platform/processingLevel concept-id aliasing, DATASET Constants, constants no longer top level imports
@SpicyGarlicAlbacoreRoll SpicyGarlicAlbacoreRoll added the major Bumps the major version (PR to stable only) label Jan 24, 2024
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@codecov-commenter
Copy link

codecov-commenter commented Jan 24, 2024

Codecov Report

Attention: 58 lines in your changes are missing coverage. Please review.

Comparison is base (dcb71ee) 89.79% compared to head (867c8e5) 88.22%.

Files Patch % Lines
asf_search/CMR/datasets.py 52.94% 8 Missing ⚠️
asf_search/ASFSearchResults.py 12.50% 7 Missing ⚠️
asf_search/Products/ARIAS1GUNWProduct.py 76.00% 6 Missing ⚠️
asf_search/search/baseline_search.py 75.00% 6 Missing ⚠️
asf_search/Products/OPERAS1Product.py 88.37% 5 Missing ⚠️
asf_search/Products/S1BurstProduct.py 88.23% 4 Missing ⚠️
asf_search/download/download.py 50.00% 4 Missing ⚠️
asf_search/CMR/subquery.py 93.18% 3 Missing ⚠️
asf_search/export/jsonlite.py 72.72% 3 Missing ⚠️
asf_search/ASFProduct.py 97.80% 2 Missing ⚠️
... and 8 more
Additional details and impacted files
@@            Coverage Diff             @@
##           stable     #262      +/-   ##
==========================================
- Coverage   89.79%   88.22%   -1.57%     
==========================================
  Files          54       69      +15     
  Lines        2028     2370     +342     
==========================================
+ Hits         1821     2091     +270     
- Misses        207      279      +72     
Flag Coverage Δ
unittests 88.22% <90.83%> (-1.57%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@SpicyGarlicAlbacoreRoll SpicyGarlicAlbacoreRoll marked this pull request as ready for review January 24, 2024 23:58
@SpicyGarlicAlbacoreRoll SpicyGarlicAlbacoreRoll merged commit 527909a into stable Jan 25, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major Bumps the major version (PR to stable only)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants