Package: pyshbundle
PySHbundle: A Python implementation of MATLAB codes SHbundlePySHBundle is the python implementation of the popular SHBundle toolbox originally written using MATLAB.TODO: Badges and and banner for the projectUsageRead and Load level-2 spherical harmonic dataCreate basin time series for TWSPerform grace data driven correctionPlot spherical harmonic related plots1. How to install1.1 For UsersCurrently the package is not yet finalized hence the version on PyPI is outdated and should not be used (as of now). Please follow the steps mentioned in the following section till things are finalized.1.2 Till things get finalizedFork the pyshbundle repo on GitHub.Clone your fork locally:$gitclonegit@github.com:your_name_here/pyshbundle.gitCreate a new virtual environment or conda environment to install all the necessary dependencies. usingcondais recommended along withjupyter lab. Use of python 3.x is recommended$condacreate-npyshbundle-env
$condaactivatepyshbundle-env
$condainstall-cconda-forge--filerequirements_dev.txt-yNote that the base path to the entire repo is important while importing (this is tempoary only, after PyPi module gets updated this approach will not be required)Example base repo path -> ../open_source/pyshbundle

pyshbundle (base container repo)
 | - pyshbundle (codes and functions reside here)
     | - all the codes
 | - notebooks
 | - docs
 | - and rest of the other foldersIn order to use any of the functions change the current directory to the pyshbundle (base repo) then use import as usualimportosos.chdir(../open_source/pyshbundle)importpyshbundle# or import individual functionsfrompyshbundleimportread_jplafter importing the fucntions this way you are all good to go.Read the DocsPlease find the docs here -PySHBundleContributingContributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.You can contribute in many ways:Types of ContributionsReport BugsReport bugs atGitHub IssuesIf you are reporting a bug, please include:Your operating system name and version.Any details about your local setup that might be helpful in troubleshooting.Detailed steps to reproduce the bug.Fix BugsLook through the GitHub issues for bugs. Anything tagged withbugandhelp wantedis open to whoever wants to implement it.Implement FeaturesLook through the GitHub issues for features. Anything tagged withenhancementandhelp wantedis open to whoever wants to implement it.Write Documentationpyshbundle could always use more documentation,
whether as part of the official pyshbundle docs,
in docstrings, or even on the web in blog posts, articles, and such.Submit FeedbackThe best way to send feedback is to file an issue atGitHub IssuesIf you are proposing a feature:Explain in detail how it would work.Keep the scope as narrow as possible, to make it easier to implement.Remember that this is a volunteer-driven project, and that contributions are welcome :)Known IssuesNew implementation of reading data has some bug. It works for CSR but not properly properly for JPL and ITSG sources. For more information check the current issues.There is some inconsistency related to importing functions it is recommended to always useimport pyshbundlealong with any of the targeted imports you want.License StatementThis file is part of PySHbundle.PySHbundle is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program.  If not, seehttp://www.gnu.org/licenses/.Acknowledgement:Please note that PySHbundle has adapted the following code packages,both licensed under GNU General Public LicenseSHbundle:https://www.gis.uni-stuttgart.de/en/research/downloads/shbundle/Downscaling GRACE Total Water Storage Change using Partial Least Squares Regression:https://springernature.figshare.com/collections/downscaling_GRACE_Total_Water_Storage_Change_using_Partial_Least_Squares_Regression/5054564Key Papers Referred:Vishwakarma, B. D., Horwath, M., Devaraju, B., Groh, A., & Sneeuw, N. (2017).
A data‐driven approach for repairing the hydrological catchment signal damage
due to filtering of GRACE products. Water Resources Research,
53(11), 9824-9844.https://doi.org/10.1002/2017WR021150Vishwakarma, B. D., Zhang, J., & Sneeuw, N. (2021).
Downscaling GRACE total water storage change using
partial least squares regression. Scientific data, 8(1), 95.https://doi.org/10.1038/s41597-021-00862-6How to Cite?TODO: Add citing infoFollow the Research Group