-
Notifications
You must be signed in to change notification settings - Fork 22
Combine radar sweeps into a logical radar volume. #307
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
base: main
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #307 +/- ##
==========================================
+ Coverage 93.50% 93.57% +0.07%
==========================================
Files 27 27
Lines 5587 5635 +48
==========================================
+ Hits 5224 5273 +49
+ Misses 363 362 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
2cec870 to
8415f6d
Compare
|
I added the option to select sweeps by angle. This is useful if you want to discard a calibration scan (i.e. 90 degree). |
|
I found inconsistencies in the global variable I think the string is better because it is consistent with the variable name and you can use it directly for accessing the sweeps. I guess this has no negative impact on the performance. |
4c71b4b to
41ab76e
Compare
|
|
5fcb5c4 to
4ebd2a6
Compare
kmuehlbauer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@egouden This is a nice addition. I've added a couple of comments.
xradar/util.py
Outdated
| def format_zulu(t: np.datetime64) -> str: | ||
| return str(t).split(".")[0] + "Z" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@egouden This will strip any fractions of seconds. I've checked with Manual on Codes, Volume I.2 – International Codes, Annex II to the WMO Technical Regulations, Part B – Binary Codes, Part C – Common Features to Binary and Alphanumeric Codes, WMO-No. 306 and found that time_coverage_start/time_coverage_end is somehow ill-defined (string where it should be double).
| Variable path/name | Dimensions | Type | Comment |
|---|---|---|---|
| /time_coverage_start | string | UTC time of first ray in file |
but
| Variable path/name | Dimensions | Type | Comment |
|---|---|---|---|
| /sweep_/time | (time) | double | Coordinate variable for the time dimension. Each value is the time at centre of each ray. |
Both have mandatory attributes as:
| Variable path/name | Attribute | Kind | Value |
|---|---|---|---|
| /sweep_/time | units | string | “seconds since ” where is an ISO8601 time string of the form YYYY-MM-DDThh:mm:ssZ |
| calendar | string | See CF Conventions Appendix A | |
| standard_name | string | “time” |
So this seems like a flaw in the standard. Not sure how to go from here.
To get this functionality in (and as we still have proper sweep-times), would you mind adding a note on this in the code, so that we do not forget about it, @egouden? Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've contacted WMO to sort this out. Coming back, if there is some update.
2793eb1 to
39c5371
Compare
|
@egouden Please add an entry to history.md. After that, it's good to merge. |
This is useful for stacking single sweeps or creating a new volume logic based on time.