hydroPSO is a global optimisation R package implementing a state-of-the-art version of the Particle Swarm Optimisation (PSO) algorithm (SPSO-2011 and SPSO-2007 capable), with a special focus on the calibration of environmental models.
hydroPSO is parallel-capable, to alleviate the computational burden of complex models.
hydroPSO is model-independent, allowing the user to easily interface any model code with the calibration engine (PSO), and includes a series of controlling options and PSO variants to fine-tune the performance of the optimisation engine. An advanced sensitivity analysis function together with user-friendly plotting summaries facilitate the interpretation and assessment of the calibration results.
Bugs / comments / questions / collaboration of any kind are very
welcomed.
This package implements a state-of-the-art version of the Particle Swarm Optimisation (PSO) algorithm (SPSO-2011 and SPSO-2007 capable). hydroPSO can be used as a replacement of the 'optim' R function for (global) optimization of non-smooth and non-linear functions. However, the main focus of hydroPSO is the calibration of environmental and other real-world models that need to be executed from the system console. hydroPSO is model-independent, allowing the user to easily interface any computer simulation model with the calibration engine (PSO). hydroPSO communicates with the model through the model's own input and output files, without requiring access to the model's source code. Several PSO variants and controlling options are included to fine-tune the performance of the calibration engine to different calibration problems. An advanced sensitivity analysis function together with user-friendly plotting summaries facilitate the interpretation and assessment of the calibration results. hydroPSO is parallel-capable, to alleviate the computational burden of complex models with "long" execution time. Bugs reports/comments/questions are very welcomed (in English, Spanish or Italian).
The file MF2005.zip, with all the necessary files to run the MODFLOW-2005 examples in the vignette, contains 3 Windows binary files: mf2005.exe, preproc.exe and zonbud_hydroPSO.exe. These binary files are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. In no event shall the authors be liable for any CLAIM, DAMAGES or other LIABILITY, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
The file SWAT2005.zip , with all the necessary files to run the SWAT-2005 examples in the vignette, contains 1 Windows binary file: swat2005.exe and 1 UNIX binary file: swat2005.out. Those binary files are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. In no event shall the authors be liable for any CLAIM, DAMAGES or other LIABILITY, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
NEWS for hydroPSO -------------------------- 0.3-2 (under-development) o `lhoat': -) parallel capable -) new `normalise' parameter for the `control' variable, in order to improve the sampling design when the search space is not a hypercube -) `control' argument now allows the following new components: `REPORT', `parallel', `par.nnodes', `par.pkgs', `normalise' -) new argument `...' to allow function arguments that are kept constant during the sensitivity analysis. 0.3-1-1 10-May-2013 o Suggested package `multicore' (superseded) was replaced by `parallel' o 'hydroPSO: functions from the `multicore' package were replaced by equivalent from the `parallel' package (detectCores, mclapply) 0.3-1 10-May-2013 o new `SWAT2005.zip' file, with and updated tutorial for calibrating SWAT 2005, compatible with hydroPSO >= 0.3-0 The old zip file was renamed to 'SWAT2005_old.zip', which is compatible with hydroPSO <= 0.1-58 The new `SWAT2005.zip' file now includes a new `swat2005.out' binary file, in order to allow running SWAT2005 in GNU/Linux machines o new `MF2005.zip' file, with and updated tutorial for calibrating MODFLOW 2005, compatible with hydroPSO >= 0.3-0 The old zip file was renamed to 'MF2005_old.zip', which is compatible with hydroPSO <= 0.1-58 o `lhoat' : -) fixed bug that led to all parameters have the same Ranking (equal to 0) when 'fn!="hydromod"' (Thanks to Rui Esteves !) -) fixed bug that led to the following error message "object `model.out.text.fname' not found" when 'write2disk=FALSE' -) `fn' argument now can be any R function or a character. In the latter case, it can be "hydromod" or the name of a valid R function. In previous versions of `lhoat' only a character type was accepted (Thanks to Rui Esteves !) o 'hydroPSO' : -) if a `parallel' directory was not successfully removed during a previous run, it is removed before running the algorithm in parallel mode again. o 'ReadPlot_results': updated description of the `dp3D.names' argument o 'plot_out' : `main' argument is not overwritten to "Observed vs `best' Simulation" when this argument is provided and 'ptype=="ts"' o 'plot_results' : `main' argument is now (internally) passed to the 'plot_out' function. o 'plot_particles' : `main' argument is now omitted for the 3D dotty plots ('plot_NparOF' function), in order to avoid confusing (and sometimes unnecessary) titles when `main' is too long o 'plot_NparOF' : `main' argument was disabled, in order to avoid confusing titles when 'main is a long text 0.3-0 19-Dec-2012 o 'hydroPSO' : -) parallel capable (OS-independent) * new argument `parallel' to define how to parallelise the evaluation of the objective function * new `control' argument `par.nnodes' to define the number of cores/nodes to be used in a multi-core machine or network cluster * new `control' argument `par.pkgs' (only needed for Windows machines) with the list of package that need to be loaded on each core/node -) Default number of particles for 'method=spso2007' was changed from 'ceiling(10+2*sqrt(n))' to 'floor(10+2*sqrt(n))', following Clerc 2012 o New vignette (14/Dec/2012) o 'read_out' : -) new argument `nsim' used to specify the number of model outputs. It is useful when the model to be calibrated returns NA instead of the simulated values for some particles (e.g., MODFLOW) o 'read_results': -) See 'read_out' above o 'plot_results': -) See 'read_out' above ############################################################## # Previous Releases: see old file `ChangeLog' for details # ############################################################## 0.2-0 29-Nov-2012 0.1-58 14-Sep-2012 0.1-57 29-Jun-2012 0.1-56 14-Jun-2012 0.1-55 11-May-2012 0.1-54 01-Apr-2012 0.1.53 23-Mar-2012 0.1.52 09-Mar-2012 0.1.51 24-Feb-2012 0.1.50 23-Feb-2012 0.1.49 13-Feb-2012 0.1.48 22-Jan-2012 0.1.47 16-Jan-2012 0.1.46 29-Nov-2011 0.1-45 11-Nov-2011 0.1-44 28-Oct-2011 0.1-43 17-Oct-2011 0.1-42 08-Oct-2011 0.1-41 05-Sep-2011 0.1-40 01-Sep-2011 24-Jun-2011 May-2011 Apr-2011 29-Dec-2010 23-Dec-2010 Dec-2010 Nov-2010 2009-Oct2010: hydroPSO hibernation :( ~Jul-2008: hydroPSO beginning...
See Also
hydroGOF: Goodness-of-fit functions for comparison of simulated and observed hydrological time series.
hydroTSM: Time series management, analysis and interpolation for hydrological modelling.
SWAT2R : Input/Output functions for the SWAT hydrological model