A short term landscape evolution using a path sampling method to solve water and sediment flow continuity equations and model mass flows over complex topographies.

Overview

License: GPL v2 DOI

r.sim.terrain

A short-term landscape evolution model that simulates topographic change for both steady state and dynamic flow regimes across a range of spatial scales. This free and open source, GIS-based landscape evolution model uses empirical models (RUSLE3D & USPED) for soil erosion at watershed to regional scales and a physics-based model (SIMWE) for shallow overland water flow and soil erosion at subwatershed scales to compute short-term topographic change. This either steady state or dynamic model simulates how overland sediment mass flows reshape topography for a range of hydrologic soil erosion regimes based on topographic, land cover, soil, and rainfall parameters. As demonstrated by a case study for Patterson Branch subwatershed on the Fort Bragg military installation in North Carolina, r.sim.terrain can realistically simulate the development of fine-scale morphological features including ephemeral gullies, rills, and hillslopes. Applications include land management, erosion control, landscape planning, and landscape restoration. It is an add-on module for GRASS GIS.

Elevation before and after a steady state SIMWE simulation of a 120 min event with a rainfall intensity of 50 mm/hr

Installation

  • Launch GRASS GIS
  • Install the stable release using the GRASS Console / Command Line Interface (CLI) with g.extension extension=r.sim.terrain
  • Or install the development release
    using the GRASS Console / Command Line Interface (CLI) with g.extension extension=r.sim.terrain url=github.com/baharmon/landscape_evolution
  • Launch from the CLI with r.sim.terrain --ui

Basic instructions

  • Download and extract the sample dataset
  • Launch GRASS GIS, set the grassdata directory to landscape_evolution_dataset, set the location to nc_spm_evolution, and create a new mapset rusle
  • Install the stable release using the GRASS Console / Command Line Interface (CLI) with g.extension extension=r.sim.terrain
  • Set your region to the study area with 1 meter resolution using the module g.region: g.region region=region res=1
  • Copy elevation_2016 from the PERMANENT mapset to the current mapset with g.copy [email protected],elevation_2016
  • Run r.sim.terrain with the RUSLE model for a 120 min event with a rainfall intensity of 50 mm/hr at a 3 minute interval.
r.sim.terrain -f elevation=elevation_2016 runs=event mode=rusle_mode rain_intensity=50.0 rain_duration=120 rain_interval=3 m=0.4 n=1.3
  • For more detailed instructions see the Tutorial

Documentation

Sample dataset

Clone or download the sample dataset with a time series of lidar-based digital elevation models and orthoimagery for a highly eroded subwatershed of Patterson Branch Creek, Fort Bragg, NC, USA.

Replicability

The results in the paper r.sim.terrain 1.0: a landscape evolution model with dynamic hydrology can be replicated by downloading the sample dataset, launching GRASS GIS in the sample location, installing the add-on module, and then running the Python scripts in the scripts directory. Launch the scripts dynamic_simulations.py and steady_state_simulation.py to run the simulations. Then launch the script render_simulations.py to generate graphics for each simulation.

License

GNU General Public License Version 2

You might also like...
Download and process satellite imagery in Python using Sentinel Hub services.

Description The sentinelhub Python package allows users to make OGC (WMS and WCS) web requests to download and process satellite images within your Py

 An API built to format given addresses using Python and Flask.
An API built to format given addresses using Python and Flask.

An API built to format given addresses using Python and Flask. About The API returns properly formatted data, i.e. removing duplicate fields, distingu

This is a simple python code to get IP address and its location using python

IP address & Location finder @DEV/ED : Pavan Ananth Sharma Dependencies: ip2geotools Note: use pip install ip2geotools to install this in your termin

A package built to support working with spatial data using open source python

EarthPy EarthPy makes it easier to plot and manipulate spatial data in Python. Why EarthPy? Python is a generic programming language designed to suppo

Using SQLAlchemy with spatial databases

GeoAlchemy GIS Support for SQLAlchemy. Introduction GeoAlchemy is an extension of SQLAlchemy. It provides support for Geospatial data types at the ORM

Solving the Traveling Salesman Problem using Self-Organizing Maps
Solving the Traveling Salesman Problem using Self-Organizing Maps

Solving the Traveling Salesman Problem using Self-Organizing Maps This repository contains an implementation of a Self Organizing Map that can be used

Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below
Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Daily social mapping project in November 2021. Maps made using PyGMT whenever possible.
Daily social mapping project in November 2021. Maps made using PyGMT whenever possible.

Daily social mapping project in November 2021. Maps made using PyGMT whenever possible.

Starlite-tile38 - Showcase using Tile38 via pyle38 in a Starlite application

Starlite-Tile38 Showcase using Tile38 via pyle38 in a Starlite application. Repo

Comments
  • First release

    First release

    Create first release and then assign a DOI. Release: https://guides.github.com/activities/citable-code/ DOI: https://zenodo.org/account/settings/github/

    enhancement 
    opened by baharmon 0
  • Jupyter Notebook tutorial powered by Docker

    Jupyter Notebook tutorial powered by Docker

    Build Docker image with GRASS GIS and r.sim.terrain. Create tutorials in Jupyter Notebooks using MyBinder. Use GRASS Docker image: https://hub.docker.com/r/neteler/grassgis7/

    enhancement 
    opened by baharmon 0
Releases(v1.2.0)
A utility to search, download and process Landsat 8 satellite imagery

Landsat-util Landsat-util is a command line utility that makes it easy to search, download, and process Landsat imagery. Docs For full documentation v

Development Seed 681 Dec 07, 2022
Geodata extensions for Django REST Framework

Django-Spillway Django and Django REST Framework integration of raster and feature based geodata. Spillway builds on the immensely marvelous Django RE

Brian Galey 62 Jan 04, 2023
framework for large-scale SAR satellite data processing

pyroSAR A Python Framework for Large-Scale SAR Satellite Data Processing The pyroSAR package aims at providing a complete solution for the scalable or

John Truckenbrodt 389 Dec 21, 2022
gpdvega is a bridge between GeoPandas and Altair that allows to seamlessly chart geospatial data

gpdvega gpdvega is a bridge between GeoPandas a geospatial extension of Pandas and the declarative statistical visualization library Altair, which all

Ilia Timofeev 49 Jul 25, 2022
A Python package for delineating nested surface depressions from digital elevation data.

Welcome to the lidar package lidar is Python package for delineating the nested hierarchy of surface depressions in digital elevation models (DEMs). I

Qiusheng Wu 166 Jan 03, 2023
Interactive Maps with Geopandas

Create Interactive maps 🗺️ with your geodataframe Geopatra extends geopandas for interactive mapping and attempts to wrap the goodness of amazing map

sangarshanan 46 Aug 16, 2022
iNaturalist observations along hiking trails

This tool reads the route of a hike and generates a table of iNaturalist observations along the trails. It also shows the observations and the route of the hike on a map. Moreover, it saves waypoints

7 Nov 11, 2022
Geospatial web application developed uisng earthengine, geemap, and streamlit.

geospatial-streamlit Geospatial web applications developed uisng earthengine, geemap, and streamlit. App 1 - Land Surface Temperature A simple, code-f

13 Nov 27, 2022
Simple, concise geographical visualization in Python

Geographic visualizations for HoloViews. Build Status Coverage Latest dev release Latest release Docs What is it? GeoViews is a Python library that ma

HoloViz 445 Jan 02, 2023
GeoIP Legacy Python API

MaxMind GeoIP Legacy Python Extension API Requirements Python 2.5+ or 3.3+ GeoIP Legacy C Library 1.4.7 or greater Installation With pip: $ pip instal

MaxMind 230 Nov 10, 2022
Constraint-based geometry sketcher for blender

Geometry Sketcher Constraint-based sketcher addon for Blender that allows to create precise 2d shapes by defining a set of geometric constraints like

1.7k Jan 02, 2023
Software for Advanced Spatial Econometrics

GeoDaSpace Software for Advanced Spatial Econometrics GeoDaSpace current version 1.0 (32-bit) Development environment: Mac OSX 10.5.x (32-bit) wxPytho

GeoDa Center 38 Jan 03, 2023
Google maps for Jupyter notebooks

gmaps gmaps is a plugin for including interactive Google maps in the IPython Notebook. Let's plot a heatmap of taxi pickups in San Francisco: import g

Pascal Bugnion 747 Dec 19, 2022
Geospatial Image Processing for Python

GIPPY Gippy is a Python library for image processing of geospatial raster data. The core of the library is implemented as a C++ library, libgip, with

GIPIT 83 Aug 19, 2022
Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Apoorva Lal 5 May 18, 2022
An API built to format given addresses using Python and Flask.

An API built to format given addresses using Python and Flask. About The API returns properly formatted data, i.e. removing duplicate fields, distingu

1 Feb 27, 2022
🌐 Local tile server for viewing geospatial raster files with ipyleaflet or folium

🌐 Local Tile Server for Geospatial Rasters Need to visualize a rather large (gigabytes) raster you have locally? This is for you. A Flask application

Bane Sullivan 192 Jan 04, 2023
Script that allows to download data with satellite's orbit height and create CSV with their change in time.

Satellite orbit height ◾ Requirements Python = 3.8 Packages listen in reuirements.txt (run pip install -r requirements.txt) Account on Space Track ◾

Alicja Musiał 2 Jan 17, 2022
A bot that tweets info and location map for new bicycle parking added to OpenStreetMap within a GeoJSON boundary.

Bike parking tweepy bot app A twitter bot app that searches for bicycle parking added to OpenStreetMap. Relies on AWS Lambda/S3, Python3, Tweepy, Flas

Angelo Trivisonno 1 Dec 19, 2021
prettymaps - A minimal Python library to draw customized maps from OpenStreetMap data.

A small set of Python functions to draw pretty maps from OpenStreetMap data. Based on osmnx, matplotlib and shapely libraries.

Marcelo de Oliveira Rosa Prates 9k Jan 08, 2023