Description [to ToC]
The CMCC-Hybrid-EstuaryBoxModel (CMCC-Hybrid-EBM) is an hybrid model for the estimation of the salt-wedge intrusion length (Lx) and the salinity concentration in the estuaries. The Hybrid-EBM has been implemented by combining the ML-based model with the fully-physics EBM model. In particular, the first and the second component of this new model has been obtained replacing the two equations of the fully-physics model by ML algorithms like Random Forest and LSBoost. The Po River (Po-Goro-Branch) has been selected as test-case.
Project Structure [to ToC]
The project structure is organized as follows:
datafolder contains two subfolders:rawfolder contains three subfolders with the raw data:Component-1-Lx: Contains Excel files with the raw dataset related to the Component-1 of Hybrid-EBM.Component-2-Ck: Contains three subfolders:Ck-Obs-LSBoost: Contains Excel files with the raw dataset related to the Component-2 of Hybrid-EBM, generated using the Component-1-LSBoost.Ck-Obs-RF: Contains Excel files with the raw dataset related to the Component-2 of Hybrid-EBM, generated using the Component-1-RF.Input-Features-For-Synthetic-Ck-Obs-Generation: Contains Excel files with the raw dataset required to generate the synthetic Ck observations.
Component-4-Sul: Contains Excel files with the raw dataset related to the component-4 of hybrid-model.
processedfolder contains two subfolders with the precessed training and test dataset:Component-1-Lx: Contains Excel files with the processed dataset related to the Component-1 of Hybrid-EBM.Component-2-Ck: Contains two subfolders:Ck-Obs-LSBoost: Contains Excel files with the processed dataset related to the Component-2 of Hybrid-EBM, generated using the Component-1-LSBoost.Ck-Obs-RF: Contains Excel files with the processed dataset related to the Component-2 of Hybrid-EBM, generated using the Component-1-RF.
srcfolder contains the source code files and subfolders:modelsfolder contains four subfolders, each of one contains the main scripts for running the modeling and analysis :Component-1-Lxfolder includes the following files:train_model_component_1_lx.m: The script to trains ML models for Component-1 of Hybrid-EBM.
Component-2-Ckfolder includes the following folder and file:train_model_component_2_ck.m: The script to trains ML models for Component-2 of Hybrid-EBM.Component-2-1-Generate-Syntethic-Ck-Observationsfolder with the files:run_equation_synthetic_ck_observations.m: The script to run creation of new synthetic observations for ck values.generate_synthetic_ck.m: The function (equation) to generate the ck observations.
Component-3-Qulfolder includes the following files:compute_qul.m: The function (equation) to compute the Component-3 of Hybrid-EBM.
Component-4-Sulfolder includes the following files:run_experiment_component_4_sul.m: The script to run the Component-4 of Hybrid-EBM.compute_sul.m: The function (equation) to compute the Component-4 of Hybrid-EBM.
libfolder contains libraries for analysis, machine learning, and utility functions.
modelsfolder contains the trained models, models predictions and model summaries for each component of hybrid-model.reportsfolder contains a brief reports of the analysis with graphics and figures.
Requirements [to ToC]
- MATLAB Version 9.14 (R2023a) (https://it.mathworks.com/products/matlab.html)
- Statistics and Machine Learning Toolbox Version 12.5 (R2023a) (https://it.mathworks.com/products/statistics.html)
- Parallel Computing Toolbox Version 7.8 (R2023a) (https://it.mathworks.com/products/parallel-computing.html)
Setup [to ToC]
To set up the project, follow these steps:
- Clone the repository:
git clone --single-branch --branch master https://github.com/CMCC-Foundation/CMCC-Hybrid-EstuaryBoxModel.git - Navigate to the project directory:
cd CMCC-Hybrid-EstuaryBoxModel
Usage [to ToC]
To run the experiment follow these steps:
- Run the script to train machine learning models for the Component-1 of Hybrid-EBM (Lx):
\src\models\Component-1-Lx\train_model_component_1_lx.m
- Run the script to generate synthetic observations for the Ck coefficient:
\src\models\Component-2-Ck\Component-2-1-Generate-Syntethic-Ck-Observations\run_equation_synthetic_ck_observations.m
- Run the script to train machine learning models for the Component-2 of Hybrid-EBM (Ck):
\src\models\Component-2-Ck\train_model_component_2_ck.m
- Run the script to compute Component-4 of Hybrid-EBM (Sul):
\src\models\Component-4-Sul\run_experiment_component_4_sul.m
Contact [to ToC]
For any questions or inquiries, please contact Rosalia Maglietta, Leonardo Saccotelli or Giorgia Verri.
License [to ToC]
This project is licensed under the Apache License 2.0.