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.0 release: visualization module and orbital parameter search #204

Merged
merged 11 commits into from
May 13, 2021

Conversation

JessicaS11
Copy link
Member

Lots of great work included here that we want to make available via conda and pip:

  • improved query object area of interest visualization (if you install geoviews)
  • visualization module, including an interactive quick-view of elevation data using the OpenAltimetry API
  • ability to query data by orbital parameters
  • improved NSIDC message surfacing
  • transition links to match transition from master to main
  • improve formatting, reduce warnings

weiji14 and others added 10 commits April 5, 2021 13:04
* Add geoviews as extra optional dependency in setup.py

* Setup miniconda and conda install proj in .travis.yml file

Using conda to install PROJ, so that cartopy can be installed, and therefore geoviews can be installed too!

* Pin to PROJ 7.2.0

Perhaps cartopy doesn't work with PROJ 8.0.0 yet?

* Have Travis CI install geos into icepyx-env

* Set minimum cartopy version to 0.18.0

* Update setup.py

Co-authored-by: Tian Li <[email protected]>

Co-authored-by: Tian Li <[email protected]>
Rename all icepyx references of the 'master' git branch to 'main'.

Co-authored-by: Wenjie Ji <[email protected]>
new functionality to search by temporal or orbital parameters

improvements to formatting and management of request parameters (use strings to prevent url formatting)

decode response XML if verbose

update tests and documentation for orbital parameter searches

Co-authored-by: Jessica Scheick <[email protected]>
Co-authored-by: Wei Ji <[email protected]>
* Ensure API docs are generated to gitignored doc/source/_icepyx folder
* Fix whitespace issues in *.rst files
* Fix whitespace issues in Earthdata.py and variables.py
Adding or removing spaces so that Sphinx stops complaining like "WARNING: Explicit markup ends without a blank line".
* Added Conda &PyPi install badges to Github homepage

* Added conda and pip badges

* reverse previous commit by removing badges

* added conda and pip badges
…#195)

* surface query error messages returned from NSIDC
* catch no subset data messages and alert user
* add query exceptions module and use in granules search
* generalize ICESat-2 product for OA API request and create a seperate visualization module

* Remove invaid OA request, use dask and xarray to speed up datamanipulation, enhance interactive visualization based on cycle number

* Update requirements.txt

Co-authored-by: Wei Ji <[email protected]>

* change typos and formatting

Co-authored-by: Wei Ji <[email protected]>

* update notebook

* Improve visualization
- Add product check
- Increase number of concurrent multithreading max_worker to reduce API requesting time
- Use backoff to deal with specfic exceptions raised during API request
- Set elevation sampling rate of 1/20 and cycle number of latest cycle to optimize memory and speed up data processing
- Add testing to all supported products
- Add an interactive map to visualize elevation spatial distribution and along-track elevation for individual RGT
- Update visualization notebook

* remove output from first cell

* Update icepyx/core/visualization.py

Co-authored-by: Wei Ji <[email protected]>

* Apply suggestions from code review

Co-authored-by: Wei Ji <[email protected]>

* remove visualize_extent func from visualization.py

* add rgt/cycle in Visualization

* run black to format code and alphebetize imports

* add visualization module to top-level import

* use pd.json_normalize to clean data

* Revert "use pd.json_normalize to clean data"

This reverts commit 81a9fc0.

* use pd.json_normalize, add sample_rate parameter, use dask dataframe instead of xarray.dataset

* add visualization_elevation function in Query class to call Visualize

* Update icepyx/tests/test_visualization.py

Co-authored-by: Wei Ji <[email protected]>

* fix typo

* remove geoviews from Visualize and print statement from Query.visualize_elevation

* add tests for orbital query object, add user control for visualization

* Update icepyx/core/visualization.py

Co-authored-by: Wei Ji <[email protected]>

* Update icepyx/core/visualization.py

Co-authored-by: Wei Ji <[email protected]>

* Update icepyx/core/visualization.py

Co-authored-by: Wei Ji <[email protected]>

* Apply suggestions from code review

Co-authored-by: Wei Ji <[email protected]>

* remove old dev notebooks

* use query object in visualize __init__ to allow multiple access options and use built-in checks

* add OpenAltimetry valid product check

* add visualization to docs and add docstrings; reformat with black

* update test for new visualization init

* add error types

* visualization example updates

* remove top-level visualization module import and update example accordingly

* fix variable names in test

* add IndexError

* add a test

* add function gran_paras based on gran_IDs, add test

* Revert "remove old dev notebooks"

This reverts commit 53b55c4.

* wrap gran_paras vis function into granules gran_IDs

* remove print statements

* add contributors to notebook

Co-authored-by: Wei Ji <[email protected]>
Co-authored-by: Jessica Scheick <[email protected]>
Co-authored-by: Jessica <[email protected]>
@codecov-commenter
Copy link

codecov-commenter commented May 13, 2021

Codecov Report

Merging #204 (f700934) into main (81af082) will increase coverage by 7.45%.
The diff coverage is 69.13%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #204      +/-   ##
==========================================
+ Coverage   48.17%   55.63%   +7.45%     
==========================================
  Files          17       20       +3     
  Lines        1179     1517     +338     
  Branches      262      316      +54     
==========================================
+ Hits          568      844     +276     
- Misses        570      616      +46     
- Partials       41       57      +16     
Impacted Files Coverage Δ
icepyx/core/Earthdata.py 20.37% <ø> (ø)
icepyx/core/variables.py 8.37% <ø> (ø)
icepyx/core/is2ref.py 32.05% <28.57%> (+2.47%) ⬆️
icepyx/core/query.py 41.70% <32.07%> (-0.83%) ⬇️
icepyx/core/granules.py 37.09% <44.44%> (+4.16%) ⬆️
icepyx/core/validate_inputs.py 77.37% <65.11%> (+11.25%) ⬆️
icepyx/core/visualization.py 71.95% <71.95%> (ø)
icepyx/core/APIformatting.py 71.97% <92.59%> (+5.30%) ⬆️
icepyx/core/exceptions.py 100.00% <100.00%> (ø)
icepyx/tests/test_APIformatting.py 97.05% <100.00%> (+1.22%) ⬆️
... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 81af082...f700934. Read the comment docs.

@JessicaS11 JessicaS11 requested a review from weiji14 May 13, 2021 18:49
Copy link
Member

@weiji14 weiji14 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one suggestion, otherwise let's not delay this release any further!

README.rst Show resolved Hide resolved
@JessicaS11 JessicaS11 merged commit fe57c41 into main May 13, 2021
@weiji14
Copy link
Member

weiji14 commented May 14, 2021

FYI, the conda-forge autobot has opened up conda-forge/icepyx-feedstock#2 for icepyx v0.4.0, I've updated the dependencies (and included geoviews so people get interactivity out of the box) in the conda-forge recipe and will merge it once the tests pass. Edit: done, and icepyx v0.4.0 is live on https://anaconda.org/conda-forge/icepyx!

@JessicaS11
Copy link
Member Author

Thanks for taking care of this @weiji14!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants