DTUWindEnergy / TOPFARM

A repository for a wind plant layout optimisation tool based on FUSED-Wind and FUSED-Wake
GNU Affero General Public License v3.0
33 stars 15 forks source link

Pre-release, not recommended for production


TOPFARM

TOPFARM is a wind farm optimization tool under development by DTU Wind Energy, based on FUSED-Wind and OpenMDAO.

Dependencies and supported Python versions

TOPFARM depends of on OpenMDAO v0.10.3, FUSED-Wind v0.1.0, FUSED-Wake v0.1.0, pandas, matplotlib, seaborn, pyopt 1.2 and supports python 2.7.x.

Installation

Docker installation

If you don't want to go through the painful installation process of openmdao I recommand to use the docker installation process (hint, if you are a newbie in python and use windows you will prefer this).

Automatic installation

If you are on Linux of MacOSX, you can try to download and run the following script to install everything, including OpenMDAO and FUSED-Wind in a new virtual environment

$ wget https://raw.githubusercontent.com/DTUWindEnergy/TOPFARM/master/install_all.sh
$ chmod +x install_all.sh
$ ./install_all.sh

If you happen to have already OpenMDAO v0.10.3 installed and activated, you can install everything in one command line

$ pip install -r http://raw.githubusercontent.com/DTUWindEnergy/TOPFARM/master/remote_install.txt

Manual installation

Windows installation

Follow the instructions from OpenMDAO website to install OpenMDAO 0.10.3.2. Then activate the OpenMDAO virtual environment.

$ pip install -r http://raw.githubusercontent.com/DTUWindEnergy/TOPFARM/master/remote_install.txt

[Optional] Create your own TOPFARM virtual environment:

Install virtualenv, if you don't already have it available

$ easy_install virtualenv

Then create a new virtual environement and activate it

$ virtualenv topfarmv
$ . topfarmv/bin/activate

Install the pre-requisits to OpenMDAO (pip probably needs to be upgraded to the latest version).

$ pip install pip --upgrade 
$ pip install numpy scipy

Install OpenMDAO v0.10.3

Install OpenMDAO development v0.10.3.

$ git clone https://github.com/OpenMDAO/OpenMDAO-Framework.git
$ cd OpenMDAO-Framework
$ git checkout 0.10.3.2  
$ go-openmdao-dev.py

... coffee break ...

$ cd ..

Install FUSED-Wind and TOPFARM plugins and all their dependencies

$ pip install pandas matplotlib seaborn
$ pip install -e git+http://github.com/FUSED-Wind/fusedwind.git@0.1.0#egg=fusedwind
$ pip install svn+http://svn.pyopt.org/tags/release-1.1.0#egg=pyopt
$ pip install git+http://github.com/OpenMDAO-Plugins/pyopt_driver.git@0.19#egg=pyopt_driver
$ pip install -e git+http://github.com/DTUWindEnergy/FUSED-Wake.git#egg=fusedwake    
$ pip install -e git+http://github.com/DTUWindEnergy/TOPFARM.git#egg=topfarm

TOPFARM Developer version

Note that TOPFARM and FUSED-Wind have been installed in "editable" mode (-e) in the virtual environment source directory (topfarmv/src or OpenMDAO-Framework/devenv/src). Which means that they are actually installed in a cloned directory from their respective github account. From there, you can edit them, commit, push, pull etc..

Using TOPFARM

Once TOPFARM is installed correctly, you have to activate the corresponding virtual environment before being able to use it. If you installed your own virtual environment you have to do:

$ . topfarmv/bin/activate

If you installed OpenMDAO directly, you have to use the virtual environment provided by OpenMDAO

$ . OpenMDAO-Framework/devenv/bin/activate

Testing TOPFARM installation

You can check if everything is installed correctly by running the tests

$ 

Documentation

To view the Sphinx documentation for this distribution, type:

$ plugin docs topfarm

Feedbacks and Discussions

Join our google group to stay informed about the latests talks and software releases, to ask questions, to give us feedbacks, to discuss various topics related to TOPFARM platform.

If you have specific issues to discuss such as bug report or feature request, it's probably more effective to go to the github issue page and create an issue there.

License

TOPFARM is available both under the GNU Affero General Public License v3.0 (AGPL3) and under a custom based commercial license available upon request. The AGPL3 license is an open source license, so you are welcome to use and modify the code as you wish. Note that AGPL3 is also a copyleft license, which means that derived works can only be distributed (or made available as an online service) as open source, under the same license terms. For more information about this issue, feel free to contact us.

Supporting TOPFARM development

We believe in Open Science, in accelerating science development by collaborating with each other through our codes. This is why we have put TOPFARM in open source and open access on github.com. But this requires trust that our users will give back to the community. We are a pilote project at DTU Wind Energy, and for that reason it is very important for us to prove to our administration that this is the way forward, and that sharing codes does not mean being ripped off by the users. You can support our efforts in the following ways.

We need to have quantitative metrics on how effective we are at disseminating our knowledge. So, please, help us getting recognition from our administration:

You are of course welcome to contribute to the development of TOPFARM itself, for that purpose you should follow the standard github methodology:

Furthermore, we are academics employees, so you can also support our efforts by inviting us

Finally we need funding for further developing TOPFARM. Our business model is to sell tailored commercial version of TOPFARM to the industry, and to provide training both for industry and academia (e.g. webinars, online and face-to-face courses).