A lightweight, modular, and parallelized watershed modeling framework
Copyright (C) 2018 Lreis, IGSNRR, CAS, and NJNU. All rights reserved.
- SEIMS GitHub
- SEIMS Documentations (Not finished yet!)
- Online versions
- Download PDF versions without API references (powered by Gitbook)
Brief introduction
The Spatially Explicit Integrated Modeling System (SEIMS), is an integrated, modular, parallelized, fully-distributed watershed modeling and scenario analysis system.
SEIMS is mainly written by C++ with support of GDAL, Mongo-C-Driver, OpenMP and/or MPI, while Python is used for organizing the preprocessing, postprocessing, scenario analysis, etc. workflows. SEIMS is intented to be an open-source, cross-platform, and high performaced integrated watershed modeling system. Theoretically, SEIMS could be compiled by common used compiler (e.g. MSVC 2010+, GCC 4.6+, and Intel C++ 12.0+) as 32-bit or 64-bit programs and run on any mainstream OS (e.g. Windows, Linux, and macOS).
SEIMS contains several module catogories, include Hydrology, Erosion, Nutrient, Plant Growth, BMP Management, etc. Algorithms are integrated from SWAT, LISEM, WetSpa Extension, DHSVM, CASC2D, etc.
SEIMS is still being developing and any constructive feedback (issues or push requests) will be welcome and appreciated.
Get Started
Get Source Code
- Download or clone from Github. A useful Github guidiance can be found here.
- Read the basic code structure.
Compile & Install
Generally, with the required dependencies (i.e., cmake, C++ compiler, GDAL, mongo-c-driver), the compilation and installation should follows:
cd <path-to-SEIMS>
mkdir build
cd build
cmake ..
make -j4
make install
Besides, Python 2.7+ with Numpy, GDAL, pymongo, matplotlib, etc. is also required.
Config MongoDB
- Install MongoDB client and start mongo service automatically.
- You may need a MongoDB IDE to view and edit data. MongoVUE, Robo 3T (formerly Robomongo), or Mongo Explorer for JetBrains (e.g. PyCharm, CLion) are recommended.
Run Demo Data
Demo data is provided in ~/data/dianbu2
. The common steps for testing SEIMS with the demo data are as follows:
cd SEIMS
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
make install
cd ..
# Run demo data, e.g., dianbu2 watershed
python seims/test/demo_dianbu2_preprocess.py
python seims/test/demo_dianbu2_runmodel.py
python seims/test/demo_dianbu2_postprocess.py
# TO BE CONTINUED...
Build Your Own Model
Now, you can build you own SEIMS model!
SEIMS workflow can be summarized as five part.
- a) Data preparation and Preprocessing for SEIMS
- b) Run SEIMS model
- c) Postprocess, e.g. export hydrograph
- d) Model calibration
- e) Scenario analysis
Contact Us
- Dr. Liang-Jun Zhu ([email protected])
- Asso. Prof. Junzhi Liu ([email protected])