icepyx

icepyx: querying, obtaining, analyzing, and manipulating ICESat-2 datasets - Published in JOSS (2023)

https://github.com/icesat2py/icepyx

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    12 of 35 committers (34.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

closember community-driven hacktoberfest icesat-2 python3

Keywords from Contributors

cryptocurrencies mesh exoplanet energy-system gravitational-lensing neuroimaging utility-functions colormaps ipywidgets hydrology

Scientific Fields

Political Science Social Sciences - 90% confidence
Earth and Environmental Sciences Physical Sciences - 83% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Python tools for obtaining and working with ICESat-2 data

Basic Info
Statistics
  • Stars: 241
  • Watchers: 14
  • Forks: 111
  • Open Issues: 110
  • Releases: 23
Topics
closember community-driven hacktoberfest icesat-2 python3
Created over 6 years ago · Last pushed 4 months ago
Metadata Files
Readme License Code of conduct Citation

README.rst

icepyx
======

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

|Contributors| |GitHub license| |Conda install| |Pypi install|

|JOSS| |Zenodo-all|

Latest release (main branch): |Docs Status main| |Unit Tests Status (main)| |Integration Tests Status (main)| |Code Coverage main|

Current development version (development branch): |Docs Status dev| |Unit Tests Status (dev)| |Integration Tests Status (main)| |Code Coverage dev| |Pre-commit dev|

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

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

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

.. |Contributors| image:: https://img.shields.io/github/all-contributors/icesat2py/icepyx?color=ee8449&style=flat-square(#contributors)
    :alt: All Contributors
    :target: https://github.com/icesat2py/icepyx/blob/main/CONTRIBUTORS.rst

.. |JOSS| image:: https://joss.theoj.org/papers/10.21105/joss.04912/status.svg
    :alt: JOSS publication link and DOI
    :target: https://doi.org/10.21105/joss.04912

.. |Zenodo-all| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.7729175.svg
    :alt: Zenodo all-versions DOI for icepyx
    :target: https://doi.org/10.5281/zenodo.7729175

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

.. |Docs Status dev| image:: https://readthedocs.org/projects/icepyx/badge/?version=development
   :target: https://icepyx.readthedocs.io/en/development

.. |Unit Tests Status (main)| image:: https://github.com/icesat2py/icepyx/actions/workflows/unit_test.yml/badge.svg?branch=main
    :target: https://github.com/icesat2py/icepyx/actions/workflows/unit_test.yml

.. |Integration Tests Status (main)| image:: https://github.com/icesat2py/icepyx/actions/workflows/integration_test.yml/badge.svg?branch=main
    :target: https://github.com/icesat2py/icepyx/actions/workflows/integration_test.yml

.. |Unit Tests Status (dev)| image:: https://github.com/icesat2py/icepyx/actions/workflows/unit_test.yml/badge.svg?branch=development
    :target: https://github.com/icesat2py/icepyx/actions/workflows/unit_test.yml

.. |Integration Tests Status (dev)| image:: https://github.com/icesat2py/icepyx/actions/workflows/integration_test.yml/badge.svg?branch=development
    :target: https://github.com/icesat2py/icepyx/actions/workflows/integration_test.yml

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

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

.. |Pre-commit dev| image:: https://results.pre-commit.ci/badge/github/icesat2py/icepyx/development.svg
   :target: https://results.pre-commit.ci/latest/github/icesat2py/icepyx/development
   :alt: pre-commit.ci status


Origin and Purpose
------------------
icepyx is both a software library and a community composed of ICESat-2 data users, developers, and the scientific community. We are working together to develop a shared library of resources - including existing resources, new code, tutorials, and use-cases/examples - that simplify the process of querying, obtaining, analyzing, and manipulating ICESat-2 and (via the QUEST module) relevant ancillary datasets to enable scientific discovery.

icepyx aims to provide a clearinghouse for code, functionality to improve interoperability, documentation, examples, and educational resources that tackle disciplinary research questions while minimizing the amount of repeated effort across groups utilizing similar datasets. icepyx also hopes to foster collaboration, open-science, and reproducible workflows by integrating and sharing resources.

Many of the underlying tools from which icepyx was developed began as Jupyter Notebooks developed for and during the cryosphere-themed ICESat-2 Hackweek at the University of Washington in June 2019 or as scripts written and used by the ICESat-2 Science Team members.
Originally called icesat2py, the project combined and generalized these scripts into a unified framework, adding examples, documentation, and testing where necessary and making them accessible for everyone. Similar scripts were conceived at the 2021 Hackweek, which in turn led to the development of QUEST.
icepyx is now a domain-agnostic, standalone software package and community (under the broader `icesat2py GitHub organization `_) that continues to build functionality for obtaining and working with ICESat-2 data products locally and in the cloud.
It also improves interoperability for ICESat-2 datasets with other open-source tools.

.. _`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 `__
package manager. |Conda install|

    conda install icepyx

Alternatively, you can also install icepyx using `pip `__. |Pypi install|

    pip install icepyx

More detailed instructions for installing `icepyx` can be found at
https://icepyx.readthedocs.io/en/latest/getting_started/install.html

Quick Start
-----------

.. code-block:: python

   import icepyx as ipx
   query = ipx.Query(
       # Collection short name
       "ATL06",
       # Bounding box
       [-55, 68, -48, 71],
       # Time bounds
       ['2019-02-20','2019-02-28'],
   )
   query.download_granules('/tmp/icepyx')

.. code-block:: bash

   $ ls -1 /tmp/icepyx/
   processed_ATL06_20190221121851_08410203_006_02.h5
   processed_ATL06_20190222010344_08490205_006_02.h5
   processed_ATL06_20190225121032_09020203_006_02.h5
   processed_ATL06_20190226005526_09100205_006_02.h5

See the examples below for more things `icepyx` can do!


Examples (Jupyter Notebooks)
----------------------------

Listed below are example Jupyter notebooks for working with ICESat-2 (IS2).

`IS2_data_access `_

`IS2_data_access2_subsetting `_

`IS2_data_variables `_

`IS2_data_visualization `_

`IS2_data_read-in `_

`IS2_cloud_data_access `_

`QUEST_Finding_Argo_IS2_data `_


Citing icepyx
-------------
.. _`CITATION.rst`: ./CITATION.rst

This community and software is developed with the goal of supporting science applications. Thus, our contributors (including those who have developed the packages used within icepyx) and maintainers justify their efforts and demonstrate the impact of their work through citations. Please see  `CITATION.rst`_ for additional citation information.

Contact
-------
Working with ICESat-2 data and have ideas you want to share?
Have a great suggestion or recommendation of something you'd like to see
implemented and want to find out if others would like that tool too?
Come join the conversation at: https://discourse.pangeo.io/.
Search for "icesat-2" under the "science" topic to find us.

.. _`icepyx`: https://github.com/icesat2py/icepyx
.. _`contribution guidelines`: ./doc/source/contributing/contribution_guidelines.rst

Contribute
----------
We welcome and invite contributions to icepyx_ from anyone at any career stage and with any amount of coding experience!
Check out our `contribution guidelines`_ to see how you can contribute.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. |Contributor Covenant|

.. |Contributor Covenant| image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
   :target: code_of_conduct.md

Research notice
~~~~~~~~~~~~~~~

Please note that this repository is participating in a study into
sustainability of open source projects. Data will be gathered about this
repository for approximately the next 12 months, starting from June
2021.

Data collected will include number of contributors, number of PRs, time
taken to close/merge these PRs, and issues closed.

For more information, please visit `the informational
page `__ or
download the `participant information
sheet `__.

Owner

  • Name: icesat2py
  • Login: icesat2py
  • Kind: organization

JOSS Publication

icepyx: querying, obtaining, analyzing, and manipulating ICESat-2 datasets
Published
April 12, 2023
Volume 8, Issue 84, Page 4912
Authors
Jessica Scheick ORCID
University of New Hampshire, USA
Wei Ji Leong ORCID
Development Seed, USA
Kelsey Bisson ORCID
Oregon State University, USA
Anthony Arendt ORCID
University of Washington, USA
Shashank Bhushan ORCID
University of Washington, USA
Zachary Fair ORCID
NASA Goddard Space Flight Center, USA
Norland Raphael Hagen ORCID
CarbonPlan, USA
Scott Henderson ORCID
University of Washington, USA
Friedrich Knuth ORCID
University of Washington, USA
Tian Li ORCID
University of Bristol, UK
Zheng Liu ORCID
University of Washington, USA
Romina Piunno ORCID
University of Toronto, Canada
Nitin Ravinder
University of Leeds, UK
Landung "Don" Setiawan ORCID
University of Washington, USA
Tyler Sutterley ORCID
University of Washington, USA
Jp Swinski
NASA Goddard Space Flight Center, USA
Anubhav ORCID
University of Maryland, College Park, USA
Editor
Kristen Thyng ORCID
Tags
ICESat-2 LiDAR elevation community cloud

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: icepyx
message: >-
  If you use this software, please cite the software version
  you used by its version-specific DOI.
  The DOI for each version is available on Zenodo (link below).
type: software
authors:
  - name: The icepyx Developers
repository-code: 'https://github.com/icesat2py/icepyx'
url: 'https://icepyx.readthedocs.io/en/latest/'
repository: 'https://zenodo.org/record/7729175'
repository-artifact: 'https://anaconda.org/conda-forge/icepyx'
abstract: >-
  icepyx is both a software library and a community composed
  of ICESat-2 data users, developers, and the scientific
  community. We are working together to develop a shared
  library of resources - including existing resources, new
  code, tutorials, and use-cases/examples - that simplify
  the process of querying, obtaining, analyzing, and
  manipulating ICESat-2 datasets to enable scientific
  discovery.
keywords:
  - ICESat-2
  - Python
  - open science
  - NASA
license: BSD-3-Clause
identifiers:
  - description: "All archived versions of icepyx."
    type: doi
    value: 10.5281/zenodo.7729175

GitHub Events

Total
  • Create event: 43
  • Release event: 1
  • Issues event: 37
  • Watch event: 30
  • Delete event: 28
  • Issue comment event: 192
  • Push event: 283
  • Pull request review comment event: 111
  • Pull request review event: 129
  • Pull request event: 79
  • Fork event: 5
Last Year
  • Create event: 43
  • Release event: 1
  • Issues event: 37
  • Watch event: 30
  • Delete event: 28
  • Issue comment event: 192
  • Push event: 283
  • Pull request review comment event: 111
  • Pull request review event: 129
  • Pull request event: 79
  • Fork event: 5

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 625
  • Total Committers: 35
  • Avg Commits per committer: 17.857
  • Development Distribution Score (DDS): 0.342
Past Year
  • Commits: 83
  • Committers: 11
  • Avg Commits per committer: 7.545
  • Development Distribution Score (DDS): 0.675
Top Committers
Name Email Commits
Jessica Scheick j****k@g****m 411
allcontributors[bot] 4****] 50
Matt Fisher m****7@g****m 27
Wei Ji 2****4 20
Zheng Liu l****g@z****u 18
pre-commit-ci[bot] 6****] 14
Raphael Hagen R****l@R****l 13
Christian Clauss c****s@m****m 8
Rachel Wegener 3****2 8
Bruce Wallin b****n@n****g 6
dependabot[bot] 4****] 6
Tom Johnson t****7@u****k 4
Tyler Sutterley t****l@u****u 4
Kelsey Bisson 4****n 3
Romina Piunno r****o@g****m 3
Tian Li 4****i 3
Zach Fair 4****o 3
Amy Steiker 4****r 2
Anthony Arendt a****a@u****u 2
Landung "Don" Setiawan l****s@u****u 2
Luis López b****n@g****m 2
Sarah Hall 5****4 2
trey-stafford t****d@c****u 2
Bidhyananda Yadav b****a@u****u 1
Anna Valentine 6****e 1
David Shean d****n 1
Emmanuel Ferdman e****n@g****m 1
Facundo Sapienza f****a@b****u 1
Fernando Perez F****z@b****u 1
Friedrich Knuth k****h@u****u 1
and 5 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 219
  • Total pull requests: 598
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 70
  • Total pull request authors: 46
  • Average comments per issue: 2.58
  • Average comments per pull request: 2.72
  • Merged pull requests: 500
  • Bot issues: 0
  • Bot pull requests: 99
Past Year
  • Issues: 46
  • Pull requests: 115
  • Average time to close issues: 11 days
  • Average time to close pull requests: 15 days
  • Issue authors: 16
  • Pull request authors: 13
  • Average comments per issue: 0.85
  • Average comments per pull request: 2.7
  • Merged pull requests: 81
  • Bot issues: 0
  • Bot pull requests: 32
Top Authors
Issue Authors
  • JessicaS11 (89)
  • mfisher87 (17)
  • asteiker (12)
  • weiji14 (7)
  • trey-stafford (6)
  • nmt28 (6)
  • bradlipovsky (4)
  • Sharanb02 (3)
  • facusapienza21 (3)
  • sjh1024 (3)
  • rwegener2 (3)
  • linxiongecu (2)
  • scottyhq (2)
  • gaozsi (2)
  • wurenzhe163 (2)
Pull Request Authors
  • JessicaS11 (263)
  • mfisher87 (65)
  • allcontributors[bot] (57)
  • pre-commit-ci[bot] (28)
  • weiji14 (25)
  • cclauss (21)
  • dependabot[bot] (14)
  • rwegener2 (12)
  • betolink (10)
  • zachghiaccio (9)
  • RomiP (8)
  • tsutterley (7)
  • kelseybisson (6)
  • icetianli (5)
  • lsetiawan (5)
Top Labels
Issue Labels
good first issue (28) enhancement (26) bug (24) documentation (20) help wanted (20) afternoon_contribution (15) IS2HW_2022 (7) Discussion - feedback solicited (7) longer_contribution (2) question (2) wontfix (1) example_workflow (1) review::quick (1) review::priority (1)
Pull Request Labels
review::quick (17) dependencies (14) review::priority (7) afternoon_contribution (6) documentation (4) github_actions (3) bug (2) enhancement (2) longer_contribution (2) help wanted (2)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 1,230 last-month
  • Total docker downloads: 29
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 8
    (may contain duplicates)
  • Total versions: 53
  • Total maintainers: 2
proxy.golang.org: github.com/icesat2py/icepyx
  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 4 months ago
pypi.org: icepyx

Python tools for obtaining and working with ICESat-2 data

  • Homepage: https://icepyx.readthedocs.io
  • Documentation: https://icepyx.readthedocs.io
  • License: BSD 3-Clause License Copyright (c) 2019-2023, icepyx Development Team All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 2.0.0
    published 7 months ago
  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 1,230 Last month
  • Docker Downloads: 29
Rankings
Docker downloads count: 2.2%
Forks count: 4.7%
Stargazers count: 5.5%
Average: 7.0%
Dependent packages count: 7.3%
Downloads: 10.3%
Dependent repos count: 11.8%
Maintainers (2)
Last synced: 4 months ago
conda-forge.org: icepyx
  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 6
Rankings
Dependent repos count: 13.8%
Forks count: 19.3%
Average: 28.6%
Stargazers count: 29.6%
Dependent packages count: 51.5%
Last synced: 4 months ago

Dependencies

.github/workflows/binder-badge.yml actions
  • manics/action-binderbadge main composite
.github/workflows/flake8_action.yml actions
  • TrueBrain/actions-flake8 master composite
.github/workflows/get_pypi_stats.yml actions
  • EndBug/add-and-commit v9 composite
  • actions/checkout v3 composite
.github/workflows/publish_to_pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/traffic_action.yml actions
  • EndBug/add-and-commit v9 composite
  • actions/checkout v3 composite
  • sangonzal/repository-traffic-action v0.1.4 composite
.github/workflows/uml_action.yml actions
  • EndBug/add-and-commit v9 composite
  • actions/checkout v3 composite
requirements-dev.txt pypi
  • black * development
  • codecov * development
  • flake8 * development
  • pre-commit * development
  • pypistats * development
  • pytest >=4.6 development
  • pytest-cov * development
  • responses * development
requirements-docs.txt pypi
  • gitpython *
  • linkify-it-py *
  • myst-nb *
  • nbsphinx *
  • numpydoc *
  • pybtex *
  • pygithub *
  • sphinx >=4.3
  • sphinx-panels *
  • sphinx_rtd_theme >=1.0
  • sphinxcontrib-bibtex *
requirements.txt pypi
  • backoff *
  • datashader *
  • fiona *
  • geopandas *
  • h5netcdf *
  • h5py *
  • holoviews *
  • hvplot *
  • intake *
  • intake-xarray *
  • matplotlib *
  • numpy *
  • requests *
  • shapely *
  • xarray *
setup.py pypi