Skip to content
/ PODS Public

An optimization toolbox for computing expensive environmental models

License

Notifications You must be signed in to change notification settings

louisXW/PODS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PODS

About

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.

Install

Preparing your system to use PODS

  1. 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

  1. 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

Install PODS on your system

There are two options to install PODS

  1. 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
  1. install with pip (option avaiable onece the repository is public)
		pip install PODS	

Citing US

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}
}

About

An optimization toolbox for computing expensive environmental models

Resources

License

Stars

Watchers

Forks

Packages

No packages published