Skip to content

Commit

Permalink
Merge pull request #204 from icesat2py/development
Browse files Browse the repository at this point in the history
v0.4.0 release: visualization module and orbital parameter search
  • Loading branch information
JessicaS11 authored May 13, 2021
2 parents 81af082 + f700934 commit fe57c41
Show file tree
Hide file tree
Showing 36 changed files with 1,642 additions and 295 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ venv.bak/

# downloaded data
/download/
/examples/download

# directory files
.DS_Store
Expand Down
20 changes: 17 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,28 @@
language: python

before_install:
- sudo apt-get update
- wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
# Useful for debugging any issues with conda
- conda info -a

install:
- conda create --name icepyx-env --channel conda-forge python=$TRAVIS_PYTHON_VERSION proj=7.2.0 geos
- source activate icepyx-env

- pip install -r requirements.txt -r requirements-dev.txt
- pip install -e .
- pip install -e .[complete]

stages:
- name: basic tests
if: (type = pull_request) OR (type = push AND repo = icesat2py/icepyx AND branch IN (master, development))
if: (type = pull_request) OR (type = push AND repo = icesat2py/icepyx AND branch IN (main, development))
- name: behind Earthdata
if: branch = master OR commit_message =~ nsidc_tests OR type = cron
if: branch = main OR commit_message =~ nsidc_tests OR type = cron

#ultimately move basic tests list into a separate script with the list of files to run (then this can be put into a matrix and parallellized as well)
jobs:
Expand Down
13 changes: 7 additions & 6 deletions ATTRIBUTION.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
.. _attribution_ref_label:

Attribution Guidelines
======================

We are extremely grateful to everyone who has contributed to the success of the icepyx community, whether through direct contributions to or feedback about icepyx or as developers or maintainers of complimentary resources that are included within the icepyx ecosystem. This document outlines our goals to give appropriate attribution to all contributors to icepyx in ways that are fair and diverse and supportive of professional goals. To do so, we define broadly *contributions* as:

Efforts towards achieving icepyx's goals, including writing code, tests, or documentation,
development of example workflows, development, significant contributions, or maintenance of
a tailored package that broadens the functionality of icepyx, feedback and suggestions,
development of example workflows, development, significant contributions, or maintenance of
a tailored package that broadens the functionality of icepyx, feedback and suggestions,
community building, etc.

We use the terms "contributors", "developers", and "authors" interchangeably. We will recognize contributions in the following ways.

Contributors List
Expand Down Expand Up @@ -39,11 +40,11 @@ Authorship on scientific papers currently constitutes an important metric for as
2. Add themself to the `Contributors List`_.
3. Contribute ideas, participate in authorship discussions (see next paragraph), write, read, and review the manuscript in a timely manner, and provide feedback (acknowledgement of review is sufficient, but we'd prefer more).

Author order will be determined based on co-author discussion, led by the lead author, during the initial planning stages of manuscript preparation (i.e. as soon as an idea matures into a potential manuscript and before writing begins). Authorship will continue to be evaluated throughout the manuscript preparation process. Discussions will consider authorship norms (e.g. How does author order convey participation and prestige? How critical is first authorship to career advancement for each member of the team? Do an individual's contributions meet authorship criteria or are they more suited to acknowledgements?). Author order determination will also consider metrics such as the number of commits since the last major release with an associated paper (``git shortlog vX.0.0...HEAD -sne``), contributions that do not have associated commits, and contributions to the preparation of the manuscript.
Author order will be determined based on co-author discussion, led by the lead author, during the initial planning stages of manuscript preparation (i.e. as soon as an idea matures into a potential manuscript and before writing begins). Authorship will continue to be evaluated throughout the manuscript preparation process. Discussions will consider authorship norms (e.g. How does author order convey participation and prestige? How critical is first authorship to career advancement for each member of the team? Do an individual's contributions meet authorship criteria or are they more suited to acknowledgements?). Author order determination will also consider metrics such as the number of commits since the last major release with an associated paper (``git shortlog vX.0.0...HEAD -sne``), contributions that do not have associated commits, and contributions to the preparation of the manuscript.



Disclaimer: These policies are not permanent or fixed and may change to accomodate community growth,
Disclaimer: These policies are not permanent or fixed and may change to accomodate community growth,
best practices, and feedback.

Copyright notice: This document was inspired by the `authorship guidelines <https://github.com/fatiando/contributing/blob/master/AUTHORSHIP.md>`_ provided by `Fatiando a Terra <https://github.com/fatiando>`_ and encourages potential co-authors to consider the resources provided by the `NASA High Mountain Asia Team (HiMAT) <https://highmountainasia.github.io/team-collaboration/authorship/>`_.
Copyright notice: This document was inspired by the `authorship guidelines <https://github.com/fatiando/contributing/blob/master/AUTHORSHIP.md>`_ provided by `Fatiando a Terra <https://github.com/fatiando>`_ and encourages potential co-authors to consider the resources provided by the `NASA High Mountain Asia Team (HiMAT) <https://highmountainasia.github.io/team-collaboration/authorship/>`_.
1 change: 1 addition & 0 deletions CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ order by last name) and are considered "The icepyx Developers":
* `David Shean <https://github.com/dshean>`_ - University of Washington
* `Ben Smith <https://github.com/smithb>`_ - University of Washington
* `Amy Steiker <https://github.com/asteiker>`_ - NSIDC, University of Colorado
* `Tyler Sutterley <https://github.com/tsutterley>`_ - University of Washington
* `Anna Valentine <https://github.com/annavalentine>`_ - Colorado School of Mines
* `Bruce Wallin <https://github.com/wallinb>`_ - NSIDC, University of Colorado
* `Molly Wieringa <https://github.com/mollymwieringa>`_ - University of Washington
Expand Down
27 changes: 17 additions & 10 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,25 @@ icepyx

**Python tools for obtaining and working with ICESat-2 data**

|Documentation Status| |GitHub license| |Travis CI Status| |Code Coverage|
|Documentation Status| |GitHub license| |Travis CI Status| |Code Coverage| |Conda install| |Pypi install|

.. |Documentation Status| image:: https://readthedocs.org/projects/icepyx/badge/?version=latest
:target: http://icepyx.readthedocs.io/?badge=latest

.. |GitHub license| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
:target: https://opensource.org/licenses/BSD-3-Clause

.. |Travis CI Status| image:: https://travis-ci.org/icesat2py/icepyx.svg?branch=master
.. |Travis CI Status| image:: https://travis-ci.org/icesat2py/icepyx.svg?branch=development
:target: https://travis-ci.org/icesat2py/icepyx

.. |Code Coverage| image:: https://codecov.io/gh/icesat2py/icepyx/branch/development/graph/badge.svg
.. |Code Coverage| image:: https://codecov.io/gh/icesat2py/icepyx/branch/development/graph/badge.svg
:target: https://codecov.io/gh/icesat2py/icepyx

.. |Conda install| image:: https://anaconda.org/conda-forge/icepyx/badges/installer/conda.svg
:target: https://anaconda.org/conda-forge/icepyx

.. |Pypi install| image:: https://badge.fury.io/py/icepyx.svg
:target: https://pypi.org/project/icepyx/

Origin and Purpose
------------------
Expand All @@ -28,19 +34,19 @@ at the University of Washington in June 2019 or as scripts written and used by t
This project combines and generalizes these scripts into a unified framework, making them accessible for everyone.


.. _`zipped file`: https://github.com/icesat2py/icepyx/archive/master.zip
.. _`zipped file`: https://github.com/icesat2py/icepyx/archive/main.zip
.. _`Fiona`: https://pypi.org/project/Fiona/

Installation
------------

The simplest way to install icepyx is by using the
`conda <https://docs.conda.io/projects/conda/en/latest/user-guide/index.html>`__
package manager.

package manager. |Conda install|
conda install icepyx

Alternatively, you can also install icepyx using `pip <https://pip.pypa.io/en/stable/>`__.
Alternatively, you can also install icepyx using `pip <https://pip.pypa.io/en/stable/>`__. |Pypi install|

pip install icepyx

Expand All @@ -53,12 +59,13 @@ Examples (Jupyter Notebooks)

Listed below are example jupyter-notebooks

`ICESat-2_DAAC_DataAccess_Example <https://github.com/icesat2py/icepyx/blob/master/examples/ICESat-2_DAAC_DataAccess_Example.ipynb>`_
`ICESat-2_DAAC_DataAccess_Example <https://github.com/icesat2py/icepyx/blob/main/examples/ICESat-2_DAAC_DataAccess_Example.ipynb>`_

`ICESat-2_DAAC_DataAccess2_Subsetting <https://github.com/icesat2py/icepyx/blob/master/examples/ICESat-2_DAAC_DataAccess2_Subsetting.ipynb>`_
`ICESat-2_DAAC_DataAccess2_Subsetting <https://github.com/icesat2py/icepyx/blob/main/examples/ICESat-2_DAAC_DataAccess2_Subsetting.ipynb>`_

`ICESat-2_DEM_comparison_Colombia_working <https://github.com/icesat2py/icepyx/blob/master/examples/ICESat-2_DEM_comparison_Colombia_working.ipynb>`_
`ICESat-2_DEM_comparison_Colombia_working <https://github.com/icesat2py/icepyx/blob/main/examples/ICESat-2_DEM_comparison_Colombia_working.ipynb>`_

`ICESat-2 Data Visualization Example <https://github.com/icesat2py/icepyx/blob/main/examples/ICESat-2_Data_Visualization_Example.ipynb>`_

Citing icepyx
-------------
Expand Down
3 changes: 2 additions & 1 deletion doc/source/community/contact.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.. _contact_ref_label:

Contact Us
==========

Expand All @@ -20,4 +21,4 @@ We meet on:

Additional information about logging in to the meetings can be found on `this Discourse post <https://discourse.pangeo.io/t/icepyx-team-meetings/722/2?u=jessicas11>`_.

Absolutely NO previous software development experience is necessary to attend any meeting. Think of them more like coffee hour mixed with office hours than a conference call. We look forward to seeing you there!
Absolutely NO previous software development experience is necessary to attend any meeting. Think of them more like coffee hour mixed with office hours than a conference call. We look forward to seeing you there!
7 changes: 4 additions & 3 deletions doc/source/community/resources.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.. _resource_ref_label:

ICESat-2 Open-Source Resources Guide
====================================

Expand All @@ -11,7 +12,7 @@ Resources Used in the Initial Development of icepyx

First ICESat-2 Cryospheric Hackweek at the University of Washington (June 2019)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This June 2019 event resulted in the production of a series of `tutorials <https://github.com/ICESAT-2HackWeek/ICESat2_hackweek_tutorials>`_, developed primarily by members of the ICESat-2 Science Team and early data users, aimed at educating the cryospheric community in obtaining and using ICESat-2 datasets. During the actual Hackweek, teams of researchers and data scientists developed a series of interesting `projects <https://github.com/ICESAT-2HackWeek/projects_2019>`_ related to their interests/research.
This June 2019 event resulted in the production of a series of `tutorials <https://github.com/ICESAT-2HackWeek/ICESat2_hackweek_tutorials>`_, developed primarily by members of the ICESat-2 Science Team and early data users, aimed at educating the cryospheric community in obtaining and using ICESat-2 datasets. During the actual Hackweek, teams of researchers and data scientists developed a series of interesting `projects <https://github.com/ICESAT-2HackWeek/projects_2019>`_ related to their interests/research.

The available tutorials, most of which contain one or more Jupyter Notebooks to illustrate concepts, are listed below. Additional information for citing (including licensing) and running (e.g. through a Pangeo Binder) these tutorials can be found at the above link.

Expand Down Expand Up @@ -91,7 +92,7 @@ Here we describe a selection of publicly available Python code posted on GitHub

- `Nsidc-subsetter <https://github.com/tsutterley/nsidc-subsetter>`_

- by Tyler Sutterly
- by Tyler Sutterley
- Retrieve IceBridge, ICESat, and ICESat-2 data using the NSIDC subsetter API
- Command line tool
- Download data and convert it into a georeferenced format (e.g. geojson, kml, or shapefile)
Expand All @@ -117,7 +118,7 @@ icepyx aims to provide intuitive, object-based methods for finding, obtaining, v

- Collaboration between NSIDC, Scripps, and San Diego Supercomputer Center
- Enables data browsing on a map and selection of tracks and interactive data exploration for the higher level ICESat-2 datasets (i.e. ATL06+)


Ongoing Efforts
----------------
Expand Down
10 changes: 7 additions & 3 deletions doc/source/contributing/contribution_guidelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,11 @@ We are delighted you'd like to contribute your `icepyx <https://github.com/icesa

Contributing Code
-----------------
We follow a standard git workflow for code changes and additions. All submitted code, including our own, goes through the pull request process; no changes are pushed directly to the *master* or *development* branches. This allows our continuous integration (testing) process to ensure that the code is up to our standards and passes all of our tests (i.e. doesn't break what's already there and working). By having a *development* branch for daily work, we enable the *master* branch to remain stable between releases even as new features are being added.
We follow a standard git workflow for code changes and additions.
All submitted code, including our own, goes through the pull request process;
no changes are pushed directly to the *main* or *development* branches.
This allows our continuous integration (testing) process to ensure that the code is up to our standards and passes all of our tests (i.e. doesn't break what's already there and working).
By having a *development* branch for daily work, we enable the *main* branch to remain stable between releases even as new features are being added.

First Steps
^^^^^^^^^^^
Expand All @@ -77,7 +81,7 @@ We encourage users to follow the `git pull request workflow <https://www.asmeure
- Fork the repo to your personal GitHub account
- Add your fork as a remote
- Add yourself to `CONTRIBUTORS.rst` (see `Attribution for Contributions`_)

(each time you are going to make changes)

- Update the development branch
Expand All @@ -101,4 +105,4 @@ Discovered a currently untested case? Please share your test, either by creating

Attribution for Contributions
-----------------------------
We appreciate any and all contributions made to icepyx, direct or indirect, large or small. To learn more about how you will be recognized for your contributions, please see our :ref:`Attribution Guidelines <attribution_ref_label>`.
We appreciate any and all contributions made to icepyx, direct or indirect, large or small. To learn more about how you will be recognized for your contributions, please see our :ref:`Attribution Guidelines <attribution_ref_label>`.
7 changes: 3 additions & 4 deletions doc/source/getting_started/install.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@



.. _`zipped file`: https://github.com/icesat2py/icepyx/archive/master.zip
.. _`zipped file`: https://github.com/icesat2py/icepyx/archive/main.zip
.. _`Fiona`: https://pypi.org/project/Fiona/




Installation
============

Expand All @@ -25,7 +24,7 @@ To activate the virtual environment, you can do::
conda activate icepyx-env


Using conda
Using conda
-----------

If you already have a virtual conda environment set up and activated, you can
Expand All @@ -40,7 +39,7 @@ To upgrade an installed version of icepyx to the latest stable release, do::



Using pip
Using pip
---------

Alternatively, you can also install icepyx using `pip <https://pip.pypa.io/en/stable/>`__.
Expand Down
11 changes: 11 additions & 0 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,14 @@ icepyx is both a software library and a community composed of ICESat-2 data user
community/resources
community/contact
tracking/tracking

**Quick Install**

.. |Conda install| image:: https://anaconda.org/conda-forge/icepyx/badges/installer/conda.svg
:target: https://anaconda.org/conda-forge/icepyx

.. |Pypi install| image:: https://badge.fury.io/py/icepyx.svg
:target: https://pypi.org/project/icepyx/

|Conda install| |Pypi install|

2 changes: 1 addition & 1 deletion doc/source/tracking/icepyx_pubs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ @misc{2020_IS2-HW-tutorials
Henderson, Scott and
Holschuh, Nick and
Liu, Zheng and
Sutterly, Tyler},
Sutterley, Tyler},
title = {2020 {ICESat-2 Hackweek Tutorials}},
month = aug,
year = 2020,
Expand Down
10 changes: 9 additions & 1 deletion doc/source/user_guide/changelog/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,17 @@ icepyx ChangeLog
This is the list of changes made to icepyx in between each release.
Full details can be found in the `commit logs <https://github.com/icesat2py/icepyx/commits>`_.

Latest Release (Version 0.3.4)
Latest Release (Version 0.4.0)
------------------------------

.. toctree::
:maxdepth: 2

v0.4.0

Version 0.3.4
-------------

.. toctree::
:maxdepth: 2

Expand Down
2 changes: 1 addition & 1 deletion doc/source/user_guide/changelog/template.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ Other
Contributors
~~~~~~~~~~~~

.. contributors:: v0.3.3..v0.4.0|HEAD
.. contributors:: v0.4.0..v0.4.1|HEAD
49 changes: 49 additions & 0 deletions doc/source/user_guide/changelog/v0.4.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
.. _whatsnew_040:

What's new in 0.4.0 (13 May 2021)
---------------------------------

These are the changes in icepyx 0.4.0. See :ref:`release` for a full changelog
including other versions of icepyx.


New Features
~~~~~~~~~~~~

- use geoviews to visualize query spatial extent interactively when possible (#176)
- add ability to search by orbital parameters (RGT, cycle) (#148)
- pre-download elevation data visualization with OpenAltimetry API (#144)


Bug fixes
~~~~~~~~~

- Fix Sphinx warnings related to whitespace (#197)


Maintenance
^^^^^^^^^^^

- apply black formatting (#201)
- improvements to formatting and management of request parameters (use strings to prevent url formatting)


Documentation
^^^^^^^^^^^^^

- Added Conda and pip badges (#198)
- New example to showcase new visualization module


Other
^^^^^

- Add geoviews as extra optional dependency in setup.py (#193)
- Bulk rename master to main (#194)
- surface NSIDC order and http download errors more effectively to user (#195)
- switch to using a miniconda environment install for travis testing

Contributors
~~~~~~~~~~~~

.. contributors:: v0.3.4..v0.4.0|HEAD
3 changes: 1 addition & 2 deletions doc/source/user_guide/documentation/icepyx.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
icepyx Documentation (API Reference)
====================================



.. image:: icepyx_class_diagram.png
:width: 600
:alt: PlantUML Class Diagram illustrating the public-facing classes within icepyx, their attributes and methods, their relationships (e.g. component classes).

icepyx class diagram illustrating the library's public-facing classes, their attributes and methods, and their relationships.


Expand Down
Loading

0 comments on commit fe57c41

Please sign in to comment.