====== Installation on Windows ======
There are several ways of installing TELEMAC on Windows:
* [[#Using the automatic installer]]
* [[#Building TELEMAC as a native application]]
* [[#Building TELEMAC under a Cygwin environment]]
* [[#Using the automatic installer]]
===== Using the automatic installer =====
Starting with TELEMAC V8P4, an automatic installer providing prebuilt binaries of the software is generated after each release.
\\
The installer provides native binaries of the TELEMAC system, including all its dependencies and prerequisites: MED, MUMPS, GOTM, AED2, METIS, MS-MPI and Python, as well as all Python packages required to run TELEMAC examples and notebooks. A Windows version of GFortran is also included in the setup, which enables users to tweak the system to their own needs through User Fortran files.
\\
You can download the installer from [[http://www.opentelemac.org/index.php/binaries|here]] (registration required).
===== Building TELEMAC as a native application =====
This method is recommended for developers and is preferable to building TELEMAC under Cygwin because it provides native executables.
\\
To install TELEMAC in this way, follow the instructions provided here: ''**https://gitlab.pam-retd.fr/otm/wintel**''.
===== Building TELEMAC under a Cygwin environment =====
This provides a guide to install TELEMAC on Windows using Cygwin and pip.
The prerequisites for this installations are:
* Having administrator (UAC) rights on your computer
* Having access to the internet or a PyPI network mirror
==== Installing Cygwin ====
First download the Cygwin installer from [[https://cygwin.com/install.html|here]]
Running this installer directly will install Cygwin. However, as we have a list of prerequisites that we want Cygwin to install, we will run the command line installation instead.
First open a command terminal as an administrator (You can find instruction on how to do it [[https://www.thewindowsclub.com/how-to-run-command-prompt-as-an-administrator/|here]]).
Then run the following command:
setup-x86_64.exe -P _autorebase,alternatives,base-cygwin,base-files,bash,binutils,bzip2,ca-certificates,coreutils,crypt,crypto-policies,csih,cygrunsrv,cygutils,cygwin,cygwin-debuginfo,cygwin-devel,dash,diffutils,editrights,file,findutils,gawk,gcc-core,gcc-fortran,gcc-g++,getent,git,git-svn,grep,groff,gzip,hostname,info,ipc-utils,less,libapr1,libaprutil1,libargp,libatomic1,libattr1,libblkid1,libbrotlicommon1,libbrotlidec1,libbz2_1,libcbor,libcom_err2,libcrypt-devel,libcrypt0,libcrypt2,libcurl4,libdb5.3,libedit0,libexpat1,libfdisk1,libffi6,libfido2,libfreetype-devel,libfreetype6,libgcc1,libgdbm4,libgdbm6,libgdbm_compat4,libgfortran4,libgfortran5,libgmp10,libgomp1,libgssapi_krb5_2,libiconv,libiconv2,libidn2_0,libintl8,libiodbc2,libisl22,libk5crypto3,libkrb5_3,libkrb5support0,liblapack-devel,liblapack0,liblz4_1,liblzma5,libmetis-devel,libmetis0,libmpc3,libmpfr6,libmysqlclient18,libncursesw10,libnghttp2_14,libnsl2,libopenblas,libopenldap2_4_2,libopenmpi-devel,libopenmpi40,libopenmpifh40,libopenmpiusef08_40,libopenmpiusetkr40,libp11-kit0,libpcre1,libpipeline1,libpkgconf3,libpng-devel,libpng16,libpng16-devel,libpopt-common,libpopt0,libpq5,libproj15,libpsl5,libquadmath0,libreadline7,libsasl2_3,libserf1_0,libsigsegv2,libsmartcols1,libsodium-common,libsodium23,libsqlite3_0,libssh-common,libssh4,libssl1.0,libssl1.1,libstdc++6,libtasn1_6,libtirpc-common,libtirpc3,libunistring2,libuuid-devel,libuuid1,libzmq-devel,libzmq5,login,man-db,mariadb-common,metis,mingw64-x86_64-binutils,mingw64-x86_64-gcc-core,mingw64-x86_64-gcc-fortran,mingw64-x86_64-headers,mingw64-x86_64-runtime,mingw64-x86_64-windows-default-manifest,mingw64-x86_64-winpthreads,mintty,mysql-common,ncurses,openblas-debuginfo,openblas-doc,openmpi,openssh,openssl,p11-kit,p11-kit-trust,perl,perl-Error,perl-Scalar-List-Utils,perl-TermReadKey,perl-YAML,perl_autorebase,perl_base,pkg-config,pkgconf,proj,publicsuffix-list-dafsa,python-pip-wheel,python-setuptools-wheel,python3,python3-devel,python36,python36-devel,python36-setuptools,rebase,rsync,run,sed,subversion,subversion-perl,tar,terminfo,terminfo-extra,tzcode,tzdata,util-linux,vim-minimal,w32api-headers,w32api-runtime,which,windows-default-manifest,xz,zlib-devel,zlib0
Going forward in the installation and also to run TELEMAC, we will be using the Cygwin terminal (mintty.exe).
It should be on your desktop otherwise it should be in the Cygwin directory (C:\cygwin64\bin\mintty.exe if you used default installation folder)
Within the cygwin terminal the "C:\" folder path is "/cygdrive/c".
==== Installing Python packages ====
Download the following file:
numpy==1.21.6
scipy==1.8.1
matplotlib==3.6.2
mpi4py
doxypypy
jupyter
openpyxl
OWSLib
pandas
pyproj
seaborn
Run the following command
python3 -m pip install -r requirement.txt
==== Getting Telemac sources ====
Follow the procedure described [[http://wiki.opentelemac.org/doku.php?id=installation_on_linux#get_the_source_code|here]].
==== Compiling Telemac ====
In the below explications:
* refers to path to your TELEMAC directory.
Copy /configs/pysource.template.sh into /configs/pysource.win.sh
Edit the file and replace:
* by "root"
* by win
Source the file:
source /configs/pysource.win.sh
Try running:
config.py
You should get something like that:
$ config.py
Loading Options and Configurations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_ _
| | | |
| |_ _ __ _ _ _ __ | | __
| __|| '__|| | | || '_ \ | |/ /
| |_ | | | |_| || | | || <
\__||_| \__,_||_| |_||_|\_\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
win:
+> Windows 8 with gfortran and mpich (from automatic installer)
+> root: /cygdrive/c/opentelemac/trunk
+> module: ad / api / artemis / bief
damocles / gaia / gretel / hermes
identify_liq_bnd / khione / mascaret / nestor
parallel / partel / postel3d / sisyphe
special / stbtel / telemac2d / telemac3d
tomawac / waqtel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My work is done
If this is OK run:
compile_telemac.py
==== Running TELEMAC====
To check that everything is OK, run a test case:
cd $HOMETEL/examples/telemac2d/gouttedo
telemac2d.py t2d_gouttedo.cas --ncsize=2
===== Using the automatic installer =====
//Coming soon.//