Version 7 (modified by 17 years ago) ( diff ) | ,
---|
Windows machines
Single-processor machines need the following:
- Cygwin - ROMS_SED works fine on Windows-based machines, but it really helps to use Cygwin
- SVN client - You can use the command-line interface in Cygwin, or a GUI client like TortoiseSVN
- netCDF - Required.
If you want to do coupling (e.g., waves with SWAN), you also need
- MPICH
Also, you need a Fortran compiler. We have experience with
- g95 Gnu Fortran
- df Compaq/Digital (no longer being distributed)
- ifort Intel
What you need to do
- Install and configure Cygwin
- Install svn
- Install netCDF libraries
- Get a copy of the code
- Edit the makefile
- Type make to compile
- Type ./oceanS < ROMS/External/ocean_upwelling.in
Install and configure Cygwin
Get Cygwin from http://x.cygwin.com/
Install it by clicking on the Install Cygwin/X now icon.
At the step where you are asked to Setup
in your Cygwin home directory, you should have (or create) a file called .bashrc
Edit it to indicate where some key stuff resides. Mine looks like
export LIB="C:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin;C:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Lib;C:\Program Files\Microsoft Visual Studio\VC98\LIB;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\;C:\Program Files\Microsoft Visual Studio\DF98\IMSL\LIB;C:\Program Files\Microsoft Visual Studio\DF98\LIB" export NETCDF_INCDIR="/usr/local/include" export NETCDF_LIBDIR="/usr/local/lib" export UDUNITS_PATH="/usr/local/lib/udunits.dat" # Ignore case while completing set completion-ignore-case on # Make Bash 8bit clean set meta-flag on set convert-meta off set output-meta on alias less='/bin/less -r' # alias ls='/bin/ls -F --color=tty --show-control-chars' alias cdroms='cd ~/src/roms_sed/branches/crs_branch'
On a Windows desktop with a two single processors, and hyperthreading turned on, you can set:
export OMP_NUM_THREADS = 4
Edit makefile
to compile with
USE_OpenMP ?= on ... FORT ?= ifort
Edit ./ROMS/External/ocean_upwelling.in
and set
NtileI == 2 NtileJ == 2
and then run ./oceanO < ROMS/External/ocean_upwelling.in