nlmpy

A Python package to create neutral landscape models

https://github.com/tretherington/nlmpy

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: wiley.com, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

landscape-ecology neutral-landscape-model procedural-terrain python
Last synced: 6 months ago · JSON representation ·

Repository

A Python package to create neutral landscape models

Basic Info
  • Host: GitHub
  • Owner: tretherington
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 1 MB
Statistics
  • Stars: 12
  • Watchers: 5
  • Forks: 3
  • Open Issues: 3
  • Releases: 3
Topics
landscape-ecology neutral-landscape-model procedural-terrain python
Created over 5 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

DOI

NLMpy

NLMpy is a Python package for the creation of neutral landscape models that are widely used by landscape ecologists to model ecological patterns across landscapes. NLMpy can create both continuous patterns to represent landscape characteristics such as elevation or moisture gradients, or categorical patterns to represent landscape characteristics such as vegetation patches or land parcel boundaries.

NLMpy aims to:

  • be open-source so it can be easily adapted or developed for specific modelling requirements.
  • be cross-platform it can be used on any computer system.
  • bring together a wide range of neutral landscape model algorithms.
  • be easily integrated with geographic information system data.
  • enable novel combinations and integrations of different neutral landscape model algorithms.

A full description of the package can be found in the accompanying software paper.

Quick examples

All the NLMpy neutral landscape models are produced as two-dimensional NumPy arrays, so the results can be easily incorporated into broader Python workflows.

Using NLMpy to create a midpoint displacement neutral landscape model can be achieved with only two lines of code:

python from nlmpy import nlmpy nlm = nlmpy.mpd(nRow=50, nCol=50, h=0.75)

But as described in the software paper a wide variety of different patterns can be produced.

Citation

If you use NLMpy in your research we would be very grateful if you could please cite the software using the following freely available software paper:

Etherington TR, Holland EP, O'Sullivan D (2015) NLMpy: a Python software package for the creation of neutral landscape models within a general numerical framework. Methods in Ecology and Evolution 6:164-168

Some of the neutral landscape models available in NLMpy were developed elsewhere. Therefore, we think it is good practice to cite the original source a neutral landscape model so that there is appropriate credit given not just for the implementation in NLMpy but also for the original idea. The freely available NLMpy software paper and the docstring preceding each function contains a reference when relevant.

We would then recommend formatting statements such as the following to give credit to both the idea and software implementation:

  • "We used a midpoint displacement (Fournier et al. 1982) based neutral landscape model as implemented in NLMpy (Etherington et al. 2015)"
  • "The NLMpy software (Etherington et al. 2015) was used to create Perlin noise neutral landscape models (Etherington 2022)."

Installation

NLMpy is available on the Python Package Index, so it can be installed using:

pip install nlmpy

If that does not work you could also simply move the NLMpy.py file to the same location on your computer as a Python script that wants to import NLMpy, then when those scripts are executed they will import all the NLMpy functions. So while this approach does not actually install NLMpy onto your computer, it does at least allow you to make use of the functionality of NLMpy within a neighbouring Python script.

Package dependencies

  • numpy
  • scipy
  • numba

Community guidelines

We very much welcome input from others! If you find a bug, need some help, or can think of some extra functionality that would be useful, please raise an issue. Better still, please feel free to fork the project and raise a pull request if you think and can fix a bug, clarify the documentation, or improve the functionality yourself.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, we would really appreciate it if you could please cite it as follows:"
authors:
- family-names: "Etherington"
  given-names: "Thomas R."
  orcid: "https://orcid.org/0000-0002-3187-075X"
- family-names: "Holland"
  given-names: "E. Penelope"
  orcid: "https://orcid.org/0000-0002-4334-6234"
- family-names: "O'Sullivan"
  given-names: "David"
  orcid: "https://orcid.org/0000-0001-8078-3241"
title: "NLMpy"
version: 1.1.0
doi: 10.5281/zenodo.5533033
date-released: 2021-09-28
url: "https://github.com/tretherington/nlmpy"
preferred-citation:
  type: article
  authors:
  - family-names: "Etherington"
    given-names: "Thomas R."
    orcid: "https://orcid.org/0000-0002-3187-075X"
  - family-names: "Holland"
    given-names: "E. Penelope"
    orcid: "https://orcid.org/0000-0002-4334-6234"
  - family-names: "O'Sullivan"
    given-names: "David"
    orcid: "https://orcid.org/0000-0001-8078-3241"
  doi: "10.1111/2041-210X.12308"
  journal: "Methods in Ecology and Evolution"
  month: 2
  start: 164 # First page number
  end: 168 # Last page number
  title: "NLMpy: a PYTHON software package for the creation of neutral landscape models within a general numerical framework"
  issue: 2
  volume: 6
  year: 2015

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 51
  • Total Committers: 1
  • Avg Commits per committer: 51.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
tretherington t****n 51

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 4
  • Total pull requests: 5
  • Average time to close issues: 1 day
  • Average time to close pull requests: less than a minute
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 1.75
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tretherington (3)
  • zjans (1)
Pull Request Authors
  • tretherington (5)
Top Labels
Issue Labels
enhancement (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 57 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 7
  • Total versions: 12
  • Total maintainers: 1
pypi.org: nlmpy

A Python package to create neutral landscape models

  • Versions: 12
  • Dependent Packages: 1
  • Dependent Repositories: 7
  • Downloads: 57 Last month
Rankings
Dependent packages count: 3.2%
Dependent repos count: 5.6%
Average: 13.6%
Forks count: 16.9%
Stargazers count: 19.4%
Downloads: 22.8%
Maintainers (1)
Last synced: 6 months ago