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

v0.4.3 #581

Merged
merged 429 commits into from
Aug 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
429 commits
Select commit Hold shift + click to select a range
005b48c
error out if no dates available or use nearest if only one date is av…
jlmaurer Apr 7, 2023
0aabf44
keep hrrr ak proj
jlmaurer Apr 18, 2023
fe6b304
make load and fetch available to hrrr ak
jlmaurer Apr 18, 2023
4b80b7e
update hrrrak to work by itself in python
jlmaurer Apr 19, 2023
6c0218f
calculate x and y coords from lat and lon to be used in interpolation
jlmaurer Apr 20, 2023
c6465c2
update CHANGELOG
jlmaurer Apr 21, 2023
2d827d3
add module and exc_info to log handlers
jlmaurer Apr 21, 2023
8ca11aa
Merge branch 'dev' into new_logging
jlmaurer Apr 21, 2023
ad24615
Merge pull request #514 from jlmaurer/new_logging
dbekaert Apr 22, 2023
bf4425f
Add DEM docstring
MLicari1 Apr 25, 2023
ed94e1f
Merge branch 'dev' into Synthetic
bbuzz31 Apr 25, 2023
c6bcea7
Merge pull request #515 from bbuzz31/Synthetic
bbuzz31 Apr 27, 2023
4d56e01
account for grid spacing before downloading wm
bbuzz31 Apr 25, 2023
a29d48b
Get rid of vestigial lookdir
bbuzz31 Apr 27, 2023
c61d4ae
undo introduced bug; update changelog
bbuzz31 Apr 28, 2023
35128e2
remove vestigial import
bbuzz31 Apr 28, 2023
c2fdc6b
replace private variable with fn
bbuzz31 Apr 29, 2023
b3c3f98
first commit
cmarshak May 1, 2023
a703fc0
fast forward
cmarshak May 1, 2023
c6a1895
changelog
cmarshak May 1, 2023
4e4643a
remove model module imports
cmarshak May 1, 2023
792a24e
Update CHANGELOG.md
cmarshak May 2, 2023
4e42a2f
Add back white space 2
cmarshak May 2, 2023
f30ed13
update tests to use new buffering
bbuzz31 May 2, 2023
67fb364
correctly set grid size in test
bbuzz31 May 2, 2023
b16a32f
first pass at tests
cmarshak May 2, 2023
42d30a9
Use HRRR spatial coverage constants
cmarshak May 2, 2023
a9ee979
Include alaska geometry
cmarshak May 2, 2023
9f9d71f
Include alaska geojson
cmarshak May 2, 2023
0f6ae5a
tests_for_availability
cmarshak May 2, 2023
3a83924
rename constants
cmarshak May 2, 2023
5998800
sort imports
cmarshak May 2, 2023
f20f460
sort imports 2
cmarshak May 2, 2023
eb22f6a
Include pacakge data i.e. geojson when installing
cmarshak May 2, 2023
6112163
package data setup
cmarshak May 2, 2023
39e274e
Adjust imports for mocker
cmarshak May 2, 2023
fcef305
mock weather model availability
cmarshak May 2, 2023
fed41e5
Merge pull request #525 from bbuzz31/grid_size
dbekaert May 3, 2023
77b1d0c
update GUNW test to be agnostic of data shape
bbuzz31 May 3, 2023
09039b9
update changelog
bbuzz31 May 3, 2023
1c799d9
Update changelog to reflect stats class fixes
sssangha May 5, 2023
b799066
Merge branch 'dev' into sss_raiderenv
sssangha May 5, 2023
1cb3b38
fix metadata
cmarshak May 9, 2023
692dc88
Merge pull request #532 from bbuzz31/gunw_test
dbekaert May 9, 2023
1e2c18f
merge
cmarshak May 9, 2023
adb5135
Update statsPlot.py
sssangha May 11, 2023
827da8b
add in hook to the old processDelayFiles script and rename to raiderC…
jlmaurer May 22, 2023
29a1177
update CHANGELOG
jlmaurer May 23, 2023
5538035
Merge pull request #539 from jlmaurer/process_delay_files_gnss
jlmaurer May 23, 2023
36adc8f
few updates to get started
jlmaurer May 6, 2023
bb5bf34
tmp commit
jlmaurer May 7, 2023
5474dd7
fix hrrr code and clean up
jlmaurer May 20, 2023
db2a7a0
some general clean-up
jlmaurer May 20, 2023
88dff55
remove a few leftovers from merging
jlmaurer May 22, 2023
858f77f
update CHANGELOG
jlmaurer May 23, 2023
0717476
fix latitude change at wrong point
jlmaurer May 23, 2023
1b6fbe0
fix bug of flipped E/W
bbuzz31 May 23, 2023
6b5adc9
use 2D grid for lat lon in GMAO
bbuzz31 May 23, 2023
90c8967
Merge pull request #17 from bbuzz31/jlmaurer-fix_hrrr_xy
jlmaurer May 23, 2023
fd1aa27
fix HRRR grid spacing and fix ECMWF lat lon 2D bug
jlmaurer May 23, 2023
b93aaf7
Merge pull request #538 from jlmaurer/fix_hrrr_xy
dbekaert May 24, 2023
9f29db1
fix the buffering
bbuzz31 May 24, 2023
0561ad4
retain nans if they exist in ray tracing
bbuzz31 May 24, 2023
f4fc0b2
update changelog
bbuzz31 May 24, 2023
1ae73a8
update the test scenario to select a point based on lat/lon rather th…
bbuzz31 May 24, 2023
edc4c87
use 2D lat/lons
bbuzz31 May 25, 2023
71ef774
HRRR works; era5 no
bbuzz31 May 25, 2023
44981b4
fix the shapes in ecmwf
bbuzz31 May 25, 2023
9d81683
remove vestigial debug statements
bbuzz31 May 25, 2023
404a0e0
update changelog
bbuzz31 May 25, 2023
33266d5
Merge remote-tracking branch 'origin/fix_ecmwf' into buffer_fix
bbuzz31 May 25, 2023
4791b47
update real weather files for synthetic test
bbuzz31 May 25, 2023
2a487e1
remove old comments
bbuzz31 May 25, 2023
4949850
update changelog
bbuzz31 May 25, 2023
4bca169
start updating tests to use already existing weather model data
bbuzz31 May 25, 2023
fca078d
update changelog
bbuzz31 May 25, 2023
eb5a478
Merge pull request #541 from bbuzz31/fix_ecmwf
jlmaurer May 26, 2023
b54ee11
Merge branch 'dev' into buffer_fix
bbuzz31 May 26, 2023
da6c2ae
Merge branch 'dev' into update_some_tests
bbuzz31 May 26, 2023
3336cc1
set the aoi target grid in the aoi object
bbuzz31 May 26, 2023
6bb8604
Merge pull request #540 from bbuzz31/buffer_fix
jlmaurer May 26, 2023
72e567f
Merge branch 'dev' into update_some_tests
bbuzz31 May 26, 2023
4cd4893
Manage `Date` key in gnss file
sssangha May 27, 2023
df96924
Bump mamba-org/provision-with-micromamba from 15 to 16
dependabot[bot] May 29, 2023
0680a84
Merge pull request #545 from dbekaert/dependabot/github_actions/mamba…
jlmaurer May 29, 2023
e1f2f69
Merge pull request #543 from bbuzz31/update_some_tests
jlmaurer Jun 3, 2023
9dfaff1
check and set the weather model, based on the bounds, at the beginnin…
bbuzz31 Jun 5, 2023
efb97a9
update HRRR tests to reflect new methods
bbuzz31 Jun 5, 2023
5ab5aae
update changelog
bbuzz31 Jun 5, 2023
0fa4962
update validators test
bbuzz31 Jun 5, 2023
79a7a14
correctly adjust bounds for HRRRAK and add test for it
bbuzz31 Jun 5, 2023
c35af1e
Correct transforms orders to work
bbuzz31 Jun 6, 2023
507af4f
update weather files
bbuzz31 Jun 6, 2023
b315216
update golden values in test to reflect slightly differnt interpolation
bbuzz31 Jun 6, 2023
a16f152
overload validbounds
bbuzz31 Jun 6, 2023
d46990b
fix import
bbuzz31 Jun 6, 2023
ebbdc41
Merge pull request #547 from bbuzz31/HRRR-AK2
jlmaurer Jun 7, 2023
a76cb3b
only reuse model if the cropped weather file exists
bbuzz31 Jun 14, 2023
98301d4
tweaks for bbox
bbuzz31 Jun 15, 2023
5f8ac7a
Update changelog
bbuzz31 Jun 15, 2023
d984ae7
update dltest
bbuzz31 Jun 15, 2023
19ca7d1
adjust containment to be correct and use the cropped file
bbuzz31 Jun 15, 2023
460eee3
support backward compatibility for processWM
bbuzz31 Jun 15, 2023
eccddb1
Merge pull request #551 from bbuzz31/LA_nans1
bbuzz31 Jun 16, 2023
9dbe446
buffer HRES like the other models
bbuzz31 Jun 21, 2023
47a2670
Merge pull request #555 from bbuzz31/nan_la2
jlmaurer Jun 21, 2023
74526c5
specify un-buffered python output in docker entrypoint script
asjohnston-asf Jun 22, 2023
6889295
update changelog
asjohnston-asf Jun 22, 2023
f2f0ebe
Merge branch 'dev' into patch-2
asjohnston-asf Jun 22, 2023
449e771
Merge pull request #557 from asjohnston-asf/patch-2
jlmaurer Jun 22, 2023
430eae7
Update entrypoint.sh
cmarshak Jun 23, 2023
a6c012d
Merge branch 'dev' into sss_raiderenv
sssangha Jun 23, 2023
9ddd4ab
Merge pull request #512 from dbekaert/sss_raiderenv
jlmaurer Jun 23, 2023
81f0077
reinstate test3 with full 80k delays
bbuzz31 Jun 25, 2023
da4b3f8
update tests1 for new bounds
bbuzz31 Jun 26, 2023
e4fbd96
update test files
bbuzz31 Jun 26, 2023
576d549
update slant test
bbuzz31 Jun 26, 2023
665a31f
check for raw wm before redownloading; smaller dem
bbuzz31 Jun 27, 2023
7225a8d
Merge pull request #560 from bbuzz31/reinstate_test3b
jlmaurer Jun 27, 2023
4dd781a
make a function that calculates the ray length
bbuzz31 Apr 27, 2023
bc4014b
update test to use build_ray function
bbuzz31 Apr 27, 2023
e2c009b
update changelog
bbuzz31 Apr 28, 2023
97b9ff0
incorporate new zref
bbuzz31 Jun 27, 2023
ff11350
Update entrypoint.sh and reverts #557
cmarshak Jun 27, 2023
541a74d
Update CHANGELOG.md
cmarshak Jun 27, 2023
023a2a1
fix entrypoint
cmarshak Jun 28, 2023
bb119f4
revert whitespace
cmarshak Jun 28, 2023
c3f53b6
Merge branch 'dev' into etc-update
cmarshak Jun 28, 2023
df4b400
Merge pull request #559 from dbekaert/etc-update
cmarshak Jun 29, 2023
9576989
Merge pull request #527 from bbuzz31/RayFunction
jlmaurer Jul 1, 2023
156f3a9
Bump ASFHyP3/actions from 0.7.1 to 0.8.0
dependabot[bot] Jul 3, 2023
e7323cd
correctly check HRRR contains AOI
bbuzz31 Jul 12, 2023
cab1464
add brett to list of contributors
bbuzz31 Jul 12, 2023
dc3e55b
use ztd/std/ray in station file naming
bbuzz31 Jul 12, 2023
5e8e664
update filenaming convention in test
bbuzz31 Jul 12, 2023
9d37d2c
Don't error out if delays contain nans
bbuzz31 Jul 13, 2023
4a3c40a
update changelog
bbuzz31 Jul 13, 2023
adf0ed5
typo bug
bbuzz31 Jul 13, 2023
9c34244
Merge pull request #561 from dbekaert/dependabot/github_actions/ASFHy…
jlmaurer Jul 14, 2023
a14b068
Merge pull request #564 from bbuzz31/hrrr_extent
jlmaurer Jul 17, 2023
3c9c0b2
fix fillna3d bug to convert upper nans to 0
jlmaurer Jul 18, 2023
feaf741
add a fill value option to avoid division by zero
jlmaurer Jul 18, 2023
3365c5a
add descriptions
jlmaurer Jul 18, 2023
b0edc7a
update interpolator true array
bbuzz31 Jul 18, 2023
8248765
update HRRR test
bbuzz31 Jul 18, 2023
6fb356b
Merge pull request #566 from jlmaurer/fix_fillna3d
jlmaurer Jul 18, 2023
040c98d
squash typo bug
bbuzz31 Jul 18, 2023
38da8d7
dont error out when weather has nans
bbuzz31 Jul 18, 2023
32ebed6
update test to check for warning not error out if nans present
bbuzz31 Jul 18, 2023
ce59fcb
Merge pull request #567 from bbuzz31/allow_wm_nans
jlmaurer Jul 18, 2023
5f5d380
update tests
bbuzz31 Jul 19, 2023
010f8a7
update changelog
bbuzz31 Jul 19, 2023
a38a8f8
allow HRRR to pass if aoi is outside model domain
bbuzz31 Jul 20, 2023
aabc3b1
use smaller dem for circleci
bbuzz31 Jul 20, 2023
df8cba6
second spot allow HRRR to pass
bbuzz31 Jul 20, 2023
b3ea8b3
narrower failure restriction
bbuzz31 Jul 21, 2023
166b6c4
save weather model name
bbuzz31 Jul 21, 2023
c02d2d2
allow missing HRRR dates to pass
bbuzz31 Jul 21, 2023
134bb46
Merge pull request #569 from bbuzz31/tests_for_new_fillna
bbuzz31 Jul 24, 2023
cd6fc19
Use model levels for HRRR
bbuzz31 Jul 24, 2023
a112989
enable pressure levels in era5
bbuzz31 Jul 24, 2023
7d6367a
Updated changelog
bbuzz31 Jul 24, 2023
ab36c3f
include azimuth-timing
cmarshak Jul 24, 2023
aed06bb
relative import
cmarshak Jul 24, 2023
7a477fa
update HRRR golden values
bbuzz31 Jul 24, 2023
1a01b5b
update interp options
cmarshak Jul 25, 2023
af0440b
changelog
cmarshak Jul 25, 2023
3945f5f
turn back model levels to default in era5
bbuzz31 Jul 25, 2023
8006b32
Merge pull request #534 from cmarshak/fix-weather-model-metadata
jlmaurer Jul 25, 2023
b9f8ea7
Merge branch 'dev' into gunw-weather-model-availability
jlmaurer Jul 25, 2023
296da7c
Merge pull request #529 from cmarshak/gunw-weather-model-availability
jlmaurer Jul 25, 2023
851cfa8
Merge pull request #523 from MLicari1/new-dev
jlmaurer Jul 25, 2023
c7f2c4f
use 50 HRRR levels
bbuzz31 Jul 25, 2023
c9b673b
turn back on test_intersect
bbuzz31 Jul 25, 2023
52178a4
Merge branch 'dev' into hrrr_mlevels
bbuzz31 Jul 25, 2023
afd8495
end2end test
cmarshak Jul 25, 2023
4e00730
fix azi test
cmarshak Jul 25, 2023
ab2f478
update hrrr test
bbuzz31 Jul 26, 2023
242f86a
refactor for setLevelType at weatherModel.py
bbuzz31 Jul 26, 2023
a5d56a6
Extend description of why pressure levels are not implemented
jlmaurer Jul 26, 2023
260b132
update tests
cmarshak Jul 26, 2023
97d6dd5
more rigorous height levels
bbuzz31 Jul 26, 2023
2dcfe07
Correctly catch error for all nan ray tracing
bbuzz31 Jul 26, 2023
cef8c07
allow top of weather models to calculate
bbuzz31 Jul 26, 2023
497234d
another catch for if weather model top is used in ray tracing
bbuzz31 Jul 27, 2023
228bed3
only one weather model test for GUNW
bbuzz31 Jul 27, 2023
7182145
GMAO instead of HRRR for GUNW
bbuzz31 Jul 27, 2023
46237d1
Merge pull request #570 from bbuzz31/hrrr_mlevels
bbuzz31 Jul 28, 2023
a08c445
resolve conflicts
cmarshak Jul 28, 2023
86c1848
Bump ASFHyP3/actions from 0.8.0 to 0.8.1
dependabot[bot] Jul 31, 2023
f77af9c
Merge pull request #572 from dbekaert/dependabot/github_actions/ASFHy…
jlmaurer Aug 2, 2023
ed05fcb
test_datelist update
jlmaurer Jul 13, 2023
a1b28d8
update CHANGELOG
jlmaurer Jul 13, 2023
f8b2ddb
update test_intersect
jlmaurer Jul 13, 2023
b1bb0d6
test_intersect passing now
jlmaurer Jul 14, 2023
79f7bd9
remove a leftover HEAD statement
jlmaurer Aug 3, 2023
0d0972d
Avoid duplicate datetime keys
Aug 4, 2023
398c85b
change datetime strings to dates
bbuzz31 Aug 5, 2023
78ed72f
fix some merge errors
jlmaurer Aug 5, 2023
ddf7ee1
add stations csv
jlmaurer Aug 5, 2023
591a7ca
add in lat xml file
jlmaurer Aug 5, 2023
a94416d
Use staged WM and better error message
bbuzz31 Aug 8, 2023
97a2e4d
Merge pull request #18 from bbuzz31/jlmaurer-elim_dloads_from_unittests
jlmaurer Aug 8, 2023
e95627d
fix a couple debugging leftovers
jlmaurer Aug 10, 2023
fcbc73e
fix generation fo temp yaml file
jlmaurer Aug 10, 2023
115330e
update test_datelist
jlmaurer Aug 10, 2023
097205f
Merge pull request #565 from jlmaurer/elim_dloads_from_unittests
jlmaurer Aug 11, 2023
7c34545
rearrange tropo_delay imports for raider-base
jlmaurer Jun 7, 2023
6adb1b7
move imports around for raider-base
jlmaurer Jun 7, 2023
7ddc6ac
fix a few bugs
jlmaurer Jun 23, 2023
79e4aa5
update CHANGELOG
jlmaurer Jun 23, 2023
4e2a796
fix import bug
jlmaurer Jul 25, 2023
de64ebf
clean up some imports
jlmaurer Aug 14, 2023
9f34b38
weather files
cmarshak Aug 14, 2023
7ac486d
mock weather model files
cmarshak Aug 14, 2023
ccdaaf6
error handling
cmarshak Aug 14, 2023
e74c638
lint
cmarshak Aug 14, 2023
89a2bbb
mock orbit download from prepGUNW
cmarshak Aug 14, 2023
a487c59
default azimuth and include hrrrak
cmarshak Aug 15, 2023
57e8775
specify interpolation for GUNW basic test
cmarshak Aug 15, 2023
bc26090
bug fixes
jlmaurer Aug 15, 2023
49a5d91
add transformPoints tests
jlmaurer Aug 15, 2023
147fc97
another bugfix for dates
bbuzz31 Aug 15, 2023
c73b1c7
Merge branch 'dev' into sss_dfbug
bbuzz31 Aug 15, 2023
79a05c4
update changelog
bbuzz31 Aug 15, 2023
3f341bd
dont integrate higher than weather model
bbuzz31 Aug 16, 2023
a6a537d
Use a constant default toa for raytracing
bbuzz31 Aug 16, 2023
c1ede86
set zref to top of atm if user requests it too high
bbuzz31 Aug 17, 2023
01ea3b5
Get rid of my debugging statements
bbuzz31 Aug 17, 2023
8c99948
add tiny buffer to ray tracing so it doesnt go to high
bbuzz31 Aug 17, 2023
2316ebe
update changelog
bbuzz31 Aug 17, 2023
e28fe10
Merge pull request #573 from dbekaert/sss_dfbug
bbuzz31 Aug 18, 2023
d00c4a3
create version floor for sentineleof
cmarshak Aug 18, 2023
b5da0f7
Merge branch 'dev' into sentineleof-bump
cmarshak Aug 18, 2023
b8b1c51
Merge branch 'dev' into set_wm_top
bbuzz31 Aug 18, 2023
ed084a6
Merge pull request #577 from dbekaert/sentineleof-bump
bbuzz31 Aug 18, 2023
f20d81b
more explicit control flow for interp_method
cmarshak Aug 21, 2023
1a4476e
update test for explicit lack of interpolation
cmarshak Aug 21, 2023
dd89667
more updates for default none time
cmarshak Aug 21, 2023
e98ca9c
add time to log message with date
bbuzz31 Aug 22, 2023
a4679e7
Merge pull request #571 from dbekaert/azimuth-time-interpolation
cmarshak Aug 22, 2023
336146d
fix bug in getting the CRS from weather model file
jlmaurer Aug 22, 2023
f348a34
Merge branch 'dev' into set_wm_top
jlmaurer Aug 22, 2023
78b8503
Update constants.py to include zref comment
jlmaurer Aug 22, 2023
b0fbe18
Merge pull request #575 from bbuzz31/set_wm_top
jlmaurer Aug 22, 2023
c2305c5
Update test_synthetic.py
jlmaurer Aug 22, 2023
d8600aa
mark downloading as skip instead of long
bbuzz31 Aug 22, 2023
f2b8178
Merge pull request #549 from jlmaurer/fix_imports_for_nisar
jlmaurer Aug 23, 2023
ddb2333
Update CHANGELOG.md
cmarshak Aug 23, 2023
dea9206
Merge pull request #580 from dbekaert/Changelog-Patch
bbuzz31 Aug 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ on:

jobs:
call-version-info-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-version-info.yml@v0.7.0
uses: ASFHyP3/actions/.github/workflows/reusable-version-info.yml@v0.8.1
with:
python_version: '3.10'

call-docker-ghcr-workflow:
needs: call-version-info-workflow
uses: ASFHyP3/actions/.github/workflows/reusable-docker-ghcr.yml@v0.7.0
uses: ASFHyP3/actions/.github/workflows/reusable-docker-ghcr.yml@v0.8.1
with:
version_tag: ${{ needs.call-version-info-workflow.outputs.version_tag }}
release_branch: main
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ on:

jobs:
call-changelog-check-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-changelog-check.yml@v0.7.0
uses: ASFHyP3/actions/.github/workflows/reusable-changelog-check.yml@v0.8.1
secrets:
USER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
with:
fetch-depth: 0

- uses: mamba-org/provision-with-micromamba@v15
- uses: mamba-org/provision-with-micromamba@v16
with:
extra-specs: |
python=3.10
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labeled-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ on:

jobs:
call-labeled-pr-check-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-labeled-pr-check.yml@v0.7.0
uses: ASFHyP3/actions/.github/workflows/reusable-labeled-pr-check.yml@v0.8.1
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
call-release-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-release.yml@v0.7.0
uses: ASFHyP3/actions/.github/workflows/reusable-release.yml@v0.8.1
with:
release_prefix: RAiDER
develop_branch: dev
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
call-bump-version-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-bump-version.yml@v0.7.0
uses: ASFHyP3/actions/.github/workflows/reusable-bump-version.yml@v0.8.1
with:
user: dbekaert
email: bekaertdavid@gmail.com
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ build
CMake*
Makefile
dummy*
weather_files
test/data
*.log
*.pdf
Expand Down
96 changes: 85 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,90 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/)
and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

+ Add assert statement to raise error if the delay cube for each SAR date in a GUNW IFG is not written
## [0.4.3]
+ 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](https://github.com/ACCESS-Cloud-Based-InSAR/s1_azimuth_time_grid)).
- 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.
- A GUNW is downloaded from a bucket prefix with netcdf, json, and png whose name is the <GUNW_ID>. We download the json and update it to be consistent with ASF DAAC schema (link: https://github.com/asfadmin/grfn-ingest/blob/test/verify/src/metadata_schema.json)
+ 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

## [0.4.2]

### New/Updated Features
+ `prepFromGUNW` reads the date/time from the SLCs rather than the GUNW filename
+ `calcDelaysGUNW` allows processing with any supported weather model as listed in [`RAiDER.models.allowed.ALLOWED_MODELS`](https://github.com/dbekaert/RAiDER/blob/dev/tools/RAiDER/models/allowed.py).
+ Removed NCMR removed from supported model list till re-tested
+ Removed NCMR removed from supported model list till re-tested
+ `credentials` looks for weather model API credentials RC_file hidden file, and creates it if it does not exists
+ Isolate ISCE3 imports to only those functions that need it.
+ Small bugfixes and updates to docstrings
+ Only orbit file is used (even if multiple specified) to minimize errors and ensure consistency over region
+ GUNW packaging is restructed to store SLC (ref and sec) wet and tropo delays rather than the differential
+ padding made consistent throughout and default arguments reduced (manually update in test_losreader)

## [0.4.1]

Expand All @@ -33,34 +107,34 @@ and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.4.0]

Adding of new GUNW support to RAiDER. This is an interface delivery allowing for subsequent integration into HYP3 (input/output parsing is not expected to change; computed data is not yet verified).
Adding of new GUNW support to RAiDER. This is an interface delivery allowing for subsequent integration into HYP3 (input/output parsing is not expected to change; computed data is not yet verified).

### New/Updated Features
+ Working GUNW entry point in workflow for raider.py
+ Ability to parse a GUNW to workflows from which all required RAiDER information is extracted (e.g. dates, UTC, orbit, bbox, look direction, wavelength) with an option to specify weather model (those already supported by RAiDER) and ability to squeeze in the derived output into the original GUNW product.
+ Delays for GUNW are calculated in RAiDER using the ray-tracing option specifying bbox (GUNW driven), a hardcoded lateral posting (0.05º for HRRR and 0.1º for others), fixed vertical height levels, using an different orbit file for secondary and master.
+ Delays for GUNW are calculated in RAiDER using the ray-tracing option specifying bbox (GUNW driven), a hardcoded lateral posting (0.05º for HRRR and 0.1º for others), fixed vertical height levels, using an different orbit file for secondary and master.
- The hard-coded heights and posting will be refined per model and to ensure stitching abilities in ARIA-tools.
- The orbit should be refined to not change between secondary and reference to avoid issues. See https://github.com/dbekaert/RAiDER/discussions/435#discussioncomment-4392665
+ Bug fix for raider.py "date" input argument when multiple dates are requested (i.e. support of requesting two dates or two dates with a sampling).
- The orbit should be refined to not change between secondary and reference to avoid issues. See https://github.com/dbekaert/RAiDER/discussions/435#discussioncomment-4392665
+ Bug fix for raider.py "date" input argument when multiple dates are requested (i.e. support of requesting two dates or two dates with a sampling).
+ Add unit test for date input argument checking (single day, two dates, two dates with samples)
+ Write the diagnostic weather model files to the 'output_directory' rather than PWD
+ Fix for incorrectly written hard-cored projection embedded in the computed output data
+ Allow for multiple orbits files/dates to be used for slant:projection
+ correctly pass llh to lla_to_ecef function for slant:projection
+ correctly pass llh to lla_to_ecef function for slant:projection
++ verified this doesnt change anything
+ removed deprecated ray projection functionality
+ added 1º buffer for zenith and projected (already done for ray tracing)
+ differential delay is rounded to model-dependent nearest hour
+ version 1c hardcoded into the updated GUNW
+ version 1c hardcoded into the updated GUNW

### Added dependencies for:
+ sentinelof: used to fetch the orbit for GUNW
+ sentinelof: used to fetch the orbit for GUNW
+ rioxarray: used for reading rasters with xarray

### Not implemented / supported in this release### Not implemented / supported in this release
+ no temporal interpolation
+ no temporal interpolation
+ no refined model specific hardcoded spacing and heights
+ no ability for single orbit Interferometric calculation
+ no ability for single orbit Interferometric calculation
+ no verification of results

## [0.3.1]
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ For more details on installing from source see [here](https://github.com/dbekaer
* David Bekaert
* Jeremy Maurer
* Raymond Hogenson
* Brett Buzzanga
* Piyush Agram _(Descartes Labs)_
* Yang Lei
* Rohan Weeden
Expand Down
9 changes: 7 additions & 2 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ dependencies:
- python>=3.8
- pip
# For running
- asf_search
- boto3
- cdsapi
- cfgrib
Expand All @@ -23,21 +24,24 @@ dependencies:
- h5py
- herbie-data
- h5netcdf
- hyp3lib
- isce3>=0.9.0
- jsonschema==3.2.0 # this is for ASF DAAC ingest schema validation
- lxml
- matplotlib
- netcdf4
- numpy
- pandas
- progressbar
- pybind11
- pydap>3.2.2
- pyproj>=2.2.0
- pyyaml
- rasterio>=1.3.0
- rioxarray
- requests
- s3fs
- scipy
- scipy>1.10.0
- shapely
- sysroot_linux-64
- tqdm
Expand All @@ -47,6 +51,7 @@ dependencies:
- pytest
- pytest-cov
- pytest-timeout
- pytest-mock
- pytest-console-scripts
- setuptools_scm >=6.2
# For docs website
Expand All @@ -56,7 +61,7 @@ dependencies:
- mkdocs-macros-plugin
- mkdocs-material
- mkdocs-material-extensions
- sentineleof
- sentineleof>=0.8.1
# For RAiDER-docs
- jupyterlab
- jupyter_contrib_nbextensions
Expand Down
13 changes: 7 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,14 @@ repository = "https://github.com/dbekaert/RAiDER"
"Bug Tracker" = "https://github.com/dbekaert/RAiDER/issues"

[project.scripts]
"raider.py" = "RAiDER.cli.__main__:main"
"calcDelays.py" = "RAiDER.cli.__main__:calcDelays"
"calcDelaysGUNW.py" = "RAiDER.cli.__main__:calcDelaysGUNW"
"raiderDownloadGNSS.py" = "RAiDER.cli.__main__:downloadGNSS"
"downloadGNSS.py" = "RAiDER.cli.__main__:downloadGNSS"
"raiderStats.py" = "RAiDER.cli.statsPlot:main"
"raider.py" = "RAiDER.cli.__main__:main"
"calcDelays.py" = "RAiDER.cli.raider:calcDelays"
"calcDelaysGUNW.py" = "RAiDER.cli.raider:calcDelaysGUNW"
"raiderDownloadGNSS.py" = "RAiDER.cli.raider:downloadGNSS"
"downloadGNSS.py" = "RAiDER.cli.raider:downloadGNSS"
"raiderStats.py" = "RAiDER.cli.statsPlot:main"
"generateGACOSVRT.py" = "RAiDER.models.generateGACOSVRT:main"
"raiderCombine.py" = "RAiDER.cli.raider:combineZTDFiles"

[tool.setuptools]
include-package-data = true
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,5 @@
setup(
ext_modules=cython_extensions + pybind_extensions,
cmdclass={"build_ext": build_ext},
package_data={'tools': ['RAiDER/models/*.zip']}
)
67 changes: 62 additions & 5 deletions test/__init__.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
import os

import pytest
import subprocess
import shutil
from contextlib import contextmanager
from pathlib import Path

import numpy as np
import xarray as xr

test_dir = Path(__file__).parents[0]

TEST_DIR = test_dir.absolute()
DATA_DIR = os.path.join(TEST_DIR, 'data')
GEOM_DIR = os.path.join(TEST_DIR, 'test_geom')
WM_DIR = os.path.join(TEST_DIR, 'weather_files')
ORB_DIR = os.path.join(TEST_DIR, 'orbit_files')

WM = 'GMAO'

@contextmanager
def pushd(dir):
Expand All @@ -17,7 +29,52 @@ def pushd(dir):
os.chdir(prevdir)


TEST_DIR = test_dir.absolute()
DATA_DIR = os.path.join(TEST_DIR, "data")
GEOM_DIR = os.path.join(TEST_DIR, 'test_geom')
WM = 'GMAO'
def update_yaml(dct_cfg:dict, dst:str='temp.yaml'):
""" Write a new yaml file from a dictionary.

Updates parameters in the default 'raider.yaml' file.
Each key:value pair will in 'dct_cfg' will overwrite that in the default
"""
import RAiDER, yaml

template_file = os.path.join(
os.path.dirname(RAiDER.__file__), 'cli', 'raider.yaml')

with open(template_file, 'r') as f:
try:
params = yaml.safe_load(f)
except yaml.YAMLError as exc:
print(exc)
raise ValueError(f'Something is wrong with the yaml file {template_file}')

params = {**params, **dct_cfg}

with open(dst, 'w') as fh:
yaml.safe_dump(params, fh, default_flow_style=False)

return dst


def makeLatLonGrid(bbox, reg, out_dir, spacing=0.1):
""" Make lat lons at a specified spacing """
S, N, W, E = bbox
lat_st, lat_en = S, N
lon_st, lon_en = W, E

lats = np.arange(lat_st, lat_en, spacing)
lons = np.arange(lon_st, lon_en, spacing)
Lat, Lon = np.meshgrid(lats, lons)
da_lat = xr.DataArray(Lat.T, name='data', coords={'lon': lons, 'lat': lats}, dims='lat lon'.split())
da_lon = xr.DataArray(Lon.T, name='data', coords={'lon': lons, 'lat': lats}, dims='lat lon'.split())

dst_lat = os.path.join(out_dir, f'lat_{reg}.nc')
dst_lon = os.path.join(out_dir, f'lon_{reg}.nc')
da_lat.to_netcdf(dst_lat)
da_lon.to_netcdf(dst_lon)

return dst_lat, dst_lon


def make_delay_name(weather_model_name, date, time, kind='ztd'):
assert kind in 'ztd std ray'.split(), 'Incorrect type of delays.'
return f'{weather_model_name}_tropo_{date}T{time.replace(":", "")}_{kind}.nc'
Loading
Loading