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 :
- docker pull antoinecheronirisa/live-modeling-tool
- docker run -it --rm -p 8080:8080 antoinecheronirisa/live-modeling-tool
- 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
- Go to the folder where you installed the project
- 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 :
- Open your favorite web browser and go to http://localhost:8080/
- Input 4 files, containing entry data :
- geologic.input
- hydrologic.input
- morphologic.input
- key_spatialized_param.param
- Run simulation & wait until it finishes
- Add a new chart and select the abscissa, the type of chart and the data you want to see on the ordinate
- Click the "Generate chart" button to see the chart
- 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
Acknowledgments
- Weizhenye for the vue-highcharts component
- Bootswatch for the Solar CSS Bootstrap theme
- Benjamin Fox for the vue-async-computed library