{ "info": { "author": "The TerrainBento Team", "author_email": "barnhark@colorado.edu", "bugtrack_url": null, "classifiers": [], "description": "| Thing | Badge |\n| :---: | :---: |\n| CI Status | [![Build Status](https://travis-ci.org/TerrainBento/terrainbento.svg?branch=master)](https://travis-ci.org/TerrainBento/terrainbento) [![Build status](https://ci.appveyor.com/api/projects/status/kwwpjifg8vrwe51x/branch/master?svg=true)](https://ci.appveyor.com/project/kbarnhart/terrainbento/branch/master) |\n| Coverage | [![Coverage Status](https://coveralls.io/repos/github/TerrainBento/terrainbento/badge.svg?branch=master)](https://coveralls.io/github/TerrainBento/terrainbento?branch=master) |\n| Docs | [![Documentation Status](https://readthedocs.org/projects/terrainbento/badge/?version=latest)](http://terrainbento.readthedocs.io/en/latest/?badge=latest) |\n| License | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) |\n| Health | [![Code Health](https://landscape.io/github/TerrainBento/terrainbento/master/landscape.svg?style=flat)](https://landscape.io/github/TerrainBento/terrainbento/master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/7fcb775a6c3044cda4429ed1c1dac2e8)](https://www.codacy.com/app/katy.barnhart/terrainbento?utm_source=github.com&utm_medium=referral&utm_content=TerrainBento/terrainbento&utm_campaign=Badge_Grade) |\n| Style | [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) |\n| DOI | [![DOI](https://zenodo.org/badge/123941145.svg)](https://zenodo.org/badge/latestdoi/123941145) |\n| Conda Recipe | [![Conda Recipe](https://img.shields.io/badge/recipe-terrainbento-green.svg)](https://anaconda.org/conda-forge/terrainbento) |\n| Downloads | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/terrainbento.svg)](https://anaconda.org/conda-forge/terrainbento) |\n| Version | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/terrainbento.svg)](https://anaconda.org/conda-forge/terrainbento) |\n| Platforms | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/terrainbento.svg)](https://anaconda.org/conda-forge/terrainbento) |\n| Binder | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TerrainBento/terrainbento/master?filepath=notebooks%2FWelcome_to_TerrainBento.ipynb) |\n\n# terrainbento\n\nA modular landscape evolution modeling package built on top of the [Landlab Toolkit](http://landlab.github.io).\n\nterrainbento\"s User Manual is located at our [Read The Docs page](http://terrainbento.readthedocs.io/).\n\nWe recommend that you start with a set of Jupyter notebooks [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TerrainBento/terrainbento/master?filepath=notebooks%2FWelcome_to_TerrainBento.ipynb) that introduce terrainbento and the model description paper [Barnhart et al. (2019)](https://doi.org/10.5194/gmd-12-1267-2019). The link above goes to a Binder instance, if you want the notebooks themselves clone the repo and navigate to the directory `notebooks`.\n\n\n## A quick example\n\nThe following is all the code needed to run the Basic model. There are a few\ndifferent options available to create a model, here we will create one from a\nfile-like object. The string will contain the same information as a YAML style\ninput file that specifies the model construction and run.\n\n```python\nfrom terrainbento import Basic\n\nparams = {\n # create the Clock.\n \"clock\": {\"start\": 0,\n \"step\": 10,\n \"stop\": 1e5},\n\n # Create the Grid\n \"grid\": {\n \"RasterModelGrid\": [\n (200, 320),\n {\n \"xy_spacing\": 10\n },\n {\n \"fields\": {\n \"node\": {\n \"topographic__elevation\": {\n \"random\": [{\n \"where\": \"CORE_NODE\"\n }]\n }\n }\n }\n },\n ]\n },\n\n # Set up Boundary Handlers\n \"boundary_handlers\":{\"NotCoreNodeBaselevelHandler\": {\"modify_core_nodes\": True,\n \"lowering_rate\": -0.001}},\n # Parameters that control output.\n \"output_interval\": 1e3,\n \"save_first_timestep\": True,\n \"fields\":[\"topographic__elevation\"],\n\n # Parameters that control process and rates.\n \"water_erodibility\" : 0.001,\n \"m_sp\" : 0.5,\n \"n_sp\" : 1.0,\n \"regolith_transport_parameter\" : 0.2, \n }\n\nmodel = Basic.from_dict(params)\nmodel.run()\n```\n\nNext we make an image for each output interval.\n\n```python\nfrom landlab import imshow_grid\n\nfilenames = []\nds = model.to_xarray_dataset()\nfor i in range(ds.topographic__elevation.shape[0]):\n filename = \"temp_output.\"+str(i)+\".png\"\n imshow_grid(model.grid, ds.topographic__elevation.values[i, :, :], cmap=\"viridis\", limits=(0, 12), output=filename)\n filenames.append(filename)\nmodel.remove_output_netcdfs()\n\n```\n\nFinally we compile the images into a gif.\n\n```python\nimport os\nimport imageio\nwith imageio.get_writer(\"terrainbento_example.gif\", mode=\"I\") as writer:\n for filename in filenames:\n image = imageio.imread(filename)\n writer.append_data(image)\n os.remove(filename)\n```\n\n![Example terrainbento run](https://github.com/TerrainBento/terrainbento/blob/master/docs/images/terrainbento_example.gif)\n\n## Installation instructions\n\nBefore installing terrainbento you will need a python distribution. We recommend that you use the [Anaconda python distribution](https://www.anaconda.com/download/). Unless you have a specific reason to want Python 2.7 we strongly suggest that you install Python 3.7 (or the current 3.* version provided by Anaconda).\n\nTo install the release version of terrainbento (this is probably what you want) we support conda and pip package management.\n\n### Using conda\nOpen a terminal and execute the following:\n\n```\nconda config --add channels conda-forge\nconda install terrainbento\n```\n\n### Using pip\nOpen a terminal and execute the following:\n\n```\npip install terrainbento\n```\n\n### From source code\n\nTo install the terrainbento source code version of terrainbento we recommend creating a conda environment for terrainbento.\n\n```\ngit clone https://github.com/TerrainBento/terrainbento.git\ncd terrainbento\ncconda env create -f environment-dev.yml\nconda activate terrainbento-dev\npython setup.py install\n``` \n\n#### A note to developers\n\nIf you plan to develop with terrainbento, please fork terrainbento, clone the forked repository, and replace `python setup.py install` with `python setup.py develop`. If you have any questions, please contact us by making an Issue.\n\n\n## How to cite\n\nBarnhart, K. R., Glade, R. C., Shobe, C. M., and Tucker, G. E.: Terrainbento 1.0: a Python package for multi-model analysis in long-term drainage basin evolution, Geosci. Model Dev., 12, 1267-1297, https://doi.org/10.5194/gmd-12-1267-2019, 2019.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TerrainBento/terrainbento/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "terrainbento", "package_url": "https://pypi.org/project/terrainbento/", "platform": "", "project_url": "https://pypi.org/project/terrainbento/", "project_urls": { "Homepage": "https://github.com/TerrainBento/terrainbento/" }, "release_url": "https://pypi.org/project/terrainbento/1.1/", "requires_dist": [ "scipy", "numpy", "jupyter", "holoviews", "pandas", "xarray", "dask[complete]", "landlab (>=1.9)" ], "requires_python": "", "summary": "TerrainBento suite of landscape evolution models", "version": "1.1" }, "last_serial": 5617147, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "2ea9a25a05420b624e78cab5afb36d69", "sha256": "86088b133ebc97b59033f1352bebb9d8d6b6692eea197916e1c0b40387ea54a0" }, "downloads": -1, "filename": "terrainbento-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2ea9a25a05420b624e78cab5afb36d69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 253256, "upload_time": "2019-08-01T06:56:07", "url": "https://files.pythonhosted.org/packages/f3/a8/12c8de29d97f414dcd7999af7fd743d624761f820971cf39ab52357ce75e/terrainbento-1.1-py3-none-any.whl" } ], "1.1b2": [ { "comment_text": "", "digests": { "md5": "bb64b07c3c41320ed349cee2aea69ca8", "sha256": "8326f6747299480f822b334ae34bebf4e06d57234a198101bbb354022b1466e2" }, "downloads": -1, "filename": "terrainbento-1.1b2-py3-none-any.whl", "has_sig": false, "md5_digest": "bb64b07c3c41320ed349cee2aea69ca8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 253181, "upload_time": "2019-07-31T00:55:00", "url": "https://files.pythonhosted.org/packages/02/68/c0be7b8874d91000b89db7ace6009cfd150e7ed7f47a8a087bc4c53e5796/terrainbento-1.1b2-py3-none-any.whl" } ], "1.1b3": [ { "comment_text": "", "digests": { "md5": "03f99f0921683369ef79d47f5504ef13", "sha256": "da0ac3d631817c0c2dac88371f80f90be98e5430d98b88a218b4162223942edc" }, "downloads": -1, "filename": "terrainbento-1.1b3-py3-none-any.whl", "has_sig": false, "md5_digest": "03f99f0921683369ef79d47f5504ef13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 253202, "upload_time": "2019-07-30T23:35:41", "url": "https://files.pythonhosted.org/packages/81/99/f554b3b1866f76c0e89fbc5df5530464d1a6bbc4606ee0b1c46aa4d98ed1/terrainbento-1.1b3-py3-none-any.whl" } ], "1.1b4": [ { "comment_text": "", "digests": { "md5": "beb5ab5111b41362752c0ac8386b66e0", "sha256": "4d0433fc641f33958d656641ab3df733863ec2220e4883703b12ec0e22db564b" }, "downloads": -1, "filename": "terrainbento-1.1b4-py3-none-any.whl", "has_sig": false, "md5_digest": "beb5ab5111b41362752c0ac8386b66e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 253286, "upload_time": "2019-08-01T01:32:25", "url": "https://files.pythonhosted.org/packages/21/bc/ec272a3a8d129efe0d36abde24125509aa6e721fab5574675a63f54a1380/terrainbento-1.1b4-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2ea9a25a05420b624e78cab5afb36d69", "sha256": "86088b133ebc97b59033f1352bebb9d8d6b6692eea197916e1c0b40387ea54a0" }, "downloads": -1, "filename": "terrainbento-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2ea9a25a05420b624e78cab5afb36d69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 253256, "upload_time": "2019-08-01T06:56:07", "url": "https://files.pythonhosted.org/packages/f3/a8/12c8de29d97f414dcd7999af7fd743d624761f820971cf39ab52357ce75e/terrainbento-1.1-py3-none-any.whl" } ] }