{ "info": { "author": "Julien Seguinot", "author_email": "seguinot@vaw.baug.ethz.ch", "bugtrack_url": null, "classifiers": [], "description": "PyPDD\n=====\n\n.. image:: https://img.shields.io/pypi/v/pypdd.svg\n :target: https://pypi.python.org/pypi/pypdd\n.. image:: https://img.shields.io/pypi/l/pypdd.svg\n :target: https://www.gnu.org/licenses/gpl-3.0.txt\n.. image:: https://zenodo.org/badge/8483394.svg\n :target: https://zenodo.org/badge/latestdoi/8483394\n\nA Python positive degree day model for glacier surface mass balance.\n\nThis module provides a simple model to compute accumulation and melt on a\nglacier using near-surface air temperature and precipitation time series. The\nmodel assumes that melt is proportional to the number of positive degree-days,\nwhich corresponds to the integral of temperature above 0\u00b0C. Temperature\nvariability is included by assuming a normal temperature distribution around the\nmean. The model optionally includes refreezing of melted snow and ice at the\nglacier surface.\n\nPyPDD_ can be used as a module within Python to operate on Numpy_ arrays. In\naddition, it reads and writes netCDF_ files directly from the command line, and\nprovides a raster module for `GRASS GIS`_. The PDD model is based on an\nalgorithm that was initially developed for the `Parallel Ice Sheet Model`_ and\nadopted here with very few changes.\n\nInstallation::\n\n pip install pypdd\n\n\nThe PDDModel class\n------------------\n\n**Requires:** NumPy_, SciPy_.\n\nA PDD model instance can be created by::\n\n from pypdd import PDDModel\n pdd = PDDModel()\n\nSeveral model parameters can be set at initialization. See ``help(PDDModel)``\nfor a list. Provided two arrays ``temp`` and ``prec`` of shape ``(t, x, y)``\ncontaining temperature and precipitation data, the PDD model can be called\nwith::\n\n pdd(temp, prec)\n\nThis will return a dictionary containing a number of two- and three-dimensional\narrays, including the number of positive degree day ``'pdd'`` and total surface\nmass balance ``'smb'``. Temperature variability can be included in a third array\n``stdv`` containing temperature standard deviation values::\n\n\tpdd(temp, prec, stdv)\n\nIf any of ``temp``, ``prec``, or ``stdv`` has shape ``(x, y)``, it will be\ninterpreted as constant in time and expanded along the time dimension. Floats\nwith be interpreted as constant in time and space and expanded along all\ndimensions.\n\nNetCDF interface\n----------------\n\n**Requires:** netCDF4-Python_.\n\nThe PDDModel class holds a netCDF operator, which can be called by::\n\n pdd.nco('input.nc', 'output.nc')\n\nThe file ``'input.nc'`` should contain temperatures and precipitation in\nvariables ``'temp'`` and ``'prec'``. The calculated number of positive degree\ndays and total surface mass balance are stored in variables ``'pdd'`` and\n``'smb'`` of ``'output.nc'``. Keyword argument ``output_size`` or\n``output_variables`` can be used to produce more output.\n\nThe netCDF interface can be used directly from the command line by executing the\nmodule as a script::\n\n python pypdd.py -i 'input.nc' -o 'output.nc'\n\nIf no input file is provided, an artificial climate will be generated under\n``atm.nc`` and used by the model. By default, output is saved as ``smb.nc``.\nMany more command-line options are available. For an overview type::\n\n python pypdd.py --help\n\n\nGRASS GIS interface\n-------------------\n\n**Requires:** `GRASS GIS`_.\n\nPyPDD can also operate on GRASS raster maps using the attached module ``r.pdd``.\nTemperature, precipitation and standard deviation maps should be provided as\ncomma-separated lists::\n\n r.pdd.py temp=list,of,temp,maps prec=list,of,prec,maps pdd=pdd_map smb=smb_map\n\nAll time-independent PyPDD output variables can currently be exported as raster\nmaps. Alike any other GRASS module, a graphical prompt can be invoked by calling\n``r.pdd`` without arguments, and a list of options can be obtained with::\n\n r.pdd.py --help\n\n\nReferences\n----------\n\nApplications of PyPDD:\n\n* N. Gandy, L. J. Gregoire, J. C. Ely, C. D. Clark, D. M. Hodgson, V. Lee,\n T. Bradwell, and R. F. Ivanovic.\n Marine ice sheet instability and ice shelf buttressing of the Minch Ice\n Stream, northwest Scotland.\n *The Cryosphere*, 12(11):3635--3651,\n https://doi.org/10.5194/tc-12-3635-2018, 2018.\n\n* A. Plach, K. H. Nisancioglu, S. Le clec'h, A. Born, P. M. Langebroek, C. Guo,\n M. Imhof, and T. F. Stocker.\n Eemian Greenland SMB strongly sensitive to model choice.\n *Clim. Past*, 14:1463--1485,\n https://doi.org/10.5194/cp-14-1463-2018, 2018.\n\n* J.\u00a0Seguinot.\n Spatial and seasonal effects of temperature variability in a positive\n degree-day glacier surface mass-balance model.\n *J. Glaciol.*, 59(218):1202--1204,\n http://doi.org/10.3189/2013JoG13J081, 2013.\n\n\n.. links\n\n.. _GRASS GIS: http://grass.osgeo.org\n.. _netCDF: http://www.unidata.ucar.edu/software/netcdf\n.. _netCDF4-Python: https://github.com/Unidata/netcdf4-python\n.. _NumPy: http://numpy.scipy.org\n.. _Parallel Ice Sheet Model: http://www.pism-docs.org\n.. _PyPDD: https://github.com/jsegu/pypdd\n.. _SciPy: http://www.scipy.org\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/juseg/aftershocks", "keywords": "", "license": "gpl-3.0", "maintainer": "", "maintainer_email": "", "name": "pypdd", "package_url": "https://pypi.org/project/pypdd/", "platform": "", "project_url": "https://pypi.org/project/pypdd/", "project_urls": { "Homepage": "http://github.com/juseg/aftershocks" }, "release_url": "https://pypi.org/project/pypdd/0.3.1/", "requires_dist": [ "numpy", "scipy", "netCDF4 ; extra == 'netcdf_interface'" ], "requires_python": "", "summary": "A positive degree day model for glacier surface mass balance", "version": "0.3.1" }, "last_serial": 5912963, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "252a9183c09b3b71518017ebd3508bab", "sha256": "95c6da7ad9b3de64d445af961299b3b34f31dbdb9c3a39430ac881b18b02d022" }, "downloads": -1, "filename": "pypdd-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "252a9183c09b3b71518017ebd3508bab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28169, "upload_time": "2018-10-31T06:50:05", "url": "https://files.pythonhosted.org/packages/bd/92/a2707aabfdcb46a37f6ff7e3e2607474669a903921e75e95124030d32fa7/pypdd-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c0034c5a66e62bf5e9d8b3e746bdcf1", "sha256": "92c03e209a5d5334cb6b77ec5b37fb262f71b5fd1dbf0094c3f3c4dc3cb801ad" }, "downloads": -1, "filename": "pypdd-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5c0034c5a66e62bf5e9d8b3e746bdcf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9410, "upload_time": "2018-10-31T06:50:07", "url": "https://files.pythonhosted.org/packages/89/59/eeb623e5e363eea665cd175386c8dda425ff04d8b0a374742865874a167d/pypdd-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "23cb8930a4427febf9b8b60250ac0766", "sha256": "61c00f0bd383e715df9e981a877973bc532218b854d0a1488af940e376058690" }, "downloads": -1, "filename": "pypdd-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "23cb8930a4427febf9b8b60250ac0766", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28279, "upload_time": "2019-10-01T15:24:34", "url": "https://files.pythonhosted.org/packages/87/8d/c889c703010ddc6b2832ebfffc012db2a1d05c73dadf74ca2a488a5df171/pypdd-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9b8bcbbad33779a2ad839b9e5f2ab3f", "sha256": "a12f3b7cab7d3190c5f9ae72333f6e4402ba9b0d885e6efaf2a512c287da06c0" }, "downloads": -1, "filename": "pypdd-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a9b8bcbbad33779a2ad839b9e5f2ab3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9515, "upload_time": "2019-10-01T15:24:44", "url": "https://files.pythonhosted.org/packages/f6/83/6f3c86c30f75d2201a2284bb45b0e7530b0d62c8d65925d2738f86a0a83c/pypdd-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "23cb8930a4427febf9b8b60250ac0766", "sha256": "61c00f0bd383e715df9e981a877973bc532218b854d0a1488af940e376058690" }, "downloads": -1, "filename": "pypdd-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "23cb8930a4427febf9b8b60250ac0766", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28279, "upload_time": "2019-10-01T15:24:34", "url": "https://files.pythonhosted.org/packages/87/8d/c889c703010ddc6b2832ebfffc012db2a1d05c73dadf74ca2a488a5df171/pypdd-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9b8bcbbad33779a2ad839b9e5f2ab3f", "sha256": "a12f3b7cab7d3190c5f9ae72333f6e4402ba9b0d885e6efaf2a512c287da06c0" }, "downloads": -1, "filename": "pypdd-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a9b8bcbbad33779a2ad839b9e5f2ab3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9515, "upload_time": "2019-10-01T15:24:44", "url": "https://files.pythonhosted.org/packages/f6/83/6f3c86c30f75d2201a2284bb45b0e7530b0d62c8d65925d2738f86a0a83c/pypdd-0.3.1.tar.gz" } ] }