-
Notifications
You must be signed in to change notification settings - Fork 12
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
Update README.rst
content and add logo
#153
Conversation
2c9f604
to
a79554c
Compare
README.rst
README.rst
content and add logo
Codecov Report
@@ Coverage Diff @@
## main #153 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 7 7
Lines 346 346
=========================================
Hits 346 346 Continue to review full report at Codecov.
|
f37c122
to
baa6e32
Compare
@pochedls @lee1043 @chengzhuzhang I updated the |
@tomvothecoder nice logo! Thanks for adding it. |
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.
It looks good to me!
README.rst
Outdated
- Robust handling of coordinates and its associated bounds | ||
|
||
- Name-agnostic retrieval of CF compliant coordinates and bounds using ``cf_xarray`` | ||
- Generating specific bounds or filling all missing bounds for supported axes |
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 wonder if this should simply say "Generating bounds for supported axes (if they do not exist)"
When we say "filling all missing bounds" it makes me think that some grid cells have bounds and others do not (but I don't think that is the case).
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.
Good point. I called the method fill_missing_bounds()
. Maybe it should be renamed to add_missing_bounds()
.
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 like the add_missing_bounds()
.
The features of this library must meet a set of criteria before being considered for implementation. | ||
|
||
1. Climate domain functionality and/or general ``xarray`` utility isn't provided natively with ``xarray`` | ||
2. No existing xarray-based packages implement the feature, or the implementation doesn't meet the XCDAT team's defined requirements |
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.
Are we breaking this criteria by implementing xESMF (since it already does regridding)? Or perhaps we are just extending it to meet requirements?
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.
Thanks for bringing that up.
From my understanding (and the design doc), we are handling edge cases on the Dataset/DataArray before passing it to xESMF, so we aren't actually implementing the regridding logic. The use case of xESMF is similar to how cf_xarray
is utilized in some XCDAT modules.
@jasonb5 can clarify if I'm missing anything.
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 can see an argument against implementing regridding in XCDAT as "the user should handle the edge cases themselves and then call xEMSF directly". This would alleviate us from having to write and maintain XCDAT regridding code that is dependent on xEMSF.
However, if those edge cases are very common, then it probably makes sense for us to handle them in XCDAt.
|
||
1. Climate domain functionality and/or general ``xarray`` utility isn't provided natively with ``xarray`` | ||
2. No existing xarray-based packages implement the feature, or the implementation doesn't meet the XCDAT team's defined requirements | ||
3. Feature can be relatively simple to implement and not overly-flexible |
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.
If someone wants to contribute code that is really flexible - is that a problem?
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.
If an API for a method/function is overly-flexible, it is probably performing too many operations. This makes it much more difficult to unit test all of the conditionals in the callstack (our unit testing enforces simple and maintainable code!).
I don't think it is a problem if we perform thorough reviews in the PRs and suggest changes if necessary so that the contributions are well-scoped.
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.
@tomvothecoder - this seems like a great summary to me. I just made some general comments based on the impression I got when reading the README. I'm happy to have this merged when you're ready.
Description
This PR is intended to help clarify the objectives and planned features of XCDAT. it also adds an XCDAT logo, which is a combination of the X in the xarray logo with the CDAT logo.
Preview of
README.rst
: https://github.com/XCDAT/xcdat/blob/docs/149-151-readme-api/README.rstChecklist
If applicable: