An python-based optimization toolbox for computing expensive problems. PODS package including 1) a standalone PODS algorithm code; 2) examples using PODS with test function; 3) examples using PODS with expensive simulaiton problems (e.g., Deflt3D-FLOW). The documentation of PODS refer to https://louisxw.github.io/PODS/
PODS can be incorportated with Dynamically Normalized objective function (DYNO) for multi-variable (i.e., temperature and velocity) model calibration problems. For how to use PODS with DYNO see https://github.com/louisXW/DYNO-pods/. DYNO combines the error metrics of multiple variables into a single objective function by dynamically normalizing each variable's error terms using information available during the search. DYNO is proposed to dynamically adjust the weight of the error of each variable hence balancing the calibration to each variable during optimization search.
- python & pySOT
Before starting you will need to Python installed. Recommend python 2.7 since PODS was developed and tested based on this verison. You will need to have pySOT (0.1.36) installed. Other python module like (scipy, numpy, pyDOE) needed will be installed automatically once the pySOT is installed.
To install the pySOT (0.1.36) package with conda run one of the following:
conda install -c conda-forge pysot==0.1.36
or
conda install -c conda-forge/label/gcc7 pysot
pySOT is a open source toolbox is for optimization of computationally expensive black-box objective functions. more information about pySOT refer to: https://pysot.readthedocs.io/en/latest/index.html
- Delft3D
To work with Delft3D problem you may need to have Delft3D installed.
Delft3D is an open source software which simulates two-dimensional (in either the horizontal or a vertical plane) and three-dimensional flow, sediment transport and morphology, waves, water quality and ecology and is capable of handling the interactions between these processes.
The Delft3D installation manual on both windows and linux links to https://content.oss.deltares.nl/delft3d/manuals/Delft3D-Installation_Manual.pdf
You may also want to compile the open source on your platform. The instruction links to https://oss.deltares.nl/c/document_library/get_file?uuid=e3bf2d05-f59f-4d4a-8c13-97bcbaa84060&groupId=21119
There are two options to install PODS
- install from repostitory with setup.py
| 1.1. Clone the repository:
git clone https://github.com/louisXW/PODS.git
| 1.2. Navigate to the folder with setup.py file:
cd PODS/PODS
| 1.3. Install PODS with setup.py if you have admister root
python setup.py install
| 1.4. Most cases you might work on a remote workstation without root. Install PODS with setup.py locally
python setup.py install --user
- install with pip (option avaiable onece the repository is public)
pip install PODS
If you use PODS, please cite the following paper: Xia, W., Shoemaker, C., Akhtar, T., & Nguyen, M. T. (2021). Efficient parallel surrogate optimization algorithm and framework with application to parameter calibration of computationally expensive three-dimensional hydrodynamic lake PDE models. Environmental Modelling & Software, 135, 104910.https://doi.org/10.1016/j.envsoft.2020.104910
@article{xia2021efficient,
title={Efficient parallel surrogate optimization algorithm and framework with application to parameter calibration of computationally expensive three-dimensional hydrodynamic lake PDE models},
author={Xia, Wei and Shoemaker, Christine and Akhtar, Taimoor and Nguyen, Manh-Tuan},
journal={Environmental Modelling \& Software},
volume={135},
pages={104910},
year={2021},
publisher={Elsevier}
}
If you use DYNO-pods, please cite the following paper: Xia, W., Akhtar, T., and Shoemaker, A.C. (2022): A novel objective function DYNO for automatic multivariable calibration of 3D lake models. Hydrology and Earth System Sciences, 26(13), 3651-3671. https://doi.org/10.5194/hess-26-3651-2022.
@article{xia2022novel,
title={A novel objective function DYNO for automatic multivariable calibration of 3D lake models},
author={Xia, Wei and Akhtar, Taimoor and Shoemaker, Christine A},
journal={Hydrology and Earth System Sciences},
volume={26},
number={13},
pages={3651--3671},
year={2022},
publisher={Copernicus GmbH}
}