@jensenwid
Hi Jensen
Let me preface all comments below by saying this was lovely to read. I work with other people’s code which are all cryptic and a nightmare so thank you for that.
I have included a few comments in the checklist below, but I also will also add in-line comments in your pull request. I hope you get them all.
Review Checklist
CI Checks
The notebook runs from start to finish on all operating systems:
X Mac
Windows
X Linux
In Cell 6 and Cell 10
I know I have this problem in my own assignment, but using all_sites = glob(path + "//") is not reproducible for Microsoft OS because they use ‘\’ . I think in this case you may want to use all_sites = glob(os.path.join(path, “”)) . The lesson I’ve learned here is to avoid including ‘/’ and ‘\’ in path searches.
Reproducibility
X Are the data downloaded in the code
Are paths created to ensure they work on all operating systems (using os.path.join)
- See my comment above - both are tied.
X Are comments used to clarify the contents of the code that can’t be clarified using expressive variable and function names alone? (not too many comments - just enough)
X Does the notebook run from start to finish?
PEP 8 standards & Code Readability
Functions
X Do functions follow PEP 8 format conventions?
X Are function docstrings clear (all inputs and outputs clearly described and defined)
X Are function names expressive (the name describes what the function does)?
X Are functions easy to understand and read?
X How many tasks does each function do? (ideally a function does one thing well).
Package imports
Are standard modules (those included with the base python install) vs. third party (related but externally developed tools) import groups correct with appropriate spacing in between each group?
- The xarray, plotting_extent, and re modules are imported but not used in your code.
X Are variable names throughout the code, expressive?
X Suggest changes if not, highlight what was done well
X Is the code overall easy to understand and read? Are there things that would make it more clear / cleaner?
DRY Code
X Are segments of code repeated in the file or is the code DRY?
X Are loops used to optimize DRY code?
X Are functions used to optimize DRY code?
X Are there any areas that could be potentially improved (you can suggest improvements OR you can just highlight parts of the code where you suspect it could be cleaner / more efficient.
- I’ll put all my suggestions in the in-line comments of your pull request.
Novel Approaches to Problem solving
X Highlight any novel approaches to completing the assignment.
- I like how you coded the filtering of the dataArray. It made sense and is elegant.
- I liked your use of pd.to_datetime(). I always have such issues with date-time conversion. I'm definitely going to use this!