Name | sed-plume JSON |
Version |
0.2.2
JSON |
| download |
home_page | |
Summary | A hypopycnal sediment-carrying plume entering the ocean. |
upload_time | 2023-09-19 04:29:13 |
maintainer | Eric Hutton |
docs_url | None |
author | Eric Hutton |
requires_python | >=3.9 |
license | The MIT License (MIT) ===================== Copyright (c) `2020` `Eric Hutton` Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
bmi
landlab
sediment
hypopycnal plume
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
.. image:: https://travis-ci.org/mcflugen/plume.svg?branch=master
:target: https://travis-ci.org/mcflugen/plume
.. image:: https://ci.appveyor.com/api/projects/status/yle29j1hl6a8yu8p?svg=true
:target: https://ci.appveyor.com/project/mcflugen/plume
.. image:: https://coveralls.io/repos/github/mcflugen/plume/badge.svg?branch=mcflugen%2Fadd-unit-tests
:target: https://coveralls.io/github/mcflugen/plume?branch=master
==================================================
plume: A hypopycnal plume model built with landlab
==================================================
Requirements
------------
*plume* requires Python 3.
Apart from Python, *plume* has a number of other requirements, all of which
can be obtained through either *pip* or *conda*, that will be automatically
installed when you install *plume*.
To see a full listing of the requirements, have a look at the project's
*requirements.txt* file.
If you are a developer of *plume* you will also want to install
additional dependencies for running *plume*'s tests to make sure
that things are working as they should. These dependencies are listed
in *requirements-testing.txt*.
Installation
------------
To install *plume*, first create a new environment in
which *plume* will be installed. This, although not necessary, will
isolate the installation so that there won't be conflicts with your
base *Python* installation. This can be done with *conda* as:
.. code:: bash
$ conda create -n plume python=3
$ conda activate plume
Stable Release
--------------
*plume*, and its dependencies, can be installed either with *pip*
or *conda*. Using *pip*:
.. code:: bash
$ pip install plume
Using *conda*:
.. code:: bash
$ conda install plume -c conda-forge
From Source
```````````
Before building *plume* from source, you will need an installation of
the GNU Scientific Library (gsl). There are several ways to install
this but the easiest is through *conda*,
.. code:: bash
$ mamba install gsl
After downloading the *plume* source code, run the following from
*plume*'s top-level folder (the one that contains *setup.py*) to
install *plume* into the current environment:
.. code:: bash
$ pip install -e .
Input Files
-----------
Configuration File
``````````````````
The main *plume* input file is a yaml-formatted text file that lists
constants used by *plume*. Running the following will print a sample
*plume* configuration file:
.. code:: bash
$ plume generate plume.toml
This will print something like the following,
.. code:: toml
[plume]
_version = "0.2.0.dev0"
[plume.grid]
shape = [500, 500]
xy_spacing = [100.0, 100.0]
xy_of_lower_left = [0.0, 0.0]
[plume.river]
filepath = "river.csv"
width = 50.0
depth = 5.0
velocity = 1.5
location = [0.0, 25000.0]
angle = 0.0
[plume.sediment]
removal_rate = 60.0
bulk_density = 1600.0
[plume.ocean]
filepath = "ocean.csv"
along_shore_velocity = 0.1
sediment_concentration = 0.0
[plume.output]
filepath = "plume.nc"
Ocean File
``````````
The *plume* ocean file defines parameters of the ocean for each day of
the simulation. This is a csv-formatted text file to *day*, *along-shore velocity*,
and *sediment concentration*.
.. code:: bash
$ plume generate ocean.csv
.. code::
# version: 0.2.0.dev0
# Time [d], Along-shore velocity [m/s], Sediment Concentration [-]
0.0,0.1,0.0
River File
``````````
The *plume* river file is a csv-formatted text file that gives river parameters
for each day of the simulation. Columns are *time*, *river width*, *river depth*,
and *river velocity*.
.. code:: bash
$ plume generate river.csv
.. code::
# version: 0.2.0.dev0
# Time [d], Width [m], Depth [m], Velocity [m/s]
0.0,50.0,5.0,1.5
The *plume* river file defines
Output File
-----------
The only output file of *plume* is a *netCDF* file that contains
sediment concentrations for each day of the simulation.
Examples
--------
To run a simulation using the sample input files described above, you first
need to create a set of sample files:
.. code:: bash
$ mkdir example
$ plume --cd=example setup
You can now run the simulation:
.. code:: bash
$ plume --cd=example run
=======
Credits
=======
Development Leads
-----------------
- `Eric Hutton <https://github.com/mcflugen>`_
=============
Release Notes
=============
.. towncrier release notes start
0.2.2 (2023-09-18)
------------------
Other Changes and Additions
```````````````````````````
- Updated the *cython* code used to calculate the centerline to fix a compile error
related to the update to *cython* v3. (`#10 <https://github.com/mcflugen/plume/issues/10>`_)
- Added support for Python 3.11, dropped Python 3.8. (`#11 <https://github.com/mcflugen/plume/issues/11>`_)
- Added a *nox* file for routine project maintenance and continuous
integration. (`#12 <https://github.com/mcflugen/plume/issues/12>`_)
0.2.1 (2022-06-29)
------------------
Bug Fixes
`````````
- Fixed an error when trying to get the version from the command line with
``plume --version```. (`#9 <https://github.com/mcflugen/plume/issues/9>`_)
0.2.0 (2022-06-28)
------------------
New Features
````````````
- Updated the *Plume* component to be compatible with *landlab* version 2. This
will allow *plume* to operate with the newest version of *landlab* and be
incorporated into other *landlab* frameworks such as the *Sequence* model. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
- Change the *plume* command-line program to use *toml*-formatted input files. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
- The *plume* model now builds and runs on Windows! (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
Bug Fixes
`````````
- Fixed a bug where the existing deposit thickness was being zeroed-out before
the plume was run. The plume now adds sediment to an existing deposit and
leaves it up to the user to clear an existing deposit. (`#7 <https://github.com/mcflugen/plume/issues/7>`_)
Documentation Enhancements
``````````````````````````
- Updated the documentation to include installation instructions, usage and
examples. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
Other Changes and Additions
```````````````````````````
- Setup towncrier to manage the changelog. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
- Switch from *versioneer* to *zest.releaser* to manage release versions. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
- Set up continuous integration workflows using GitHub Actions. CI tests include
testing for code style using *black*, checking for lint with *flake8*,
testing notebooks and running the test suite. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
- Updated the package metadata and moved static metaddata from *setup.py*
to *pyproject.toml*. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
- Setup up pre-commit hooks for ensuring style, lack of lint, python 3.8+
syntax, and clean notebooks. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)
- Added a citation file that users of *plume* can use to cite the software. (`#6 <https://github.com/mcflugen/plume/issues/6>`_)
- Removed ocean and river time series from the plume command line interface.
The plume command now runs just a single plume. (`#7 <https://github.com/mcflugen/plume/issues/7>`_)
- Added GitHub Actions workflows for pushing prereleases to TestPyPI and
releases to PyPI. (`#8 <https://github.com/mcflugen/plume/issues/8>`_)
0.1.0 (2018-06-13)
------------------
Features
````````
- Create *plume* package that simulates 1D (i.e. centerline), and 2D hypopycnal
plumes.
Documentation Enhancements
``````````````````````````
- Added a new *Jupyter* notebook that demonstrates how to use simulate 2D and 1D
plumes using the *plume* package. (`#3 <https://github.com/mcflugen/plume/issues/3>`_)
Other Changes and Additions
```````````````````````````
- Set up continuous integration testing with Travis-CI. CI builds are run
for Linux and Mac. Windows support is not yet available. (`#1 <https://github.com/mcflugen/plume/issues/1>`_)
- Added a suite of tests, which use *pytest*, for testing the *plume*
package. (`#2 <https://github.com/mcflugen/plume/issues/2>`_)
- Added *versioneer* to manage package release versions. (`#4 <https://github.com/mcflugen/plume/issues/4>`_)
Raw data
{
"_id": null,
"home_page": "",
"name": "sed-plume",
"maintainer": "Eric Hutton",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "mcflugen@gmail.com",
"keywords": "bmi,landlab,sediment,hypopycnal plume",
"author": "Eric Hutton",
"author_email": "mcflugen@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/31/ab/c08a83a2259af79ab32fff0ff15f8719356277bebdf9dab6f54a4c6488ea/sed-plume-0.2.2.tar.gz",
"platform": null,
"description": ".. image:: https://travis-ci.org/mcflugen/plume.svg?branch=master\n :target: https://travis-ci.org/mcflugen/plume\n\n.. image:: https://ci.appveyor.com/api/projects/status/yle29j1hl6a8yu8p?svg=true\n :target: https://ci.appveyor.com/project/mcflugen/plume\n\n.. image:: https://coveralls.io/repos/github/mcflugen/plume/badge.svg?branch=mcflugen%2Fadd-unit-tests\n :target: https://coveralls.io/github/mcflugen/plume?branch=master\n\n==================================================\nplume: A hypopycnal plume model built with landlab\n==================================================\n\n\nRequirements\n------------\n\n*plume* requires Python 3.\n\nApart from Python, *plume* has a number of other requirements, all of which\ncan be obtained through either *pip* or *conda*, that will be automatically\ninstalled when you install *plume*.\n\nTo see a full listing of the requirements, have a look at the project's\n*requirements.txt* file.\n\nIf you are a developer of *plume* you will also want to install\nadditional dependencies for running *plume*'s tests to make sure\nthat things are working as they should. These dependencies are listed\nin *requirements-testing.txt*.\n\nInstallation\n------------\n\nTo install *plume*, first create a new environment in\nwhich *plume* will be installed. This, although not necessary, will\nisolate the installation so that there won't be conflicts with your\nbase *Python* installation. This can be done with *conda* as:\n\n.. code:: bash\n\n $ conda create -n plume python=3\n $ conda activate plume\n\nStable Release\n--------------\n\n*plume*, and its dependencies, can be installed either with *pip*\nor *conda*. Using *pip*:\n\n.. code:: bash\n\n $ pip install plume\n\nUsing *conda*:\n\n.. code:: bash\n\n $ conda install plume -c conda-forge\n\nFrom Source\n```````````\n\nBefore building *plume* from source, you will need an installation of\nthe GNU Scientific Library (gsl). There are several ways to install\nthis but the easiest is through *conda*,\n\n.. code:: bash\n\n $ mamba install gsl\n\nAfter downloading the *plume* source code, run the following from\n*plume*'s top-level folder (the one that contains *setup.py*) to\ninstall *plume* into the current environment:\n\n.. code:: bash\n\n $ pip install -e .\n\nInput Files\n-----------\n\nConfiguration File\n``````````````````\n\nThe main *plume* input file is a yaml-formatted text file that lists\nconstants used by *plume*. Running the following will print a sample\n*plume* configuration file:\n\n.. code:: bash\n\n $ plume generate plume.toml\n\nThis will print something like the following,\n\n.. code:: toml\n\n [plume]\n _version = \"0.2.0.dev0\"\n\n [plume.grid]\n shape = [500, 500]\n xy_spacing = [100.0, 100.0]\n xy_of_lower_left = [0.0, 0.0]\n\n [plume.river]\n filepath = \"river.csv\"\n width = 50.0\n depth = 5.0\n velocity = 1.5\n location = [0.0, 25000.0]\n angle = 0.0\n\n [plume.sediment]\n removal_rate = 60.0\n bulk_density = 1600.0\n\n [plume.ocean]\n filepath = \"ocean.csv\"\n along_shore_velocity = 0.1\n sediment_concentration = 0.0\n\n [plume.output]\n filepath = \"plume.nc\"\n\nOcean File\n``````````\n\nThe *plume* ocean file defines parameters of the ocean for each day of\nthe simulation. This is a csv-formatted text file to *day*, *along-shore velocity*,\nand *sediment concentration*.\n\n.. code:: bash\n\n $ plume generate ocean.csv\n\n.. code::\n\n # version: 0.2.0.dev0\n # Time [d], Along-shore velocity [m/s], Sediment Concentration [-]\n 0.0,0.1,0.0\n\nRiver File\n``````````\n\nThe *plume* river file is a csv-formatted text file that gives river parameters\nfor each day of the simulation. Columns are *time*, *river width*, *river depth*,\nand *river velocity*.\n\n.. code:: bash\n\n $ plume generate river.csv\n\n.. code::\n\n # version: 0.2.0.dev0\n # Time [d], Width [m], Depth [m], Velocity [m/s]\n 0.0,50.0,5.0,1.5\n\nThe *plume* river file defines\n\nOutput File\n-----------\n\nThe only output file of *plume* is a *netCDF* file that contains\nsediment concentrations for each day of the simulation.\n\nExamples\n--------\n\nTo run a simulation using the sample input files described above, you first\nneed to create a set of sample files:\n\n.. code:: bash\n\n $ mkdir example\n $ plume --cd=example setup\n\nYou can now run the simulation:\n\n.. code:: bash\n\n $ plume --cd=example run\n\n=======\nCredits\n=======\n\nDevelopment Leads\n-----------------\n\n- `Eric Hutton <https://github.com/mcflugen>`_\n\n=============\nRelease Notes\n=============\n\n.. towncrier release notes start\n\n0.2.2 (2023-09-18)\n------------------\n\nOther Changes and Additions\n```````````````````````````\n\n- Updated the *cython* code used to calculate the centerline to fix a compile error\n related to the update to *cython* v3. (`#10 <https://github.com/mcflugen/plume/issues/10>`_)\n- Added support for Python 3.11, dropped Python 3.8. (`#11 <https://github.com/mcflugen/plume/issues/11>`_)\n- Added a *nox* file for routine project maintenance and continuous\n integration. (`#12 <https://github.com/mcflugen/plume/issues/12>`_)\n\n\n0.2.1 (2022-06-29)\n------------------\n\nBug Fixes\n`````````\n\n- Fixed an error when trying to get the version from the command line with\n ``plume --version```. (`#9 <https://github.com/mcflugen/plume/issues/9>`_)\n\n\n0.2.0 (2022-06-28)\n------------------\n\nNew Features\n````````````\n\n- Updated the *Plume* component to be compatible with *landlab* version 2. This\n will allow *plume* to operate with the newest version of *landlab* and be\n incorporated into other *landlab* frameworks such as the *Sequence* model. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n- Change the *plume* command-line program to use *toml*-formatted input files. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n- The *plume* model now builds and runs on Windows! (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n\n\nBug Fixes\n`````````\n\n- Fixed a bug where the existing deposit thickness was being zeroed-out before\n the plume was run. The plume now adds sediment to an existing deposit and\n leaves it up to the user to clear an existing deposit. (`#7 <https://github.com/mcflugen/plume/issues/7>`_)\n\n\nDocumentation Enhancements\n``````````````````````````\n\n- Updated the documentation to include installation instructions, usage and\n examples. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n\n\nOther Changes and Additions\n```````````````````````````\n\n- Setup towncrier to manage the changelog. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n- Switch from *versioneer* to *zest.releaser* to manage release versions. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n- Set up continuous integration workflows using GitHub Actions. CI tests include\n testing for code style using *black*, checking for lint with *flake8*,\n testing notebooks and running the test suite. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n- Updated the package metadata and moved static metaddata from *setup.py*\n to *pyproject.toml*. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n- Setup up pre-commit hooks for ensuring style, lack of lint, python 3.8+\n syntax, and clean notebooks. (`#5 <https://github.com/mcflugen/plume/issues/5>`_)\n- Added a citation file that users of *plume* can use to cite the software. (`#6 <https://github.com/mcflugen/plume/issues/6>`_)\n- Removed ocean and river time series from the plume command line interface.\n The plume command now runs just a single plume. (`#7 <https://github.com/mcflugen/plume/issues/7>`_)\n- Added GitHub Actions workflows for pushing prereleases to TestPyPI and\n releases to PyPI. (`#8 <https://github.com/mcflugen/plume/issues/8>`_)\n\n\n0.1.0 (2018-06-13)\n------------------\n\nFeatures\n````````\n\n- Create *plume* package that simulates 1D (i.e. centerline), and 2D hypopycnal\n plumes.\n\nDocumentation Enhancements\n``````````````````````````\n\n- Added a new *Jupyter* notebook that demonstrates how to use simulate 2D and 1D\n plumes using the *plume* package. (`#3 <https://github.com/mcflugen/plume/issues/3>`_)\n\n\nOther Changes and Additions\n```````````````````````````\n\n- Set up continuous integration testing with Travis-CI. CI builds are run\n for Linux and Mac. Windows support is not yet available. (`#1 <https://github.com/mcflugen/plume/issues/1>`_)\n- Added a suite of tests, which use *pytest*, for testing the *plume*\n package. (`#2 <https://github.com/mcflugen/plume/issues/2>`_)\n- Added *versioneer* to manage package release versions. (`#4 <https://github.com/mcflugen/plume/issues/4>`_)\n",
"bugtrack_url": null,
"license": "The MIT License (MIT) ===================== Copyright (c) `2020` `Eric Hutton` Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
"summary": "A hypopycnal sediment-carrying plume entering the ocean.",
"version": "0.2.2",
"project_urls": {
"changelog": "https://github.com/mcflugen/plume/blob/main/CHANGES.rst",
"documentation": "https://github.com/mcflugen/plume/blob/main/README.rst",
"homepage": "https://github.com/csdms",
"repository": "https://github.com/mflugen/plume"
},
"split_keywords": [
"bmi",
"landlab",
"sediment",
"hypopycnal plume"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "31abc08a83a2259af79ab32fff0ff15f8719356277bebdf9dab6f54a4c6488ea",
"md5": "c5f7cd848648d86a44e7d38c93772c0d",
"sha256": "9614d6d17f307eb4e27c0e441c9859c1919ed33cc6d03a092a355c4475ae35f6"
},
"downloads": -1,
"filename": "sed-plume-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "c5f7cd848648d86a44e7d38c93772c0d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 22601,
"upload_time": "2023-09-19T04:29:13",
"upload_time_iso_8601": "2023-09-19T04:29:13.425898Z",
"url": "https://files.pythonhosted.org/packages/31/ab/c08a83a2259af79ab32fff0ff15f8719356277bebdf9dab6f54a4c6488ea/sed-plume-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-19 04:29:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mcflugen",
"github_project": "plume",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "sed-plume"
}