Giter VIP home page Giter VIP logo

toposub's Introduction

=======

TopoSUB

R package for landscape clustering and land-surface modelling

  • preprocessing (landscape clustering, running LSM in parallel)
  • postprocessing (read output, mapping)
  • data analysis (specific variable postprocessing, e.g. drought indices)

TopoSUB is a R project for sampling the most important aspects of land surface heterogeneity through a lumped scheme, allowing for the application of numerical land surface models (LSMs), like e.g. GEOtop, over large areas in mountain regions or other heterogeneous environments (Fiddes et al. 2012). The project was initiated by Joel Fiddes, the source code is available via the toposub GitHub repository.

=======

Reference

Fiddes, J., & Gruber, S. (2012). TopoSUB: A tool for efficient large area numerical modelling in complex topography at sub-grid scales. Geoscientific Model Development, 5(5), 1245โ€“1257. DOI: 10.5194/gmd-5-1245-2012

How to start

First install the package with:

install.packages("devtools")
library(devtools)
install_github("JBrenn/TopoSUB")

# with vignettes built
install_github("JBrenn/TopoSUB", build_vignettes = TRUE)

and then import the library with:

library(TopoSUB)

Simulation Workflow

A TopoSUB simulation is started with the function TopoSUB_preprocessor. After preparing GEOtop input files (raster maps, meteorological input stations, horizon files, ...), the GEOtop configuration file (geotop.inpts) and the TopoSUB configuration files (locations.txt, setup.txt), use this function to carry out landscape clustering and GEOtop point simulations, for computational intensive simulations preferable parallelized on a HPC server. See the function documentation for a short description.

?TopoSUB_preprocessor

Postprocessing of the GEOtop output is perfomed by the functions

  • TopoSUB_read: reading GEOtop output, specified by keywords in geotop.inpts

  • TopoSUB_remap: maping of the output data table of the function above for different time/climatic periods and/or differences of time/climatic periods

An example simulation for the Montatschinig/Montecini region (LTER Matsch/Mazia) can be found here. Use this example as a template to create an TopoSUB-GEOtop simulation folder. See also the TopoSUB configuration files (locations.txt and setup.txt) and define parmeters, e.g. input/output folders, number of cluster centroids, specific switches, definitions for running the simulation on a HPC cluster, ... For running the example use the R script main_pre.R after changing the root folder and GEOtop LSM exe Path in locations.txt

Moreover, the package includes an easy to use shiny app for visualisation. Run in the simulation folder it visualises the finally produced maps (still Beta-version, see folder shiny).

The TopoSUB package includes vignettes on the topics

  1. running a TopoSUB simulation
  2. postprocessing a TopoSUB simulation
  3. visualisation of TopoSUB simulation output

You can install the package with the option of building the vignettes and list/open them in an HTML browser:

library(devtools)
install_github("JBrenn/TopoSUB", build_vignettes = TRUE)

browseVignettes("TopoSUB")

toposub's People

Contributors

jbrenn avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.