AntoineCheron / live-modeling-tool

Live Modeling Tool project for Hydrologist Researcher - developed at IRISA during Engineering internship

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Live Modeling Tool

Research engineering internship project at IRISA, France. Goal : to develop a live modeling tool for hydrologist researcher. This tool let them do two main things :

  • Run simulation from entry data through a mathematic model. Then, display the output data they select onto charts and go through those charts as they need. Moreover, let them modify the entry data and see their impact on the results in real time
  • Adjust the variables of mathematic model from real data and the adjusting algorithm they input into this system.

Typical Use Cases

  • User wants to produce a Boussinesq Simulation on a hillslope and see the results on a chart, choosing the kind of chart. Then go through the chart.
  • User wants to adjust its mathematic model comparing the simulation's results and the data she picked up on the real case study.

Getting Started

There are two way to run this project : docker or using the binaries.

Using docker :

  1. docker pull antoinecheronirisa/live-modeling-tool
  2. docker run -it --rm -p 8080:8080 antoinecheronirisa/live-modeling-tool
  3. Going to : http://localhost:8080

Using the binaries

Prerequisites

To run this project, you'll need :

Docker

https://www.docker.com/community-edition

A Java Virtual Machine

https://java.com/en/download/

You will also need maven, npm and unzip

sudo apt install maven
sudo apt-get install unzip
sudo apt-get install npm

Installing

First : open your terminal and go to the folder where you want to install this project

Then download the version you want, For the stable version (latest release) :

wget "https://github.com/AntoineCheron/live-modeling-tool/archive/v0.1.2.zip"
unzip v0.1.2.zip -d ./
cd live-modeling-tool-0.1.2

For the last development version :

wget "https://github.com/AntoineCheron/live-modeling-tool/archive/master.zip"
unzip master.zip -d ./
cd live-modeling-tool-master

Then, just one step to install :

./install.sh

When you will try to run the simulation, the server will automatically pull the latest version of the needed docker image, containing the python environment. If you want to save time during your first execution, you can download the docker image now. To do that :

docker pull antoinecheronirisa/hs1d

Running

  1. Go to the folder where you installed the project
  2. Run the following command :
./run.sh

How to go through the web app

After having runned the project as described in the Running section under Getting Started :

  1. Open your favorite web browser and go to http://localhost:8080/
  2. Input 4 files, containing entry data :
  • geologic.input
  • hydrologic.input
  • morphologic.input
  • key_spatialized_param.param
  1. Run simulation & wait until it finishes
  2. Add a new chart and select the abscissa, the type of chart and the data you want to see on the ordinate
  3. Click the "Generate chart" button to see the chart
  4. Enjoy !

Software Architecture

Front-end

Back-end

Next features that will be developed

  • Creating docker containing this project
  • Graph exportation
  • Making simulation faster
  • Dynamic description of the inputs
  • Calibration of the simulation's mathematic model

More to come ...

Technologies

Front-end

  • Vue.js - A vue templating framework
  • UnderscoreJS - A JS library to make arrays and objects manipulation easier
  • NPM - Web dependencies management
  • Babel - A Javascript compiler
  • Webpack - A depencies bundler to improve performances

Back-end

Developed with Java and Jetty

  • Docker
  • Maven - Dependency management
  • Python for the mathematic model used for simulations

Acknowledgments

About

Live Modeling Tool project for Hydrologist Researcher - developed at IRISA during Engineering internship


Languages

Language:MATLAB 82.1%Language:Python 11.4%Language:Vue 2.8%Language:Java 1.6%Language:C 1.3%Language:JavaScript 0.6%Language:M 0.0%Language:HTML 0.0%Language:Shell 0.0%