The SCLAM model system integrates three main components:
- SNOW17: Snowmelt model that simulates snow water balance using precipitation and temperature data
- CREST: Distributed hydrological model that simulates subsurface flow and runoff generation
- Landslide: Integrated Random Forest and infinite slope model for probability of failure prediction (landslide initiation areas)
Meteorological Data (Precipitation + Temperature)
│
▼
┌─────────────┐
│ SNOW17 │ ← Simulates snowmelt and water balance
│ (Snowmelt) │
└─────────────┘
│
▼
┌─────────────┐
│ CREST │ ← Distributed hydrological model
│ (Hydrology) │
└─────────────┘
│
▼
┌─────────────┐
│ Integrated │ ← Inititation landslide areas prediction
│ Landslide │
└─────────────┘
- RAM: Minimum 8GB, recommended 16GB+
- Storage: 10GB+ free space
- Processor: Multi-core CPU (recommended 4+ cores)
- Operating System: Linux/macOS/Windows
- Python: 3.10
git clone https://github.com/EnGeoModels/SCLAM.git
cd SCLAM# Create virtual environment
python -m venv .venv
# Activate virtual environment
# Linux/macOS:
source sclam_env/bin/activate
# Windows:
sclam_env\Scripts\activatepip install -r requirements.txtThe system is fully configured through the .env file. Copy the example file and modify it:
Main parameters (.env file example):
# Geospatial data paths
dem_path=CREST/basic/DEM.asc
rain_path=rain
tavg_path=tavg
# Output paths
rainmelt_output_path=CREST/rainmelt
swe_output_path=SNOW17/swe
CREST_exe_path=CREST/ef5
CREST_output_path=CREST/output
landslide_output_path=pof_landslide
# UTM projection for the study area (Valle de Arán, Spain is in UTM Zone 31N)
utm_projection=EPSG:32631
# Simulation period
start_date=2012-10-01
warm_up_date=2013-06-01
end_date=2013-06-30
time_state=2013-06-01
# Trained model
RF_model_path=RF_model.pkl
static_data_path=staticPrecipitation and temperature can be in GeoTIFF format with:
- Projection: Appropriate extent and coordinate system for the watershed
- Resolution: Consistent with DEM (CREST/basic)
- Units: Precipitation (mm/day), Temperature (°C)
- Naming format:
rain.YYYYMMDD.tifandtavg.YYYYMMDD.tif
Portential evapotranspiration is desirable, specially for long term runs. We suggest to estimate it based on Hargreaves-Samani equation (only requires temperature).
- Format: ESRI ASCII (.asc) or GeoTIFF (.tif)
- Requirements: Must match FDR and FAC layers
- Soil grids: GeoTIFF (.tif). Used to run infinite slope and Random Forest model
- Soil properties: Comma-Separated Values (.tif). To indicate values of soil properties for each type of soil in the study area.
- File:
RF_model.pkl(pre-trained)
python main.py# SNOW17 only
python models/snow17.py
# CREST only (silent mode)
python models/hydro_model.py
# CREST only (with verbose CREST output)
python models/hydro_model.py --verbose
# Landslide prediction only
python models/landslide.pyEdit CREST/control.txt to adjust:
- Soil physical parameters
- Routing parameters
- Additional detailed information in: https://chrimerss.github.io/EF5/docs/#si
Modify in .env:
time_state=2013-06-01 # Initial state for restart (used in CREST)
start_date=2012-10-01 # Start date
warm_up_date=2013-06-01 # Warm-up period (use it in CREST). Not estrictly needed when time_state is specified
end_date=2013-06-30 # End date- Example data provided in example_data.zip file in GeoTIFF format for reproducibility
- The shared example and SCLAM configuration allow for reproducibility when running at a daily timestep. Additional considerations may be needed if more complex model configurations are required, and users are free to explore these options. If you have any questions, please do not hesitate to contact the author
- Alex Asurza. Contact: flavio.alexander.asurza@upc.edu