Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] added functionality to test current implementation of nsgaii algorithm and new version of nsgaii #246

Merged
merged 429 commits into from
Oct 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
429 commits
Select commit Hold shift + click to select a range
e541862
Refactor loop to postprocess correct simulation and parameters
bees4ever Nov 1, 2018
58c610f
Refactor sample method and clean up comments
bees4ever Nov 1, 2018
335a9b2
Potential speed up for hymod
thouska Nov 1, 2018
1fc487f
Add missing numba package for travis
thouska Nov 1, 2018
38a1f1f
DDS: Refactoring variable names and use BestValue classs
bees4ever Nov 11, 2018
e298ba7
DDS: refctor generator
bees4ever Nov 11, 2018
3aa8444
Start writing dds in python. Very raw version
bees4ever Sep 13, 2018
bb7fad7
short before substitution with own random handler
bees4ever Sep 13, 2018
e562c94
Working version, which is same as Matlab, extended with own random funcs
bees4ever Sep 13, 2018
218155e
Add new class FixedrRandom to control randomized algorithms in Matlab…
bees4ever Sep 17, 2018
0e1a9ed
Add a version unready version of DDS algorithm. *datawriter* and *obj…
bees4ever Sep 17, 2018
be3dded
Add first unittest for DDS to compare Matlab vs Python output
bees4ever Sep 17, 2018
685caf0
implement distinct parameters sampling in DDS with spotpy's parameter…
bees4ever Sep 18, 2018
d2ea777
Add more tests, reorganize pytest for DDS
bees4ever Sep 20, 2018
67d981f
little bugfixes more descriptions
bees4ever Sep 20, 2018
83ee09c
use get_fitness to calculate objective function the spotpy way
bees4ever Sep 20, 2018
a1b272d
finish user's parameter initialization and write unittests
bees4ever Sep 20, 2018
5627488
Some more unittests concerning own parameter initialization
bees4ever Sep 20, 2018
ae3f505
Refactor loop to postprocess correct simulation and parameters
bees4ever Nov 1, 2018
b35a94d
Refactor sample method and clean up comments
bees4ever Nov 1, 2018
5b20463
DDS: Refactoring variable names and use BestValue classs
bees4ever Nov 11, 2018
b6fc42d
DDS: refctor generator
bees4ever Nov 11, 2018
cfdf151
Merge branch 'New-Algorithm-DDS' of https://github.com/bees4ever/spot…
bees4ever Nov 11, 2018
2bf8910
Start writing dds in python. Very raw version
bees4ever Sep 13, 2018
37bb488
short before substitution with own random handler
bees4ever Sep 13, 2018
e77fb61
Working version, which is same as Matlab, extended with own random funcs
bees4ever Sep 13, 2018
5cf9642
Add new class FixedrRandom to control randomized algorithms in Matlab…
bees4ever Sep 17, 2018
bbef883
Add a version unready version of DDS algorithm. *datawriter* and *obj…
bees4ever Sep 17, 2018
e217536
Add first unittest for DDS to compare Matlab vs Python output
bees4ever Sep 17, 2018
231afd4
implement distinct parameters sampling in DDS with spotpy's parameter…
bees4ever Sep 18, 2018
45a66fc
Add more tests, reorganize pytest for DDS
bees4ever Sep 20, 2018
4e61df5
little bugfixes more descriptions
bees4ever Sep 20, 2018
d019ac3
use get_fitness to calculate objective function the spotpy way
bees4ever Sep 20, 2018
45b0438
finish user's parameter initialization and write unittests
bees4ever Sep 20, 2018
82d0876
Some more unittests concerning own parameter initialization
bees4ever Sep 20, 2018
881881a
Refactor loop to postprocess correct simulation and parameters
bees4ever Nov 1, 2018
5cde391
Refactor sample method and clean up comments
bees4ever Nov 1, 2018
2997f43
DDS: Refactoring variable names and use BestValue classs
bees4ever Nov 11, 2018
0d9ad00
DDS: refctor generator
bees4ever Nov 11, 2018
730cea5
Start writing dds in python. Very raw version
bees4ever Sep 13, 2018
3981aac
short before substitution with own random handler
bees4ever Sep 13, 2018
0625f94
Working version, which is same as Matlab, extended with own random funcs
bees4ever Sep 13, 2018
96d5f98
Add new class FixedrRandom to control randomized algorithms in Matlab…
bees4ever Sep 17, 2018
10136d1
Add first unittest for DDS to compare Matlab vs Python output
bees4ever Sep 17, 2018
c80b50a
use get_fitness to calculate objective function the spotpy way
bees4ever Sep 20, 2018
b350f55
Refactor sample method and clean up comments
bees4ever Nov 1, 2018
4027eba
DDS: Refactoring variable names and use BestValue classs
bees4ever Nov 11, 2018
3656ee1
Merge branch 'New-Algorithm-DDS' of https://github.com/bees4ever/spot…
bees4ever Nov 11, 2018
2484f0b
DDS: fix rebase
bees4ever Nov 11, 2018
91fecef
Adds short parallelization explanation
thouska Nov 12, 2018
e085278
Merge pull request #196 from philippkraft/classParameterSet
philippkraft Nov 12, 2018
09ea814
Update fscabc.py
p-lauer Nov 15, 2018
01837ef
Update abc.py
p-lauer Nov 15, 2018
34fd94b
Merge pull request #197 from p-lauer/patch-4
thouska Nov 16, 2018
bbbd92f
Merge branch 'master' into New-Algorithm-DDS
bees4ever Nov 20, 2018
637af65
Introduce BestValue in combination with ParameterSet. Propose a copy …
bees4ever Nov 20, 2018
c21fcda
Introduce BestValue in combination with ParameterSet. Propose a copy …
bees4ever Nov 20, 2018
4977eac
Merge branch 'New-Algorithm-DDS' of https://github.com/bees4ever/spot…
bees4ever Nov 20, 2018
a54dd53
Always maximize in BestValue and DDS. Tidy up BestValue.
bees4ever Nov 20, 2018
858a5ce
use distinct flag in parameter class
bees4ever Nov 21, 2018
257fe62
fix `astuple` method in parameter class
bees4ever Nov 21, 2018
1532f1b
refactor DDS: use a DDSGenerator
bees4ever Nov 21, 2018
0fe5a5a
fix parameter unittest
bees4ever Nov 21, 2018
d79480c
tidy up py.test outputs
bees4ever Nov 21, 2018
c561390
finalize DDS and update tutorial_dds.py
bees4ever Nov 23, 2018
c96560e
Bugflix multi simulation support
thouska Jan 11, 2019
64385b6
Implement higher pytest version
thouska Jan 11, 2019
4a78015
Force decrease version of pytest_cov as v2.6.1 is deprecated
thouska Jan 11, 2019
302d46b
Force pytest_cov down to v2.6
thouska Jan 11, 2019
c8eaa88
Further version compability test
thouska Jan 11, 2019
4a57e6d
Added comment
thouska Jan 11, 2019
dd2b1e8
Merge pull request #199 from thouska/Test-code_cov
thouska Jan 11, 2019
281879e
Enable automatic nan filtering for RMSE #79
thouska Jan 14, 2019
b0ec368
Removes unfinished model runs from output file
thouska Jan 17, 2019
5750cae
Renamed keyword for saving switch
thouska Jan 17, 2019
8c25d09
Update Version number, uploaded new pypi version
thouska Jan 17, 2019
ce40f9e
Update __init__.py
thouska Jan 17, 2019
5beb76b
Add first DDS Benchmarks
bees4ever Jan 18, 2019
78254d9
Work with None instead of np.NAN as this was not recognized
thouska Jan 21, 2019
fe4d881
DDS parallel tests and results
bees4ever Jan 25, 2019
6b4eeab
Update _algorithm.py
KittelC Jan 25, 2019
1e07e2c
force specific package versions for travis
bees4ever Jan 27, 2019
448279a
Slight changes in sceua sampler and added corresponding tutorial
thouska Jan 28, 2019
cd140e8
Removed - sign from Rosenbrock example objectfivefunction
thouska Jan 28, 2019
d9b700a
Adopt test scripts to changes in examples
thouska Jan 28, 2019
a45cb0d
remove parameter interaction test for python 2
thouska Jan 28, 2019
006ef35
Removed test for <Python3.6 due to deprectaed numpy version
thouska Jan 28, 2019
436b6fe
Merge pull request #200 from KittelC/patch-2
thouska Jan 28, 2019
bdeddb7
Updates version number corresponds to upload on pypi
thouska Jan 28, 2019
9891803
Fix bug under mpi use
thouska Jan 29, 2019
08099b0
Update Version number upload to pypi
thouska Jan 29, 2019
a8170bc
Added missing lines to allow for starting dream proposal vectors
thouska Jan 29, 2019
c3a0dd2
Merge branch 'master' into New-Algorithm-DDS
bees4ever Jan 29, 2019
c688607
- refactor DDS Algorithm
bees4ever Feb 1, 2019
c2e78ec
DDS: use self.status and not BestValue class
bees4ever Feb 2, 2019
733fc01
try to fix travis
bees4ever Feb 2, 2019
2a81c06
some python 2 type errors
bees4ever Feb 2, 2019
5db9e6d
Force writting to file in finalize call
thouska Feb 4, 2019
9895218
Update version number
thouska Feb 4, 2019
38df84c
Merge pull request #195 from bees4ever/New-Algorithm-DDS
thouska Feb 4, 2019
dedaa4e
Add non-parametric Kling-Gupta Efficiency objective function
thouska Feb 4, 2019
940cd92
Update non paramteric kge to published version, added travis test
thouska Feb 4, 2019
9a6b9ec
Fix expected results for non parametric kge
thouska Feb 4, 2019
33a3c6b
Removed unused lines
thouska Feb 4, 2019
7038dd4
Update Readme with dds
thouska Feb 5, 2019
3b64f6c
Make sure sceua stops cpu slaves after reaching repetitions
thouska Feb 5, 2019
0242c45
Merge branch 'master' of https://github.com/thouska/spotpy into hdf5
Feb 18, 2019
05f6428
Made database.py package from the single module and repaired
Feb 18, 2019
ea747f6
Updated tests fixed errors found by tests
Feb 18, 2019
d6a4aeb
Removed harmful waiting for user input in csv.py and sql.py
Feb 18, 2019
9b05afa
Fixed automatic inspection of datawriters without importing them all
Feb 18, 2019
d2c60b8
Added pytables as a dependency for travis
philippkraft Feb 19, 2019
8a38536
pip install tables, not pytables
philippkraft Feb 19, 2019
b913ee7
Changed name listing in spotpy.database.__init__
philippkraft Feb 19, 2019
74ca4a0
Enable NaN filtering in NSE and PBIAS #79
thouska Feb 21, 2019
ac72083
Merge pull request #201 from philippkraft/hdf5
thouska Feb 21, 2019
43660d9
Makes first print of runs parallel computing compatible. Adds a first…
thouska Feb 22, 2019
7525462
Fix for #202
thouska Feb 22, 2019
0c78800
Bugfix for restart function
p-lauer Mar 7, 2019
9a8d4d7
Merge pull request #205 from p-lauer/patch-6
thouska Mar 7, 2019
5d442bf
Fix parameter trace plotting
thouska Mar 22, 2019
be58044
Add database folder to installation routine #208
thouska Mar 22, 2019
bd8ce10
Update version number
thouska Mar 22, 2019
2293b5c
Complete redesign of the status prints
thouska May 7, 2019
16b694c
WPI making dds compatible with new status style
thouska May 8, 2019
479fb9f
WIP dds compability
thouska May 8, 2019
8a666e2
WIP make DDS compatible
thouska May 8, 2019
b5d1536
generator function needs access to instance variable
bees4ever May 9, 2019
7aa59c0
Merge pull request #214 from bees4ever/New-design-for-status-tracking
thouska May 10, 2019
1c22fb5
Tidy up in test of analyser
thouska May 10, 2019
3a323b5
WIP fix some Travis errors
thouska May 13, 2019
03637f5
WIP further fix for Python2 errors
thouska May 13, 2019
f5f2be7
WIP Fix TypeError for Python2 test
thouska May 13, 2019
343990f
WIP fix Python 2 errors
thouska May 14, 2019
34068ac
Add classmethod statement
thouska May 14, 2019
eb64af3
Remove copy functions for py2 support
thouska May 14, 2019
9760ba6
Remove Hymod support for Python <3.6
thouska May 14, 2019
8d643f8
Remov Gelman Rubin plot from test suite for Python < 3.6
thouska May 14, 2019
4844cbc
Making status print more informativ
thouska May 14, 2019
7f9cbb7
Fix for #213
thouska May 17, 2019
ac76d02
Update new style of rosenbrock_setup
thouska May 17, 2019
ea0be90
Update Test script for rosenbrock setup #213
thouska May 17, 2019
838b838
Enlarge runs for dream in unittest
thouska May 17, 2019
5b47105
Remove altobjfunc from dream example
thouska May 17, 2019
ed502ca
Merge pull request #216 from thouska/New-design-for-status-tracking
thouska May 20, 2019
cb49a91
Add basic test for parallel computing
thouska May 20, 2019
1319fb2
Update version number
thouska May 20, 2019
5dbade8
Add missing keyword, fix for #213
thouska May 21, 2019
d603893
Update new style of Rosenbrock example on docs #213
thouska May 21, 2019
1346975
Update version number
thouska May 21, 2019
42007e4
Fix for #217
thouska May 27, 2019
84adddc
Updated fscabc
p-lauer May 27, 2019
1a70729
Updated fscabc
p-lauer May 27, 2019
6ca3801
Merge pull request #219 from p-lauer/patch-7
thouska May 28, 2019
bebb9f2
Updated the statistics output
p-lauer May 28, 2019
300d58b
Merge pull request #220 from p-lauer/patch-8
thouska May 28, 2019
5bdcccf
Allow print of error which comes from pytables i hdf5 is not installed
thouska Jun 27, 2019
2a0ddf6
Communicate potential error with pytables
thouska Jun 27, 2019
96774d6
Minor changes in plotting SI of Fast
thouska Jul 5, 2019
87a76d7
provide PADDS with unit test fixes
bees4ever Jul 8, 2019
a90f819
padds algorithm test
bees4ever Jul 8, 2019
28fee3d
force py test 4.6.2
bees4ever Jul 8, 2019
cf73bf9
force py test 3.10.1
bees4ever Jul 8, 2019
269a5a7
Update version number #223
thouska Jul 8, 2019
ff2f4ce
Merge branch 'master' into PADDS_v05
bees4ever Jul 31, 2019
67a8131
coverage issue
bees4ever Jul 31, 2019
ebf2f10
provide a test script for travis to test mpi
bees4ever Aug 8, 2019
dac4df0
Merge pull request #227 from bees4ever/PADDS_v05
thouska Aug 12, 2019
3dbc087
Merge branch 'master' into travis-mpi-test
thouska Aug 12, 2019
be03760
Merge pull request #228 from bees4ever/travis-mpi-test
thouska Aug 12, 2019
127ef15
Update naming of database
thouska Aug 12, 2019
1f7b7c4
update PADDS status
bees4ever Aug 14, 2019
f774baf
Removed old alt_objfunc keyword
thouska Aug 14, 2019
b622b57
Update algorithm availability
thouska Aug 30, 2019
6f880ad
Merge pull request #229 from bees4ever/PADDS-fix-status
thouska Aug 30, 2019
b2a6a28
Calls scipy at the very beginnig, downside makes scipy a dependency, …
thouska Aug 30, 2019
6097c10
Merge branch 'master' of https://github.com/thouska/spotpy
thouska Aug 30, 2019
e291588
a hymod exe for both python 3.6 and 3.7, the 3.7 version has python s…
bees4ever Aug 30, 2019
eced240
Merge branch 'master' into hymod_exe_v2
bees4ever Aug 30, 2019
e29e403
Fix for #226
thouska Sep 2, 2019
6df8794
Update version number #226
thouska Sep 2, 2019
0d55074
New version number, affects clean upload for pypi
thouska Sep 2, 2019
3ff0c03
Exclude unittests from build and rename them to tests #226
thouska Sep 3, 2019
8ab5a1f
Rename unittest to tests and minor addings
thouska Sep 3, 2019
a1c731a
Remove unused imports
thouska Sep 3, 2019
1c490e7
Moces tests on toplevel, partly removes jit from hymod_python.py
thouska Sep 3, 2019
d53b1e3
Use of more cores under mpi test case
thouska Sep 3, 2019
66f3810
Merge pull request #232 from thouska/Move-tests-on-toplevel
thouska Sep 3, 2019
cf20538
Update version number clean up in examples
thouska Sep 3, 2019
ec16a28
Merge branch 'master' of https://github.com/thouska/spotpy
thouska Sep 3, 2019
9d6605d
Removed signes which anaconda does not like during the building of th…
thouska Sep 3, 2019
cad9922
Update Comment
thouska Sep 13, 2019
ad0e800
Merge branch 'master' into hymod_exe_v2
thouska Sep 18, 2019
6ad2c21
Restructure position of files
thouska Sep 18, 2019
ff72759
Update hymod exe
thouska Sep 18, 2019
cf4e6a0
Add package data
thouska Sep 18, 2019
fd678fb
Exclude mpi test for now, because of missing bound.txt file
thouska Sep 18, 2019
2772606
Fix typo
thouska Sep 18, 2019
df1b4f5
Merge pull request #231 from bees4ever/hymod_exe_v2
thouska Sep 18, 2019
6ba06f9
Update version number
thouska Sep 18, 2019
88bdef3
Merge branch 'master' of https://github.com/thouska/spotpy
thouska Sep 18, 2019
723388f
Provide a makefile
bees4ever Sep 20, 2019
f2f871a
Merge pull request #234 from bees4ever/hymod-unix
thouska Sep 20, 2019
9dd5858
work around to not use the __file__ constant
bees4ever Sep 23, 2019
df7b5ec
Fix typo according for #236
thouska Sep 25, 2019
bd93bb3
Merge branch 'master' of https://github.com/thouska/spotpy
thouska Sep 25, 2019
86c528f
Update version number and include all package data
thouska Sep 25, 2019
34d1ad3
Merge pull request #235 from bees4ever/hymod-unix-no-file
thouska Oct 2, 2019
968f682
Update _algorithm.py
florianjehn Nov 12, 2019
08ade14
Fix for some relevant missing lines
thouska Nov 13, 2019
e517da0
Merge pull request #240 from zutn/patch-15
thouska Nov 13, 2019
0cf28cb
Update version number
thouska Nov 13, 2019
98e0507
Merge branch 'master' of https://github.com/thouska/spotpy
thouska Nov 13, 2019
0ace551
Fix some typos in docs
thouska Dec 6, 2019
e61db20
Fix order in calc like function
thouska Feb 3, 2020
8338372
Upload readthedocs configuration
thouska Mar 31, 2020
1df931f
Moved Getting Started.md
thouska Mar 31, 2020
51e7616
Restructured docs
thouska Mar 31, 2020
8361b67
Removed numbers from chapters
thouska Mar 31, 2020
a1ea95e
Updated links to documentation
thouska Apr 1, 2020
f57c019
Update version number and references to documentation
thouska Apr 1, 2020
513b130
Add Mainfest.in for PEP527
thouska Apr 1, 2020
719776d
Include Documentation badge
thouska Apr 1, 2020
4b4eec4
Reomve Python 3.8 from Travis test becasue of strange time out error
thouska Apr 1, 2020
23f4fce
Update documentation
thouska Apr 28, 2020
c203994
Add tab
thouska Apr 28, 2020
cf73991
Fix according to #245 in generalized likelihood function
thouska May 26, 2020
bcd48a8
Update version number
thouska May 26, 2020
dd0e694
added functionality to test current implementation of nsgaii
iacopoff Jun 6, 2020
866b02c
first implementation of NSGA-II
iacopoff Jun 17, 2020
eb571b4
new crossover algorithm and added tournament-selection-v0
iacopoff Jun 17, 2020
68767e0
nsgaii v1
iacopoff Jun 28, 2020
71c0972
deleted file in commit v1 nsgaii
iacopoff Jun 28, 2020
5a30fc9
Moves the first generation in front, adjusts the total number of repe…
thouska Jul 2, 2020
f4fe753
Bit of renaming
thouska Jul 2, 2020
ffb1747
Fix figure plotting and printing in Tutorials
thouska Aug 14, 2020
3dab429
Unify use of spot_setup hymod example
thouska Aug 15, 2020
a8f188f
added option skip pop duplicates in sample function
iacopoff Aug 15, 2020
0faadc3
checked improvement of skip diplicates option when simulation is comp…
iacopoff Aug 16, 2020
cec932f
Add example to inify test of nsga with other examples
thouska Aug 17, 2020
9109b3c
Merge branch 'NSGA2' of https://github.com/iacopoff/spotpy into pr/246
thouska Aug 17, 2020
4e1faea
Change nsgai to nsgaii_dev in Hymod example
thouska Aug 20, 2020
b5bcce0
Update padds.py
Jinadelee Sep 1, 2020
72f4eb0
Merge pull request #251 from Jinadelee/patch-1
thouska Sep 1, 2020
ae5e6ff
Returns all likes in postprocessing during multi-objective calibration
thouska Sep 2, 2020
d2fa4ee
restructured nsgaii_dev to work with hymod tutorial
iacopoff Sep 2, 2020
ab0016a
Merge branch 'master' into pr/246
thouska Sep 3, 2020
6e7f1fe
Merged master and removed old nsgaiii and renamed nsgaii_dev to nsgaii
thouska Sep 3, 2020
0964c36
Adds Unittest for nsgaii
thouska Sep 3, 2020
d49d521
bug fix when skip_duplicates = False
iacopoff Oct 4, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ __pycache__/

#other files
*.out
*.in
docs/*

*.png
*.csv
site/*
#mkdocs.yml

# Distribution / packaging
.Python
Expand All @@ -30,6 +33,9 @@ wheels/
.installed.cfg
*.egg

# Python Unittest tool `py.test`
.pytest_cache/*

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
Expand Down Expand Up @@ -112,3 +118,6 @@ spotpy/hymod/likelihood_test/*

# a doc folder for some notices
_doc

# spacemacs projects
.projectile
31 changes: 21 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,39 @@
language: python
python:
- "2.7"
- "3.5"
- "3.6"
#- "2.7"
#- "3.5"
- "3.7"
# - "3.8" #Errors on Travis, build times out because no output was received...

# command to install dependencies
# this ubuntu distribution has sure the libopenmpi-dev packages available
dist: bionic

# command to install dependencies
install:
#- pip install pandas
- sudo apt-get update
- sudo apt install libopenmpi-dev openmpi-bin
- pip install mpi4py
- python setup.py install
- pip install coveralls
- pip install pathos
- pip install numpy
- pip install matplotlib
- pip install scipy
- pip install pandas
- pip install pytest pytest-pep8 pytest-cov
- pip install scipy
- pip install click
- pip install deap
# Need to force pytest-cov to v2.6 as current version (2.6.1) is deprecated and pytest:3.10.1
- pip install pytest==3.10.1 pytest-pep8 pytest-cov==2.6
# Use docutils to generate html describe
- pip install docutils
#- pip install matplotlib
#- travis_wait pip install scipy
- pip install numba
- pip install tables


script:
- py.test tests/test_* --cov spotpy --cov-report term-missing -v
# - mpirun -c 4 python spotpy/examples/tutorial_parallel_computing_hymod.py 100
- pip uninstall spotpy -y
- py.test spotpy/unittests/test_* spotpy/examples/tutorial_rosenbrock.py spotpy/examples/tutorial_nsgaii.py --cov spotpy --cov-report term-missing -v

after_success:
- coveralls
9 changes: 9 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
include README.md
include MANIFEST.in
include setup.py
include setup.cfg
recursive-include spotpy/examples/cmf_data *
recursive-include spotpy/examples/hymod_exe *
recursive-include spotpy/examples/hymod_unix *
recursive-include spotpy/examples/hymod_python *
include LICENSE
86 changes: 39 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ A Statistical Parameter Optimization Tool for Python
[![Build Status][travis-image]][travis-link]
[![License][license-image]][license-link]
[![Coverage Status](https://coveralls.io/repos/github/thouska/spotpy/badge.svg?branch=master)](https://coveralls.io/github/thouska/spotpy?branch=master)
[![Documentation Status](https://readthedocs.org/projects/spotpy/badge/?version=latest)](https://readthedocs.org/projects/spotpy/badge/?version=latest)

[pypi-v-image]: https://img.shields.io/pypi/v/spotpy.png
[pypi-v-link]: https://pypi.python.org/pypi/spotpy
Expand Down Expand Up @@ -61,13 +62,15 @@ Some features you can use with the SPOTPY package are:
* Fourier Amplitude Sensitivity Test (`FAST`)
* Artificial Bee Colony (`ABC`)
* Fitness Scaled Chaotic Artificial Bee Colony (`FSCABC`)
* Dynamically Dimensioned Search algorithm (`DDS`)
* Pareto Archived - Dynamicallly Dimensioned Search algorithm (`PA-DDS`)

* Wide range of objective functions (also known as loss function, fitness function or energy function) to validate the sampled results. Available functions are

* Bias
* PBias
* Nash-Sutcliff (`NSE`)
* logarithmic Nash-Sutcliff (`logNSE`)
* Nash-Sutcliffe (`NSE`)
* logarithmic Nash-Sutcliffe (`logNSE`)
* logarithmic probability (`logp`)
* Correlation Coefficient (`r`)
* Coefficient of Determination (`r^2`)
Expand All @@ -77,7 +80,20 @@ Some features you can use with the SPOTPY package are:
* Relative Root Mean Squared Error (`RRMSE`)
* Agreement Index (`AI`)
* Covariance, Decomposed MSE (`dMSE`)
* Kling-Gupta Efficiency (`KGE`).
* Kling-Gupta Efficiency (`KGE`)
* Non parametric Kling-Gupta Efficiency (`KGE_non_parametric`)

* Wide range of hydrological signatures functions to validate the sampled results:

* Slope
* Flooding/Drought events
* Flood/Drought frequency
* Flood/Drought duration
* Flood/Drought variance
* Mean flow
* Median flow
* Skewness
* compare percentiles of discharge

* Prebuild parameter distribution functions:

Expand All @@ -90,48 +106,6 @@ Some features you can use with the SPOTPY package are:
* Wald
* Weilbull

* A toolbox of hydrological signatures, to see a hydrological fit of modeled data to the measured one.

To use this signatures, you call the _get_**HydrologicalSignature** function and entering the measured and the modeled data.
Setting `mode='calc_Dev'` performs our desired calculation. Sometimes additional parameters are needed, as for example
a timestamp list (in a pandas object) or threshold values. The closer the return value is to zero, the more fits the simulated
data with measured one.


spotpy.signatures.getSlopeFDC(measured_data,results,mode='calc_Dev')

By changing the value of `mode` to `'get_signature'`, we get the signature value _only_ for the parameter `data`.

By changing the value of `mode` to `'get_raw_data'`, we get a raw calculation of flood-signatures, belonging to each signature calculation.

**tutorial_signatures.py** contains al available functions and it's mode settings.

* List of available hydrological signatures, additional required parameters are in brackets
* getMeanFlow
* getMedianFlow
* getSkewness
* getCoeffVariation
* getQ001
* getQ01
* getQ1
* getQ5
* getQ10
* getQ20
* getQ85
* getQ95
* getQ99
* getSlopeFDC
* getAverageFloodOverflowPerSection(datetime_series, threshold_value)
* getAverageFloodFrequencyPerSection(datetime_series, threshold_value)
* getAverageFloodDuration(datetime_series, threshold_value)
* getAverageBaseflowUnderflowPerSection(datetime_series, threshold_value)
* getAverageBaseflowFrequencyPerSection(datetime_series, threshold_value)
* getFloodFrequency(datetime_series, threshold_value)
* getBaseflowFrequency (datetime_series, threshold_value)
* getLowFlowVar(datetime_series)
* getHighFlowVar(datetime_series)
* getBaseflowIndex(datetime_series)

* Wide range to adapt algorithms to perform uncertainty-, sensitivity analysis or calibration
of a model.

Expand Down Expand Up @@ -174,7 +148,7 @@ Or, after downloading the [source code](https://pypi.python.org/pypi/spotpy "sou
Support
=================

* Documentation: http://www.uni-giessen.de/cms/faculties/f09/institutes/ilr/hydro/download/spotpy
* Documentation: https://spotpy.readthedocs.io/en/latest/

* Feel free to contact the authors of this tool for any support questions.

Expand All @@ -187,4 +161,22 @@ Support

Getting started
=================
Have a look at https://github.com/thouska/spotpy/tree/master/spotpy/examples and http://fb09-pasig.umwelt.uni-giessen.de/spotpy/Tutorial/2-Rosenbrock/
Have a look at https://github.com/thouska/spotpy/tree/master/spotpy/examples and https://spotpy.readthedocs.io/en/latest/getting_started/


Contributing
=================
Patches/enhancements/new algorithms and any other contributions to this package are very welcome!

1. Fork it ( http://github.com/thouska/spotpy/fork )
2. Create your feature branch (``git checkout -b my-new-feature``)
3. Add your modifications
4. Add short summary of your modifications on ``CHANGELOG.rst``
5. Commit your changes (``git commit -m "Add some feature"``)
6. Push to the branch (``git push origin my-new-feature``)
7. Create new Pull Request

Papers citing SPOTPY
=====================
See [Google Scholar](https://scholar.google.de/scholar?cites=17155001516727704728&as_sdt=2005&sciodt=0,5&hl=de) for a continuously updated list.

32 changes: 13 additions & 19 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
.. image:: https://img.shields.io/pypi/v/spotpy.png
:target: https://pypi.python.org/pypi/spotpy
.. image:: https://img.shields.io/travis/thouska/spotpy/master.png
:target: https://travis-ci.org/thouska/spotpy
.. image:: https://img.shields.io/badge/license-MIT-blue.png
:target: http://opensource.org/licenses/MIT
.. image:: https://coveralls.io/repos/github/thouska/spotpy/badge.svg?branch=master
:target: https://coveralls.io/github/thouska/spotpy?branch=master



Purpose
-------
SPOTPY
========
**A Statistical Parameter Optimization Tool for Python**

SPOTPY is a Python tool that enables the use of Computational optimization techniques for calibration, uncertainty
and sensitivity analysis techniques of almost every (environmental-) model. The package is puplished in the open source journal PLoS One
Expand Down Expand Up @@ -47,13 +37,15 @@ We want to make this task as easy as possible. Some features you can use with th
* Fourier Amplitude Sensitivity Test (`FAST`)
* Artificial Bee Colony (`ABC`)
* Fitness Scaled Chaotic Artificial Bee Colony (`FSCABC`)

* Dynamically Dimensioned Search algorithm (`DDS`)
* Pareto Archived - Dynamicallly Dimensioned Search algorithm (`PA-DDS`)

* Wide range of objective functions (also known as loss function, fitness function or energy function) to validate the sampled results. Available functions are

* Bias
* Procentual Bias (`PBias`)
* Nash-Sutcliff (`NSE`)
* logarithmic Nash-Sutcliff (`logNSE`)
* Nash-Sutcliffe (`NSE`)
* logarithmic Nash-Sutcliffe (`logNSE`)
* logarithmic probability (`logp`)
* Correlation Coefficient (`r`)
* Coefficient of Determination (`r^2`)
Expand All @@ -64,6 +56,7 @@ We want to make this task as easy as possible. Some features you can use with th
* Agreement Index (`AI`)
* Covariance, Decomposed MSE (`dMSE`)
* Kling-Gupta Efficiency (`KGE`)
* Non parametric Kling-Gupta Efficiency (`KGE_non_parametric`)

* Wide range of likelihood functions to validate the sampled results:

Expand Down Expand Up @@ -137,7 +130,7 @@ We want to make this task as easy as possible. Some features you can use with th
Documentation
-------------

Documentation is available at `<http://fb09-pasig.umwelt.uni-giessen.de/spotpy>`__
Documentation is available at `<https://spotpy.readthedocs.io/en/latest>`__


Install
Expand All @@ -151,8 +144,9 @@ Or, after downloading the source code and making sure python is in your path:

python setup.py install


Papers citing SPOTPY
-------
--------------------
See `Google Scholar <https://scholar.google.de/scholar?cites=17155001516727704728&as_sdt=2005&sciodt=0,5&hl=de>`__ for a continuously updated list.


Expand Down Expand Up @@ -184,4 +178,4 @@ Patches/enhancements/new algorithms and any other contributions to this package
Getting started
---------------

Have a look at https://github.com/thouska/spotpy/tree/master/spotpy/examples and http://fb09-pasig.umwelt.uni-giessen.de/spotpy/Tutorial/2-Rosenbrock/
Have a look at https://github.com/thouska/spotpy/tree/master/spotpy/examples and https://spotpy.readthedocs.io/en/latest/getting_started/
Loading