GithubHelp home page GithubHelp logo

changliao1025 / pyearth Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 2.0 775 KB

A leatherman alike Python package for Earth science

License: BSD 3-Clause "New" or "Revised" License

Python 99.97% Shell 0.02% Batchfile 0.01%
earthscience gis visualization hpc

pyearth's Introduction

PyEarth

DOI Downloads

PyEarth is a lightweight Python package to support various Earth science tasks. It is designed to be a general-purpose library as it is inspired by the popular IDL Coyote library (http://www.idlcoyote.com/).

Some of the code structure is inspired by the ArcGIS toolbox.

Dependency

PyEarth depends on the following packages

  1. numpy
  2. gdal
  3. netCDF4
  4. shapely
  5. cartopy
  6. matplotlib
  7. pandas
  8. scipy
  9. statsmodels

Documentation

Please refer to the documentation for details on how to get started using the PyEarth package.

Installation

PyEarth depends on several other packages, including gdal, which cannot be installed through pip easily. You are recommended to use conda to install dependency if necessary.

conda install pyearth

Content

PyEarth mainly provides many general-purpose funcations to support other libraries. These functions are classified into several categories:

  1. GIS: This component provides major spatial dataset operations.
  2. Toolbox: This component provides many functions for data, date, math, etc.
  3. Visual: This component provides a plotting function for time series, scatter, etc.
  4. System: This component provides system-wide operations.

You can either call these functions through this package, or you can modify them for your own applications.

Acknowledgment

This research was supported as part of the Next Generation Ecosystem Experiments-Tropics, funded by the U.S. Department of Energy, Office of Science, Office of Biological and Environmental Research at Pacific Northwest National Laboratory. The study was also partly supported by U.S. Department of Energy Office of Science Biological and Environmental Research through the Earth and Environmental System Modeling program as part of the Energy Exascale Earth System Model (E3SM) project.

License

Copyright © 2022, Battelle Memorial Institute

  1. Battelle Memorial Institute (hereinafter Battelle) hereby grants permission to any person or entity lawfully obtaining a copy of this software and associated documentation files (hereinafter “the Software”) to redistribute and use the Software in source and binary forms, with or without modification. Such person or entity may use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software and may permit others to do so, subject to the following conditions:
  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers.

  • 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.

  • Other than as used herein, neither the name Battelle Memorial Institute or Battelle may be used in any form whatsoever without the express written consent of Battelle.

  1. 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 BATTELLE 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.

References

Several publications describe the algorithms used in PyEarth in detail. If you make use of PyEarth in your work, please consider including a reference to the following:

pyearth's People

Contributors

changliao avatar changliao1025 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

moomoofarm1

pyearth's Issues

Extract before projection

In some special cases, it is not possible to project a raster from one projection to another.
Under this circumstance, we can use the third option under (Link):
WARP_METHOD (optional)
Set this keyword to one of the following values to specify the warp or rigorous projection method:
0: Rotation, scaling, and translation (RST)
1: Polynomial
2: Triangulation
3: Rigorous (pixel-by-pixel)
The default method is RST.
If WARP_METHOD=3, the GCP_NAME and GRID keywords are ignored.

However, it takes much longer time to do so.
So, we can performance an extraction before project, which can both save time and improve accuracy.

Legend location

In different scenarios, we need to place the legend at different location in plot. A new keyword is exposed.
To avoid addition mapping, user should pass value directly.

I've tried couplr of methods but cannot install pyearth

As posted, the installation of pyearth bothered me for half a year but no solution. the error message told me it depends on the gadl but even I reinstall the gadl it also failed. Please Chang Liao to guide us on how to solve it!

Re-organize MODIS files

Since all the batch commands/scripts share the same workspace structure. It is required to bring all the spatial dataset into this structure before any operation could be carried out.

Therefore, there is a "move" operation.
To maintain the MODIS file name consistency, we do NOT change the name.
We only change file name if the format is no longer HDF.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.