RiverREM

Make river relative elevation models (REM) and REM visualizations from an input digital elevation model (DEM).

https://github.com/OpenTopography/RiverREM

Science Score: 10.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary

Keywords

digital-elevation-model lidar visualization
Last synced: 6 months ago · JSON representation

Repository

Make river relative elevation models (REM) and REM visualizations from an input digital elevation model (DEM).

Basic Info
Statistics
  • Stars: 228
  • Watchers: 9
  • Forks: 32
  • Open Issues: 1
  • Releases: 0
Fork of klarrieu/RiverREM
Topics
digital-elevation-model lidar visualization
Created over 3 years ago · Last pushed 9 months ago

https://github.com/OpenTopography/RiverREM/blob/main/

[![NSF-1948997](https://img.shields.io/badge/NSF-1948997-blue.svg)](https://nsf.gov/awardsearch/showAward?AWD_ID=1948997) [![NSF-1948994](https://img.shields.io/badge/NSF-1948994-blue.svg)](https://nsf.gov/awardsearch/showAward?AWD_ID=1948994) [![NSF-1948857](https://img.shields.io/badge/NSF-1948857-blue.svg)](https://nsf.gov/awardsearch/showAward?AWD_ID=1948857)

[![Conda](https://img.shields.io/conda/v/conda-forge/riverrem?color=success)](https://anaconda.org/conda-forge/riverrem) [![Conda](https://img.shields.io/conda/dn/conda-forge/riverrem?color=success)](https://anaconda.org/conda-forge/riverrem)

# RiverREM

RiverREM is a Python package for automatically generating river relative elevation model (REM) visualizations from nothing but an input digital elevation model (DEM). The package uses the OpenStreetMap API to retrieve river centerline geometries over the DEM extent. Interpolation of river elevations is automatically handled using a sampling scheme based on raster resolution and river sinuosity to create striking high-resolution visualizations without interpolation artefacts straight out of the box and without additional manual steps. The package also contains a helper class for creating DEM raster visualizations. See the [documentation](https://opentopography.github.io/RiverREM/) pages for more details.

For more information on REMs and this project see [this OpenTopography blog post](https://opentopography.org/blog/new-package-automates-river-relative-elevation-model-rem-generation).

![neches_REM](docs/_images/neches_topo_crop.jpg)

## Installation

### Install method 1 (recommended): New environment with conda/mamba

Make a new Python environment with RiverREM installed:

```bash
conda create -n rem_env riverrem
```

The above command creates a new Python environment named `rem_env` with the `riverrem` package installed.

> [!NOTE] 
> [`mamba`](https://github.com/conda-forge/miniforge/releases/latest) is recommended over `conda` or `pip` as it is able to solve environment dependencies quickly and robustly. If you are using `mamba`, replace `conda` with `mamba` in the above command.

The environment can then be activated:

```bash
conda activate rem_env
```

Alternatively, the environment can be linked to an IDE like PyCharm.


### Install method 2: Existing environment

Install via conda/mamba:

```bash
conda install -c conda-forge riverrem
```

### Install method 3: Repository clone

Clone this repo and create a conda environment from the `environment.yml`:

```bash
git clone https://github.com/opentopography/RiverREM.git
cd RiverREM
conda env create -n rem_env --file environment.yml
```

## Usage

1. Get a DEM for the area of interest. Some sources for free topographic data:

   - [OpenTopography](https://opentopography.org/)
   - [USGS](https://apps.nationalmap.gov/downloader/)
   - [Comprehensive list of DEM sources](https://github.com/DahnJ/Awesome-DEM)

2. Create an REM visualization with default arguments:

   ```python
   from riverrem.REMMaker import REMMaker
   # provide the DEM file path and desired output directory
   rem_maker = REMMaker(dem='/path/to/dem.tif', out_dir='/out/dir/')
   # create an REM
   rem_maker.make_rem()
   # create an REM visualization with the given colormap
   rem_maker.make_rem_viz(cmap='topo')
   ```

Options for adjusting colormaps, shading, interpolation parameters, and more are detailed in the [documentation](https://opentopography.github.io/RiverREM/).

![yukon_flats_REM](docs/_images/yukon_crop.png)

## Troubleshooting

- No river in DEM extent or inaccurate centerline: Use the [OSM editor](https://www.openstreetmap.org/edit) to 
  create/modify river centerline(s). Alternatively, a user-provided centerline can be input to override the OSM centerline. See the [documentation](https://opentopography.github.io/RiverREM) for more details.

## Issues

Submitting [issues](https://github.com/OpenTopography/RiverREM/issues), bugs, or suggested feature improvements are highly encouraged for this repository.

## References

This is the OpenTopography fork of https://github.com/klarrieu/RiverREM by Kenneth Larrieu. This package was made possible and inspired by the following:

- The [beautiful REMs](https://www.dnr.wa.gov/publications/ger_presentations_dmt_2016_coe.pdf) popularized by [Daniel Coe](https://dancoecarto.com/creating-rems-in-qgis-the-idw-method)
- [DahnJ](https://github.com/DahnJ)'s implementation of [REMs using xarray](https://github.com/DahnJ/REM-xarray)
- Geoff Boeing's [OSMnx](https://geoffboeing.com/publications/osmnx-complex-street-networks/) Python package leveraging the OSM Overpass API
- The [UNAVCO](https://www.unavco.org/) Student Internship Program
- The team at [OpenTopography](https://opentopography.org/) for supporting this effort under the following U.S. National Science Foundation award numbers: 1948997, 1948994, 1948857.


![birch_creek_REM](docs/_images/birch_crop.png)

Owner

  • Name: OpenTopography Facility
  • Login: OpenTopography
  • Kind: organization
  • Email: info@opentopography.org
  • Location: San Diego Supercomputer Center, UC San Diego

Open access to high-resolution, Earth science-oriented topography data, and related tools & resources. US NSF supported.

GitHub Events

Total
  • Create event: 3
  • Commit comment event: 1
  • Release event: 3
  • Issues event: 11
  • Watch event: 87
  • Issue comment event: 16
  • Push event: 7
  • Fork event: 9
Last Year
  • Create event: 3
  • Commit comment event: 1
  • Release event: 3
  • Issues event: 11
  • Watch event: 87
  • Issue comment event: 16
  • Push event: 7
  • Fork event: 9

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 111
  • Total Committers: 4
  • Avg Commits per committer: 27.75
  • Development Distribution Score (DDS): 0.324
Past Year
  • Commits: 22
  • Committers: 1
  • Avg Commits per committer: 22.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Kenneth Larrieu k****u@u****u 75
Kenneth Larrieu k****u@g****m 32
Viswanath Nandigam v****t@s****u 3
C. Crosby c****y@u****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 13
  • Total pull requests: 0
  • Average time to close issues: 1 day
  • Average time to close pull requests: N/A
  • Total issue authors: 12
  • Total pull request authors: 0
  • Average comments per issue: 3.08
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 0
  • Average time to close issues: 3 days
  • Average time to close pull requests: N/A
  • Issue authors: 5
  • Pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • LabSR-UT (2)
  • tomkom (1)
  • guillermodangelo (1)
  • Geobro1 (1)
  • rohmaneo (1)
  • dwolverton1 (1)
  • phaehnel (1)
  • sukruburakcetin (1)
  • QuentinStrappazzon (1)
  • allycat0531 (1)
  • mmorriss-ugs (1)
  • ainterrante (1)
Pull Request Authors
Top Labels
Issue Labels
bug (2) enhancement (1)
Pull Request Labels

Packages

  • Total packages: 3
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 14
proxy.golang.org: github.com/OpenTopography/RiverREM
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/opentopography/riverrem
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
conda-forge.org: riverrem

RiverREM is a Python package for automatically generating river relative elevation model (REM) visualizations from nothing but an input digital elevation model (DEM). The package uses the OpenStreetMap API to retrieve river centerline geometries over the DEM extent. Interpolation of river elevations is automatically handled using a sampling scheme based on raster resolution and river sinuosity to create striking high-resolution visualizations out of the box and without additional manual steps. The package also contains a helper class for creating DEM raster visualizations.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.1%
Stargazers count: 34.5%
Average: 39.4%
Forks count: 47.3%
Dependent packages count: 51.5%
Last synced: 6 months ago