<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.myroms.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=M.hadfield</id>
	<title>WikiROMS - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.myroms.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=M.hadfield"/>
	<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/Special:Contributions/M.hadfield"/>
	<updated>2026-04-27T19:46:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=ROMS_Cygwin&amp;diff=4418</id>
		<title>ROMS Cygwin</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=ROMS_Cygwin&amp;diff=4418"/>
		<updated>2011-06-29T01:29:19Z</updated>

		<summary type="html">&lt;p&gt;M.hadfield: Changed title to include Windows 7&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Tutorial: Installing ROMS in Windows XP / Vista / 7 (via Cygwin)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;Disclaimer:&#039;&#039;&#039; This post was written for the very beginners. Some parts may be a bit tedious for more advanced users or people with solid Linux knowledge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;NOTE:&#039;&#039;&#039; This tutorial no longer uses &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;g95&amp;lt;/span&amp;gt; because &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; is now available from Cygwin&#039;s setup. If you are looking for the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;g95&amp;lt;/span&amp;gt; instructions, those deprecated sections have been moved to the [[Talk:ROMS_Cygwin|Contributions]] section of this page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following recipe will guide you through the steps required to download, compile and run ROMS on Windows XP or Vista.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Register==&lt;br /&gt;
The very first thing to do is to [http://www.myroms.org/index.php?page=RomsCode Register]. After some checking, ROMS crew will give you a username and a password within a day or two. While you wait, you can prepare your PC with lots of ancillary software that you will need. See below...&lt;br /&gt;
&lt;br /&gt;
==Install Cygwin==&lt;br /&gt;
ROMS runs on a Unix or Linux command-line environment. So, to run ROMS on Windows, first we need to install a Linux emulator for Windows. We need to download and install [http://www.cygwin.com Cygwin].&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Download:&#039;&#039;&#039; Go to the [http://www.cygwin.com/ Cygwin website] and download the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setup.exe&amp;lt;/span&amp;gt; file, by clicking on any of the cygwin-install icons. Or simply [http://cygwin.com/setup.exe click here] to start the download.&lt;br /&gt;
:*Open the recently downloaded &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setup.exe&amp;lt;/span&amp;gt; file&lt;br /&gt;
:*Select to &#039;Install from Internet&#039;&lt;br /&gt;
:*Keep the selected defaults (&#039;&#039;i.e.&#039;&#039; &#039;All Users&#039; and &#039;Unix / Binary&#039;)&lt;br /&gt;
:*Choose a path where to save Cygwin installation packages, I chose: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwinfiles&amp;lt;/span&amp;gt;&lt;br /&gt;
:*Select Internet Connection... likely &#039;Direct Connection&#039; if you have high speed internet.&lt;br /&gt;
:*Select a download mirror-site. Choose one close to you... University sites are usually reliable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{warning}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;IMPORTANT:&amp;lt;/span&amp;gt; You will need to tell cygwin to install some modules that are not installed by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install Perl:&#039;&#039;&#039; As shown in the figure below, find the Perl Category and click on &#039;Default&#039; until it turns into &#039;Install&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:cygwin_perl.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install X11:&#039;&#039;&#039; Do the same in the category of X11. (I needed X11 to run applications on a remote computer. Technically you don&#039;t need this to run ROMS on Windows. However, I haven&#039;t installed Cygwin without X11 so I&#039;m not sure that some modules installed under X11 may be required later, but feel free to experiment and leave out X11).&lt;br /&gt;
:*Expand the window and click on the &#039;View&#039; button on the upper right corner (shown below), until it toggles into &#039;Full&#039; view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:cygwin_view.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install diffutils:&#039;&#039;&#039; Scroll down and find &#039;diffutils&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install gcc4:&#039;&#039;&#039; Scroll down and find &#039;gcc4&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install gcc4-core:&#039;&#039;&#039; Scroll down and find &#039;gcc4-core&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install gcc4-fortran:&#039;&#039;&#039; Scroll down and find &#039;gcc4-fortran&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install GNUmake:&#039;&#039;&#039; Similarly, scroll down and find &#039;make&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:cygwin_make.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install Subversion:&#039;&#039;&#039; Scroll down and find &#039;subversion&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X).&lt;br /&gt;
:*&#039;&#039;&#039;Install wget:&#039;&#039;&#039; Scroll down and find &#039;wget&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X).&lt;br /&gt;
:*Click next. A list of dependencies will show. Install them all by making sure the tick-mark (bottom left) is on and click &#039;next&#039;&lt;br /&gt;
:*Make a cup of coffee. Sit back. The download/installation may tage about 30 min.&lt;br /&gt;
&lt;br /&gt;
==Helpful Cygwin notes==&lt;br /&gt;
&lt;br /&gt;
{{warning}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;IMPORTANT&amp;lt;/span&amp;gt; to keep in mind:&lt;br /&gt;
&lt;br /&gt;
:*Cygwin&#039;s home directory, which is where cygwin opens by default is, in this example, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;/cygwin/cygdrive/c/Users/Administrator/&amp;lt;/span&amp;gt; but when in cygwin, this directory abbreviated it as &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~&amp;lt;/span&amp;gt;&lt;br /&gt;
:*Cygwin&#039;s HOME directory (i.e. &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~&amp;lt;/span&amp;gt;) = &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\Users\Administrator\&amp;lt;/span&amp;gt; in Windows Explorer&lt;br /&gt;
:*Cygwin&#039;s ROOT directory (i.e. &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;) = &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\&amp;lt;/span&amp;gt; in Windows Explorer&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;Useful Notes:&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;PASTE:&amp;lt;/span&amp;gt; To paste text in the cygwin window, right-click on the cygwin symbol on the left-upper corner of the window. Chose Edit &amp;gt; Paste.&lt;br /&gt;
:*Here are some websites where you can learn more Linux commands&lt;br /&gt;
:**[http://www.howtoforge.com/useful_linux_commands http://www.howtoforge.com/useful_linux_commands]&lt;br /&gt;
:**[http://www.tuxfiles.org/linuxhelp/cli.html http://www.tuxfiles.org/linuxhelp/cli.html]&lt;br /&gt;
&lt;br /&gt;
==Install NetCDF==&lt;br /&gt;
ROMS needs NetCDF to read input files and to write output files. NetCDF is free to download from [http://www.unidata.ucar.edu/downloads/netcdf/netcdf-3_6_2/index.jsp Unidata]. However, the executable file available is not good for ROMS. We need get the source code and recompile an executable file that is ROMS-friendly. Here are the step-by-step instructions:&lt;br /&gt;
&lt;br /&gt;
:*In cygwin change into your &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;software&amp;lt;/span&amp;gt; directory and download the NetCDF source code.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cd ~/software&amp;lt;br /&amp;gt;wget &amp;lt;nowiki&amp;gt;http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf.tar.Z&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Unpack it and change into the resulting directory (at the time of this writing this is &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;netcdf-3.6.2&amp;lt;/span&amp;gt;).&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;tar -xvzf netcdf.tar.Z&amp;lt;br /&amp;gt;cd netcdf-3.6.2&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Start the compilation by typing the line below. It will take about 10 minutes. Enough to start a fresh batch of coffee.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;CC=gcc FC=gfortran-4 F77=gfortran-4 CPPFLAGS=-DpgiFortran ./configure&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Then, type the text below. This will take just about enough the time for the coffee to brew.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;make check&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Finally, type the text below. This is fast; just enough to mix coffee, sugar and milk.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;make install&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:Well done! Have a sip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Install subversion==&lt;br /&gt;
This is software needed to download ROMS source code. I used a GUI for subversion called Tortoise (wonderful and free), but you can use most any subversion client. Tortoise is an ADD-ON for Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
:*First download the installer at the [http://tortoisesvn.tigris.org/ TortoiseSVN website]. Or simply [http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi?download click here] to start the download.&lt;br /&gt;
:*Open the installer and follow instructions.&lt;br /&gt;
:*Restart your computer (The Installer asks you to do so).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==Download ROMS==&lt;br /&gt;
This section assumes that you registered and obtained your ROMS username/password as indicated in the [[#Register|Register]] section.&lt;br /&gt;
&lt;br /&gt;
:*Create a &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;roms&amp;lt;/span&amp;gt; folder and change into it.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cd ~&amp;lt;br /&amp;gt;mkdir roms&amp;lt;br /&amp;gt;cd roms&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Check out the ROMS source code replacing &#039;joeroms&#039; with the ROMS user name you registered with.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;svn checkout --username joeroms &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*You will see many lines stream by. When it finishes, type &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;ls&amp;lt;/span&amp;gt;. You have a folder named &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk&amp;lt;/span&amp;gt; that contains the ROMS source code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
:*In Windows Explorer, create a folder for ROMS in a place easy to find under cygwin. &#039;&#039;I.e.&#039;&#039; under &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\&amp;lt;/span&amp;gt; (I named my folder simply ROMS)&lt;br /&gt;
:*Then, using Windows Explorer, get into the folder you just created and right-click and choose &#039;SVN Checkout...&#039;&lt;br /&gt;
:*Type the URL where ROMS lives: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt; You could check out the entire repository by using the URL &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;https://www.myroms.org/svn/src&amp;lt;/span&amp;gt; but this will download several unnecessary, older versions of ROMS in the &#039;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;tags&amp;lt;/span&amp;gt;&#039; directory. Therefore, we recommend that you only check out the trunk.&lt;br /&gt;
&lt;br /&gt;
:*Add &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;\trunk&amp;lt;/span&amp;gt; to end of the path in the &#039;Checkout directory:&#039; box (Mine now reads &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\ROMS\trunk&amp;lt;/span&amp;gt;) now click &#039;OK&#039; and then &#039;Yes&#039; when it asks you if you would like to create the trunk folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:tortoise_co1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*Enter your username and password, poor another cup of coffee and let the download begin!&lt;br /&gt;
&lt;br /&gt;
{{note}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt; In Windows VISTA there was a problem at the end of the download. Tortoise couldn&#039;t access the .svn folder. I think this will cause problems when getting ROMS updates. However, all source code got downloaded, compiling was successful and test case ran ok. This problem DIDN&#039;T occur in Windows XP.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing the [[build Script|Build Script]]==&lt;br /&gt;
The ROMS source code comes with a [[build Script|build script]] in the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ROMS/Bin&amp;lt;/span&amp;gt; directory. Examples written with &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;bash&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt;) and &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;csh&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.sh&amp;lt;/span&amp;gt;) are provided. Cygwin uses &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;bash&amp;lt;/span&amp;gt; by default so we will work with &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt;. A full description of the build script can be found [[build Script|here]].&lt;br /&gt;
&lt;br /&gt;
:*At the same level as your new &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk&amp;lt;/span&amp;gt; directory create a new folder named &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Projects&amp;lt;/span&amp;gt; and change into it.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mkdir Projects&amp;lt;br /&amp;gt;cd Projects&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Create a folder named &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; and change into it. &#039;Upwelling&#039; is the name of the [[Test Cases|ROMS test case]] we are going to compile and run.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mkdir Upwelling&amp;lt;br /&amp;gt;cd Upwelling&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Copy the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory you just created.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cp ../../trunk/ROMS/External/ocean_upwelling.in .&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;NOTE:&#039;&#039;&#039; In Cygwin and Linux/UNIX &#039; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;../&amp;lt;/span&amp;gt; &#039; translates to &amp;quot;up one directory&amp;quot; so what we are doing here is going &amp;quot;up&amp;quot; two directories ( &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;../../&amp;lt;/span&amp;gt; ), which puts us in the directory containing &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Projects&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~/roms&amp;lt;/span&amp;gt;), then going into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk/ROMS/External&amp;lt;/span&amp;gt; directory and getting the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file. Likewise, &#039; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt; &#039; translates to &amp;quot;current directory&amp;quot;. Which, in this case, is &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~/roms/Projects/Upwelling&amp;lt;/span&amp;gt;. So, we are copying the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file &#039;&#039;&#039;TO&#039;&#039;&#039; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~/roms/Projects/Upwelling/&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:*Copy the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;upwelling.h&amp;lt;/span&amp;gt; file into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory in the same way.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cp ../../trunk/ROMS/Include/upwelling.h .&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Copy the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; file into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cp ../../trunk/ROMS/Bin/build.bash .&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Open the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; script you just copied into your &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory using Wordpad or your preferred text editor (except Notepad).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{warning}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;IMPORTANT:&amp;lt;/span&amp;gt; The paths you set in this file are relative to the &#039;&#039;&#039;cygwin&#039;&#039;&#039; root directory. So, for example, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\ROMS&amp;lt;/span&amp;gt; in Windows Explorer would be &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;/ROMS&amp;lt;/span&amp;gt; in cygwin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*Scroll down until you find &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;. Set them as follows (replacing &#039;joeroms&#039; with your ROMS user name).&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;        &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;=/home/joeroms/roms&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;     &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_PROJECT_DIR&amp;lt;/span&amp;gt;=${&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;}/Projects/Upwelling&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Now set &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_ROMS_SRC&amp;lt;/span&amp;gt; to:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;        &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROMS_SRC&amp;lt;/span&amp;gt;=${&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;}/trunk&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Make sure that &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_CPP_FLAGS&amp;lt;/span&amp;gt; is &#039;&#039;&#039;not&#039;&#039;&#039; set. I had to comment out one line with the # symbol like so:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;#&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_CPP_FLAGS&amp;lt;/span&amp;gt;=&amp;quot;-DNPZD_POWELL&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*We are compiling in serial using the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; compiler so make your &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; match the following:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;            &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MPI&amp;lt;/span&amp;gt;=&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;         &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MPIF90&amp;lt;/span&amp;gt;=&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;               &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;FORT&amp;lt;/span&amp;gt;=gfortran&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Uncomment the line:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;#export&amp;lt;/span&amp;gt;           &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MY_LIBS&amp;lt;/span&amp;gt;=on&amp;lt;/div&amp;gt;to look like:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;           &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MY_LIBS&amp;lt;/span&amp;gt;=on&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Find the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; &#039;&#039;&#039;)&#039;&#039;&#039; section inside the &#039;&#039;&#039;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; [ -n &amp;quot;${&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MY_LIBS&amp;lt;/span&amp;gt;:+1}&amp;quot; ]&#039;&#039;&#039; block.&lt;br /&gt;
&lt;br /&gt;
:*Near the bottom of the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; &#039;&#039;&#039;)&#039;&#039;&#039; section you will find the following lines:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;else&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_INCDIR&amp;lt;/span&amp;gt;=/opt/gfortransoft/serial/netcdf3/include&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_LIBDIR&amp;lt;/span&amp;gt;=/opt/gfortransoft/serial/netcdf3/lib&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;fi&#039;&#039;&#039;&amp;lt;/div&amp;gt;change them to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;else&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_INCDIR&amp;lt;/span&amp;gt;=/usr/local/include&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_LIBDIR&amp;lt;/span&amp;gt;=/usr/local/lib&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;fi&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Save and close the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
==Customizing the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; file==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;Gfortran&amp;lt;/span&amp;gt; is part of the 4.x line of the GNU Compiler Collection. Cygwin allows both the 3.x and 4.x versions to be installed at the same time. As a result, the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; compiler has the non-standard name of &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran-4&amp;lt;/span&amp;gt;. This means that we have to edit the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; file in the ROMS source.&lt;br /&gt;
&lt;br /&gt;
:*Open &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~roms/trunk/Compilers/CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; with your preferred text editor (except Notepad).&lt;br /&gt;
&lt;br /&gt;
:*Find the line following line:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;FC&amp;lt;/span&amp;gt; := gfortran&amp;lt;/div&amp;gt;and change it to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;FC&amp;lt;/span&amp;gt; := gfortran-4&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Save and close the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
==Compile ROMS==&lt;br /&gt;
Before you run ROMS, you need to compile it to create an executable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS&amp;lt;/span&amp;gt; file. ROMS Source-Code files are readable by humans while executable files are readable by computers. The compilation process translates the source files into executables. Here are the instructions:&lt;br /&gt;
&lt;br /&gt;
:*In cygwin, if you&#039;re not there already, go to the Upwelling directory:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cd ~/roms/Projects/Upwelling&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Then type:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;./build.bash&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*If lots of stuff comes on the screen then you are good. Poor one more cup of coffee, sit back, and enjoy the compiling show. This will take ~15 min.&lt;br /&gt;
:*When it finishes type &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;ls&amp;lt;/span&amp;gt;; if you can see &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS&amp;lt;/span&amp;gt; (your executable file), then the compilation was successful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run ROMS==&lt;br /&gt;
:*We need to make one change to our &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file so open it with your favorite editor and find the following line:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;     &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;VARNAME&amp;lt;/span&amp;gt; = ROMS/External/varinfo.dat&amp;lt;/div&amp;gt;and change it to (again replacing &#039;joeroms&#039; with your ROMS user name):&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;     &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;VARNAME&amp;lt;/span&amp;gt; = /home/joeroms/roms/trunk/ROMS/External/varinfo.dat&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Save and close the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file&lt;br /&gt;
:*In cygwin, within the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory where your &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;oceanS&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; files live, type:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;./oceanS &amp;amp;lt; ocean_upwelling.in&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If lots of numbers are displayed on the screen ROMS is running! Poor one last cup of coffee and enjoy the show (~15 min). Out of the box, ROMS comes programmed to run the Upwelling test case, which is what you are running now. When it finishes, the following output files are created: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_avg.nc&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_dia.nc&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_his.nc&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_rst.nc&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To learn one way to visualize them, [[Plotting Package Installation|click here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thats it! You got ROMS running!&lt;br /&gt;
&lt;br /&gt;
Now comes the hard part: Learn how to use ROMS. But by now you are probably all coffeed-up and ready learn more. [http://www.myroms.org/index.php?page=RomsPackages Click here] for a good place to start.&lt;br /&gt;
&lt;br /&gt;
Good luck!&lt;br /&gt;
&lt;br /&gt;
==Related Pages==&lt;br /&gt;
:*&#039;&#039;&#039;[[makefile]]&#039;&#039;&#039; - Detailed information about the ROMS makefile&lt;br /&gt;
:*&#039;&#039;&#039;[[build Script|Build Script]]&#039;&#039;&#039; - Detailed information about the ROMS build scripts&lt;br /&gt;
:*&#039;&#039;&#039;[[Visualization]]&#039;&#039;&#039; - Guides for plotting ROMS output&lt;br /&gt;
:*&#039;&#039;&#039;[[Test Cases]]&#039;&#039;&#039; - Description of the test cases that come with ROMS&lt;/div&gt;</summary>
		<author><name>M.hadfield</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=ROMS_Cygwin&amp;diff=4417</id>
		<title>ROMS Cygwin</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=ROMS_Cygwin&amp;diff=4417"/>
		<updated>2011-06-29T01:21:25Z</updated>

		<summary type="html">&lt;p&gt;M.hadfield: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Tutorial: Installing ROMS in Windows XP / Vista (via Cygwin)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;Disclaimer:&#039;&#039;&#039; This post was written for the very beginners. Some parts may be a bit tedious for more advanced users or people with solid Linux knowledge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;NOTE:&#039;&#039;&#039; This tutorial no longer uses &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;g95&amp;lt;/span&amp;gt; because &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; is now available from Cygwin&#039;s setup. If you are looking for the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;g95&amp;lt;/span&amp;gt; instructions, those deprecated sections have been moved to the [[Talk:ROMS_Cygwin|Contributions]] section of this page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following recipe will guide you through the steps required to download, compile and run ROMS on Windows XP or Vista.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Register==&lt;br /&gt;
The very first thing to do is to [http://www.myroms.org/index.php?page=RomsCode Register]. After some checking, ROMS crew will give you a username and a password within a day or two. While you wait, you can prepare your PC with lots of ancillary software that you will need. See below...&lt;br /&gt;
&lt;br /&gt;
==Install Cygwin==&lt;br /&gt;
ROMS runs on a Unix or Linux command-line environment. So, to run ROMS on Windows, first we need to install a Linux emulator for Windows. We need to download and install [http://www.cygwin.com Cygwin].&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Download:&#039;&#039;&#039; Go to the [http://www.cygwin.com/ Cygwin website] and download the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setup.exe&amp;lt;/span&amp;gt; file, by clicking on any of the cygwin-install icons. Or simply [http://cygwin.com/setup.exe click here] to start the download.&lt;br /&gt;
:*Open the recently downloaded &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setup.exe&amp;lt;/span&amp;gt; file&lt;br /&gt;
:*Select to &#039;Install from Internet&#039;&lt;br /&gt;
:*Keep the selected defaults (&#039;&#039;i.e.&#039;&#039; &#039;All Users&#039; and &#039;Unix / Binary&#039;)&lt;br /&gt;
:*Choose a path where to save Cygwin installation packages, I chose: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwinfiles&amp;lt;/span&amp;gt;&lt;br /&gt;
:*Select Internet Connection... likely &#039;Direct Connection&#039; if you have high speed internet.&lt;br /&gt;
:*Select a download mirror-site. Choose one close to you... University sites are usually reliable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{warning}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;IMPORTANT:&amp;lt;/span&amp;gt; You will need to tell cygwin to install some modules that are not installed by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install Perl:&#039;&#039;&#039; As shown in the figure below, find the Perl Category and click on &#039;Default&#039; until it turns into &#039;Install&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:cygwin_perl.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install X11:&#039;&#039;&#039; Do the same in the category of X11. (I needed X11 to run applications on a remote computer. Technically you don&#039;t need this to run ROMS on Windows. However, I haven&#039;t installed Cygwin without X11 so I&#039;m not sure that some modules installed under X11 may be required later, but feel free to experiment and leave out X11).&lt;br /&gt;
:*Expand the window and click on the &#039;View&#039; button on the upper right corner (shown below), until it toggles into &#039;Full&#039; view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:cygwin_view.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install diffutils:&#039;&#039;&#039; Scroll down and find &#039;diffutils&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install gcc4:&#039;&#039;&#039; Scroll down and find &#039;gcc4&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install gcc4-core:&#039;&#039;&#039; Scroll down and find &#039;gcc4-core&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install gcc4-fortran:&#039;&#039;&#039; Scroll down and find &#039;gcc4-fortran&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See image below.&lt;br /&gt;
:*&#039;&#039;&#039;Install GNUmake:&#039;&#039;&#039; Similarly, scroll down and find &#039;make&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X). See below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:cygwin_make.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;Install Subversion:&#039;&#039;&#039; Scroll down and find &#039;subversion&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X).&lt;br /&gt;
:*&#039;&#039;&#039;Install wget:&#039;&#039;&#039; Scroll down and find &#039;wget&#039; (on the package column). Click on &#039;Skip&#039; (1st column) until it shows a version number (and a box selected with an X).&lt;br /&gt;
:*Click next. A list of dependencies will show. Install them all by making sure the tick-mark (bottom left) is on and click &#039;next&#039;&lt;br /&gt;
:*Make a cup of coffee. Sit back. The download/installation may tage about 30 min.&lt;br /&gt;
&lt;br /&gt;
==Helpful Cygwin notes==&lt;br /&gt;
&lt;br /&gt;
{{warning}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;IMPORTANT&amp;lt;/span&amp;gt; to keep in mind:&lt;br /&gt;
&lt;br /&gt;
:*Cygwin&#039;s home directory, which is where cygwin opens by default is, in this example, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;/cygwin/cygdrive/c/Users/Administrator/&amp;lt;/span&amp;gt; but when in cygwin, this directory abbreviated it as &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~&amp;lt;/span&amp;gt;&lt;br /&gt;
:*Cygwin&#039;s HOME directory (i.e. &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~&amp;lt;/span&amp;gt;) = &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\Users\Administrator\&amp;lt;/span&amp;gt; in Windows Explorer&lt;br /&gt;
:*Cygwin&#039;s ROOT directory (i.e. &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;) = &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\&amp;lt;/span&amp;gt; in Windows Explorer&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;Useful Notes:&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;PASTE:&amp;lt;/span&amp;gt; To paste text in the cygwin window, right-click on the cygwin symbol on the left-upper corner of the window. Chose Edit &amp;gt; Paste.&lt;br /&gt;
:*Here are some websites where you can learn more Linux commands&lt;br /&gt;
:**[http://www.howtoforge.com/useful_linux_commands http://www.howtoforge.com/useful_linux_commands]&lt;br /&gt;
:**[http://www.tuxfiles.org/linuxhelp/cli.html http://www.tuxfiles.org/linuxhelp/cli.html]&lt;br /&gt;
&lt;br /&gt;
==Install NetCDF==&lt;br /&gt;
ROMS needs NetCDF to read input files and to write output files. NetCDF is free to download from [http://www.unidata.ucar.edu/downloads/netcdf/netcdf-3_6_2/index.jsp Unidata]. However, the executable file available is not good for ROMS. We need get the source code and recompile an executable file that is ROMS-friendly. Here are the step-by-step instructions:&lt;br /&gt;
&lt;br /&gt;
:*In cygwin change into your &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;software&amp;lt;/span&amp;gt; directory and download the NetCDF source code.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cd ~/software&amp;lt;br /&amp;gt;wget &amp;lt;nowiki&amp;gt;http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf.tar.Z&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Unpack it and change into the resulting directory (at the time of this writing this is &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;netcdf-3.6.2&amp;lt;/span&amp;gt;).&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;tar -xvzf netcdf.tar.Z&amp;lt;br /&amp;gt;cd netcdf-3.6.2&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Start the compilation by typing the line below. It will take about 10 minutes. Enough to start a fresh batch of coffee.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;CC=gcc FC=gfortran-4 F77=gfortran-4 CPPFLAGS=-DpgiFortran ./configure&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Then, type the text below. This will take just about enough the time for the coffee to brew.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;make check&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Finally, type the text below. This is fast; just enough to mix coffee, sugar and milk.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;make install&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:Well done! Have a sip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Install subversion==&lt;br /&gt;
This is software needed to download ROMS source code. I used a GUI for subversion called Tortoise (wonderful and free), but you can use most any subversion client. Tortoise is an ADD-ON for Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
:*First download the installer at the [http://tortoisesvn.tigris.org/ TortoiseSVN website]. Or simply [http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi?download click here] to start the download.&lt;br /&gt;
:*Open the installer and follow instructions.&lt;br /&gt;
:*Restart your computer (The Installer asks you to do so).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==Download ROMS==&lt;br /&gt;
This section assumes that you registered and obtained your ROMS username/password as indicated in the [[#Register|Register]] section.&lt;br /&gt;
&lt;br /&gt;
:*Create a &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;roms&amp;lt;/span&amp;gt; folder and change into it.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cd ~&amp;lt;br /&amp;gt;mkdir roms&amp;lt;br /&amp;gt;cd roms&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Check out the ROMS source code replacing &#039;joeroms&#039; with the ROMS user name you registered with.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;svn checkout --username joeroms &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*You will see many lines stream by. When it finishes, type &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;ls&amp;lt;/span&amp;gt;. You have a folder named &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk&amp;lt;/span&amp;gt; that contains the ROMS source code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
:*In Windows Explorer, create a folder for ROMS in a place easy to find under cygwin. &#039;&#039;I.e.&#039;&#039; under &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\&amp;lt;/span&amp;gt; (I named my folder simply ROMS)&lt;br /&gt;
:*Then, using Windows Explorer, get into the folder you just created and right-click and choose &#039;SVN Checkout...&#039;&lt;br /&gt;
:*Type the URL where ROMS lives: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt; You could check out the entire repository by using the URL &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;https://www.myroms.org/svn/src&amp;lt;/span&amp;gt; but this will download several unnecessary, older versions of ROMS in the &#039;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;tags&amp;lt;/span&amp;gt;&#039; directory. Therefore, we recommend that you only check out the trunk.&lt;br /&gt;
&lt;br /&gt;
:*Add &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;\trunk&amp;lt;/span&amp;gt; to end of the path in the &#039;Checkout directory:&#039; box (Mine now reads &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\ROMS\trunk&amp;lt;/span&amp;gt;) now click &#039;OK&#039; and then &#039;Yes&#039; when it asks you if you would like to create the trunk folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::[[Image:tortoise_co1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*Enter your username and password, poor another cup of coffee and let the download begin!&lt;br /&gt;
&lt;br /&gt;
{{note}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt; In Windows VISTA there was a problem at the end of the download. Tortoise couldn&#039;t access the .svn folder. I think this will cause problems when getting ROMS updates. However, all source code got downloaded, compiling was successful and test case ran ok. This problem DIDN&#039;T occur in Windows XP.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing the [[build Script|Build Script]]==&lt;br /&gt;
The ROMS source code comes with a [[build Script|build script]] in the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ROMS/Bin&amp;lt;/span&amp;gt; directory. Examples written with &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;bash&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt;) and &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;csh&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.sh&amp;lt;/span&amp;gt;) are provided. Cygwin uses &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;bash&amp;lt;/span&amp;gt; by default so we will work with &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt;. A full description of the build script can be found [[build Script|here]].&lt;br /&gt;
&lt;br /&gt;
:*At the same level as your new &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk&amp;lt;/span&amp;gt; directory create a new folder named &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Projects&amp;lt;/span&amp;gt; and change into it.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mkdir Projects&amp;lt;br /&amp;gt;cd Projects&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Create a folder named &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; and change into it. &#039;Upwelling&#039; is the name of the [[Test Cases|ROMS test case]] we are going to compile and run.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mkdir Upwelling&amp;lt;br /&amp;gt;cd Upwelling&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Copy the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory you just created.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cp ../../trunk/ROMS/External/ocean_upwelling.in .&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;NOTE:&#039;&#039;&#039; In Cygwin and Linux/UNIX &#039; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;../&amp;lt;/span&amp;gt; &#039; translates to &amp;quot;up one directory&amp;quot; so what we are doing here is going &amp;quot;up&amp;quot; two directories ( &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;../../&amp;lt;/span&amp;gt; ), which puts us in the directory containing &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Projects&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~/roms&amp;lt;/span&amp;gt;), then going into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;trunk/ROMS/External&amp;lt;/span&amp;gt; directory and getting the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file. Likewise, &#039; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt; &#039; translates to &amp;quot;current directory&amp;quot;. Which, in this case, is &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~/roms/Projects/Upwelling&amp;lt;/span&amp;gt;. So, we are copying the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file &#039;&#039;&#039;TO&#039;&#039;&#039; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~/roms/Projects/Upwelling/&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:*Copy the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;upwelling.h&amp;lt;/span&amp;gt; file into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory in the same way.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cp ../../trunk/ROMS/Include/upwelling.h .&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Copy the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; file into the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory.&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cp ../../trunk/ROMS/Bin/build.bash .&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Open the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; script you just copied into your &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory using Wordpad or your preferred text editor (except Notepad).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{warning}}&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;IMPORTANT:&amp;lt;/span&amp;gt; The paths you set in this file are relative to the &#039;&#039;&#039;cygwin&#039;&#039;&#039; root directory. So, for example, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;C:\cygwin\ROMS&amp;lt;/span&amp;gt; in Windows Explorer would be &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;/ROMS&amp;lt;/span&amp;gt; in cygwin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*Scroll down until you find &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;. Set them as follows (replacing &#039;joeroms&#039; with your ROMS user name).&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;        &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;=/home/joeroms/roms&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;     &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_PROJECT_DIR&amp;lt;/span&amp;gt;=${&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;}/Projects/Upwelling&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Now set &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_ROMS_SRC&amp;lt;/span&amp;gt; to:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;        &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROMS_SRC&amp;lt;/span&amp;gt;=${&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_ROOT_DIR&amp;lt;/span&amp;gt;}/trunk&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Make sure that &amp;lt;span class=&amp;quot;orange&amp;quot;&amp;gt;MY_CPP_FLAGS&amp;lt;/span&amp;gt; is &#039;&#039;&#039;not&#039;&#039;&#039; set. I had to comment out one line with the # symbol like so:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;#&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MY_CPP_FLAGS&amp;lt;/span&amp;gt;=&amp;quot;-DNPZD_POWELL&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*We are compiling in serial using the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; compiler so make your &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; match the following:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;            &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MPI&amp;lt;/span&amp;gt;=&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;         &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MPIF90&amp;lt;/span&amp;gt;=&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;               &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;FORT&amp;lt;/span&amp;gt;=gfortran&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Uncomment the line:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;#export&amp;lt;/span&amp;gt;           &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MY_LIBS&amp;lt;/span&amp;gt;=on&amp;lt;/div&amp;gt;to look like:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;&amp;amp;nbsp;export&amp;lt;/span&amp;gt;           &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MY_LIBS&amp;lt;/span&amp;gt;=on&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Find the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; &#039;&#039;&#039;)&#039;&#039;&#039; section inside the &#039;&#039;&#039;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; [ -n &amp;quot;${&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;USE_MY_LIBS&amp;lt;/span&amp;gt;:+1}&amp;quot; ]&#039;&#039;&#039; block.&lt;br /&gt;
&lt;br /&gt;
:*Near the bottom of the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; &#039;&#039;&#039;)&#039;&#039;&#039; section you will find the following lines:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;else&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_INCDIR&amp;lt;/span&amp;gt;=/opt/gfortransoft/serial/netcdf3/include&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_LIBDIR&amp;lt;/span&amp;gt;=/opt/gfortransoft/serial/netcdf3/lib&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;fi&#039;&#039;&#039;&amp;lt;/div&amp;gt;change them to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;else&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_INCDIR&amp;lt;/span&amp;gt;=/usr/local/include&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;export&amp;lt;/span&amp;gt;      &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;NETCDF_LIBDIR&amp;lt;/span&amp;gt;=/usr/local/lib&amp;lt;br /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;fi&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Save and close the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;build.bash&amp;lt;/span&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
==Customizing the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; file==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;Gfortran&amp;lt;/span&amp;gt; is part of the 4.x line of the GNU Compiler Collection. Cygwin allows both the 3.x and 4.x versions to be installed at the same time. As a result, the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran&amp;lt;/span&amp;gt; compiler has the non-standard name of &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;gfortran-4&amp;lt;/span&amp;gt;. This means that we have to edit the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; file in the ROMS source.&lt;br /&gt;
&lt;br /&gt;
:*Open &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;~roms/trunk/Compilers/CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; with your preferred text editor (except Notepad).&lt;br /&gt;
&lt;br /&gt;
:*Find the line following line:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;FC&amp;lt;/span&amp;gt; := gfortran&amp;lt;/div&amp;gt;and change it to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;FC&amp;lt;/span&amp;gt; := gfortran-4&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Save and close the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;CYGWIN-gfortran.mk&amp;lt;/span&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
==Compile ROMS==&lt;br /&gt;
Before you run ROMS, you need to compile it to create an executable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS&amp;lt;/span&amp;gt; file. ROMS Source-Code files are readable by humans while executable files are readable by computers. The compilation process translates the source files into executables. Here are the instructions:&lt;br /&gt;
&lt;br /&gt;
:*In cygwin, if you&#039;re not there already, go to the Upwelling directory:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;cd ~/roms/Projects/Upwelling&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Then type:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;./build.bash&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*If lots of stuff comes on the screen then you are good. Poor one more cup of coffee, sit back, and enjoy the compiling show. This will take ~15 min.&lt;br /&gt;
:*When it finishes type &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;ls&amp;lt;/span&amp;gt;; if you can see &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS&amp;lt;/span&amp;gt; (your executable file), then the compilation was successful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run ROMS==&lt;br /&gt;
:*We need to make one change to our &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file so open it with your favorite editor and find the following line:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;     &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;VARNAME&amp;lt;/span&amp;gt; = ROMS/External/varinfo.dat&amp;lt;/div&amp;gt;and change it to (again replacing &#039;joeroms&#039; with your ROMS user name):&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;     &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;VARNAME&amp;lt;/span&amp;gt; = /home/joeroms/roms/trunk/ROMS/External/varinfo.dat&amp;lt;/div&amp;gt;&lt;br /&gt;
:*Save and close the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; file&lt;br /&gt;
:*In cygwin, within the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Upwelling&amp;lt;/span&amp;gt; directory where your &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;oceanS&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; files live, type:&lt;br /&gt;
::&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;./oceanS &amp;amp;lt; ocean_upwelling.in&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If lots of numbers are displayed on the screen ROMS is running! Poor one last cup of coffee and enjoy the show (~15 min). Out of the box, ROMS comes programmed to run the Upwelling test case, which is what you are running now. When it finishes, the following output files are created: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_avg.nc&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_dia.nc&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_his.nc&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_rst.nc&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To learn one way to visualize them, [[Plotting Package Installation|click here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thats it! You got ROMS running!&lt;br /&gt;
&lt;br /&gt;
Now comes the hard part: Learn how to use ROMS. But by now you are probably all coffeed-up and ready learn more. [http://www.myroms.org/index.php?page=RomsPackages Click here] for a good place to start.&lt;br /&gt;
&lt;br /&gt;
Good luck!&lt;br /&gt;
&lt;br /&gt;
==Related Pages==&lt;br /&gt;
:*&#039;&#039;&#039;[[makefile]]&#039;&#039;&#039; - Detailed information about the ROMS makefile&lt;br /&gt;
:*&#039;&#039;&#039;[[build Script|Build Script]]&#039;&#039;&#039; - Detailed information about the ROMS build scripts&lt;br /&gt;
:*&#039;&#039;&#039;[[Visualization]]&#039;&#039;&#039; - Guides for plotting ROMS output&lt;br /&gt;
:*&#039;&#039;&#039;[[Test Cases]]&#039;&#039;&#039; - Description of the test cases that come with ROMS&lt;/div&gt;</summary>
		<author><name>M.hadfield</name></author>
	</entry>
</feed>