Giter Site home page Giter Site logo

leogean3 / fluxos_cpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from seantrim/fluxos_cpp

0.0 0.0 0.0 71.97 MB

FLUXOS-OVERLAND solved the 2D shallow water PDEs that accounts for inertial (local and convective), pressure, gravity and friction forces (momentum balance). The model can capture backwater effects (unlike the kinematic or diffusion waves). This is critical to simulate low-relief terrains. The model was originally developed for river reach flood simulations, and therefore it was repurposed here to allow for field and catchment-scale simulations and snowmelt forcing. The topography (DEM) is used to capture snowmelt runoff pathways (there is no need to specify the location of the streams). This is important in regions with variable contributing areas such as the Canadian Prairies A module for drop inlet spillways and culverts was added. It is based on Bernoulli’s Equation (assumes pressure dominated at this stage) and head losses computed from the implicit Colebrook-White equation for both laminar and turbulent pipe flows, which is solved interactively using the Raphson-Newton interaction method. Vegetation and other obstacles to the flow are included through distributed absolute roughness heights.

CMake 0.01% MATLAB 1.40% HTML 84.50% Python 0.77% C++ 13.25% C 0.07%

fluxos_cpp's Introduction

FLUXOS-OVERLAND

Branches

  • master: All changes made in adesolver and adesolver_wintra have been merged into master
  • developnment: branch used for development before merge with master
  • adesolver: Adection-Dispersion-Reaction equation solver was converted to C++ and debugged
  • adesolver_wintra: the wintra algorithm was added

Compiling

  • cmake: CMakeList is provided
  • Library dependencies: Armadillo
  • Cmake minimum version: 3.10

Execution (and input files and folder needed)

  • Create a folder with name "Results" inside the working directory where the input files and fluxos are
  • input files (see examle in Working_example folder)
    • master input file: e.g., modset
    • DEM file (Esri ASCII-format raster with headers removed -> this will be fixed soon)
    • DEM of the basin (sub-set of the main DEM file for FLUXOS to know where the boundaries of the basin are)
    • Snowmelt timeseries (time,mm/day)
  • to execute: ./fluxos_cpp "argument_1" (where "argument_1" is the mater input file)

Visualization of results (stored inside "Results" folder)

Supporting scripts (post-processing)

  • "fluxos_python" folder

Working example

  • "Working_example" folder

fluxos_cpp's People

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.