= Installing current development version of ANUGA research code on Windows = == Introduction == {{{anuga}}} is developed on Linux (Ubuntu) and hence the installation on Linux (Ubuntu) is more streamlined. But it is possible to install on windows. First you need to install the required {{{python}}} environment, then download the {{{anuga}}} source and then compile and test. The most time consuming part of the process is getting the {{{python}}} environment setup. == Python == We use {{{python}}} as our programming environment together with a number of standard python packages such as {{{numpy, scipy, matplotlib, netcdf4}}}. One way to install all the required packages is to use a distribution like {{{python_xy}}}, {{{Anaconda}}} and the related {{{miniconda}}} environments. Also it should be possible to download the appropriate pre-compiled packages from [http://www.lfd.uci.edu/~gohlke/pythonlibs]. I suggest {{{miniconda}}} as it allows you to only install the packages that are needed (so is a bit quicker). === Miniconda === Download and run the [http://conda.pydata.org/miniconda.html Miniconda] installer. Be sure to choose the win32 {{{python 2.7}}} version. This is the version for which we are developing. At the moment {{{anuga}}} has memory problems with {{{win64}}} so avoid that for the time being. You are most welcome to help track down the problems and provide a bug fix :-). == Anuga python package dependencies == Assuming {{{conda}}} is now installed, we need to install a number of other packages, via the {{{conda install}}} command. Fire up {{{cmd.exe}}} and install all the packages via {{{ conda install python=2.7 pip nose numpy scipy netcdf4 matplotlib gdal }}} == GCC compiler == We need a gcc compiler with openmp support to install {{{anuga}}}. We suggest that you download and install the version of MinGW provided by [http://tdm-gcc.tdragon.net/ TDM-GCC]. Mark the ``openmp`` and ``gfortran`` options in the "Choose Components" part of the installation. We need to force the {{{python}}} installation scripts to use this compiler. Add a configuration file named {{{pydistutils.cfg}}} to your home directory {{{C:\Users\yourName}}} with the contents {{{ [build] compiler=mingw32 }}} == Git == Our preferred method of installing {{{anuga}}} and updating is to use {{{git}}} (Though you can use subverson or download a zipped file). To install git use the [http://git-scm.com/download/win windows download link] == Manually install dependencies == It is possible to install the required environment manually. You would need to install {{{Mingw}}} to provide a compiler, the standard distribution of {{{python27}}} and then precompiled python libraries for {{{numpy, scipy, matplotlib, netcdf4}}} from a site like [http://www.lfd.uci.edu/~gohlke/pythonlibs/]. It would be interesting to hear feedback on this option, as there is an opportunity to use versions using the Intel Math Kernel Library, which should provide a useful increase in speed. == Download ANUGA == You should now have all the dependencies installed. You should fire up a new {{{cmd.exe}}} and install {{{anuga}}} You can just install the {{{anuga}}} library using {{{pip}}} or download the full repo with example code and manual using {{{git}}}. === pip install === If just want the latest released version of the package then use {{{pip}}} via {{{ pip install anuga }}} If the install is successful, test the instal via {{{ python -c "import anuga; anuga.test()" }}} === Install via source === First we need to get the anuga source code. === Clone anuga via git === To obtain the anuga repo from github use {{{git clone}}} i.e. {{{ git clone https://github.com/GeoscienceAustralia/anuga_core.git }}} === Checkout anuga via svn === You can also check out the anuga repository using subversion. I suggest installing [http://tortoisesvn.net/downloads.html tortoise svn downloads] and then checking out the following svn repository. When you installed {{{tortoise svn}}} it creates a few extra menu items to your right click menu in the file manager. Just choose "tortoise" checkout to download the code. {{{ https://anuga.anu.edu.au/svn/anuga/trunk/anuga_core }}} === Zipped version === Finally a zipped version of the latest development version of {{{anuga}}} is available from github at [https://github.com/GeoscienceAustralia/anuga_core/archive/master.zip] and the latest released version at sourceforge [http://sourceforge.net/projects/anuga/files/anuga_1.3/anuga_1.3.10.zip] You will need to unzip the file into a directory called {{{anuga_core}}} perhaps in your home directory. == Installing ANUGA == You should now have an anuga_core directory. Now go to the directory anuga_core and build and install anuga. Fire up a cmd terminal, change to the {{{anuga_core}}} directory and run {{{ python setup.py install }}} Hopefully no errors. == Run Unit tests == From the anuga_core directory run the unit tests via: {{{ python runtests.py }}} === Note === At present the Anaconda (conda) version of {{{gdal}}} is missing the {{{gdal}}} data directory (presumably to save space). This will cause some error messages of the form "ERROR 4: Unable to open EPSG support file gcs.csv". It should be fine to disregard these errors messages. It would be possible to download the gdal data directory and point the {{{GDAL_DATA}}} environment variable to the data directory. == Conclusion == Hopefully all the unit tests pass. As this is bleeding edge there are sometimes a small number of failures as this is a work in progress. Have a look at the demos in the directory anuga_core/documentation/user_manual/demos (along with the user manual) to see how to use anuga. == Updating == From time to time you should update your version of anuga. This is fairly easy if you used subversion or git to obtain the source. You will then just need to {{{pull}}} (with git) or {{{update}}} (with subversion). I.e. if using {{{git}}} fire up {{{cmd.exe}}}, change into the {{{anuga_core}}} directory and run {{{ git pull }}} Then re-install the latest version of the code and check the unit tests via {{{ python setup.py install python runtests.py }}}