wiki:Win32

Version 7 (modified by csherwood, 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

Note: See TracWiki for help on using the wiki.