<?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=Kate</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=Kate"/>
	<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/Special:Contributions/Kate"/>
	<updated>2026-04-30T00:28:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Git&amp;diff=5397</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Git&amp;diff=5397"/>
		<updated>2019-07-10T21:20:59Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Getting the Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Git&amp;lt;/div&amp;gt;&lt;br /&gt;
ROMS source code is distributed using both [https://git-scm.com Git] and [https://subversion.apache.org Subversion](SVN). The Git repository includes the full history of changes to the ROMS source code. Details on using Subversion can be found [[Subversion|here]]. There are command line and GUI Git clients available for nearly every operating system and a list of popular clients can be found [https://git-scm.com/downloads/guis here]. This page will help you get started with downloading ROMS with Git.&lt;br /&gt;
&lt;br /&gt;
==Git Overview==&lt;br /&gt;
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. All the ROMS/TOMS files are stored in a Git repository on &#039;&#039;&#039;www.myroms.org&#039;&#039;&#039; with access controlled by requiring authentication with the same ROMS Username/Password combination assigned to registered users of the ROMS Forum.&lt;br /&gt;
&lt;br /&gt;
This Git repository is the official version of the code which only the developers are allowed to change. Users should download the ROMS code to their local machines using a &#039;&#039;&#039;git client&#039;&#039;&#039;.  Don&#039;t attempt to use a regular web browser to browse or download files from the Git repository - there are much better tools for interacting with the code repository. See the notes below under the heading &#039;&#039;&#039;View the Repository&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We strongly recommend users always check out the current &#039;&#039;master&#039;&#039; version since this has the most recent updates and bug fixes. The &#039;&#039;tags&#039;&#039; are kept largely as a historical record of stable releases at the conclusion of major code upgrades.&lt;br /&gt;
&lt;br /&gt;
If you are making changes of your own, keep them in a separate branch, leaving the &#039;&#039;master&#039;&#039; branch to track changes from the source. Git makes it &#039;&#039;so&#039;&#039; much easier to manage your own modifications than svn for those of us without write permission on the repository.&lt;br /&gt;
&lt;br /&gt;
Below is a general description of how Git works. Please look at the [https://git-scm.com/book/en/v2 Pro Git] book for more detailed information. We have not yet tried any GUI clients but may add brief how-tos for the most popular GUIs at a later date.&lt;br /&gt;
&lt;br /&gt;
==Downloading ROMS==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you clone the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order download source code from a git repository, &#039;&#039;&#039;git client&#039;&#039;&#039; software must be installed on your local machine. Most Linux distributions come with git, so shell commands may be used without installing additional software. The general form of git commands is:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git&amp;lt;/span&amp;gt; action &amp;lt;repository&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check-out the files from the ROMS repository &#039;&#039;&#039;master&#039;&#039;&#039; (latest version), enter (notice https instead of http):&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://www.myroms.org/git/src&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;MyDir&#039;&#039;&#039; is the destination directory on your local computer. It will be created if not found. If your want to avoid typing your &#039;&#039;&#039;username&#039;&#039;&#039; for all future code updates, change the command to:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://joe_roms@www.myroms.org/git/src&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only clone once because Git will keep track of the source, destination and a bunch of other information. For more detail on command line use and syntax, see the [https://git-scm.com/book/en/v2 Pro Git] book.&lt;br /&gt;
&lt;br /&gt;
In order to synchronize the Git and Subversion repository revision information, we have created a Git filter that will insert the git hash of the last time a file was modified, similar to the Subversion $Id$ keyword. In order for the filter to work, it has to be explicitly enabled by the user. After the git clone command from above completes change into &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;MyDir&amp;lt;/span&amp;gt; and execute the following:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config filter.id.smudge &amp;quot;.git_filters/id.smudge %f&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look at the top of any ROMS source file downloaded from the git repository, you will see both the Git commit hash for the last time that file was modified and the corresponding SVN revision properties. For example, the first few lines of &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;ROMS/Modules/mod_ncparam.F&amp;lt;/span&amp;gt; look like this:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;#include &amp;quot;cppdefs.h&amp;quot;&amp;lt;br /&amp;gt;      MODULE mod_ncparam&amp;lt;br /&amp;gt;!&amp;lt;br /&amp;gt;!git $Id: b42658ab652647fca27d50af4afa15c3401fe544 $&amp;lt;br /&amp;gt;!svn $Id: mod_ncparam.F 968 2019-06-17 16:02:48Z arango $&amp;lt;br /&amp;gt;!================================================== Hernan G. Arango ===&amp;lt;br /&amp;gt;!  Copyright (c) 2002-2019 The ROMS/TOMS Group                         !&amp;lt;br /&amp;gt;!    Licensed under a MIT/X style license                              !&amp;lt;br /&amp;gt;!    See License_ROMS.txt                                              !&amp;lt;br /&amp;gt;!=======================================================================&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use the 40 character (hexidecimal) Git hash to show more information about that code update:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git show --name-only b42658ab652647fca27d50af4afa15c3401fe544&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While you are getting your configuration in order, you also want to tell git who you are:&lt;br /&gt;
&lt;br /&gt;
   &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global user.name &amp;quot;your name&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;  &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global user.email &amp;quot;your@email&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is important if you plan to ever commit your own modifications.&lt;br /&gt;
&lt;br /&gt;
Several GUI front-ends to Git exist, allowing the user to have visual prompts to help them manage their files and credentials.&lt;br /&gt;
&lt;br /&gt;
===Updates===&lt;br /&gt;
&lt;br /&gt;
Now and again, you might feel the urge to get up to speed with the latest changes that have been made to the ROMS repository. When that happens, simply go to the directory that was &amp;quot;MyDir&amp;quot; above and type:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Git will remember where you checked out from before and see if a newer revision exists. If so, it will download and apply all the relevant changes.&lt;br /&gt;
&lt;br /&gt;
==Saving ROMS Login Credentials==&lt;br /&gt;
There are a few different options for storing your ROMS login credentials in order to avoid having to type your username and password for every command. See [https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage here] for more details. The simplest way to save your credentials is to use the built-in git-credential-store option. This option is very similar to the default way older Subversion clients store credentials so keep in mind that both your username and password will be stored without encryption in plain text. To use this method, execute the following:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &#039;store --file ~/.my-credentials&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a plain text file that only the file owner (you) has permission to access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Mac OS===&lt;br /&gt;
If you are working on Mac OS there is a simple option for securely storing you credentials using the OS X Keychain. Simply execute:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper osxkeychain&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A window may pop up asking for your system&#039;s password to allow the credentials to be stored in your Keychain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Linux===&lt;br /&gt;
Saving your credentials securely on Linux is a bit more complex and requires extra utilities (GPG) and configuration. This processes is adapted from [https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-github-credentials-for-pushing-commits/18362082#18362082 here] and requires Git version &#039;&#039;&#039;1.8.3&#039;&#039;&#039; or higher and GNU Privacy Guard (GnuPG or GPG). If you already use GPG and have a trusted key already you can skip the first step.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create a GPG key:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gpg --gen-key&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.&amp;lt;br /&amp;gt;This is free software: you are free to change and redistribute it.&amp;lt;br /&amp;gt;There is NO WARRANTY, to the extent permitted by law.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please select what kind of key you want:&amp;lt;br /&amp;gt;   (1) RSA and RSA (default)&amp;lt;br /&amp;gt;   (2) DSA and Elgamal&amp;lt;br /&amp;gt;   (3) DSA (sign only)&amp;lt;br /&amp;gt;   (4) RSA (sign only)&amp;lt;br /&amp;gt;Your selection? &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;RSA keys may be between 1024 and 4096 bits long.&amp;lt;br /&amp;gt;What keysize do you want? (2048) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;4096&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Requested keysize is 4096 bits&amp;lt;br /&amp;gt;Please specify how long the key should be valid.&amp;lt;br /&amp;gt;         0 = key does not expire&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;  = key expires in n days&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;w = key expires in n weeks&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;m = key expires in n months&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;y = key expires in n years&amp;lt;br /&amp;gt;Key is valid for? (0) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Key does not expire at all&amp;lt;br /&amp;gt;Is this correct? (y/N) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;y&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;GnuPG needs to construct a user ID to identify your key.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Real name: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Joe Roms&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Email address: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;joe_roms@host.com&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Comment: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;GPG Key&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;You selected this USER-ID:&amp;lt;br /&amp;gt;    &amp;quot;David Robertson &amp;lt;robertson@marine.rutgers.edu&amp;gt;&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;You need a Passphrase to protect your secret key.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;# You will be asked to type your passphrase twice&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;We need to generate a lot of random bytes. It is a good idea to perform&amp;lt;br /&amp;gt;some other action (type on the keyboard, move the mouse, utilize the&amp;lt;br /&amp;gt;disks) during the prime generation; this gives the random number&amp;lt;br /&amp;gt;generator a better chance to gain enough entropy.&amp;lt;br /&amp;gt;gpg: key 33EA0E26 marked as ultimately trusted&amp;lt;br /&amp;gt;public and secret key created and signed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;gpg: checking the trustdb&amp;lt;br /&amp;gt;gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model&amp;lt;br /&amp;gt;gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u&amp;lt;br /&amp;gt;pub   4096R/33EA0E26 2019-06-05&amp;lt;br /&amp;gt;      Key fingerprint = 2CA2 904C A7DE CAEF 2266  70F6 1C74 375B 33EA 0E26&amp;lt;br /&amp;gt;uid                  Joe Roms &amp;lt;joe_roms@host.com&amp;gt;&amp;lt;br /&amp;gt;sub   4096R/5A0EDB59 2019-06-05&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download the &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;git-credential-netrc&amp;lt;/span&amp;gt; helper script from github and install it in a directory within your PATH. If there a multiple Git users on your system, you might want to have a system administrator place the script in &amp;lt;span class=&amp;quot;purple&amp;quot;&amp;gt;/usr/bin&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;purple&amp;quot;&amp;gt;/usr/local/bin&amp;lt;/span&amp;gt; so all users will have access to it:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;curl -o ~/bin/git-credential-netrc https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Make a &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;.netrc&amp;lt;/span&amp;gt; file in your home directory in clear text:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd ~&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;vi .netrc&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;machine www.myroms.org&amp;lt;br /&amp;gt;login joe_roms&amp;lt;br /&amp;gt;password secret&amp;lt;br /&amp;gt;protocol https&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;You can add other blocks like the one above for other servers as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Encrypt that file:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gpg -e -r joe_roms@host.com .netrc&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;This will create a file named .netrc.gpg. You can now safely delete the &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;.netrc&amp;lt;/span&amp;gt; file (the unecrypted one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Use the newly encrypted file for all git operations that require credentials:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &amp;quot;netrc -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or for just a specific respoitory:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd /path/to/repository&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --local credential.helper &amp;quot;netrc -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The first option will save the configuration to ~/.gitconfig while the second option will save to .git/config for the current git repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From now on, any Git command using an HTTPS URL which requires authentication will decrypt that .netrc.gpg file and use the login/password associated to the server you are contacting. The first time, GPG will ask you for the passphrase of your GPG key, to decrypt the file. The other times, the gpg-agent launched automatically by the first GPG call will provide that passphrase for you.&lt;br /&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; If your system&#039;s gpg program has a different name you will need to change the &amp;quot;git config&amp;quot; line accordingly. For example, on an UBUNTU machine the command would look something like this:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &amp;quot;netrc -g gpg2 -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Windows===&lt;br /&gt;
We will add this once tested but you can follow the steps [https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-github-credentials-for-pushing-commits/18362082#18362082 here] if you would like to try it yourself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GUI Git Clients==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you checkout the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once we have some experience with some GUI Git clients, we will add to this section.&lt;br /&gt;
&lt;br /&gt;
===View the Repository===&lt;br /&gt;
The easiest way to view a repository is to simply look at it with [http://trac.edgewall.org/ Trac] in a web browser. Enter the URL:&lt;br /&gt;
&lt;br /&gt;
  [https://www.myroms.org/projects/git-src/login https://www.myroms.org/projects/git-src/login]&lt;br /&gt;
&lt;br /&gt;
and log in with your ROMS credentials. Once logged in, click the &#039;&#039;&#039;Browse Source&#039;&#039;&#039; tab near the top of the page. This is also a good way to see individual files in the repository without actually downloading them.&lt;br /&gt;
&lt;br /&gt;
==Managing Your Own Modifications==&lt;br /&gt;
This assumes that you have a fresh clone of the myroms repository on the &#039;&#039;&#039;master&#039;&#039;&#039; branch. You want to keep &#039;&#039;&#039;master&#039;&#039;&#039; as a pure copy of the source version and keep your own changes in say the &#039;&#039;&#039;arctic&#039;&#039;&#039; branch. Start by creating a branch and switching to it:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git branch arctic&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout arctic&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can make whatever modifications you like (and test them out). To see what changed, you can use &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git status&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git diff&amp;lt;/span&amp;gt;. To save your changes, do a:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git commit -a&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Though if you add new files you will have to &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git add&amp;lt;/span&amp;gt; them first.&lt;br /&gt;
&lt;br /&gt;
===Getting the Updates===&lt;br /&gt;
It is easy to fetch and merge the updates. Start by making sure your directory has been cleanly checked in with &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git status&amp;lt;/span&amp;gt;.  Then you can update your &#039;&#039;&#039;master&#039;&#039;&#039; branch:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout master&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then bring the changes into your &#039;&#039;&#039;arctic&#039;&#039;&#039; branch:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout arctic&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git merge master&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will bring in everything that changed since your last &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;, so you might find it easier to keep on top of things by doing this often, not putting it off for years. You can also bring in changes one at a time with &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git cherry-pick&amp;lt;/span&amp;gt;. Again, check the Pro Git book for much more information about all of these operations.&lt;br /&gt;
&lt;br /&gt;
Note that this will save your &#039;&#039;&#039;arctic&#039;&#039;&#039; branch locally, under the .git directory. You can back this up as you would any other important files you have. The gitish way to back it up is to the cloud, say on github. In the best of all possible open source projects, the &#039;&#039;&#039;master&#039;&#039;&#039; would be on github too, and you&#039;d simply fork from it there. If you want to try this out, fork from Mark Hadfield&#039;s copy of the myroms source at [https://github.com/hadfieldnz/roms-trunk-mgh].&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Git&amp;diff=5396</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Git&amp;diff=5396"/>
		<updated>2019-07-10T21:16:22Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Managing Your Own Modifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Git&amp;lt;/div&amp;gt;&lt;br /&gt;
ROMS source code is distributed using both [https://git-scm.com Git] and [https://subversion.apache.org Subversion](SVN). The Git repository includes the full history of changes to the ROMS source code. Details on using Subversion can be found [[Subversion|here]]. There are command line and GUI Git clients available for nearly every operating system and a list of popular clients can be found [https://git-scm.com/downloads/guis here]. This page will help you get started with downloading ROMS with Git.&lt;br /&gt;
&lt;br /&gt;
==Git Overview==&lt;br /&gt;
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. All the ROMS/TOMS files are stored in a Git repository on &#039;&#039;&#039;www.myroms.org&#039;&#039;&#039; with access controlled by requiring authentication with the same ROMS Username/Password combination assigned to registered users of the ROMS Forum.&lt;br /&gt;
&lt;br /&gt;
This Git repository is the official version of the code which only the developers are allowed to change. Users should download the ROMS code to their local machines using a &#039;&#039;&#039;git client&#039;&#039;&#039;.  Don&#039;t attempt to use a regular web browser to browse or download files from the Git repository - there are much better tools for interacting with the code repository. See the notes below under the heading &#039;&#039;&#039;View the Repository&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We strongly recommend users always check out the current &#039;&#039;master&#039;&#039; version since this has the most recent updates and bug fixes. The &#039;&#039;tags&#039;&#039; are kept largely as a historical record of stable releases at the conclusion of major code upgrades.&lt;br /&gt;
&lt;br /&gt;
If you are making changes of your own, keep them in a separate branch, leaving the &#039;&#039;master&#039;&#039; branch to track changes from the source. Git makes it &#039;&#039;so&#039;&#039; much easier to manage your own modifications than svn for those of us without write permission on the repository.&lt;br /&gt;
&lt;br /&gt;
Below is a general description of how Git works. Please look at the [https://git-scm.com/book/en/v2 Pro Git] book for more detailed information. We have not yet tried any GUI clients but may add brief how-tos for the most popular GUIs at a later date.&lt;br /&gt;
&lt;br /&gt;
==Downloading ROMS==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you clone the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order download source code from a git repository, &#039;&#039;&#039;git client&#039;&#039;&#039; software must be installed on your local machine. Most Linux distributions come with git, so shell commands may be used without installing additional software. The general form of git commands is:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git&amp;lt;/span&amp;gt; action &amp;lt;repository&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check-out the files from the ROMS repository &#039;&#039;&#039;master&#039;&#039;&#039; (latest version), enter (notice https instead of http):&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://www.myroms.org/git/src&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;MyDir&#039;&#039;&#039; is the destination directory on your local computer. It will be created if not found. If your want to avoid typing your &#039;&#039;&#039;username&#039;&#039;&#039; for all future code updates, change the command to:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://joe_roms@www.myroms.org/git/src&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only clone once because Git will keep track of the source, destination and a bunch of other information. For more detail on command line use and syntax, see the [https://git-scm.com/book/en/v2 Pro Git] book.&lt;br /&gt;
&lt;br /&gt;
In order to synchronize the Git and Subversion repository revision information, we have created a Git filter that will insert the git hash of the last time a file was modified, similar to the Subversion $Id$ keyword. In order for the filter to work, it has to be explicitly enabled by the user. After the git clone command from above completes change into &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;MyDir&amp;lt;/span&amp;gt; and execute the following:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config filter.id.smudge &amp;quot;.git_filters/id.smudge %f&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look at the top of any ROMS source file downloaded from the git repository, you will see both the Git commit hash for the last time that file was modified and the corresponding SVN revision properties. For example, the first few lines of &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;ROMS/Modules/mod_ncparam.F&amp;lt;/span&amp;gt; look like this:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;#include &amp;quot;cppdefs.h&amp;quot;&amp;lt;br /&amp;gt;      MODULE mod_ncparam&amp;lt;br /&amp;gt;!&amp;lt;br /&amp;gt;!git $Id: b42658ab652647fca27d50af4afa15c3401fe544 $&amp;lt;br /&amp;gt;!svn $Id: mod_ncparam.F 968 2019-06-17 16:02:48Z arango $&amp;lt;br /&amp;gt;!================================================== Hernan G. Arango ===&amp;lt;br /&amp;gt;!  Copyright (c) 2002-2019 The ROMS/TOMS Group                         !&amp;lt;br /&amp;gt;!    Licensed under a MIT/X style license                              !&amp;lt;br /&amp;gt;!    See License_ROMS.txt                                              !&amp;lt;br /&amp;gt;!=======================================================================&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use the 40 character (hexidecimal) Git hash to show more information about that code update:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git show --name-only b42658ab652647fca27d50af4afa15c3401fe544&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While you are getting your configuration in order, you also want to tell git who you are:&lt;br /&gt;
&lt;br /&gt;
   &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global user.name &amp;quot;your name&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;  &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global user.email &amp;quot;your@email&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is important if you plan to ever commit your own modifications.&lt;br /&gt;
&lt;br /&gt;
Several GUI front-ends to Git exist, allowing the user to have visual prompts to help them manage their files and credentials.&lt;br /&gt;
&lt;br /&gt;
===Updates===&lt;br /&gt;
&lt;br /&gt;
Now and again, you might feel the urge to get up to speed with the latest changes that have been made to the ROMS repository. When that happens, simply go to the directory that was &amp;quot;MyDir&amp;quot; above and type:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Git will remember where you checked out from before and see if a newer revision exists. If so, it will download and apply all the relevant changes.&lt;br /&gt;
&lt;br /&gt;
==Saving ROMS Login Credentials==&lt;br /&gt;
There are a few different options for storing your ROMS login credentials in order to avoid having to type your username and password for every command. See [https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage here] for more details. The simplest way to save your credentials is to use the built-in git-credential-store option. This option is very similar to the default way older Subversion clients store credentials so keep in mind that both your username and password will be stored without encryption in plain text. To use this method, execute the following:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &#039;store --file ~/.my-credentials&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a plain text file that only the file owner (you) has permission to access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Mac OS===&lt;br /&gt;
If you are working on Mac OS there is a simple option for securely storing you credentials using the OS X Keychain. Simply execute:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper osxkeychain&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A window may pop up asking for your system&#039;s password to allow the credentials to be stored in your Keychain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Linux===&lt;br /&gt;
Saving your credentials securely on Linux is a bit more complex and requires extra utilities (GPG) and configuration. This processes is adapted from [https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-github-credentials-for-pushing-commits/18362082#18362082 here] and requires Git version &#039;&#039;&#039;1.8.3&#039;&#039;&#039; or higher and GNU Privacy Guard (GnuPG or GPG). If you already use GPG and have a trusted key already you can skip the first step.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create a GPG key:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gpg --gen-key&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.&amp;lt;br /&amp;gt;This is free software: you are free to change and redistribute it.&amp;lt;br /&amp;gt;There is NO WARRANTY, to the extent permitted by law.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please select what kind of key you want:&amp;lt;br /&amp;gt;   (1) RSA and RSA (default)&amp;lt;br /&amp;gt;   (2) DSA and Elgamal&amp;lt;br /&amp;gt;   (3) DSA (sign only)&amp;lt;br /&amp;gt;   (4) RSA (sign only)&amp;lt;br /&amp;gt;Your selection? &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;RSA keys may be between 1024 and 4096 bits long.&amp;lt;br /&amp;gt;What keysize do you want? (2048) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;4096&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Requested keysize is 4096 bits&amp;lt;br /&amp;gt;Please specify how long the key should be valid.&amp;lt;br /&amp;gt;         0 = key does not expire&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;  = key expires in n days&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;w = key expires in n weeks&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;m = key expires in n months&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;y = key expires in n years&amp;lt;br /&amp;gt;Key is valid for? (0) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Key does not expire at all&amp;lt;br /&amp;gt;Is this correct? (y/N) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;y&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;GnuPG needs to construct a user ID to identify your key.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Real name: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Joe Roms&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Email address: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;joe_roms@host.com&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Comment: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;GPG Key&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;You selected this USER-ID:&amp;lt;br /&amp;gt;    &amp;quot;David Robertson &amp;lt;robertson@marine.rutgers.edu&amp;gt;&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;You need a Passphrase to protect your secret key.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;# You will be asked to type your passphrase twice&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;We need to generate a lot of random bytes. It is a good idea to perform&amp;lt;br /&amp;gt;some other action (type on the keyboard, move the mouse, utilize the&amp;lt;br /&amp;gt;disks) during the prime generation; this gives the random number&amp;lt;br /&amp;gt;generator a better chance to gain enough entropy.&amp;lt;br /&amp;gt;gpg: key 33EA0E26 marked as ultimately trusted&amp;lt;br /&amp;gt;public and secret key created and signed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;gpg: checking the trustdb&amp;lt;br /&amp;gt;gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model&amp;lt;br /&amp;gt;gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u&amp;lt;br /&amp;gt;pub   4096R/33EA0E26 2019-06-05&amp;lt;br /&amp;gt;      Key fingerprint = 2CA2 904C A7DE CAEF 2266  70F6 1C74 375B 33EA 0E26&amp;lt;br /&amp;gt;uid                  Joe Roms &amp;lt;joe_roms@host.com&amp;gt;&amp;lt;br /&amp;gt;sub   4096R/5A0EDB59 2019-06-05&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download the &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;git-credential-netrc&amp;lt;/span&amp;gt; helper script from github and install it in a directory within your PATH. If there a multiple Git users on your system, you might want to have a system administrator place the script in &amp;lt;span class=&amp;quot;purple&amp;quot;&amp;gt;/usr/bin&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;purple&amp;quot;&amp;gt;/usr/local/bin&amp;lt;/span&amp;gt; so all users will have access to it:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;curl -o ~/bin/git-credential-netrc https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Make a &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;.netrc&amp;lt;/span&amp;gt; file in your home directory in clear text:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd ~&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;vi .netrc&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;machine www.myroms.org&amp;lt;br /&amp;gt;login joe_roms&amp;lt;br /&amp;gt;password secret&amp;lt;br /&amp;gt;protocol https&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;You can add other blocks like the one above for other servers as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Encrypt that file:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gpg -e -r joe_roms@host.com .netrc&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;This will create a file named .netrc.gpg. You can now safely delete the &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;.netrc&amp;lt;/span&amp;gt; file (the unecrypted one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Use the newly encrypted file for all git operations that require credentials:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &amp;quot;netrc -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or for just a specific respoitory:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd /path/to/repository&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --local credential.helper &amp;quot;netrc -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The first option will save the configuration to ~/.gitconfig while the second option will save to .git/config for the current git repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From now on, any Git command using an HTTPS URL which requires authentication will decrypt that .netrc.gpg file and use the login/password associated to the server you are contacting. The first time, GPG will ask you for the passphrase of your GPG key, to decrypt the file. The other times, the gpg-agent launched automatically by the first GPG call will provide that passphrase for you.&lt;br /&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; If your system&#039;s gpg program has a different name you will need to change the &amp;quot;git config&amp;quot; line accordingly. For example, on an UBUNTU machine the command would look something like this:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &amp;quot;netrc -g gpg2 -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Windows===&lt;br /&gt;
We will add this once tested but you can follow the steps [https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-github-credentials-for-pushing-commits/18362082#18362082 here] if you would like to try it yourself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GUI Git Clients==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you checkout the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once we have some experience with some GUI Git clients, we will add to this section.&lt;br /&gt;
&lt;br /&gt;
===View the Repository===&lt;br /&gt;
The easiest way to view a repository is to simply look at it with [http://trac.edgewall.org/ Trac] in a web browser. Enter the URL:&lt;br /&gt;
&lt;br /&gt;
  [https://www.myroms.org/projects/git-src/login https://www.myroms.org/projects/git-src/login]&lt;br /&gt;
&lt;br /&gt;
and log in with your ROMS credentials. Once logged in, click the &#039;&#039;&#039;Browse Source&#039;&#039;&#039; tab near the top of the page. This is also a good way to see individual files in the repository without actually downloading them.&lt;br /&gt;
&lt;br /&gt;
==Managing Your Own Modifications==&lt;br /&gt;
This assumes that you have a fresh clone of the myroms repository on the &#039;&#039;&#039;master&#039;&#039;&#039; branch. You want to keep &#039;&#039;&#039;master&#039;&#039;&#039; as a pure copy of the source version and keep your own changes in say the &#039;&#039;&#039;arctic&#039;&#039;&#039; branch. Start by creating a branch and switching to it:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git branch arctic&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout arctic&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can make whatever modifications you like (and test them out). To see what changed, you can use &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git status&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git diff&amp;lt;/span&amp;gt;. To save your changes, do a:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git commit -a&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Though if you add new files you will have to &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git add&amp;lt;/span&amp;gt; them first.&lt;br /&gt;
&lt;br /&gt;
===Getting the Updates===&lt;br /&gt;
It is easy to fetch and merge the updates. Start by updating your &#039;&#039;&#039;master&#039;&#039;&#039; branch:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout master&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then bring the changes into your &#039;&#039;&#039;arctic&#039;&#039;&#039; branch:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout arctic&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git merge master&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will bring in everything that changed since your last &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;, so you might find it easier to keep on top of things by doing this often, not putting it off for years. You can also bring in changes one at a time with &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git cherry-pick&amp;lt;/span&amp;gt;. Again, check the Pro Git book for much more information about all of these operations.&lt;br /&gt;
&lt;br /&gt;
Note that this will save your &#039;&#039;&#039;arctic&#039;&#039;&#039; branch locally, under the .git directory. You can back this up as you would any other important files you have. The gitish way to back it up is to the cloud, say on github. In the best of all possible open source projects, the &#039;&#039;&#039;master&#039;&#039;&#039; would be on github too, and you&#039;d simply fork from it there. If you want to try this out, fork from Mark Hadfield&#039;s copy of the myroms source at [https://github.com/hadfieldnz/roms-trunk-mgh].&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Git&amp;diff=5395</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Git&amp;diff=5395"/>
		<updated>2019-07-10T18:03:14Z</updated>

		<summary type="html">&lt;p&gt;Kate: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Git&amp;lt;/div&amp;gt;&lt;br /&gt;
ROMS source code is distributed using both [https://git-scm.com Git] and [https://subversion.apache.org Subversion](SVN). The Git repository includes the full history of changes to the ROMS source code. Details on using Subversion can be found [[Subversion|here]]. There are command line and GUI Git clients available for nearly every operating system and a list of popular clients can be found [https://git-scm.com/downloads/guis here]. This page will help you get started with downloading ROMS with Git.&lt;br /&gt;
&lt;br /&gt;
==Git Overview==&lt;br /&gt;
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. All the ROMS/TOMS files are stored in a Git repository on &#039;&#039;&#039;www.myroms.org&#039;&#039;&#039; with access controlled by requiring authentication with the same ROMS Username/Password combination assigned to registered users of the ROMS Forum.&lt;br /&gt;
&lt;br /&gt;
This Git repository is the official version of the code which only the developers are allowed to change. Users should download the ROMS code to their local machines using a &#039;&#039;&#039;git client&#039;&#039;&#039;.  Don&#039;t attempt to use a regular web browser to browse or download files from the Git repository - there are much better tools for interacting with the code repository. See the notes below under the heading &#039;&#039;&#039;View the Repository&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We strongly recommend users always check out the current &#039;&#039;master&#039;&#039; version since this has the most recent updates and bug fixes. The &#039;&#039;tags&#039;&#039; are kept largely as a historical record of stable releases at the conclusion of major code upgrades.&lt;br /&gt;
&lt;br /&gt;
If you are making changes of your own, keep them in a separate branch, leaving the &#039;&#039;master&#039;&#039; branch to track changes from the source. Git makes it &#039;&#039;so&#039;&#039; much easier to manage your own modifications than svn for those of us without write permission on the repository.&lt;br /&gt;
&lt;br /&gt;
Below is a general description of how Git works. Please look at the [https://git-scm.com/book/en/v2 Pro Git] book for more detailed information. We have not yet tried any GUI clients but may add brief how-tos for the most popular GUIs at a later date.&lt;br /&gt;
&lt;br /&gt;
==Downloading ROMS==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you clone the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order download source code from a git repository, &#039;&#039;&#039;git client&#039;&#039;&#039; software must be installed on your local machine. Most Linux distributions come with git, so shell commands may be used without installing additional software. The general form of git commands is:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git&amp;lt;/span&amp;gt; action &amp;lt;repository&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check-out the files from the ROMS repository &#039;&#039;&#039;master&#039;&#039;&#039; (latest version), enter (notice https instead of http):&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://www.myroms.org/git/src&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;MyDir&#039;&#039;&#039; is the destination directory on your local computer. It will be created if not found. If your want to avoid typing your &#039;&#039;&#039;username&#039;&#039;&#039; for all future code updates, change the command to:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://joe_roms@www.myroms.org/git/src&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only clone once because Git will keep track of the source, destination and a bunch of other information. For more detail on command line use and syntax, see the [https://git-scm.com/book/en/v2 Pro Git] book.&lt;br /&gt;
&lt;br /&gt;
In order to synchronize the Git and Subversion repository revision information, we have created a Git filter that will insert the git hash of the last time a file was modified, similar to the Subversion $Id$ keyword. In order for the filter to work, it has to be explicitly enabled by the user. After the git clone command from above completes change into &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;MyDir&amp;lt;/span&amp;gt; and execute the following:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config filter.id.smudge &amp;quot;.git_filters/id.smudge %f&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you look at the top of any ROMS source file downloaded from the git repository, you will see both the Git commit hash for the last time that file was modified and the corresponding SVN revision properties. For example, the first few lines of &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;ROMS/Modules/mod_ncparam.F&amp;lt;/span&amp;gt; look like this:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;#include &amp;quot;cppdefs.h&amp;quot;&amp;lt;br /&amp;gt;      MODULE mod_ncparam&amp;lt;br /&amp;gt;!&amp;lt;br /&amp;gt;!git $Id: b42658ab652647fca27d50af4afa15c3401fe544 $&amp;lt;br /&amp;gt;!svn $Id: mod_ncparam.F 968 2019-06-17 16:02:48Z arango $&amp;lt;br /&amp;gt;!================================================== Hernan G. Arango ===&amp;lt;br /&amp;gt;!  Copyright (c) 2002-2019 The ROMS/TOMS Group                         !&amp;lt;br /&amp;gt;!    Licensed under a MIT/X style license                              !&amp;lt;br /&amp;gt;!    See License_ROMS.txt                                              !&amp;lt;br /&amp;gt;!=======================================================================&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use the 40 character (hexidecimal) Git hash to show more information about that code update:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git show --name-only b42658ab652647fca27d50af4afa15c3401fe544&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While you are getting your configuration in order, you also want to tell git who you are:&lt;br /&gt;
&lt;br /&gt;
   &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global user.name &amp;quot;your name&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;  &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global user.email &amp;quot;your@email&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is important if you plan to ever commit your own modifications.&lt;br /&gt;
&lt;br /&gt;
Several GUI front-ends to Git exist, allowing the user to have visual prompts to help them manage their files and credentials.&lt;br /&gt;
&lt;br /&gt;
===Updates===&lt;br /&gt;
&lt;br /&gt;
Now and again, you might feel the urge to get up to speed with the latest changes that have been made to the ROMS repository. When that happens, simply go to the directory that was &amp;quot;MyDir&amp;quot; above and type:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Git will remember where you checked out from before and see if a newer revision exists. If so, it will download and apply all the relevant changes.&lt;br /&gt;
&lt;br /&gt;
==Saving ROMS Login Credentials==&lt;br /&gt;
There are a few different options for storing your ROMS login credentials in order to avoid having to type your username and password for every command. See [https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage here] for more details. The simplest way to save your credentials is to use the built-in git-credential-store option. This option is very similar to the default way older Subversion clients store credentials so keep in mind that both your username and password will be stored without encryption in plain text. To use this method, execute the following:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &#039;store --file ~/.my-credentials&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a plain text file that only the file owner (you) has permission to access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Mac OS===&lt;br /&gt;
If you are working on Mac OS there is a simple option for securely storing you credentials using the OS X Keychain. Simply execute:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper osxkeychain&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A window may pop up asking for your system&#039;s password to allow the credentials to be stored in your Keychain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Linux===&lt;br /&gt;
Saving your credentials securely on Linux is a bit more complex and requires extra utilities (GPG) and configuration. This processes is adapted from [https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-github-credentials-for-pushing-commits/18362082#18362082 here] and requires Git version &#039;&#039;&#039;1.8.3&#039;&#039;&#039; or higher and GNU Privacy Guard (GnuPG or GPG). If you already use GPG and have a trusted key already you can skip the first step.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create a GPG key:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gpg --gen-key&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.&amp;lt;br /&amp;gt;This is free software: you are free to change and redistribute it.&amp;lt;br /&amp;gt;There is NO WARRANTY, to the extent permitted by law.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please select what kind of key you want:&amp;lt;br /&amp;gt;   (1) RSA and RSA (default)&amp;lt;br /&amp;gt;   (2) DSA and Elgamal&amp;lt;br /&amp;gt;   (3) DSA (sign only)&amp;lt;br /&amp;gt;   (4) RSA (sign only)&amp;lt;br /&amp;gt;Your selection? &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;RSA keys may be between 1024 and 4096 bits long.&amp;lt;br /&amp;gt;What keysize do you want? (2048) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;4096&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Requested keysize is 4096 bits&amp;lt;br /&amp;gt;Please specify how long the key should be valid.&amp;lt;br /&amp;gt;         0 = key does not expire&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;  = key expires in n days&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;w = key expires in n weeks&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;m = key expires in n months&amp;lt;br /&amp;gt;      &amp;lt;n&amp;gt;y = key expires in n years&amp;lt;br /&amp;gt;Key is valid for? (0) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Key does not expire at all&amp;lt;br /&amp;gt;Is this correct? (y/N) &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;y&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;GnuPG needs to construct a user ID to identify your key.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Real name: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Joe Roms&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Email address: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;joe_roms@host.com&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Comment: &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;GPG Key&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;You selected this USER-ID:&amp;lt;br /&amp;gt;    &amp;quot;David Robertson &amp;lt;robertson@marine.rutgers.edu&amp;gt;&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;You need a Passphrase to protect your secret key.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;# You will be asked to type your passphrase twice&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;We need to generate a lot of random bytes. It is a good idea to perform&amp;lt;br /&amp;gt;some other action (type on the keyboard, move the mouse, utilize the&amp;lt;br /&amp;gt;disks) during the prime generation; this gives the random number&amp;lt;br /&amp;gt;generator a better chance to gain enough entropy.&amp;lt;br /&amp;gt;gpg: key 33EA0E26 marked as ultimately trusted&amp;lt;br /&amp;gt;public and secret key created and signed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;gpg: checking the trustdb&amp;lt;br /&amp;gt;gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model&amp;lt;br /&amp;gt;gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u&amp;lt;br /&amp;gt;pub   4096R/33EA0E26 2019-06-05&amp;lt;br /&amp;gt;      Key fingerprint = 2CA2 904C A7DE CAEF 2266  70F6 1C74 375B 33EA 0E26&amp;lt;br /&amp;gt;uid                  Joe Roms &amp;lt;joe_roms@host.com&amp;gt;&amp;lt;br /&amp;gt;sub   4096R/5A0EDB59 2019-06-05&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download the &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;git-credential-netrc&amp;lt;/span&amp;gt; helper script from github and install it in a directory within your PATH. If there a multiple Git users on your system, you might want to have a system administrator place the script in &amp;lt;span class=&amp;quot;purple&amp;quot;&amp;gt;/usr/bin&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;purple&amp;quot;&amp;gt;/usr/local/bin&amp;lt;/span&amp;gt; so all users will have access to it:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;curl -o ~/bin/git-credential-netrc https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Make a &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;.netrc&amp;lt;/span&amp;gt; file in your home directory in clear text:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd ~&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;vi .netrc&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;machine www.myroms.org&amp;lt;br /&amp;gt;login joe_roms&amp;lt;br /&amp;gt;password secret&amp;lt;br /&amp;gt;protocol https&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;You can add other blocks like the one above for other servers as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Encrypt that file:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;gpg -e -r joe_roms@host.com .netrc&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;This will create a file named .netrc.gpg. You can now safely delete the &amp;lt;span class=&amp;quot;limeGreen&amp;quot;&amp;gt;.netrc&amp;lt;/span&amp;gt; file (the unecrypted one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Use the newly encrypted file for all git operations that require credentials:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &amp;quot;netrc -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or for just a specific respoitory:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd /path/to/repository&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --local credential.helper &amp;quot;netrc -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The first option will save the configuration to ~/.gitconfig while the second option will save to .git/config for the current git repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From now on, any Git command using an HTTPS URL which requires authentication will decrypt that .netrc.gpg file and use the login/password associated to the server you are contacting. The first time, GPG will ask you for the passphrase of your GPG key, to decrypt the file. The other times, the gpg-agent launched automatically by the first GPG call will provide that passphrase for you.&lt;br /&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; If your system&#039;s gpg program has a different name you will need to change the &amp;quot;git config&amp;quot; line accordingly. For example, on an UBUNTU machine the command would look something like this:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git config --global credential.helper &amp;quot;netrc -g gpg2 -f ~/.netrc.gpg -v&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saving Login Credentials Securely on Windows===&lt;br /&gt;
We will add this once tested but you can follow the steps [https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-github-credentials-for-pushing-commits/18362082#18362082 here] if you would like to try it yourself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GUI Git Clients==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you checkout the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once we have some experience with some GUI Git clients, we will add to this section.&lt;br /&gt;
&lt;br /&gt;
===View the Repository===&lt;br /&gt;
The easiest way to view a repository is to simply look at it with [http://trac.edgewall.org/ Trac] in a web browser. Enter the URL:&lt;br /&gt;
&lt;br /&gt;
  [https://www.myroms.org/projects/git-src/login https://www.myroms.org/projects/git-src/login]&lt;br /&gt;
&lt;br /&gt;
and log in with your ROMS credentials. Once logged in, click the &#039;&#039;&#039;Browse Source&#039;&#039;&#039; tab near the top of the page. This is also a good way to see individual files in the repository without actually downloading them.&lt;br /&gt;
&lt;br /&gt;
==Managing Your Own Modifications==&lt;br /&gt;
This assumes that you have a fresh clone of the myroms repository on the &#039;&#039;&#039;master&#039;&#039;&#039; branch. You want to keep &#039;&#039;&#039;master&#039;&#039;&#039; as a pure copy of the source version and keep your own changes in say the &#039;&#039;&#039;arctic&#039;&#039;&#039; branch. Start by creating a branch and switching to it:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git branch arctic&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt; &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout arctic&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can make whatever modifications you like (and test them out). To see what changed, you can use &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git status&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git diff&amp;lt;/span&amp;gt;. To save your changes, do a:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git commit -a&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Though if you add new files you will have to &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git add&amp;lt;/span&amp;gt; them first.&lt;br /&gt;
&lt;br /&gt;
===Getting the Updates===&lt;br /&gt;
It is easy to fetch and merge the updates. Start by updating your &#039;&#039;&#039;master&#039;&#039;&#039; branch:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout master&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then bring the changes into your &#039;&#039;&#039;arctic&#039;&#039;&#039; branch:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git checkout arctic&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git merge master&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will bring in everything that changed since your last &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git pull&amp;lt;/span&amp;gt;, so you might find it easier to keep on top of things by doing this often, not putting it off for years. You can also bring in changes one at a time with &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;git cherry-pick&amp;lt;/span&amp;gt;. Again, check the Pro Git book for much more information about all of these operations.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Subversion&amp;diff=5271</id>
		<title>Subversion</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Subversion&amp;diff=5271"/>
		<updated>2018-03-22T19:49:57Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Downloading ROMS */ Added header&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Subversion&amp;lt;/div&amp;gt;&lt;br /&gt;
ROMS source code is distributed using [http://subversion.tigris.org Subversion](SVN). There are SVN clients available for nearly every operating system and a list of popular clients can be found [http://subversion.tigris.org/links.html#clients here]. If you wish to use Subversion to maintain your own copy of ROMS you will also need an [http://subversion.tigris.org/project_packages.html svn server]. This page will help you get started with downloading ROMS with Subversion. There is also a way to download ROMS using git, described [[ROMS_git | elsewhere]].&lt;br /&gt;
&lt;br /&gt;
==SVN Overview==&lt;br /&gt;
Subversion is a tool for managing software development that keeps track of who modified what and allows the return to a previous version if changes don&#039;t work as expected. All the ROMS/TOMS files are stored in a SVN repository on &#039;&#039;&#039;www.myroms.org&#039;&#039;&#039; with access controlled by requiring authentication with the same ROMS Username/Password combination assigned to registered users of the ROMS Forum.&lt;br /&gt;
&lt;br /&gt;
This SVN repository is the official version of the code which only the developers are allowed to change. Users should download the ROMS code to their local machines using an &#039;&#039;&#039;svn client&#039;&#039;&#039;.  Don&#039;t attempt to use a regular web browser to browse or download files from the SVN repository - there are much better tools for interacting with the code repository. See the notes below under the heading &#039;&#039;&#039;View the Repository&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We strongly recommend users always check out the current &#039;&#039;trunk&#039;&#039; version since this has the most recent updates and bug fixes. The &#039;&#039;tags&#039;&#039; version is kept largely as an historical record of stable releases at the conclusion of major code upgrades. &lt;br /&gt;
&lt;br /&gt;
Below is a general description of how subversion works. Please look at the [http://svnbook.red-bean.com/ svn book] for more detailed information. Brief instructions for using two GUI clients (one for PC and one for Linux) we&#039;ve tried are included.&lt;br /&gt;
&lt;br /&gt;
==Downloading ROMS==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you checkout the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order download source code from a Subversion repository, &#039;&#039;&#039;svn client&#039;&#039;&#039; software must be installed on your local machine. If you are compiling subversion on your own be sure to build it with &#039;&#039;&#039;SSL support&#039;&#039;&#039; or you will not be able to download the ROMS source code. Most Linux distributions come with subversion (the command name is &#039;&#039;&#039;svn&#039;&#039;&#039;), so shell commands may be used without installing additional software. If your username on your local computer is not the same as your ROMS username you will need to pass the &#039;&#039;&#039;--username &amp;lt;username&amp;gt;&#039;&#039;&#039; option to &#039;&#039;&#039;svn&#039;&#039;&#039;; an example is given below. The general form of subversion commands is:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn&amp;lt;/span&amp;gt; action from to {optional_qualifiers} &lt;br /&gt;
&lt;br /&gt;
To check-out the files from the ROMS repository &#039;&#039;&#039;trunk&#039;&#039;&#039; (latest version), enter (notice https instead of http):&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn checkout &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;MyDir&#039;&#039;&#039; is the destination directory on your local computer. It will be created if not found. If your &#039;&#039;&#039;username&#039;&#039;&#039; on your local computer is not the same as your ROMS username you will need to pass the &#039;&#039;&#039;--username&#039;&#039;&#039; option to &#039;&#039;&#039;svn&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn checkout --username joe_roms &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Files for test cases and other repositories===&lt;br /&gt;
There is an additional repository that provides idealized [[Test Cases]] and realistic applications to introduce you to ROMS many capabilities. You may use these examples as a guideline in setting up your own application. Currently, this repository requires &#039;&#039;&#039;~388MB&#039;&#039;&#039; of disk space. This is because the realistic applications require several input NetCDF files. To checkout this repository, enter:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn checkout &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/test&amp;lt;/nowiki&amp;gt; MyTest&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, to check-out the files from the ROMS repository &#039;&#039;&#039;matlab&#039;&#039;&#039; (official scripts), enter:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn checkout &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/matlab&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check-out the files from the ROMS repository &#039;&#039;&#039;plot&#039;&#039;&#039; (NCAR&#039;s library-based plotting package), enter:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn checkout &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/plot&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
To check-out the files from the ROMS repository &#039;&#039;&#039;branches&#039;&#039;&#039;, &#039;&#039;&#039;plot&#039;&#039;&#039;, &#039;&#039;&#039;matlab&#039;&#039;&#039;, &#039;&#039;&#039;tags&#039;&#039;&#039;, &#039;&#039;&#039;test&#039;&#039;&#039;, and &#039;&#039;&#039;trunk&#039;&#039;&#039;, (this is not recommended because it takes a long time to complete) enter:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn checkout &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src&amp;lt;/nowiki&amp;gt; MyDir&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only check out once, after that, a hidden directory called &#039;&#039;&#039;.svn&#039;&#039;&#039; exists to keep track of the source, destination and a bunch of other information. Your username and password will also be saved. For more detail on command line use and syntax, see the [http://svnbook.red-bean.com/ svn book].&lt;br /&gt;
&lt;br /&gt;
Several GUI front-ends to subversion exist, allowing the user to have visual prompts to help them manage their files.&lt;br /&gt;
&lt;br /&gt;
===Updates===&lt;br /&gt;
&lt;br /&gt;
Now and again, you might feel the urge to get up to speed with the latest changes that have been made to the ROMS repository. When that happens, simply go to the directory that was &amp;quot;MyDir&amp;quot; above and type:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn update&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subversion will remember where you checked out from before and see if a newer revision exists. If so, it will download and apply all the relevant changes.&lt;br /&gt;
&lt;br /&gt;
===Code changes===&lt;br /&gt;
&lt;br /&gt;
As you use ROMS, you may find yourself adding new files and new chunks of code to existing files. Unless you are a developer with write access to the repository at www.myroms.org, you have no easy way to save your changes within the svn framework, since any one directory can only point to one repository. To keep getting updates from the trunk, you must keep using the svn server at myroms.org. At the very least, saving a tarball before fetching major updates is a prudent step. A more organized approach to revision control for your own files can be achieved by using [http://git-scm.com/ git].&lt;br /&gt;
&lt;br /&gt;
===Conflicts===&lt;br /&gt;
&lt;br /&gt;
Sometimes when you make changes to your copy of the ROMS code, those changes will conflict with changes made to the repository (the code that resides at &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;). This means that the changes from the server overlapped with your own, and now you have to manually choose between them.&lt;br /&gt;
&lt;br /&gt;
Whenever a conflict occurs, three things typically occur to assist you in resolving that conflict:&lt;br /&gt;
:*Subversion halts during the update, offering you several choices, and remembers that the file is in a state of conflict if you don&#039;t clear it right then.&lt;br /&gt;
:*If Subversion considers the file to be mergeable, it places conflict markers (special strings of text which delimit the “sides” of the conflict, usually &amp;quot;&amp;lt;&amp;quot; and &amp;quot;&amp;gt;&amp;quot; characters) into the file to visibly demonstrate the overlapping areas.&lt;br /&gt;
:*For every conflicted file, Subversion places three extra unversioned (not under Subversion control) files in your working copy:&lt;br /&gt;
::*&#039;&#039;&#039;filename.mine:&#039;&#039;&#039; This is your file as it existed in your working copy (local copy) before you updated your working copy. This file has only your latest changes in it. (If Subversion considers the file to be unmergeable, then the .mine file isn&#039;t created, since it would be identical to the working file.)&lt;br /&gt;
::*&#039;&#039;&#039;filename.rOLDREV:&#039;&#039;&#039; This is the file that was the &#039;&#039;&#039;BASE&#039;&#039;&#039; revision before you updated your working copy. That is, the file that you checked out before you made your latest edits.&lt;br /&gt;
::*&#039;&#039;&#039;filename.rNEWREV:&#039;&#039;&#039; This is the file that your Subversion client just received from the server when you updated your working copy. This file corresponds to the HEAD (latest) revision of the repository.&lt;br /&gt;
&lt;br /&gt;
For example, let&#039;s say you checked out revision 280 and made some changes to &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;User/Functionals/ana_hmixcoef.h&amp;lt;/span&amp;gt;. Now you want to update your ROMS source code to take advantage of a new algorithm but when you run &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn update&amp;lt;/span&amp;gt; your &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;ana_hmixcoef.h&amp;lt;/span&amp;gt; is now in conflict with the new version in the repository.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn update&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;U Version&amp;lt;br&amp;gt;U ROMS/Modules/mod_mixing.F&amp;lt;br&amp;gt;U ROMS/Functionals/ana_hmixcoef.h&amp;lt;br&amp;gt;C User/Functionals/ana_hmixcoef.h&amp;lt;br&amp;gt;Updated to revision 291.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above is with an older version of svn. The latest, greatest does this:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;Conflict discovered in &#039;ROMS/Utility/inp_par.F&#039;.&amp;lt;br&amp;gt;Select: (p) postpone, (df) diff-full, (e) edit,&amp;lt;br&amp;gt;        (mc) mine-conflict, (tc) theirs-conflict,&amp;lt;br&amp;gt;        (s) show all options:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selecting (p) will behave as the old version.&lt;br /&gt;
&lt;br /&gt;
If you get a conflict, you need to do one of three things:&lt;br /&gt;
:*Merge the conflicted text “by hand” by examining and editing the conflict markers within the file.&lt;br /&gt;
:*Copy one of the temporary files on top of your working file.&lt;br /&gt;
:*Run &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn revert &amp;lt;filename&amp;gt;&amp;lt;/span&amp;gt; to throw away all of your local changes.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve resolved the conflict, you need to let Subversion know by running &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn resolved&amp;lt;/span&amp;gt;. This removes the three temporary files and Subversion no longer considers the file to be in a state of conflict. More on this below.&lt;br /&gt;
&lt;br /&gt;
====Merging Conflicts by Hand====&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend that you make a backup of the &#039;&#039;&#039;&amp;lt;filename&amp;gt;.mine&#039;&#039;&#039; file before you begin to be certain you don&#039;t accidentally lose your modifications.&lt;br /&gt;
&lt;br /&gt;
To merge your changes with those from the latest revision in the repository, open &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;User/Functionals/ana_hmixcoef.h&amp;lt;/span&amp;gt; in your favorite editor and look for a string of &amp;quot;&amp;lt;&amp;quot; characters. You should see something like this:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;&amp;amp;lt; .mine&amp;lt;br&amp;gt;#ifndef DISTRIBUTE&amp;lt;br&amp;gt;      IF (Lanafile.and.(tile.eq.0)) THEN&amp;lt;br&amp;gt;#else&amp;lt;br&amp;gt;      IF (Lanafile) THEN&amp;lt;br&amp;gt;#endif&amp;lt;br&amp;gt;=======&amp;lt;br&amp;gt;#ifdef DISTRIBUTE&amp;lt;br&amp;gt;      IF (Lanafile) THEN&amp;lt;br&amp;gt;#else&amp;lt;br&amp;gt;      IF (Lanafile.and.(tile.eq.0)) THEN&amp;lt;br&amp;gt;#endif&amp;lt;br&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; .r291&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After comparing the two code blocks (separated by the &amp;quot;=&amp;quot; symbol), you decide that you prefer the logic from the repository so you remove the conflict markers and your code so the section now looks like this:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;#ifdef DISTRIBUTE&amp;lt;br&amp;gt;      IF (Lanafile) THEN&amp;lt;br&amp;gt;#else&amp;lt;br&amp;gt;      IF (Lanafile.and.(tile.eq.0)) THEN&amp;lt;br&amp;gt;#endif&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can save the file and let Subversion know that you have resolved the conflict:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn resolved User/Functionals/ana_hmixcoef.h&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;Resolved conflicted state of &#039;User/Functionals/ana_hmixcoef.h&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Copying a File Onto Your Working File====&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend that you make a backup of the &#039;&#039;&#039;&amp;lt;filename&amp;gt;.mine&#039;&#039;&#039; file before you begin to be certain you don&#039;t accidentally lose your modifications.&lt;br /&gt;
&lt;br /&gt;
If you get a conflict and decide that you want to throw out your changes, you can merely copy one of the temporary files created by Subversion over the file in your working copy. Let&#039;s say you want to use the new revision from the repository:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd User/Functionals&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ls ana_hmixcoef.h*&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;ana_hmixcoef.h  ana_hmixcoef.h.mine  ana_hmixcoef.h.r280  ana_hmixcoef.h.r291&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cp ana_hmixcoef.h.r291 ana_hmixcoef.h&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn resolved ana_hmixcoef.h&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;Resolved conflicted state of &#039;ana_hmixcoef.h&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Punting: Using &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn revert&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
{{note}}&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend that you make a backup of the &#039;&#039;&#039;&amp;lt;filename&amp;gt;.mine&#039;&#039;&#039; file before you begin to be certain you don&#039;t accidentally lose your modifications.&lt;br /&gt;
&lt;br /&gt;
If you get a conflict, and upon examination decide that you want to throw out your changes and start your edits again, just revert your changes:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;cd User/Functionals&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;amp;gt; &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn revert ana_hmixcoef.h&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;Reverted &#039;ana_hmixcoef.h&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that when you revert a conflicted file, you don&#039;t have to run &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;svn resolved&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Using GUI SVN Clients==&lt;br /&gt;
{{warning}}&#039;&#039;&#039;WARNING:&#039;&#039;&#039; It is strongly suggested that you checkout the ROMS source code using the same operating system you wish to compile and run ROMS on. If you download the code on a Windows machine and wish to run it on a non-Windows machine you will need convert the line endings with a utility like &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; or &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;recode&amp;lt;/span&amp;gt;. Even with these utilities you may still have problems compiling ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most of the GUI &#039;&#039;&#039;svn clients&#039;&#039;&#039; are very similar to each other. In this example we will use eSVN, although several users have reported better luck with the free &amp;quot;Foundation Version&amp;quot; of [http://www.syntevo.com/smartsvn/index.jsp/ SmartSVN].&lt;br /&gt;
&lt;br /&gt;
===View the Repository===&lt;br /&gt;
The easiest way to view a repository is to simply look at it with [http://trac.edgewall.org/ Trac] in a web browser. Enter the URL:&lt;br /&gt;
&lt;br /&gt;
https://www.myroms.org/projects/src/browser&lt;br /&gt;
&lt;br /&gt;
You will be prompted for your ROMS username and password. This is also a good way to see individual files in the repository without actually downloading them.&lt;br /&gt;
&lt;br /&gt;
To view the repository with eSVN, Click on the file menu and choose &amp;quot;Browse Repository&amp;quot; and enter repository URL:&lt;br /&gt;
&lt;br /&gt;
[[Image:esvn_browser.jpg]]&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Browse&amp;quot; and you should be able to look at the &#039;&#039;&#039;branches&#039;&#039;&#039;, &#039;&#039;&#039;tags&#039;&#039;&#039;, and &#039;&#039;&#039;trunk&#039;&#039;&#039;. You can navigate the repository with a web browser as described above, but cannot do any of the version control stuff that follows.&lt;br /&gt;
&lt;br /&gt;
===Checkout a Copy of the Trunk===&lt;br /&gt;
&lt;br /&gt;
This process brings a copy of the main code from the repository to your computer and places it under svn control. &amp;quot;Local Path&amp;quot; tells eSVN where you would like your copy of the source code to be located.&lt;br /&gt;
&lt;br /&gt;
[[Image:esvn_checkout.jpg]]&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text stream by like:&lt;br /&gt;
&lt;br /&gt;
    svn checkout &amp;lt;nowiki&amp;gt;https://www.myroms.org/svn/src/trunk&amp;lt;/nowiki&amp;gt; /home/ocean/src --username ocean &lt;br /&gt;
    --password ****** --non-interactive &lt;br /&gt;
    A /home/ocean/src/ROMS&lt;br /&gt;
    A /home/ocean/src/ROMS/License_ROMS.txt&lt;br /&gt;
    A /home/ocean/src/ROMS/Tangent&lt;br /&gt;
    A /home/ocean/src/ROMS/Tangent/tl_rho_eos.F&lt;br /&gt;
    A /home/ocean/src/ROMS/Tangent/tl_uv3dmix.F&lt;br /&gt;
    A /home/ocean/src/ROMS/Tangent/tl_def_his.F&lt;br /&gt;
    ...&lt;br /&gt;
    A /home/ocean/src/Compilers/UNICOS-mk-f90.mk&lt;br /&gt;
    A /home/ocean/src/Compilers/CYGWIN-g95.mk&lt;br /&gt;
    A /home/ocean/src/Compilers/OSF1-f90.mk&lt;br /&gt;
    A /home/ocean/src/Compilers/Darwin-ifort.mk&lt;br /&gt;
    A /home/ocean/src/Compilers/AIX-xlf.mk&lt;br /&gt;
    A /home/ocean/src/Compilers/SunOS-f95.mk&lt;br /&gt;
    A /home/ocean/src/makefile&lt;br /&gt;
    Checked out revision 11.&lt;br /&gt;
    successfully (0)&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5247</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5247"/>
		<updated>2017-05-30T16:55:52Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* How can I set up passive tracers? */ Added Sasha&amp;#039;s CFL post&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt;You need to run the dos2unix command on build.bash.&lt;br /&gt;
&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
&lt;br /&gt;
* Errors like this:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt;in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
&lt;br /&gt;
* Failing to find netcdf.mod:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cp -f /usr/local/include/netcdf.mod /home/kekejiayu/Projects/upwelling/Build&amp;lt;br/&amp;gt;cp: cannot stat ‘/usr/local/include/netcdf.mod’: No such file or directory&amp;lt;/div&amp;gt;You need to have both the netcdf and netcdf-fortran libraries. It is strongly recommended that these be version 4.x, not in the 3 series and that you have USE_NETCDF4=on in your build. Even so, things can go wrong. For instance, recent versions of nc-config rely on finding nf-config in your PATH to work properly. In this case there are three options:&lt;br /&gt;
*#Add the full path to nf-config to you your PATH environment variable.&lt;br /&gt;
*#Change the appropriate NC_CONFIG declaration in your [[build.{sh|bash}|build_Script]] to the full path to your &amp;quot;nf-config&amp;quot;.&lt;br /&gt;
*#Change &amp;quot;nc-config&amp;quot; to &amp;quot;nf-config&amp;quot; in the appropriate file in the Compilers directory. If &amp;quot;nf-config&amp;quot; is not in your path you will need to set this to the full path of your &amp;quot;nf-config&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
&lt;br /&gt;
* Trouble with the netcdf module file:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt; Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
You probably also want [[Options#ANA_SPFLUX | ANA_SPFLUX]] and [[Options#ANA_BPFLUX | ANA_BPFLUX]] for analytic surface and bottom passive tracer fluxes.&lt;br /&gt;
&lt;br /&gt;
=== What is the CFL criterion for ROMS? ===&lt;br /&gt;
&lt;br /&gt;
From Sasha Shchepetkin:&lt;br /&gt;
&lt;br /&gt;
1. Barotropic mode. The easiest to predict and control -- based on speed of the external waves, c_g=sqrt(g*h) where h is local depth, then &amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt;Cg = c_g*dtfast*\sqrt{1/dx^2 +1/dy^2}&amp;lt;/math&amp;gt; with dx and dy evaluated locally; Cg_max=max{Cg} over all horizontal grid points. This one is computed at the beginning of the run and reported by routine setup_grid2 and is is not monitored by diag thereafter. Its maximum allowed value depends on the particular time stepping algorithm and should be 0.87 for generalized FB stepping or 0.9-something for LF-AM3.&lt;br /&gt;
&lt;br /&gt;
2. Internal wave speed. Essentially phase speed of the first baroclinic mode multiplied by dt (slow-mode time step) and by &amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt;\sqrt{1/dx^2 +1/dy^2}&amp;lt;/math&amp;gt; same as above. Once again, this is not monitored by diag because it is difficult to evaluate the phase speed, but one has to rely on oceanographic intuition to pick a reasonable value. Internal waves (first baroclinic mode is the fastest) are typically faster than the fastest horizontal advection speed, but is not too fast away from it. So internal phase speeds of about 2.5 m/sec is quite realistic.&lt;br /&gt;
&lt;br /&gt;
3. Horizontal advection. The relevant number is Cu=dt*u/dx, however it should be kept in mind that for a 3D finite volume advection algorithm where fluxes in all three directions are applied simultaneously it is the combination off all three sets of fluxes what controls stability. So the most natural way to interpret Courant number for the 3D advection algorithm is the fraction of water within the control volume which being replaced in one time step. This CFL is monitored by diag.F (if proper CPP switches are activated).&lt;br /&gt;
&lt;br /&gt;
4. Vertical advection. This is the one which is hard to predict in advance, and typically it becomes more and more restrictive as resolution becomes finer. This is both because your solution becomes more vivid, and all currents are intensified as well as due to the nature of hydrostatic equations (because hydrostatic pressure is computed individually in each vertical column, each horizontal velocity &amp;quot;feels&amp;quot; the effect of the nearest neighbors but not several grid intervals away as it would be in the case of nonhydrostatic model. As the result any free-travelling nonlinear internal wave tends to from a sharp shock-like front which has large vertical velocity. Eventually it becomes unrealisticly large if one chooses smaller and smaller horizontal dx. The threshold to ensure that it does not happen is the aspect ratio: thermocline depth / dx. As long as it is small (say less than unity, but does not have to be vanishingly small), vertical velocity is effectively averages over horizontal grid box area, and therefore cannot be large. Conversely, pushing dx smaller an smaller beyond this threshold makes model violate the applicability of hydrostatic approximation, and in practice result in unrealistically large vertical velocities. (Vice-versa, using nonhydrostatic code on a coarse grid such that the above ratio is vanishingly small is plain waste of resources because the non-hydrostatic effects are essentially non-existing on the scales resolved by such grid, and in this sense it is the fact that horizontal resolution is finite is what makes hydrostatic-approximation model applicable).&lt;br /&gt;
&lt;br /&gt;
Vertical CFL is monitored by diag.F along with total advection CFL, and the latter should be kept under some limit to ensure model stability. The actual limiting value depends on the selection of advection algoritms and details of time stepping for 3D mode. But in any case the criterion is about 1 or so (0.8 or 0.9 or whatever).&lt;br /&gt;
&lt;br /&gt;
Another complication comes from the fact that finer grid means less smoothed topography which translates into larger vertical velocities. Also having/not having tides typically makes major difference in this regard.&lt;br /&gt;
&lt;br /&gt;
Another complication comes from the fact that some modern versions of ROMS have capability to circumvent vertical advection by monitoring overall 3D advective CFL budget and split vertical velocity into two parts, W=We+Wi, in such a way that We always stays within CFL allowed by the explicit advection scheme, and Wi is the &amp;quot;excess&amp;quot; portion vertical velocity which is treated implicitly for both advection of momentum and tracers equations. This offers some relief from vertical CFL.&lt;br /&gt;
&lt;br /&gt;
Another complication comes from the fact that criteria 2 and 3 are actually add up to each other rather than to be constrained separately, i.e., internal wave speed must be increased by advection speed when considering stability budget.&lt;br /&gt;
&lt;br /&gt;
5. Inertial period CFL. Because Coriolis term is treated explicitly it has its own CFL criterion. This is restrictive only if your time step is sufficiently large in absolute sense, that is 1 hour or more; the relevant nondimensioal number f*dt&lt;br /&gt;
&lt;br /&gt;
=== How can I deal with &amp;quot;patch&amp;quot; files? ===&lt;br /&gt;
OK, so maybe no one actually asked this yet, but I posted something in &amp;quot;diff -u&amp;quot; format:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;diff --git a/ROMS/Nonlinear/output.F b/ROMS/Nonlinear/output.F&lt;br /&gt;
index e4fb854..42ff7a8 100644&lt;br /&gt;
--- a/ROMS/Nonlinear/output.F&lt;br /&gt;
+++ b/ROMS/Nonlinear/output.F&lt;br /&gt;
@@ -1,4 +1,5 @@&lt;br /&gt;
 #include &amp;quot;cppdefs.h&amp;quot;&lt;br /&gt;
+#define LONG_NUMS&lt;br /&gt;
 #ifdef NONLINEAR&lt;br /&gt;
       SUBROUTINE output (ng)&lt;br /&gt;
 !&lt;br /&gt;
@@ -111,7 +119,11 @@&lt;br /&gt;
             ifile=(iic(ng)-1)/ndefHIS(ng)+1&lt;br /&gt;
             IF (Master) THEN&lt;br /&gt;
               WRITE (HIS(ng)%name,10) TRIM(HIS(ng)%base), ifile&lt;br /&gt;
+#ifdef LONG_NUMS&lt;br /&gt;
+  10          FORMAT (a,&#039;_&#039;,i5.5,&#039;.nc&#039;)&lt;br /&gt;
+#else&lt;br /&gt;
   10          FORMAT (a,&#039;_&#039;,i4.4,&#039;.nc&#039;)&lt;br /&gt;
+#endif&lt;br /&gt;
             END IF&lt;br /&gt;
 # ifdef DISTRIBUTE&lt;br /&gt;
             CALL mp_bcasts (ng, iNLM, HIS(ng)%name)&amp;lt;/div&amp;gt;Do I honestly expect you to apply this by hand? Not at all. If you save it to a file, called say &amp;quot;diff.out&amp;quot;, there&#039;s more than one way to automatically apply it:&lt;br /&gt;
* Because this was generated by git, you can use &amp;quot;git apply diff.out&amp;quot; to have these changes made to your output.F file. Shown here are two &amp;quot;hunks&amp;quot; starting with the &amp;quot;@@&amp;quot; lines. Git will check all the hunks before applying any so you won&#039;t end up with the file in a half-baked state.&lt;br /&gt;
* A much older tool for applying these patches is &amp;quot;patch&amp;quot;. The proper invocation here is &amp;quot;patch -p1 &amp;lt; diff.out&amp;quot; from the top of your ROMS directory tree, where the &amp;quot;-p1&amp;quot; strips off the a/b pseudo-directories from the git output. Unlike git, patch will apply as many hunks as it can, dumping the rest into an output.F.rej file for you to deal with later.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
One common example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;oceanG 0000000000439EAC load_s2d_ 1564 inp_par.f90&lt;br /&gt;
oceanG 0000000000481B8C read_phypar_ 1215 read_phypar.f90&lt;br /&gt;
oceanG 000000000040F213 inp_par_ 88 inp_par.f90&lt;br /&gt;
oceanG 000000000040666D ocean_control_mod 84 ocean_control.f90&lt;br /&gt;
oceanG 000000000040635F MAIN__ 95 master.f90&amp;lt;/div&amp;gt;load_s2d is used to read a list of forcing files in the trunk code. In the COAWST/ice codes, it is also used to read a list of CLM and BRY files. In the case where there can be multiple BRY files, you need to tell it how many BRY files so that the structure can be allocated. If you are using COAWST/ice, be sure your ocean.in includes the setting of &#039;&#039;&#039;NCLMFILES&#039;&#039;&#039; and &#039;&#039;&#039;NBCFILES&#039;&#039;&#039;, even if you have at most one of them.&lt;br /&gt;
&lt;br /&gt;
Be sure your ocean.in is consistent with your ROMS version!&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. If you leave the filename intact, you will instead trigger a message about the field it can&#039;t read from file forcing.nc. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
Also, if you tell it you have 13 forcing files, then only provide 12, you will get this message when it tries to read that file #13.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5246</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5246"/>
		<updated>2017-05-30T16:44:08Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* How can I set up passive tracers? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt;You need to run the dos2unix command on build.bash.&lt;br /&gt;
&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
&lt;br /&gt;
* Errors like this:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt;in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
&lt;br /&gt;
* Failing to find netcdf.mod:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cp -f /usr/local/include/netcdf.mod /home/kekejiayu/Projects/upwelling/Build&amp;lt;br/&amp;gt;cp: cannot stat ‘/usr/local/include/netcdf.mod’: No such file or directory&amp;lt;/div&amp;gt;You need to have both the netcdf and netcdf-fortran libraries. It is strongly recommended that these be version 4.x, not in the 3 series and that you have USE_NETCDF4=on in your build. Even so, things can go wrong. For instance, recent versions of nc-config rely on finding nf-config in your PATH to work properly. In this case there are three options:&lt;br /&gt;
*#Add the full path to nf-config to you your PATH environment variable.&lt;br /&gt;
*#Change the appropriate NC_CONFIG declaration in your [[build.{sh|bash}|build_Script]] to the full path to your &amp;quot;nf-config&amp;quot;.&lt;br /&gt;
*#Change &amp;quot;nc-config&amp;quot; to &amp;quot;nf-config&amp;quot; in the appropriate file in the Compilers directory. If &amp;quot;nf-config&amp;quot; is not in your path you will need to set this to the full path of your &amp;quot;nf-config&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
&lt;br /&gt;
* Trouble with the netcdf module file:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt; Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
You probably also want ANA_SPFLUX and ANA_BPFLUX for analytic surface and bottom passive tracer fluxes.&lt;br /&gt;
&lt;br /&gt;
=== How can I deal with &amp;quot;patch&amp;quot; files? ===&lt;br /&gt;
OK, so maybe no one actually asked this yet, but I posted something in &amp;quot;diff -u&amp;quot; format:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;diff --git a/ROMS/Nonlinear/output.F b/ROMS/Nonlinear/output.F&lt;br /&gt;
index e4fb854..42ff7a8 100644&lt;br /&gt;
--- a/ROMS/Nonlinear/output.F&lt;br /&gt;
+++ b/ROMS/Nonlinear/output.F&lt;br /&gt;
@@ -1,4 +1,5 @@&lt;br /&gt;
 #include &amp;quot;cppdefs.h&amp;quot;&lt;br /&gt;
+#define LONG_NUMS&lt;br /&gt;
 #ifdef NONLINEAR&lt;br /&gt;
       SUBROUTINE output (ng)&lt;br /&gt;
 !&lt;br /&gt;
@@ -111,7 +119,11 @@&lt;br /&gt;
             ifile=(iic(ng)-1)/ndefHIS(ng)+1&lt;br /&gt;
             IF (Master) THEN&lt;br /&gt;
               WRITE (HIS(ng)%name,10) TRIM(HIS(ng)%base), ifile&lt;br /&gt;
+#ifdef LONG_NUMS&lt;br /&gt;
+  10          FORMAT (a,&#039;_&#039;,i5.5,&#039;.nc&#039;)&lt;br /&gt;
+#else&lt;br /&gt;
   10          FORMAT (a,&#039;_&#039;,i4.4,&#039;.nc&#039;)&lt;br /&gt;
+#endif&lt;br /&gt;
             END IF&lt;br /&gt;
 # ifdef DISTRIBUTE&lt;br /&gt;
             CALL mp_bcasts (ng, iNLM, HIS(ng)%name)&amp;lt;/div&amp;gt;Do I honestly expect you to apply this by hand? Not at all. If you save it to a file, called say &amp;quot;diff.out&amp;quot;, there&#039;s more than one way to automatically apply it:&lt;br /&gt;
* Because this was generated by git, you can use &amp;quot;git apply diff.out&amp;quot; to have these changes made to your output.F file. Shown here are two &amp;quot;hunks&amp;quot; starting with the &amp;quot;@@&amp;quot; lines. Git will check all the hunks before applying any so you won&#039;t end up with the file in a half-baked state.&lt;br /&gt;
* A much older tool for applying these patches is &amp;quot;patch&amp;quot;. The proper invocation here is &amp;quot;patch -p1 &amp;lt; diff.out&amp;quot; from the top of your ROMS directory tree, where the &amp;quot;-p1&amp;quot; strips off the a/b pseudo-directories from the git output. Unlike git, patch will apply as many hunks as it can, dumping the rest into an output.F.rej file for you to deal with later.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
One common example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;oceanG 0000000000439EAC load_s2d_ 1564 inp_par.f90&lt;br /&gt;
oceanG 0000000000481B8C read_phypar_ 1215 read_phypar.f90&lt;br /&gt;
oceanG 000000000040F213 inp_par_ 88 inp_par.f90&lt;br /&gt;
oceanG 000000000040666D ocean_control_mod 84 ocean_control.f90&lt;br /&gt;
oceanG 000000000040635F MAIN__ 95 master.f90&amp;lt;/div&amp;gt;load_s2d is used to read a list of forcing files in the trunk code. In the COAWST/ice codes, it is also used to read a list of CLM and BRY files. In the case where there can be multiple BRY files, you need to tell it how many BRY files so that the structure can be allocated. If you are using COAWST/ice, be sure your ocean.in includes the setting of &#039;&#039;&#039;NCLMFILES&#039;&#039;&#039; and &#039;&#039;&#039;NBCFILES&#039;&#039;&#039;, even if you have at most one of them.&lt;br /&gt;
&lt;br /&gt;
Be sure your ocean.in is consistent with your ROMS version!&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. If you leave the filename intact, you will instead trigger a message about the field it can&#039;t read from file forcing.nc. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
Also, if you tell it you have 13 forcing files, then only provide 12, you will get this message when it tries to read that file #13.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5245</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5245"/>
		<updated>2016-12-09T20:04:09Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* L */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_2003&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, J. E. Hare, A. A. Grachev and J. B. Edson (2003): Bulk parameterization of air-sea fluxes: Updates and verification for the COARE algorithm. &#039;&#039;J. Clim.&#039;&#039;, &#039;&#039;&#039;16 (4)&#039;&#039;&#039; 571-591, doi: 10.1175/1520-0442(2003)016&amp;lt;0571:BPOASF&amp;gt;2.0.CO;2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lemieux_2015&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lemieux, J.-F., L. B. Tremblay, F. Dupont, M. Plante, G. C. Smith, and D. Dumont (2015), A basal stress parameterization for modeling landfast ice, &#039;&#039;J. Geophys. Res. Oceans&#039;&#039;, &#039;&#039;&#039;120&#039;&#039;&#039;, 3157–3173, doi:10.1002/2014JC010678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mason_2010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mason, E., J. Molemaker, A. F. Shcheptkin, F. Colas, J. C. McWilliams and P. Sangrà, 2010: Procedures for offline grid nesting in regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, 1-15.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Maykut_1971&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Maykut, G. A. and N. Untersteiner, 1971: Some results from a time-dependent thermodynamic model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;76&#039;&#039;&#039;, 1550-1575. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5244</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5244"/>
		<updated>2016-12-09T20:03:27Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* L */ update Lemieux et al&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_2003&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, J. E. Hare, A. A. Grachev and J. B. Edson (2003): Bulk parameterization of air-sea fluxes: Updates and verification for the COARE algorithm. &#039;&#039;J. Clim.&#039;&#039;, &#039;&#039;&#039;16 (4)&#039;&#039;&#039; 571-591, doi: 10.1175/1520-0442(2003)016&amp;lt;0571:BPOASF&amp;gt;2.0.CO;2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lemieux_2015&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lemieux, J.-F., L. B. Tremblay, F. Dupont, M. Plante, G. C. Smith, and D. Dumont (2015), A basal stress parameterization for modeling landfast ice, J. Geophys. Res. Oceans, 120, 3157–3173, doi:10.1002/2014JC010678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mason_2010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mason, E., J. Molemaker, A. F. Shcheptkin, F. Colas, J. C. McWilliams and P. Sangrà, 2010: Procedures for offline grid nesting in regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, 1-15.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Maykut_1971&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Maykut, G. A. and N. Untersteiner, 1971: Some results from a time-dependent thermodynamic model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;76&#039;&#039;&#039;, 1550-1575. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5243</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5243"/>
		<updated>2016-11-22T21:55:09Z</updated>

		<summary type="html">&lt;p&gt;Kate: New question no one thought to ask (yet)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt;You need to run the dos2unix command on build.bash.&lt;br /&gt;
&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
&lt;br /&gt;
* Errors like this:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt;in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
&lt;br /&gt;
* Failing to find netcdf.mod:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cp -f /usr/local/include/netcdf.mod /home/kekejiayu/Projects/upwelling/Build&amp;lt;br/&amp;gt;cp: cannot stat ‘/usr/local/include/netcdf.mod’: No such file or directory&amp;lt;/div&amp;gt;You need to have both the netcdf and netcdf-fortran libraries. It is strongly recommended that these be version 4.x, not in the 3 series and that you have USE_NETCDF4=on in your build. Even so, things can go wrong. For instance, recent versions of nc-config rely on finding nf-config in your PATH to work properly. In this case there are three options:&lt;br /&gt;
*#Add the full path to nf-config to you your PATH environment variable.&lt;br /&gt;
*#Change the appropriate NC_CONFIG declaration in your [[build.{sh|bash}|build_Script]] to the full path to your &amp;quot;nf-config&amp;quot;.&lt;br /&gt;
*#Change &amp;quot;nc-config&amp;quot; to &amp;quot;nf-config&amp;quot; in the appropriate file in the Compilers directory. If &amp;quot;nf-config&amp;quot; is not in your path you will need to set this to the full path of your &amp;quot;nf-config&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
&lt;br /&gt;
* Trouble with the netcdf module file:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt; Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
=== How can I deal with &amp;quot;patch&amp;quot; files? ===&lt;br /&gt;
OK, so maybe no one actually asked this yet, but I posted something in &amp;quot;diff -u&amp;quot; format:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;diff --git a/ROMS/Nonlinear/output.F b/ROMS/Nonlinear/output.F&lt;br /&gt;
index e4fb854..42ff7a8 100644&lt;br /&gt;
--- a/ROMS/Nonlinear/output.F&lt;br /&gt;
+++ b/ROMS/Nonlinear/output.F&lt;br /&gt;
@@ -1,4 +1,5 @@&lt;br /&gt;
 #include &amp;quot;cppdefs.h&amp;quot;&lt;br /&gt;
+#define LONG_NUMS&lt;br /&gt;
 #ifdef NONLINEAR&lt;br /&gt;
       SUBROUTINE output (ng)&lt;br /&gt;
 !&lt;br /&gt;
@@ -111,7 +119,11 @@&lt;br /&gt;
             ifile=(iic(ng)-1)/ndefHIS(ng)+1&lt;br /&gt;
             IF (Master) THEN&lt;br /&gt;
               WRITE (HIS(ng)%name,10) TRIM(HIS(ng)%base), ifile&lt;br /&gt;
+#ifdef LONG_NUMS&lt;br /&gt;
+  10          FORMAT (a,&#039;_&#039;,i5.5,&#039;.nc&#039;)&lt;br /&gt;
+#else&lt;br /&gt;
   10          FORMAT (a,&#039;_&#039;,i4.4,&#039;.nc&#039;)&lt;br /&gt;
+#endif&lt;br /&gt;
             END IF&lt;br /&gt;
 # ifdef DISTRIBUTE&lt;br /&gt;
             CALL mp_bcasts (ng, iNLM, HIS(ng)%name)&amp;lt;/div&amp;gt;Do I honestly expect you to apply this by hand? Not at all. If you save it to a file, called say &amp;quot;diff.out&amp;quot;, there&#039;s more than one way to automatically apply it:&lt;br /&gt;
* Because this was generated by git, you can use &amp;quot;git apply diff.out&amp;quot; to have these changes made to your output.F file. Shown here are two &amp;quot;hunks&amp;quot; starting with the &amp;quot;@@&amp;quot; lines. Git will check all the hunks before applying any so you won&#039;t end up with the file in a half-baked state.&lt;br /&gt;
* A much older tool for applying these patches is &amp;quot;patch&amp;quot;. The proper invocation here is &amp;quot;patch -p1 &amp;lt; diff.out&amp;quot; from the top of your ROMS directory tree, where the &amp;quot;-p1&amp;quot; strips off the a/b pseudo-directories from the git output. Unlike git, patch will apply as many hunks as it can, dumping the rest into an output.F.rej file for you to deal with later.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
One common example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;oceanG 0000000000439EAC load_s2d_ 1564 inp_par.f90&lt;br /&gt;
oceanG 0000000000481B8C read_phypar_ 1215 read_phypar.f90&lt;br /&gt;
oceanG 000000000040F213 inp_par_ 88 inp_par.f90&lt;br /&gt;
oceanG 000000000040666D ocean_control_mod 84 ocean_control.f90&lt;br /&gt;
oceanG 000000000040635F MAIN__ 95 master.f90&amp;lt;/div&amp;gt;load_s2d is used to read a list of forcing files in the trunk code. In the COAWST/ice codes, it is also used to read a list of CLM and BRY files. In the case where there can be multiple BRY files, you need to tell it how many BRY files so that the structure can be allocated. If you are using COAWST/ice, be sure your ocean.in includes the setting of &#039;&#039;&#039;NCLMFILES&#039;&#039;&#039; and &#039;&#039;&#039;NBCFILES&#039;&#039;&#039;, even if you have at most one of them.&lt;br /&gt;
&lt;br /&gt;
Be sure your ocean.in is consistent with your ROMS version!&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. If you leave the filename intact, you will instead trigger a message about the field it can&#039;t read from file forcing.nc. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
Also, if you tell it you have 13 forcing files, then only provide 12, you will get this message when it tries to read that file #13.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5234</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5234"/>
		<updated>2016-06-16T21:16:47Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Segmentation fault */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt;You need to run the dos2unix command on build.bash.&lt;br /&gt;
&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
&lt;br /&gt;
* Errors like this:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt;in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
&lt;br /&gt;
* Failing to find netcdf.mod:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cp -f /usr/local/include/netcdf.mod /home/kekejiayu/Projects/upwelling/Build&amp;lt;br/&amp;gt;cp: cannot stat ‘/usr/local/include/netcdf.mod’: No such file or directory&amp;lt;/div&amp;gt;You need to have both the netcdf and netcdf-fortran libraries. It is strongly recommended that these be version 4.x, not in the 3 series and that you have USE_NETCDF4=on in your build. Even so, things can go wrong. For instance, recent versions of nc-config rely on finding nf-config in your PATH to work properly. In this case there are three options:&lt;br /&gt;
*#Add the full path to nf-config to you your PATH environment variable.&lt;br /&gt;
*#Change the appropriate NC_CONFIG declaration in your [[build.{sh|bash}|build_Script]] to the full path to your &amp;quot;nf-config&amp;quot;.&lt;br /&gt;
*#Change &amp;quot;nc-config&amp;quot; to &amp;quot;nf-config&amp;quot; in the appropriate file in the Compilers directory. If &amp;quot;nf-config&amp;quot; is not in your path you will need to set this to the full path of your &amp;quot;nf-config&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
&lt;br /&gt;
* Trouble with the netcdf module file:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt; Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
One common example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;oceanG 0000000000439EAC load_s2d_ 1564 inp_par.f90&lt;br /&gt;
oceanG 0000000000481B8C read_phypar_ 1215 read_phypar.f90&lt;br /&gt;
oceanG 000000000040F213 inp_par_ 88 inp_par.f90&lt;br /&gt;
oceanG 000000000040666D ocean_control_mod 84 ocean_control.f90&lt;br /&gt;
oceanG 000000000040635F MAIN__ 95 master.f90&amp;lt;/div&amp;gt;load_s2d is used to read a list of forcing files in the trunk code. In the COAWST/ice codes, it is also used to read a list of CLM and BRY files. In the case where there can be multiple BRY files, you need to tell it how many BRY files so that the structure can be allocated. If you are using COAWST/ice, be sure your ocean.in includes the setting of &#039;&#039;&#039;NCLMFILES&#039;&#039;&#039; and &#039;&#039;&#039;NBCFILES&#039;&#039;&#039;, even if you have at most one of them.&lt;br /&gt;
&lt;br /&gt;
Be sure your ocean.in is consistent with your ROMS version!&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. If you leave the filename intact, you will instead trigger a message about the field it can&#039;t read from file forcing.nc. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
Also, if you tell it you have 13 forcing files, then only provide 12, you will get this message when it tries to read that file #13.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5200</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5200"/>
		<updated>2016-03-24T18:18:56Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Errors at compile time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Failing to find netcdf.mod:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cp -f /usr/local/include/netcdf.mod /home/kekejiayu/Projects/upwelling/Build&amp;lt;br/&amp;gt;cp: cannot stat ‘/usr/local/include/netcdf.mod’: No such file or directory&amp;lt;/div&amp;gt;You need to have both the netcdf and netcdf-fortran libraries. It is strongly recommended that these be version 4.x, not in the 3 series and that you have USE_NETCDF4=on in your build. Even so, things can go wrong. For instance, some computers don&#039;t update nc-config with the fortran info when installing netcdf-fortran. For them, change &amp;quot;nc-config&amp;quot; to &amp;quot;nf-config&amp;quot; in the appropriate file in the Compilers directory.&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. If you leave the filename intact, you will instead trigger a message about the field it can&#039;t read from file forcing.nc. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
Also, if you tell it you have 13 forcing files, then only provide 12, you will get this message when it tries to read that file #13.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5199</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5199"/>
		<updated>2016-02-26T01:23:35Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* NETCDF_OPEN - unable to open existing NetCDF file: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. If you leave the filename intact, you will instead trigger a message about the field it can&#039;t read from file forcing.nc. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
Also, if you tell it you have 13 forcing files, then only provide 12, you will get this message when it tries to read that file #13.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5198</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5198"/>
		<updated>2016-02-25T02:42:30Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* NETCDF_OPEN - unable to open existing NetCDF file: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. If you leave the filename intact, you will instead trigger a message about the field it can&#039;t read from file forcing.nc. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5197</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5197"/>
		<updated>2016-02-25T02:41:01Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Blowing up in diag.F */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== NETCDF_OPEN - unable to open existing NetCDF file: ===&lt;br /&gt;
followed by some random junk. In the ocean.in file, it is best not to comment out the lines with input filenames. For example, if ROMS wants to read a forcing file and doesn&#039;t know the name of it, it will have junk in the filename. I know there are times when one doesn&#039;t want to provide a forcing file, yet ROMS insists that it needs one. You can check globaldefs.h for the conditions that trigger the need for FRC_FILE.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5195</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5195"/>
		<updated>2016-02-02T06:55:59Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Segmentation fault */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries, (e) asking get_ngfld to read a field of all land values. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Tutorials&amp;diff=5194</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Tutorials&amp;diff=5194"/>
		<updated>2015-12-09T19:42:12Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* ROMS Manual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;ROMS Tutorials&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page is for tutorials on using ROMS and other related software. If you create a tutorial please create a link to that tutorial in the list below.&lt;br /&gt;
&lt;br /&gt;
==ROMS Manual==&lt;br /&gt;
:*[https://github.com/kshedstrom/roms_manual/blob/master/roms_manual.pdf ROMS Manual]&lt;br /&gt;
&lt;br /&gt;
==Installing ROMS==&lt;br /&gt;
:*[[ROMS_Mac|Installing ROMS on a Macintosh]]&lt;br /&gt;
:*[[ROMS_Cygwin|Installing ROMS in Windows XP/Vista (via Cygwin)]]&lt;br /&gt;
:*[[ROMS_UNSW2008|Installing and Running ROMS for First Time Users. Tutorial at UNSW Computer Labs, 30 March 2009]]&lt;br /&gt;
:*[[ROMS_git|Installing ROMS via git]]&lt;br /&gt;
&lt;br /&gt;
==Sediment Tutorials==&lt;br /&gt;
:*[[CSTMS_UNSW2008|Adding sediment to the Latte example. Tutorial at Sydney Institute of Marine Sciences, 3 April 2009]]&lt;br /&gt;
:*[[CSTMS_SEDTOY|Sediment Toy Description]]&lt;br /&gt;
&lt;br /&gt;
==Data Assimilation==&lt;br /&gt;
:*[[4DVar_Tutorial_Introduction|4-Dimensional Variational (4D-Var) Tutorial]]&lt;br /&gt;
&lt;br /&gt;
==Utilities and Tools==&lt;br /&gt;
:*[[MEXNC|For Matlab users: Installing MEXNC, SNCTOOLS and ROMS-Matlab-toolkit]]&lt;br /&gt;
:*[[Plotting_Package_Installation|Installing and Using the ROMS/TOMS Plotting Package]]&lt;br /&gt;
&lt;br /&gt;
==Hong Kong Workshop==&lt;br /&gt;
:*[[HK_2011|Ten-day overview of using ROMS, from equations to python tools]]&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=ROMS_git&amp;diff=5193</id>
		<title>ROMS git</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=ROMS_git&amp;diff=5193"/>
		<updated>2015-12-08T23:03:39Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* What is git? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Tutorial: Installing ROMS via git&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I would like to explain how and why one would install ROMS via git-svn.&lt;br /&gt;
&lt;br /&gt;
==What is git?==&lt;br /&gt;
Git is a distributed version control system available from [http://git-scm.com/]. That site also contains links to documentation and other resources, including the fabulous [https://git-scm.com/book/en/v2 Pro Git] book. I have also written about it [https://www.myroms.org/wiki/index.php/File:Git.pdf here] and on the [https://www.myroms.org/blog/ ROMS blog]. As git is a distributed system, any copy you make of a repository is complete unto itself, with history and possibly branches. If you download ROMS via git-svn, you now have an environment in which you can save your own changes, create new branches, and keep a history of what you have tried.&lt;br /&gt;
&lt;br /&gt;
As a ROMS developer, I have write access to a branch at the Rutgers svn server, but that&#039;s not true of most users. As ROMS users, you still have opportunity to create and modify ROMS files that you might want to manage with some sort of versioning software. This is not easy with svn, in which each &amp;quot;sandbox&amp;quot; can only point to one repository. You&#039;ve got to have one pointing to the myroms.org site in order to get updates. Then the easiest (but unsatisfactory) way to back up your changes is via tarball.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
You will need:&lt;br /&gt;
*svn&lt;br /&gt;
*git&lt;br /&gt;
*some Perl scripts which come with svn, but aren&#039;t always installed&lt;br /&gt;
*Perl&lt;br /&gt;
&lt;br /&gt;
If everything is there and you are in a git sandbox, you can have this sort of exchange:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn --version&amp;lt;br /&amp;gt;git-svn version 1.7.1 (svn 1.6.5)&amp;lt;/div&amp;gt;&lt;br /&gt;
If everything is there and you are not in a git sandbox, you get this instead:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn --version&amp;lt;br /&amp;gt;fatal: Not a git repository (or any of the parent directories): .git&amp;lt;br /&amp;gt;Already at toplevel, but .git not found&amp;lt;br /&amp;gt; at /Users/kate/libexec/git-core/git-svn line 276&amp;lt;/div&amp;gt;&lt;br /&gt;
If the Perl scripts are not there, you get something more like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn --version&amp;lt;br /&amp;gt;Can&#039;t locate SVN/Core.pm in @INC (@INC contains: /u1/uaf/kate/...&amp;lt;/div&amp;gt;&lt;br /&gt;
You might have the best luck with package managers rather than installing from source code.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
For the Hong Kong training, Dale asked me to set up the CIRCLE test problem, in three different flavors. I did so, but the initial conditions require the use of a C language Bessel function, changing the link rules for ROMS. This is the perfect example of why you would want to be able to create alternate branches. What I am going to lead you through here is setting up three branches:&lt;br /&gt;
*master, a copy of the myroms.org trunk&lt;br /&gt;
*circle, a branch with the special features of the CIRCLE problem&lt;br /&gt;
*my_stuff (or whatever name you like), a place to put your own changes&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git config --global user.name “me”&amp;lt;br /&amp;gt;% git config --global user.email “me@work”&amp;lt;br /&amp;gt;% git config --global color.ui “auto”&amp;lt;/div&amp;gt;&lt;br /&gt;
For the first two, substitute &amp;quot;me&amp;quot; with your real name in quotes and &amp;quot;me@work&amp;quot; with your real email address. The third is entirely optional, but provides more colorful output from git. For all, leave out the &amp;quot;--global&amp;quot; argument to have it apply to the current directory only. As it is, it will put information into a .gitconfig file in your home directory.&lt;br /&gt;
&lt;br /&gt;
===Downloading ROMS===&lt;br /&gt;
We want to download a specific revision of ROMS rather than the entire history. As I write this, the current revision (visible at [https://www.myroms.org/svn/src/]) is 529. A recent prior version is 526, from just after the annual changing of the Copyright notice in all files. I&#039;d like to fetch something just before the current version so you can see the update and merge procedures. Grabbing rev 526:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn –r 526 clone --username name https://www.myroms.org/svn/src/trunk [MyDir]&amp;lt;/div&amp;gt;Here, &amp;quot;--username name&amp;quot; is not needed if your ROMS userid is the same as your userid on the local computer, &amp;quot;name&amp;quot; being your ROMS name. If you leave off the MyDir argument, it will create a directory called &amp;quot;trunk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now you can change into the directory called MyDir or trunk and see all the ROMS directories. There will also be a hidden directory called &amp;quot;.git&amp;quot;. One file there that&#039;s useful to look at is .git/config, containing information about other repositories it knows about. Since we haven&#039;t told it about other remote sites yet, it should look something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;[core]&amp;lt;br /&amp;gt;        repositoryformatversion = 0&amp;lt;br /&amp;gt;        filemode = true&amp;lt;br /&amp;gt;        bare = false&amp;lt;br /&amp;gt;        logallrefupdates = true&amp;lt;br /&amp;gt;        ignorecase = true&amp;lt;br /&amp;gt;[svn-remote &amp;quot;svn&amp;quot;]&amp;lt;br /&amp;gt;        url = https://www.myroms.org/svn/src/trunk&amp;lt;br /&amp;gt;        fetch = :refs/remotes/git-svn&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ignoring Files===&lt;br /&gt;
Let&#039;s create a &amp;quot;.gitignore&amp;quot; file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% cat &amp;gt; .gitignore&amp;lt;br /&amp;gt;Build&amp;lt;br /&amp;gt;ocean?&amp;lt;br /&amp;gt;core*&amp;lt;/div&amp;gt;&lt;br /&gt;
We can add this to the list of files to be tracked by git:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add .gitignore&amp;lt;br /&amp;gt;% git commit -m &amp;quot;adding .gitignore&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
Without the &amp;quot;-m string&amp;quot; option, it will open up a text editor, waiting for a description for this commit.&lt;br /&gt;
&lt;br /&gt;
===Creating Branches===&lt;br /&gt;
As we said above, we would like to have three branches at the end, one containing some code for a CIRCLE test problem. Let&#039;s start off with that:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git branch circle&amp;lt;br /&amp;gt;% git checkout circle&amp;lt;br /&amp;gt;% git branch&amp;lt;/div&amp;gt;This last command should just show that we are now in the circle branch:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;green&amp;quot;&amp;gt;* circle&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;  master&amp;lt;/div&amp;gt;&lt;br /&gt;
Now to fetch the circle code from [https://www.myroms.org/wiki/index.php/File:Circle.diffs.gz]. From the trunk directory, we can apply these changes to the circle branch:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% gunzip Circle.diffs.gz&amp;lt;br /&amp;gt;% patch -p1 &amp;lt; Circle.diffs&amp;lt;/div&amp;gt;We can see what we have with &amp;quot;git status&amp;quot;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;br /&amp;gt;# On branch circle&amp;lt;br /&amp;gt;# Changed but not updated:&amp;lt;br /&amp;gt;#   (use &amp;quot;git add &amp;lt;file&amp;gt;...&amp;quot; to update what will be committed)&amp;lt;br /&amp;gt;#   (use &amp;quot;git checkout -- &amp;lt;file&amp;gt;...&amp;quot; to discard changes in working directory)&amp;lt;br /&amp;gt;#&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   Master/Module.mk&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Modules/mod_scalars.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Utility/checkdefs.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Utility/def_info.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Utility/wrt_info.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;br /&amp;gt;# Untracked files:&amp;lt;br /&amp;gt;#   (use &amp;quot;git add &amp;lt;file&amp;gt;...&amp;quot; to include in what will be committed)&amp;lt;br /&amp;gt;#&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Apps/&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;makefile.circle&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;no changes added to commit (use &amp;quot;git add&amp;quot; and/or &amp;quot;git commit -a&amp;quot;)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;git commit -a&amp;quot; will add the updates to all the files that git is already tracking. For this case, we want it to track a couple of new things:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add Apps makefile.circle&amp;lt;/div&amp;gt; Now we can commit the whole works:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit -a -m &amp;quot;Circle problem&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When in this branch, one can run any of the three Circle cases:&lt;br /&gt;
*CIRLCE_BOX - a square grid with masking&lt;br /&gt;
*CIRCLE_ROUND - requires an external circular grid&lt;br /&gt;
*CIRCLE_POLAR - a donut-shaped domain&lt;br /&gt;
If you use build.bash, edit the line near the bottom invoking &amp;quot;make&amp;quot; and change it to &amp;quot;make -f makefile.circle&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Fetching Updates===&lt;br /&gt;
Remember that we hadn&#039;t grabbed the absolute latest, greatest ROMS. We want to go back to the master branch to bring it in, but first, it&#039;s always good practice to make sure there are no stray files lying around:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;br /&amp;gt;# On branch circle&amp;lt;br /&amp;gt;nothing to commit (working directory clean)&amp;lt;/div&amp;gt;&lt;br /&gt;
Now we can go back to the master branch and fetch the updates:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout master&amp;lt;br /&amp;gt;% git svn rebase&amp;lt;/div&amp;gt;&lt;br /&gt;
A rebase is a reordering of the commits, in this case putting our changes after the history that&#039;s coming from the svn repository:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;First, rewinding head to replay your work on top of it...&amp;lt;br /&amp;gt;Applying: adding .gitignore&amp;lt;/div&amp;gt; In this case, I want to keep the master branch as a clean copy of the ROMS trunk code (except for that .gitignore).&lt;br /&gt;
&lt;br /&gt;
===Merging and a Conflict===&lt;br /&gt;
We&#039;ve updated the master branch, but not the circle branch. Let&#039;s go take care of that:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout circle&amp;lt;/div&amp;gt; I can simply show you the merge:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git merge master&amp;lt;/div&amp;gt; or I can show you a little conflict just for fun. Let&#039;s change ROMS/Version to look like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;ROMS/TOMS Framework:  January 19, 2011&amp;lt;br /&amp;gt;===================&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Copyright (c) 2002-2011 The ROMS/TOMS Group&amp;lt;br /&amp;gt;  Licensed under a MIT/X style license&amp;lt;br /&amp;gt;  See License_ROMS.txt&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;svn: $HeadURL$&amp;lt;br /&amp;gt;svn: $LastChangedBy$&amp;lt;br /&amp;gt;svn: $LastChangedRevision$&amp;lt;br /&amp;gt;svn: $LastChangedDate$&amp;lt;br /&amp;gt;svn: $Id$&amp;lt;/div&amp;gt;&lt;br /&gt;
Notice that the svn stuff like &amp;quot;$HeadURL$&amp;quot; has not been expanded. Some of these tags are read by ROMS, so we can fill in useful information there, for at least the URL and author:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;svn: $https://www.myroms.org/svn/src/trunk/$&amp;lt;br /&amp;gt;svn: $arango$&amp;lt;/div&amp;gt; Heck if I&#039;m going to keep the revision number up to date, but go for it if you&#039;re so inclined.&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re ready for a fun merge:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git merge master&amp;lt;br /&amp;gt;error: Your local changes to &#039;ROMS/Version&#039; would be overwritten by merge.  Aborting.&amp;lt;br /&amp;gt;Please, commit your changes or stash them before you can merge.&amp;lt;/div&amp;gt;&lt;br /&gt;
Oops, maybe not quite. Let&#039;s do that commit, then try again:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit -a -m &amp;quot;having fun&amp;quot;&amp;lt;br /&amp;gt;% git merge master&amp;lt;/div&amp;gt;&lt;br /&gt;
We got a conflict message and we can also see the list of troublesome files with:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;/div&amp;gt;&lt;br /&gt;
Opening this file we see:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; HEAD&amp;lt;br /&amp;gt;ROMS/TOMS Framework:  January 19, 2011&amp;lt;br /&amp;gt;=======&amp;lt;br /&amp;gt;ROMS/TOMS Framework: January 18, 2011&amp;lt;br /&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; master&amp;lt;/div&amp;gt;&lt;br /&gt;
Merge conflicts always have the trouble shown between the &amp;quot;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;quot; string and the &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;quot; string, with the &amp;quot;=======&amp;quot; string dividing the two versions. Let&#039;s just clean up the mess, leaving Hernan&#039;s version and then tell git the problem has been resolved:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add ROMS/Version&amp;lt;/div&amp;gt; We can check &amp;quot;git status&amp;quot; again to see that the red file has turned green and we are ready to commit:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conflicts are usually pretty painless, though I know I&#039;m in for some fun merging Hernan&#039;s spatially variable bottom drag with my own version of the same feature. However, with git-svn, each change comes in independently and it&#039;s easier to isolate the changes. After updating the master, it is possible to literally apply one patch at a time with &amp;quot;git cherry-pick&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Another Branch===&lt;br /&gt;
Above we said we want a place for our own changes as well as a place for the CIRCLE problem. We want to make the new branch to be a copy of the master branch. The command &amp;quot;git branch name&amp;quot; copies the current branch, so let&#039;s go back to master first:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout master&amp;lt;br /&amp;gt;% git branch my_stuff&amp;lt;br /&amp;gt;% git checkout my_stuff&amp;lt;br /&amp;gt;% git branch&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One purpose of this new branch could be for running the Tide_bay application. We have the code over in the circle branch, but it can&#039;t be compiled there due to the Bessel function weirdness. Let&#039;s fetch it over to this new branch:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout circle Apps/Tide_bay&amp;lt;/div&amp;gt; We can see the new stuff with:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;/div&amp;gt; Clearly, we want to commit this here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit -m &amp;quot;Tide_bay setup&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Last Tips===&lt;br /&gt;
*Remember to check that &amp;quot;git status&amp;quot; is clean before changing branches.&lt;br /&gt;
*Though a git archive can know about multiple other git repositories, it can only know about one svn site and it has to be set up during the &amp;quot;git svn clone&amp;quot; operation.&lt;br /&gt;
* Side by side directories can each point to different svn sites and be a &amp;quot;git remote&amp;quot; of the other (as discussed here [https://www.myroms.org/blog/?p=171]).&lt;br /&gt;
&lt;br /&gt;
===Cherry-picking Notes===&lt;br /&gt;
I was asked for more on &amp;quot;git cherry-pick&amp;quot;. Here&#039;s an example in two directories, one pointing to an Hernan repo, one pointing to my svn branch. Over in the arango directory:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn rebase&amp;lt;/div&amp;gt;&lt;br /&gt;
This fetches the changes since last time, however long I&#039;ve let it go. Ideally, I&#039;d do a &amp;quot;git log&amp;quot; first to see where things stood before. Now I&#039;ll do it after:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git log&amp;lt;br /&amp;gt;commit 5d4b1e87f84c76e424567cf672a30b7b1623d315&amp;lt;br /&amp;gt;Author: arango &amp;lt;arango@f091316a-d328-0410-a40a-876eff57d070&amp;gt;&amp;lt;br /&amp;gt;Date:   Tue Jan 18 16:38:32 2011 +0000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    src:ticket:483&amp;lt;br /&amp;gt;    &amp;lt;br /&amp;gt;    git-svn-id: https://www.myroms.org/svn/omlab/branches/arango@1361 f091316a-d&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;commit 91a7542ec4e99ca44b340600af3c63519c8f1d35&amp;lt;br /&amp;gt;Author: arango &amp;lt;arango@f091316a-d328-0410-a40a-876eff57d070&amp;gt;&amp;lt;br /&amp;gt;Date:   Fri Jan 14 21:33:39 2011 +0000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    src:ticket:482&amp;lt;br /&amp;gt;    &amp;lt;br /&amp;gt;    git-svn-id: https://www.myroms.org/svn/omlab/branches/arango@1358 f091316a-d&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;commit 2445e4e62f73f54115d2d16c69d6be093b56b0ea&amp;lt;br /&amp;gt;Author: arango &amp;lt;arango@f091316a-d328-0410-a40a-876eff57d070&amp;gt;&amp;lt;br /&amp;gt;Date:   Thu Jan 6 19:40:42 2011 +0000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    src:ticket:481&amp;lt;/div&amp;gt; and so on... In this case I can tell by dates which commits are new to me, since I last merged sometime between the Dec 2 and the Dec 30 commits. That brings the arango directory up to date.&lt;br /&gt;
&lt;br /&gt;
I now go to my svn_src directory. I already told it that the arango directory is a remote, but I need to update its view of it:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git remote update&amp;lt;/div&amp;gt; This pulls over information from the arango repo into the local repo. The remotes I&#039;m tracking can be viewed:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git branch -a&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;green&amp;quot;&amp;gt;* kate_svn&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;  master&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;  remotes/arango/master&amp;lt;br /&amp;gt;  remotes/cygnus/kate_svn&amp;lt;br /&amp;gt;  remotes/cygnus/master&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Now I can pull the changes over one at a time and deal with any conflicts as they arise:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git cherry-pick 4a46a1098e96a5&amp;lt;/div&amp;gt; with the &amp;quot;4a4...&amp;quot; being the start of the SHA1 number corresponding to the commit I&#039;m fetching over. Some come cleanly, some do not:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;Automatic cherry-pick failed.  After resolving the conflicts,&amp;lt;br /&amp;gt;mark the corrected paths with &#039;git add &amp;lt;paths&amp;gt;&#039; or &#039;git rm &amp;lt;paths&amp;gt;&#039;&amp;lt;br /&amp;gt;and commit the result with: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;        git commit -c 4a46a1098e96a5&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt; I can see which files to clean up with &amp;quot;git status&amp;quot;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;# Unmerged paths:&amp;lt;br /&amp;gt;#   (use &amp;quot;git reset HEAD &amp;lt;file&amp;gt;...&amp;quot; to unstage)&amp;lt;br /&amp;gt;#   (use &amp;quot;git add/rm &amp;lt;file&amp;gt;...&amp;quot; as appropriate to mark resolution)#&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;       both modified:      ROMS/Nonlinear/main3d.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;     both modified:      ROMS/Nonlinear/set_avg.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;     both modified:      ROMS/Utility/wrt_avg.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;     both modified:      ROMS/Utility/wrt_his.F&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Just as in the merge conflict, I need to go into each file, then tell git that all is well with that file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add ROMS/Nonlinear/main3d.F&amp;lt;/div&amp;gt; That file will now show up in green instead of red in the &amp;quot;git status&amp;quot; report. Once all conflicted files are clear, it is safe to &amp;quot;git commit&amp;quot; and accept the merge message it brings up. If the cherry-pick is clean, the commit happens automatically and &amp;quot;git status&amp;quot; shows the all clear.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5192</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5192"/>
		<updated>2015-12-02T01:03:19Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* L */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_2003&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, J. E. Hare, A. A. Grachev and J. B. Edson (2003): Bulk parameterization of air-sea fluxes: Updates and verification for the COARE algorithm. &#039;&#039;J. Clim.&#039;&#039;, &#039;&#039;&#039;16 (4)&#039;&#039;&#039; 571-591, doi: 10.1175/1520-0442(2003)016&amp;lt;0571:BPOASF&amp;gt;2.0.CO;2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lemieux_2015&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lemieux J. F., B. Tremblay, F. Dupont, M. Plante, G. C. Smith and D. Dumont, 2015: A basal stress parameterization for modeling landfast ice. &#039;&#039;JGR-Oceans&#039;&#039;, accepted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mason_2010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mason, E., J. Molemaker, A. F. Shcheptkin, F. Colas, J. C. McWilliams and P. Sangrà, 2010: Procedures for offline grid nesting in regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, 1-15.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Maykut_1971&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Maykut, G. A. and N. Untersteiner, 1971: Some results from a time-dependent thermodynamic model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;76&#039;&#039;&#039;, 1550-1575. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5191</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5191"/>
		<updated>2015-11-04T18:52:58Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* M */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_2003&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, J. E. Hare, A. A. Grachev and J. B. Edson (2003): Bulk parameterization of air-sea fluxes: Updates and verification for the COARE algorithm. &#039;&#039;J. Clim.&#039;&#039;, &#039;&#039;&#039;16 (4)&#039;&#039;&#039; 571-591, doi: 10.1175/1520-0442(2003)016&amp;lt;0571:BPOASF&amp;gt;2.0.CO;2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mason_2010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mason, E., J. Molemaker, A. F. Shcheptkin, F. Colas, J. C. McWilliams and P. Sangrà, 2010: Procedures for offline grid nesting in regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, 1-15.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Maykut_1971&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Maykut, G. A. and N. Untersteiner, 1971: Some results from a time-dependent thermodynamic model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;76&#039;&#039;&#039;, 1550-1575. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5190</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5190"/>
		<updated>2015-11-04T18:52:31Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* M */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_2003&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, J. E. Hare, A. A. Grachev and J. B. Edson (2003): Bulk parameterization of air-sea fluxes: Updates and verification for the COARE algorithm. &#039;&#039;J. Clim.&#039;&#039;, &#039;&#039;&#039;16 (4)&#039;&#039;&#039; 571-591, doi: 10.1175/1520-0442(2003)016&amp;lt;0571:BPOASF&amp;gt;2.0.CO;2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mason_2010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mason, E., J. Molemaker, A. F. Shcheptkin, F. Colas, J. C. McWilliams and P. Sangrà, 2010: Procedures for offline grid nesting in regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, 1-15.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Maykut_1971&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Maykut, G. A. and N. Untersteiner, 1971: Some results from a time-dependent thermodynamic model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;76&#039;&#039;&#039;, 1550--1575. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5189</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=5189"/>
		<updated>2015-11-04T00:51:54Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* M */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_2003&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, J. E. Hare, A. A. Grachev and J. B. Edson (2003): Bulk parameterization of air-sea fluxes: Updates and verification for the COARE algorithm. &#039;&#039;J. Clim.&#039;&#039;, &#039;&#039;&#039;16 (4)&#039;&#039;&#039; 571-591, doi: 10.1175/1520-0442(2003)016&amp;lt;0571:BPOASF&amp;gt;2.0.CO;2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mason_2010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mason, E., J. Molemaker, A. F. Shcheptkin, F. Colas, J. C. McWilliams and P. Sangrà, 2010: Procedures for offline grid nesting in regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, 1-15.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5188</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5188"/>
		<updated>2015-10-28T22:06:32Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Errors at compile time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5187</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5187"/>
		<updated>2015-10-28T22:04:21Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Errors at compile time */ Update Netcdf section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: &amp;lt;div class=&amp;quot;box&amp;gt;PGF90-F-0004-Corrupt or Old Module file ./netcdf.mod (distribute.f90: 2750)&amp;lt;/div&amp;gt; Netcdf-fortran must be compiled with the same version of the same compiler you are using now. If not, there will be trouble.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5186</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5186"/>
		<updated>2015-09-11T17:23:53Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Errors at link time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: was it created with the same version of the same compiler? If not, there could be trouble. I&#039;ve seen gfortran give a cryptic message about expecting a left parenthesis when faced with a module file from an older version of gfortran. Usually if it is from a completely different compiler, it will tell you so.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff \&amp;lt;br&amp;gt;-L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib \&amp;lt;br&amp;gt; -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib \&amp;lt;br&amp;gt;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;or&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;fish2 1487% nc-config --flibs&amp;lt;br&amp;gt;-L/opt/cray/netcdf/4.3.2/PGI/141/lib -lnetcdff -L/opt/cray/hdf5/1.8.13/PGI/141/lib -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5185</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=5185"/>
		<updated>2015-09-11T16:58:30Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Errors at link time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: was it created with the same version of the same compiler? If not, there could be trouble. I&#039;ve seen gfortran give a cryptic message about expecting a left parenthesis when faced with a module file from an older version of gfortran. Usually if it is from a completely different compiler, it will tell you so.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get many, many messages starting with:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;.../Build/libUTIL.a(close_io.o):close_io.f90:(.text+0x1030): undefined reference to `__netcdf_MOD_nf90_strerror&#039;&amp;lt;/div&amp;gt; Check to make sure that the link statement above the errors includes both &#039;-lnetcdff&#039; and &#039;-lnetcdf&#039; with the correct path to the libraries: &#039;-L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib&#039;, for instance.&lt;br /&gt;
&lt;br /&gt;
* Old ROMS versions only linked to libnetcdf.a, while NetCDF 4.x also needs libnetcdff.a to be built from a separate netcdf-fortran package. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
* For all of these issues, we strongly recommend the use of USE_NETCDF4 and its method of running &#039;nc-config --flibs&#039; to find out the correct linking bits, though there are systems on which &#039;nf-config --flibs&#039; works better. Run these things on the command line to find out what works for you:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;pacman13 396% nc-config --flibs&amp;lt;br&amp;gt; -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdff -L/usr/local/pkg/hdf5/hdf5-1.8.10-p1.gnu-4.7.3/lib -L/usr/local/pkg/szip/szip-2.1.gnu/lib -L/usr/local/pkg/udunits/udunits-2.1.24.gnu-4.7.3/lib -L/usr/local/pkg/netcdf/netcdf-4.3.0.gnu-4.7.3/lib -lnetcdf -lnetcdf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4813</id>
		<title>Sea-Ice Model</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4813"/>
		<updated>2014-07-29T15:03:19Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Dynamics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Sea-Ice Model&amp;lt;/div&amp;gt;&lt;br /&gt;
The sea-ice component of ROMS is a combination of the elastic-viscous-plastic (EVP) rheology ([[Bibliography#HunkeEC_1997a | Hunke and Dukowicz, 1997]], [[Bibliography#HunkeEC_2001a | Hunke, 2001]])&lt;br /&gt;
and simple one-layer ice and snow thermodynamics with a molecular sublayer under the ice ([[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]]). It is tightly coupled, having the same grid (Arakawa-C) and timestep as the ocean and sharing the same parallel coding structure for use with MPI or OpenMP.&lt;br /&gt;
__TOC__&lt;br /&gt;
==Dynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The momentum equations describe the change in ice/snow velocity due&lt;br /&gt;
to the combined effects of the Coriolis force, surface ocean tilt,&lt;br /&gt;
air and water stress, and internal ice stress:&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{d}{ dt}(A h_i u)&lt;br /&gt;
  = A h_i fv - A h_i g \frac{\partial \zeta_w }{ \partial x} +&lt;br /&gt;
 \frac{A}{\rho_i}(\tau_a^x + \tau_w^x) + \frac{1}{\rho_i}{\cal F}_x$$&lt;br /&gt;
  $$\frac{d}{ d t}(A h_i v)&lt;br /&gt;
  = - A h_i fu - A h_i g \frac{\partial \zeta_w }{ \partial y} +&lt;br /&gt;
 \frac{A}{\rho_i}(\tau_a^y + \tau_w^y) + \frac{1}{\rho_i}{\cal F}_y.$$&lt;br /&gt;
&lt;br /&gt;
In this model, we neglect the nonlinear advection terms as well as&lt;br /&gt;
the curvilinear terms in the internal ice stress. Nonlinear formulae are used for both the ocean-ice and air-ice surface stress:&lt;br /&gt;
  $$\vec{\tau}_a = \rho_a C_a | \vec{V}_{10} | \vec{V}_{10}$$&lt;br /&gt;
  $$C_a = {1 \over 2} C_d \left[ 1 - \cos( 2 \pi \min(h_i+.1, .5)&lt;br /&gt;
  \right]$$&lt;br /&gt;
  $$\vec{\tau}_w = \rho_w C_w | \vec{v}_w - \vec{v} |&lt;br /&gt;
  ( \vec{v}_w - \vec{v}) .$$ &lt;br /&gt;
The force due to&lt;br /&gt;
the internal ice stress is given by the divergence of the stress&lt;br /&gt;
tensor $\sigma$. The rheology is given by the stress-strain relation of the medium. We would like to emulate the viscous-plastic rheology&lt;br /&gt;
of [[Bibliography#HiblerWD_1979a | Hibler (1979)]]:&lt;br /&gt;
&lt;br /&gt;
$$\sigma_{ij} = 2 \eta \dot \epsilon_{ij} + (\zeta - \eta) \dot \epsilon_{kk} \delta_{ij} - {P \over 2} \delta_{ij}$$&lt;br /&gt;
&lt;br /&gt;
$$\dot \epsilon_{ij} \equiv {1 \over 2} \left( {\partial u_i \over \partial x_j} + {\partial u_j \over \partial x_i} \right)$$&lt;br /&gt;
&lt;br /&gt;
where the nonlinear viscosities are given by&lt;br /&gt;
$$\zeta = { P \over 2 \left[ (\epsilon^2_{11} +&lt;br /&gt;
   \epsilon^2_{22} ) ( 1 + 1/e^2 ) + 4 e^{-2} \epsilon^2_{12}&lt;br /&gt;
   + 2 \epsilon_{11} \epsilon_{22} ( 1 - 1/e^2 ) \right] ^{1/2} }$$&lt;br /&gt;
&lt;br /&gt;
$$\eta = { \zeta \over e^2 }.$$&lt;br /&gt;
&lt;br /&gt;
Hibler&#039;s ice strength is given by:&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i e^{-C(1-A)}$$&lt;br /&gt;
&lt;br /&gt;
while [[Bibliography#Overland_1988 | Overland and Pease (1988)]]: advocate a nonlinear strength:&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i^2 e^{-C(1-A)}$$&lt;br /&gt;
&lt;br /&gt;
in which $P^*$ now depends on the grid spacing. Both options are available in ROMS.&lt;br /&gt;
&lt;br /&gt;
We would also like to have an explicit model that can be solved&lt;br /&gt;
efficiently on parallel computers. The EVP rheology has a tunable&lt;br /&gt;
coefficient $E$ (the Young&#039;s modulus) which can be chosen to make the&lt;br /&gt;
elastic term small compared to the other terms. We rearrange the VP rheology:&lt;br /&gt;
&lt;br /&gt;
$${1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
then add the elastic term:&lt;br /&gt;
&lt;br /&gt;
$${1 \over E} {\partial \sigma_{ij} \over \partial t} + {1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
&lt;br /&gt;
Much like the ocean model, the ice model has a split timestep. The&lt;br /&gt;
internal ice stress term is updated on a shorter timestep so as to&lt;br /&gt;
allow the elastic wave velocity to be resolved.&lt;br /&gt;
&lt;br /&gt;
Once the new ice velocities are computed, the ice tracers can be advected using the &#039;&#039;&#039;MPDATA&#039;&#039;&#039; scheme ([[Bibliography#Smolark | Smolarkiewicz]]). The tracers in this case are the ice thickness, ice concentration, snow thickness, internal ice temperature, and surface melt ponds. The continuity equations describing the evolution of these parameters also include thermodynamic terms ($S_h$, $S_s$ and $S_A$), described [[#Thermodynamics | below]]:&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_i \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_i) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_i) \over \partial y}&lt;br /&gt;
  + S_h + {\cal D}_h$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_s \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_s) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_s) \over \partial y}&lt;br /&gt;
  + S_s + {\cal D}_s$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A \over \partial t} =&lt;br /&gt;
  - {\partial (uA) \over \partial x} - {\partial (vA) \over \partial y}&lt;br /&gt;
  + S_A + {\cal D}_A \qquad \qquad 0 \leq A \leq 1 .$$&lt;br /&gt;
The first two equations represent the conservation of ice and snow. The third is discussed in some detail in [[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]], but&lt;br /&gt;
represents the advection of ice blocks in which no ridging occurs as&lt;br /&gt;
long as there is any open water.&lt;br /&gt;
&lt;br /&gt;
The ice model variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $A(x,y,t)$&lt;br /&gt;
| ice concentration, $0.0 \leq A \leq 1.0$&lt;br /&gt;
|-&lt;br /&gt;
| $C_a$&lt;br /&gt;
| nonlinear air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_d = 2.2 \times 10^{-3}$&lt;br /&gt;
| air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_w = 10 \times 10^{-3}$&lt;br /&gt;
| water drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal D}_h, {\cal D}_s, {\cal D}_A$&lt;br /&gt;
| diffusion terms&lt;br /&gt;
|-&lt;br /&gt;
| $\delta_{ij}$&lt;br /&gt;
| Kronecker delta function&lt;br /&gt;
|-&lt;br /&gt;
| $E$&lt;br /&gt;
| Young&#039;s modulus&lt;br /&gt;
|-&lt;br /&gt;
| $e = 2$&lt;br /&gt;
| eccentricity of the elliptical yield curve&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_{ij}(x,y,t)$&lt;br /&gt;
| strain rate tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\eta(x,y,t)$&lt;br /&gt;
| nonlinear shear viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $f(x,y)$&lt;br /&gt;
| Coriolis parameter&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal F}_x, {\cal F}_y$&lt;br /&gt;
| forces due to internal ice stress&lt;br /&gt;
|-&lt;br /&gt;
| $g$&lt;br /&gt;
| gravity&lt;br /&gt;
|-&lt;br /&gt;
| $H$&lt;br /&gt;
| Heaviside function&lt;br /&gt;
|-&lt;br /&gt;
| $h_i(x,y,t)$&lt;br /&gt;
| ice thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_o$&lt;br /&gt;
| ice cutoff thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_s(x,y,t)$&lt;br /&gt;
| snow thickness on ice-covered fraction&lt;br /&gt;
|-&lt;br /&gt;
| $M$&lt;br /&gt;
| ice mass, $\rho_i A h_i$&lt;br /&gt;
|-&lt;br /&gt;
| $P$&lt;br /&gt;
| ice strength&lt;br /&gt;
|-&lt;br /&gt;
| $P^*, C$&lt;br /&gt;
| ice strength parameters&lt;br /&gt;
|-&lt;br /&gt;
| $S_h, S_s, S_A$&lt;br /&gt;
| thermodynamic terms&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma_{ij}$&lt;br /&gt;
| internal ice stress tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_a$&lt;br /&gt;
| air stress&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_w$&lt;br /&gt;
| water stress&lt;br /&gt;
|-&lt;br /&gt;
| $u,v$&lt;br /&gt;
| the ($x,y$) components of ice velocity $\vec{v}$&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{V}_{10}, \vec{v}_w$&lt;br /&gt;
| 10 meter air and surface water velocities&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta$&lt;br /&gt;
| nonlinear bulk viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta_w$&lt;br /&gt;
| surface elevation of the underlying water&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Note that Hibler&#039;s $h_I$ variable is&lt;br /&gt;
equivalent to our $A h_i$ combination - his $h_I$ is the average&lt;br /&gt;
thickness over the whole gridbox while our $h_i$ is the average&lt;br /&gt;
thickness over the ice-covered fraction of the gridbox.&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Thermodynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The thermodynamics is based on calculating how much ice grows and&lt;br /&gt;
melts on each of the surface, bottom, and sides of the ice floes,&lt;br /&gt;
as well as frazil ice formation:&lt;br /&gt;
&lt;br /&gt;
  [[File:Ice_diag1.png]]&lt;br /&gt;
&lt;br /&gt;
Once the ice tracers are advected, the ice concentration and thickness are timestepped according to the terms on the right:&lt;br /&gt;
&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
\frac{D A h_i}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i} \left[ A (W_{io} - W_{ai}) + (1-A) W_{ao} + W_{fr} \right] \cr&lt;br /&gt;
\frac{D A}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i h_i} \left[ \Phi (1-A) w_{ao} + (1-A) W_{fr} \right] \qquad \qquad 0 \leq A \leq 1  } $$&lt;br /&gt;
&lt;br /&gt;
The term $Ah_i$ is the &amp;quot;effective thickness&amp;quot;, a measure of the ice volume. Its evolution equation is simply quantifying the change in the amount of ice. The ice concentration equation is more interesting in that&lt;br /&gt;
it provides the partitioning between ice melt/growth on the sides vs. on the top and bottom. The parameter $\Phi$ controls this and has differing values for ice melt and retreat. In principle, most of the ice growth is assumed to happen at the base of the ice while rather more of the melt happens on the sides of the ice due to warming of the water in the leads.&lt;br /&gt;
&lt;br /&gt;
The heat fluxes through the ice are based on a simple one layer [[Bibliography#SemtnerAJ_1976a | Semtner (1976)]] type model with snow on top. The temperature is assumed to be linear within the snow and within the ice. The ice contains brine pockets for a total ice salinity of 3.2 or the surface ocean salinity, whichever is less. The surface ocean temperature and salinity is half a $dz$ below the surface. The water right below the surface is assumed to be at the freezing temperature; a logarithmic boundary layer is computed having the temperature and salinity matched at freezing.&lt;br /&gt;
&lt;br /&gt;
Similarly, there is a snow equation:&lt;br /&gt;
$$&lt;br /&gt;
  {D A h_s \over D t} = \left[ A (W_{s} - W_{sm}) \right]&lt;br /&gt;
$$&lt;br /&gt;
where $W_s$ and $W_{sm}$ are the snowfall and snow melt rates, respectively, in units of equivalent water. Also in the model is the depth of the melt ponds in spring, $h_{mp}$ which can be up to 0.1 m, after which melting ice contributes to $W_{ro}$. The melt ponds are not part of the thermal conductivity computations. They could contribute to the albedo computation, but that has been largely commented out.&lt;br /&gt;
&lt;br /&gt;
The ice model thermodynamic variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_w = 0.10$&lt;br /&gt;
| shortwave albedo of water&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.60$&lt;br /&gt;
| shortwave albedo of wet ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.65$&lt;br /&gt;
| shortwave albedo of dry ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of wet snow&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of dry snow&lt;br /&gt;
|-&lt;br /&gt;
| $C_k$&lt;br /&gt;
| snow correction factor&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$ = 2093 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|- &lt;br /&gt;
| $C_{po}$ = 3990 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_w = 0.97$&lt;br /&gt;
| longwave emissivity of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_i = 0.97$&lt;br /&gt;
| longwave emissivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_s = 0.99$&lt;br /&gt;
| longwave emissivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $E(T,r)$&lt;br /&gt;
| enthalpy of the ice/brine system&lt;br /&gt;
|-&lt;br /&gt;
| $F_T\!\uparrow$&lt;br /&gt;
| heat flux from the ocean into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $H\!\downarrow$&lt;br /&gt;
| sensible heat&lt;br /&gt;
|-&lt;br /&gt;
| $i_w$&lt;br /&gt;
| fraction of the solar heating transmitted through a lead into the water below&lt;br /&gt;
|-&lt;br /&gt;
| $k_i$ = 2.04 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $k_s$ = 0.31 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $L_i$ = 302 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of ice&lt;br /&gt;
|-&lt;br /&gt;
| $L_s$ = 110 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of snow&lt;br /&gt;
|-&lt;br /&gt;
| $LE\!\downarrow$&lt;br /&gt;
| latent heat&lt;br /&gt;
|-&lt;br /&gt;
| $LW\!\!\downarrow$&lt;br /&gt;
| incoming longwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $m$ &amp;amp; $-0.054^\circ$C/PSU&lt;br /&gt;
| coefficient in linear $T_f(S) = mS$ equation&lt;br /&gt;
|-&lt;br /&gt;
| $\Phi$&lt;br /&gt;
| contribution to $A$ equation from freezing water&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ai}$&lt;br /&gt;
| heat flux out of the snow/ice surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ao}$&lt;br /&gt;
| heat flux out of the ocean surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{i2}$&lt;br /&gt;
| heat flux up out of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{io}$&lt;br /&gt;
| heat flux up into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{s}$&lt;br /&gt;
| heat flux up through the snow&lt;br /&gt;
|-&lt;br /&gt;
| $r$&lt;br /&gt;
| brine fraction in ice&lt;br /&gt;
|-&lt;br /&gt;
| $\rho_i$ = 910 $m^3/kg$&lt;br /&gt;
| density of ice&lt;br /&gt;
|-&lt;br /&gt;
| $S_i$ = 3.2 PSU&lt;br /&gt;
| salinity of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $SW\!\!\downarrow$&lt;br /&gt;
| incoming shortwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma$ = $5.67 \times 10^{-8}$ W m$^{-2}$ K$^{-4}$&lt;br /&gt;
| Stefan-Boltzmann constant&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
| temperature of the bottom of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
| temperature of the interior of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
| temperature at the upper surface of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_3$&lt;br /&gt;
| temperature at the upper surface of the snow&lt;br /&gt;
|-&lt;br /&gt;
| $T_f$&lt;br /&gt;
| freezing temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_i}$ = $mS_i$&lt;br /&gt;
| melting temperature of ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_s}$ = 0$^\circ$ C&lt;br /&gt;
| melting temperature of snow&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ai}$&lt;br /&gt;
| melt rate on the upper ice/snow surface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ao}$&lt;br /&gt;
| freeze rate at the air/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{fr}$&lt;br /&gt;
| rate of frazil ice growth&lt;br /&gt;
|-&lt;br /&gt;
| $W_{io}$&lt;br /&gt;
| freeze rate at the ice/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ro}$&lt;br /&gt;
| rate of run-off of surface melt water&lt;br /&gt;
|-&lt;br /&gt;
| $W_{s}$&lt;br /&gt;
| snowfall rate&lt;br /&gt;
|-&lt;br /&gt;
| $W_{sm}$&lt;br /&gt;
| snow melt rate&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The locations of the ice and snow temperatures and the heat fluxes:&lt;br /&gt;
&lt;br /&gt;
 [[File:Ice_diag2.png]]&lt;br /&gt;
&lt;br /&gt;
The temperature profile is assumed to be linear between adjacent temperature points. The interior of the ice contains &amp;quot;brine pockets&amp;quot;, leading to a prognostic equation for the temperature $T_1$.&lt;br /&gt;
&lt;br /&gt;
The surface flux to the air is: &lt;br /&gt;
$$&lt;br /&gt;
   Q_{ai} =  - H\!\downarrow - LE\!\downarrow -&lt;br /&gt;
       \epsilon_s LW\!\!\downarrow  -&lt;br /&gt;
      (1 - \alpha_s) SW\!\!\downarrow + \epsilon_s \sigma (T_3+273)^4&lt;br /&gt;
$$&lt;br /&gt;
The incoming shortwave and longwave radiations are assumed to come from an atmospheric model. The formulae for sensible heat, latent heat, and outgoing longwave radiation are the same as in [[Bibliography#ParkinsonCL_1979a |Parkinson and Washington (1979)]] and are shown in [[Radiant Heat Fluxes]]. The sensible heat is a function of $T_3$, as is the heat flux through the snow $Q_s$. Setting $Q_{ai} = Q_s$, we can solve for $T_3$ by setting $T_3^{n+1} = T_3^n + \Delta T_3$ and linearizing in $\Delta T_3$. As in Parkinson and Washington, if $T_3$ is found to be above the melting temperature, it is set to $T_{\rm melt}$ and the extra energy goes into melting the snow or ice:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{ai} &amp;amp; = \frac{Q_{ai} - Q_{i2} }{ \rho_o L_3} \cr&lt;br /&gt;
   L_3 &amp;amp; \equiv \left[ E(T_3,1) - E(T_1, R_1) \right]&lt;br /&gt;
}$$&lt;br /&gt;
Note that $L_3 = (1-r)L_i$ plus a small sensible heat correction. We can store water on the surface in melt pools to a fixed depth---everything extra melted at the surface is assumed to flow into the ocean as $W_{ro}$. The melt ponds however do not contribute to the heat flux computation.&lt;br /&gt;
&lt;br /&gt;
Inside the ice there are brine pockets in which there is salt water at the &#039;&#039;in situ&#039;&#039; freezing temperature. It is assumed that the ice has a uniform overall salinity of $S_i$ and that the freezing temperature is a linear function of salinity. The brine fraction $r$ is given by&lt;br /&gt;
$$&lt;br /&gt;
  r = \frac{S_i m }{ T_1}&lt;br /&gt;
$$&lt;br /&gt;
The enthalpy of the combined ice/brine system is given by&lt;br /&gt;
$$&lt;br /&gt;
  E(T,r) = r(L_i + C_{po}T) + (1-r) C_{pi} T&lt;br /&gt;
$$&lt;br /&gt;
Substituting in for $r$ and differentiating gives:&lt;br /&gt;
$$&lt;br /&gt;
  \frac{\partial E }{ \partial T} = - \frac{S_i m L_i }{ T_1^2} + C_{pi}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Inside the snow, we have &lt;br /&gt;
$$&lt;br /&gt;
   Q_s = \frac{k_s }{ h_s} (T_2 - T_3)&lt;br /&gt;
$$&lt;br /&gt;
The heat conduction in the upper part of the ice layer is&lt;br /&gt;
$$&lt;br /&gt;
   Q_{I2} = \frac{ 2 k_i }{ h_i} (T_1 - T_2)&lt;br /&gt;
$$&lt;br /&gt;
These can be set equal to each other to solve for $T_2$&lt;br /&gt;
$$&lt;br /&gt;
   T_2 = \frac{T_3 + C_k T_1 }{ 1 + C_k}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_k \equiv \frac{2 k_i h_s }{ h_i k_s}.&lt;br /&gt;
$$&lt;br /&gt;
Substituting into (\ref{qi2}), we get:&lt;br /&gt;
$$&lt;br /&gt;
  Q_s = Q_{I2} = \frac{2k_i }{ h_i} \frac{(T_1 - T_3) }{ (1 + C_k)}&lt;br /&gt;
$$&lt;br /&gt;
Note that in the absence of snow, $C_k$ becomes zero and we recover the formula for the no-snow case in which $T_3 = T_2$.&lt;br /&gt;
&lt;br /&gt;
At the bottom of the ice, we have&lt;br /&gt;
$$&lt;br /&gt;
  Q_{I0} = \frac{2 k_i }{ h_i} (T_0 - T_1)&lt;br /&gt;
$$&lt;br /&gt;
The difference between $Q_{I0}$ and $Q_{I2}$ goes into the enthalpy of the ice:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \left[ \frac{\partial E }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla E \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
We can use the chain rule to obtain an equation for timestepping $T_1$:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \frac{\partial E }{ \partial T}&lt;br /&gt;
   \left[ \frac{\partial T_1 }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla T_1 \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
  Q_{I0} - Q_{I2} &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 - T_1) - &lt;br /&gt;
  \frac{(T_1 - T_3) }{ 1 + C_k} \right] \cr&lt;br /&gt;
                  &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 +&lt;br /&gt;
  \frac{T_3 - (2 + C_k) T_1 }{ 1 + C_k} \right]&lt;br /&gt;
} $$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ocean surface boundary conditions==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The ocean receives surface stresses from both the atmosphere and the ice, according to the ice concentration:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   K_m \frac{\partial u_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^x&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^x \cr&lt;br /&gt;
   K_m \frac{\partial v_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^y&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^y  }&lt;br /&gt;
$$&lt;br /&gt;
where the relevant variables are in the following table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $b$&lt;br /&gt;
| 3.14&lt;br /&gt;
| factor&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{E}$&lt;br /&gt;
|&lt;br /&gt;
| evaporation&lt;br /&gt;
|-&lt;br /&gt;
| $k$&lt;br /&gt;
| 0.4&lt;br /&gt;
| von Karman&#039;s constant&lt;br /&gt;
|-&lt;br /&gt;
| $K_m$&lt;br /&gt;
|&lt;br /&gt;
| vertical viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\nu$&lt;br /&gt;
| $1.8 \times 10^{-6} m^2 s^{-1}$&lt;br /&gt;
| kinematic viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{P}$&lt;br /&gt;
|&lt;br /&gt;
| precipitation&lt;br /&gt;
|-&lt;br /&gt;
| $Pr$&lt;br /&gt;
| 13.0&lt;br /&gt;
| molecular Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $P_{rt}$&lt;br /&gt;
| 0.85&lt;br /&gt;
| turbulent Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $S_0$&lt;br /&gt;
|&lt;br /&gt;
| surface salinity&lt;br /&gt;
|-&lt;br /&gt;
| $S$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean salinity&lt;br /&gt;
|-&lt;br /&gt;
| $Sc$&lt;br /&gt;
| 2432&lt;br /&gt;
| molecular Schmidt number&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{io}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the ice&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{ao}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the wind&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
|&lt;br /&gt;
| surface ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $u_\tau$&lt;br /&gt;
|&lt;br /&gt;
| friction velocity $|\tau_{io}|^{1/2} \rho_o^{-1/2}$&lt;br /&gt;
|-&lt;br /&gt;
| $z_0$&lt;br /&gt;
|&lt;br /&gt;
| roughness parameter&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
surface salinity ($T_0 = mS_0$) in the presense of ice. We also have $T$ and $S$ at the uppermost computed ocean point ${1 \over 2} dz$ below the surface. In order to solve for $T_0$ and $S_0$, we assume a [[Bibliography#Yaglom_1974 | Yaglom and Kader, 1974]] logarithmic boundary layer. The upper ocean heat flux is:&lt;br /&gt;
$$&lt;br /&gt;
   \frac{F_T }{ \rho_o C_{po}} = -C_{T_z} (T_0 - T) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{T_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_T}&lt;br /&gt;
$$ $$&lt;br /&gt;
  B_T = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Pr^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Likewise, we have the following equation for the surface salt flux:&lt;br /&gt;
$$&lt;br /&gt;
    F_S = -C_{S_z} (S_0 - S) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{S_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_S}&lt;br /&gt;
$$&lt;br /&gt;
$$&lt;br /&gt;
  B_S = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Sc^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
The ocean model receives the following heat and salt fluxes:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   F_T &amp;amp; = A Q_{io} + (1 - A) Q_{ao} - W_o L_o \cr&lt;br /&gt;
   F_S &amp;amp; = (W_o - A W_{ro}) (S_i-S_0) + (1-A)S_o (\dot{P}-\dot{E}) \cr&lt;br /&gt;
   W_o &amp;amp; \equiv A W_{io} + (1-A) W_{ao} }&lt;br /&gt;
$$ &lt;br /&gt;
&lt;br /&gt;
[[Bibliography#MellorGL_1989a | Mellor and Kantha]] describe solving simultaneously for the five unknowns $W_o$, $T_0$, $S_0$, $F_T$ and $F_S$. Instead, we use the old value of $T_0$ to find $W_{io}$ and therefore $W_o$. Using the new value of $W_{io}$, solve for a new value of $S_0$ and then find the new $T_0$ as the freezing temperature for that salinity:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{io} &amp;amp;= {1 \over L_o} \left[ {Q_{io} \over \rho_o} + C_{po}&lt;br /&gt;
   C_{T_z} (T_o - T) \right] \cr&lt;br /&gt;
   S_0 &amp;amp;= { C_{S_z} S + (W_{ai}H(-W_{ai}) - W_{io})) S_i \over&lt;br /&gt;
   C_{S_z} + W_{ai}H(-W_{ai}) + W_{ro} - W_{io} } }&lt;br /&gt;
$$&lt;br /&gt;
Note that the term $W_{ai}H(-W_{ai})$ is the contribution of melting only, not refreezing of melt ponds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frazil ice formation==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
Following [[Bibliography#Steele_89 |Steele &#039;&#039;et al.&#039;&#039; (1989)]], we check to see if any of the ocean temperatures are below freezing at the end of each timestep.  If so, frazil ice is formed, changing the local temperature and salinity.  The ice that forms is assumed to instantly float up to the surface and add to the ice layer there. We balance the mass, heat, and salt before and after the ice is formed:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   m_{w_1} &amp;amp; = m_{w_2} + m_i \cr&lt;br /&gt;
   m_{w_1} ( C_{pw} T_1 + L) &amp;amp; =&lt;br /&gt;
   m_{w_2} (C_{pw} T_2 + L) + m_i C_{pi} T_2 \cr&lt;br /&gt;
   m_{w_1} S_1 &amp;amp; = m_{w_2} S_2 . }&lt;br /&gt;
$$&lt;br /&gt;
The variables are defined in this table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$&lt;br /&gt;
| 1994 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pw}$&lt;br /&gt;
| 3987 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\gamma$&lt;br /&gt;
| $m_i/m_{w_2}$&lt;br /&gt;
| fraction of water that froze&lt;br /&gt;
|-&lt;br /&gt;
| $L$&lt;br /&gt;
| 3.16e5 J kg$^{-1}$&lt;br /&gt;
| latent heat of fusion&lt;br /&gt;
|-&lt;br /&gt;
| $m_i$&lt;br /&gt;
|&lt;br /&gt;
| mass of ice formed&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_1}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_2}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m$&lt;br /&gt;
| $-0.0543$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $n$&lt;br /&gt;
| $7.59 \times 10^{-4}$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $S_1$&lt;br /&gt;
|&lt;br /&gt;
| salinity before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $S_2$&lt;br /&gt;
|&lt;br /&gt;
| salinity after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
|&lt;br /&gt;
| temperature before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
|&lt;br /&gt;
| temperature after freezing&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defining $\gamma = m_i / m_{w_2}$ and dropping terms of order $\gamma^2$&lt;br /&gt;
leads to:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   T_2 &amp;amp; = T_1 + \gamma \left[ \frac{L }{ C_{pw}} + T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) \right]  \cr&lt;br /&gt;
   S_2 &amp;amp; = S_1 (1 + \gamma)  .}&lt;br /&gt;
$$&lt;br /&gt;
We also want the final temperature and salinity to be on the freezing&lt;br /&gt;
line, which we approximate as:&lt;br /&gt;
$$&lt;br /&gt;
   T_f = m S + n z .&lt;br /&gt;
$$&lt;br /&gt;
We can then solve for $\gamma$:&lt;br /&gt;
$$&lt;br /&gt;
   \gamma = \frac{-T_1 + mS_1 + nz }{ {L }{ C_{pw}}+ T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) - mS_1} .&lt;br /&gt;
$$&lt;br /&gt;
The ocean is checked at each depth $k$ and at each timestep for&lt;br /&gt;
supercooling.  If the water is below freezing, the temperature and&lt;br /&gt;
salinity are adjusted as in equations (\ref{t2eq}) and (\ref{s2eq})&lt;br /&gt;
and the ice above is thickened by the amount:&lt;br /&gt;
$$&lt;br /&gt;
   \Delta h = \gamma_k \Delta z_k \frac{\rho_w}{\rho_i} .&lt;br /&gt;
$$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4812</id>
		<title>Sea-Ice Model</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4812"/>
		<updated>2014-07-28T20:08:19Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Thermodynamics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Sea-Ice Model&amp;lt;/div&amp;gt;&lt;br /&gt;
The sea-ice component of ROMS is a combination of the elastic-viscous-plastic (EVP) rheology ([[Bibliography#HunkeEC_1997a | Hunke and Dukowicz, 1997]], [[Bibliography#HunkeEC_2001a | Hunke, 2001]])&lt;br /&gt;
and simple one-layer ice and snow thermodynamics with a molecular sublayer under the ice ([[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]]). It is tightly coupled, having the same grid (Arakawa-C) and timestep as the ocean and sharing the same parallel coding structure for use with MPI or OpenMP.&lt;br /&gt;
__TOC__&lt;br /&gt;
==Dynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The momentum equations describe the change in ice/snow velocity due&lt;br /&gt;
to the combined effects of the Coriolis force, surface ocean tilt,&lt;br /&gt;
air and water stress, and internal ice stress:&lt;br /&gt;
&lt;br /&gt;
$$M {du \over dt} = M f v - M g {\partial \zeta_w \over \partial x} + \tau_a^x + \tau_w^x + {\cal F}_x$$&lt;br /&gt;
$$M {dv \over dt} = - M f u - M g {\partial \zeta_w \over \partial y} + \tau_a^y + \tau_w^y + {\cal F}_y$$&lt;br /&gt;
&lt;br /&gt;
In this model, we neglect the nonlinear advection terms as well as&lt;br /&gt;
the curvilinear terms in the internal ice stress. Nonlinear formulae are used for both the ocean-ice and air-ice surface stress:&lt;br /&gt;
  $$\vec{\tau}_a = \rho_a C_a | \vec{V}_{10} | \vec{V}_{10}$$&lt;br /&gt;
  $$C_a = {1 \over 2} C_d \left[ 1 - \cos( 2 \pi \min(h_i+.1, .5)&lt;br /&gt;
  \right]$$&lt;br /&gt;
  $$\vec{\tau}_w = \rho_w C_w | \vec{v}_w - \vec{v} |&lt;br /&gt;
  ( \vec{v}_w - \vec{v}) .$$ &lt;br /&gt;
The force due to&lt;br /&gt;
the internal ice stress is given by the divergence of the stress&lt;br /&gt;
tensor $\sigma$. The rheology is given by the stress-strain relation of the medium. We would like to emulate the viscous-plastic rheology&lt;br /&gt;
of [[Bibliography#HiblerWD_1979a | Hibler (1979)]]:&lt;br /&gt;
&lt;br /&gt;
$$\sigma_{ij} = 2 \eta \dot \epsilon_{ij} + (\zeta - \eta) \dot \epsilon_{kk} \delta_{ij} - {P \over 2} \delta_{ij}$$&lt;br /&gt;
&lt;br /&gt;
$$\dot \epsilon_{ij} \equiv {1 \over 2} \left( {\partial u_i \over \partial x_j} + {\partial u_j \over \partial x_i} \right)$$&lt;br /&gt;
&lt;br /&gt;
where the nonlinear viscosities are given by&lt;br /&gt;
$$\zeta = { P \over 2 \left[ (\epsilon^2_{11} +&lt;br /&gt;
   \epsilon^2_{22} ) ( 1 + 1/e^2 ) + 4 e^{-2} \epsilon^2_{12}&lt;br /&gt;
   + 2 \epsilon_{11} \epsilon_{22} ( 1 - 1/e^2 ) \right] ^{1/2} }$$&lt;br /&gt;
&lt;br /&gt;
$$\eta = { \zeta \over e^2 }.$$&lt;br /&gt;
&lt;br /&gt;
Hibler&#039;s ice strength is given by:&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i e^{-C(1-A)}$$&lt;br /&gt;
&lt;br /&gt;
while [[Bibliography#Overland_1988 | Overland and Pease (1988)]]: advocate a nonlinear strength:&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i^2 e^{-C(1-A)}$$&lt;br /&gt;
&lt;br /&gt;
in which $P^*$ now depends on the grid spacing. Both options are available in ROMS.&lt;br /&gt;
&lt;br /&gt;
We would also like to have an explicit model that can be solved&lt;br /&gt;
efficiently on parallel computers. The EVP rheology has a tunable&lt;br /&gt;
coefficient $E$ (the Young&#039;s modulus) which can be chosen to make the&lt;br /&gt;
elastic term small compared to the other terms. We rearrange the VP rheology:&lt;br /&gt;
&lt;br /&gt;
$${1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
then add the elastic term:&lt;br /&gt;
&lt;br /&gt;
$${1 \over E} {\partial \sigma_{ij} \over \partial t} + {1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
&lt;br /&gt;
Much like the ocean model, the ice model has a split timestep. The&lt;br /&gt;
internal ice stress term is updated on a shorter timestep so as to&lt;br /&gt;
allow the elastic wave velocity to be resolved.&lt;br /&gt;
&lt;br /&gt;
Once the new ice velocities are computed, the ice tracers can be advected using the &#039;&#039;&#039;MPDATA&#039;&#039;&#039; scheme ([[Bibliography#Smolark | Smolarkiewicz]]). The tracers in this case are the ice thickness, ice concentration, snow thickness, internal ice temperature, and surface melt ponds. The continuity equations describing the evolution of these parameters also include thermodynamic terms ($S_h$, $S_s$ and $S_A$), described [[#Thermodynamics | below]]:&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_i \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_i) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_i) \over \partial y}&lt;br /&gt;
  + S_h + {\cal D}_h$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_s \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_s) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_s) \over \partial y}&lt;br /&gt;
  + S_s + {\cal D}_s$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A \over \partial t} =&lt;br /&gt;
  - {\partial (uA) \over \partial x} - {\partial (vA) \over \partial y}&lt;br /&gt;
  + S_A + {\cal D}_A \qquad \qquad 0 \leq A \leq 1 .$$&lt;br /&gt;
The first two equations represent the conservation of ice and snow. The third is discussed in some detail in [[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]], but&lt;br /&gt;
represents the advection of ice blocks in which no ridging occurs as&lt;br /&gt;
long as there is any open water.&lt;br /&gt;
&lt;br /&gt;
The ice model variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $A(x,y,t)$&lt;br /&gt;
| ice concentration, $0.0 \leq A \leq 1.0$&lt;br /&gt;
|-&lt;br /&gt;
| $C_a$&lt;br /&gt;
| nonlinear air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_d = 2.2 \times 10^{-3}$&lt;br /&gt;
| air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_w = 10 \times 10^{-3}$&lt;br /&gt;
| water drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal D}_h, {\cal D}_s, {\cal D}_A$&lt;br /&gt;
| diffusion terms&lt;br /&gt;
|-&lt;br /&gt;
| $\delta_{ij}$&lt;br /&gt;
| Kronecker delta function&lt;br /&gt;
|-&lt;br /&gt;
| $E$&lt;br /&gt;
| Young&#039;s modulus&lt;br /&gt;
|-&lt;br /&gt;
| $e = 2$&lt;br /&gt;
| eccentricity of the elliptical yield curve&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_{ij}(x,y,t)$&lt;br /&gt;
| strain rate tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\eta(x,y,t)$&lt;br /&gt;
| nonlinear shear viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $f(x,y)$&lt;br /&gt;
| Coriolis parameter&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal F}_x, {\cal F}_y$&lt;br /&gt;
| forces due to internal ice stress&lt;br /&gt;
|-&lt;br /&gt;
| $g$&lt;br /&gt;
| gravity&lt;br /&gt;
|-&lt;br /&gt;
| $H$&lt;br /&gt;
| Heaviside function&lt;br /&gt;
|-&lt;br /&gt;
| $h_i(x,y,t)$&lt;br /&gt;
| ice thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_o$&lt;br /&gt;
| ice cutoff thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_s(x,y,t)$&lt;br /&gt;
| snow thickness on ice-covered fraction&lt;br /&gt;
|-&lt;br /&gt;
| $M$&lt;br /&gt;
| ice mass, $\rho_i A h_i$&lt;br /&gt;
|-&lt;br /&gt;
| $P$&lt;br /&gt;
| ice strength&lt;br /&gt;
|-&lt;br /&gt;
| $P^*, C$&lt;br /&gt;
| ice strength parameters&lt;br /&gt;
|-&lt;br /&gt;
| $S_h, S_s, S_A$&lt;br /&gt;
| thermodynamic terms&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma_{ij}$&lt;br /&gt;
| internal ice stress tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_a$&lt;br /&gt;
| air stress&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_w$&lt;br /&gt;
| water stress&lt;br /&gt;
|-&lt;br /&gt;
| $u,v$&lt;br /&gt;
| the ($x,y$) components of ice velocity $\vec{v}$&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{V}_{10}, \vec{v}_w$&lt;br /&gt;
| 10 meter air and surface water velocities&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta$&lt;br /&gt;
| nonlinear bulk viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta_w$&lt;br /&gt;
| surface elevation of the underlying water&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Note that Hibler&#039;s $h_I$ variable is&lt;br /&gt;
equivalent to our $A h_i$ combination - his $h_I$ is the average&lt;br /&gt;
thickness over the whole gridbox while our $h_i$ is the average&lt;br /&gt;
thickness over the ice-covered fraction of the gridbox.&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Thermodynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The thermodynamics is based on calculating how much ice grows and&lt;br /&gt;
melts on each of the surface, bottom, and sides of the ice floes,&lt;br /&gt;
as well as frazil ice formation:&lt;br /&gt;
&lt;br /&gt;
  [[File:Ice_diag1.png]]&lt;br /&gt;
&lt;br /&gt;
Once the ice tracers are advected, the ice concentration and thickness are timestepped according to the terms on the right:&lt;br /&gt;
&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
\frac{D A h_i}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i} \left[ A (W_{io} - W_{ai}) + (1-A) W_{ao} + W_{fr} \right] \cr&lt;br /&gt;
\frac{D A}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i h_i} \left[ \Phi (1-A) w_{ao} + (1-A) W_{fr} \right] \qquad \qquad 0 \leq A \leq 1  } $$&lt;br /&gt;
&lt;br /&gt;
The term $Ah_i$ is the &amp;quot;effective thickness&amp;quot;, a measure of the ice volume. Its evolution equation is simply quantifying the change in the amount of ice. The ice concentration equation is more interesting in that&lt;br /&gt;
it provides the partitioning between ice melt/growth on the sides vs. on the top and bottom. The parameter $\Phi$ controls this and has differing values for ice melt and retreat. In principle, most of the ice growth is assumed to happen at the base of the ice while rather more of the melt happens on the sides of the ice due to warming of the water in the leads.&lt;br /&gt;
&lt;br /&gt;
The heat fluxes through the ice are based on a simple one layer [[Bibliography#SemtnerAJ_1976a | Semtner (1976)]] type model with snow on top. The temperature is assumed to be linear within the snow and within the ice. The ice contains brine pockets for a total ice salinity of 3.2 or the surface ocean salinity, whichever is less. The surface ocean temperature and salinity is half a $dz$ below the surface. The water right below the surface is assumed to be at the freezing temperature; a logarithmic boundary layer is computed having the temperature and salinity matched at freezing.&lt;br /&gt;
&lt;br /&gt;
Similarly, there is a snow equation:&lt;br /&gt;
$$&lt;br /&gt;
  {D A h_s \over D t} = \left[ A (W_{s} - W_{sm}) \right]&lt;br /&gt;
$$&lt;br /&gt;
where $W_s$ and $W_{sm}$ are the snowfall and snow melt rates, respectively, in units of equivalent water. Also in the model is the depth of the melt ponds in spring, $h_{mp}$ which can be up to 0.1 m, after which melting ice contributes to $W_{ro}$. The melt ponds are not part of the thermal conductivity computations. They could contribute to the albedo computation, but that has been largely commented out.&lt;br /&gt;
&lt;br /&gt;
The ice model thermodynamic variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_w = 0.10$&lt;br /&gt;
| shortwave albedo of water&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.60$&lt;br /&gt;
| shortwave albedo of wet ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.65$&lt;br /&gt;
| shortwave albedo of dry ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of wet snow&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of dry snow&lt;br /&gt;
|-&lt;br /&gt;
| $C_k$&lt;br /&gt;
| snow correction factor&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$ = 2093 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|- &lt;br /&gt;
| $C_{po}$ = 3990 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_w = 0.97$&lt;br /&gt;
| longwave emissivity of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_i = 0.97$&lt;br /&gt;
| longwave emissivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_s = 0.99$&lt;br /&gt;
| longwave emissivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $E(T,r)$&lt;br /&gt;
| enthalpy of the ice/brine system&lt;br /&gt;
|-&lt;br /&gt;
| $F_T\!\uparrow$&lt;br /&gt;
| heat flux from the ocean into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $H\!\downarrow$&lt;br /&gt;
| sensible heat&lt;br /&gt;
|-&lt;br /&gt;
| $i_w$&lt;br /&gt;
| fraction of the solar heating transmitted through a lead into the water below&lt;br /&gt;
|-&lt;br /&gt;
| $k_i$ = 2.04 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $k_s$ = 0.31 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $L_i$ = 302 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of ice&lt;br /&gt;
|-&lt;br /&gt;
| $L_s$ = 110 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of snow&lt;br /&gt;
|-&lt;br /&gt;
| $LE\!\downarrow$&lt;br /&gt;
| latent heat&lt;br /&gt;
|-&lt;br /&gt;
| $LW\!\!\downarrow$&lt;br /&gt;
| incoming longwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $m$ &amp;amp; $-0.054^\circ$C/PSU&lt;br /&gt;
| coefficient in linear $T_f(S) = mS$ equation&lt;br /&gt;
|-&lt;br /&gt;
| $\Phi$&lt;br /&gt;
| contribution to $A$ equation from freezing water&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ai}$&lt;br /&gt;
| heat flux out of the snow/ice surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ao}$&lt;br /&gt;
| heat flux out of the ocean surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{i2}$&lt;br /&gt;
| heat flux up out of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{io}$&lt;br /&gt;
| heat flux up into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{s}$&lt;br /&gt;
| heat flux up through the snow&lt;br /&gt;
|-&lt;br /&gt;
| $r$&lt;br /&gt;
| brine fraction in ice&lt;br /&gt;
|-&lt;br /&gt;
| $\rho_i$ = 910 $m^3/kg$&lt;br /&gt;
| density of ice&lt;br /&gt;
|-&lt;br /&gt;
| $S_i$ = 3.2 PSU&lt;br /&gt;
| salinity of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $SW\!\!\downarrow$&lt;br /&gt;
| incoming shortwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma$ = $5.67 \times 10^{-8}$ W m$^{-2}$ K$^{-4}$&lt;br /&gt;
| Stefan-Boltzmann constant&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
| temperature of the bottom of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
| temperature of the interior of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
| temperature at the upper surface of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_3$&lt;br /&gt;
| temperature at the upper surface of the snow&lt;br /&gt;
|-&lt;br /&gt;
| $T_f$&lt;br /&gt;
| freezing temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_i}$ = $mS_i$&lt;br /&gt;
| melting temperature of ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_s}$ = 0$^\circ$ C&lt;br /&gt;
| melting temperature of snow&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ai}$&lt;br /&gt;
| melt rate on the upper ice/snow surface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ao}$&lt;br /&gt;
| freeze rate at the air/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{fr}$&lt;br /&gt;
| rate of frazil ice growth&lt;br /&gt;
|-&lt;br /&gt;
| $W_{io}$&lt;br /&gt;
| freeze rate at the ice/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ro}$&lt;br /&gt;
| rate of run-off of surface melt water&lt;br /&gt;
|-&lt;br /&gt;
| $W_{s}$&lt;br /&gt;
| snowfall rate&lt;br /&gt;
|-&lt;br /&gt;
| $W_{sm}$&lt;br /&gt;
| snow melt rate&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The locations of the ice and snow temperatures and the heat fluxes:&lt;br /&gt;
&lt;br /&gt;
 [[File:Ice_diag2.png]]&lt;br /&gt;
&lt;br /&gt;
The temperature profile is assumed to be linear between adjacent temperature points. The interior of the ice contains &amp;quot;brine pockets&amp;quot;, leading to a prognostic equation for the temperature $T_1$.&lt;br /&gt;
&lt;br /&gt;
The surface flux to the air is: &lt;br /&gt;
$$&lt;br /&gt;
   Q_{ai} =  - H\!\downarrow - LE\!\downarrow -&lt;br /&gt;
       \epsilon_s LW\!\!\downarrow  -&lt;br /&gt;
      (1 - \alpha_s) SW\!\!\downarrow + \epsilon_s \sigma (T_3+273)^4&lt;br /&gt;
$$&lt;br /&gt;
The incoming shortwave and longwave radiations are assumed to come from an atmospheric model. The formulae for sensible heat, latent heat, and outgoing longwave radiation are the same as in [[Bibliography#ParkinsonCL_1979a |Parkinson and Washington (1979)]] and are shown in [[Radiant Heat Fluxes]]. The sensible heat is a function of $T_3$, as is the heat flux through the snow $Q_s$. Setting $Q_{ai} = Q_s$, we can solve for $T_3$ by setting $T_3^{n+1} = T_3^n + \Delta T_3$ and linearizing in $\Delta T_3$. As in Parkinson and Washington, if $T_3$ is found to be above the melting temperature, it is set to $T_{\rm melt}$ and the extra energy goes into melting the snow or ice:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{ai} &amp;amp; = \frac{Q_{ai} - Q_{i2} }{ \rho_o L_3} \cr&lt;br /&gt;
   L_3 &amp;amp; \equiv \left[ E(T_3,1) - E(T_1, R_1) \right]&lt;br /&gt;
}$$&lt;br /&gt;
Note that $L_3 = (1-r)L_i$ plus a small sensible heat correction. We can store water on the surface in melt pools to a fixed depth---everything extra melted at the surface is assumed to flow into the ocean as $W_{ro}$. The melt ponds however do not contribute to the heat flux computation.&lt;br /&gt;
&lt;br /&gt;
Inside the ice there are brine pockets in which there is salt water at the &#039;&#039;in situ&#039;&#039; freezing temperature. It is assumed that the ice has a uniform overall salinity of $S_i$ and that the freezing temperature is a linear function of salinity. The brine fraction $r$ is given by&lt;br /&gt;
$$&lt;br /&gt;
  r = \frac{S_i m }{ T_1}&lt;br /&gt;
$$&lt;br /&gt;
The enthalpy of the combined ice/brine system is given by&lt;br /&gt;
$$&lt;br /&gt;
  E(T,r) = r(L_i + C_{po}T) + (1-r) C_{pi} T&lt;br /&gt;
$$&lt;br /&gt;
Substituting in for $r$ and differentiating gives:&lt;br /&gt;
$$&lt;br /&gt;
  \frac{\partial E }{ \partial T} = - \frac{S_i m L_i }{ T_1^2} + C_{pi}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Inside the snow, we have &lt;br /&gt;
$$&lt;br /&gt;
   Q_s = \frac{k_s }{ h_s} (T_2 - T_3)&lt;br /&gt;
$$&lt;br /&gt;
The heat conduction in the upper part of the ice layer is&lt;br /&gt;
$$&lt;br /&gt;
   Q_{I2} = \frac{ 2 k_i }{ h_i} (T_1 - T_2)&lt;br /&gt;
$$&lt;br /&gt;
These can be set equal to each other to solve for $T_2$&lt;br /&gt;
$$&lt;br /&gt;
   T_2 = \frac{T_3 + C_k T_1 }{ 1 + C_k}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_k \equiv \frac{2 k_i h_s }{ h_i k_s}.&lt;br /&gt;
$$&lt;br /&gt;
Substituting into (\ref{qi2}), we get:&lt;br /&gt;
$$&lt;br /&gt;
  Q_s = Q_{I2} = \frac{2k_i }{ h_i} \frac{(T_1 - T_3) }{ (1 + C_k)}&lt;br /&gt;
$$&lt;br /&gt;
Note that in the absence of snow, $C_k$ becomes zero and we recover the formula for the no-snow case in which $T_3 = T_2$.&lt;br /&gt;
&lt;br /&gt;
At the bottom of the ice, we have&lt;br /&gt;
$$&lt;br /&gt;
  Q_{I0} = \frac{2 k_i }{ h_i} (T_0 - T_1)&lt;br /&gt;
$$&lt;br /&gt;
The difference between $Q_{I0}$ and $Q_{I2}$ goes into the enthalpy of the ice:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \left[ \frac{\partial E }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla E \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
We can use the chain rule to obtain an equation for timestepping $T_1$:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \frac{\partial E }{ \partial T}&lt;br /&gt;
   \left[ \frac{\partial T_1 }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla T_1 \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
  Q_{I0} - Q_{I2} &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 - T_1) - &lt;br /&gt;
  \frac{(T_1 - T_3) }{ 1 + C_k} \right] \cr&lt;br /&gt;
                  &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 +&lt;br /&gt;
  \frac{T_3 - (2 + C_k) T_1 }{ 1 + C_k} \right]&lt;br /&gt;
} $$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ocean surface boundary conditions==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The ocean receives surface stresses from both the atmosphere and the ice, according to the ice concentration:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   K_m \frac{\partial u_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^x&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^x \cr&lt;br /&gt;
   K_m \frac{\partial v_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^y&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^y  }&lt;br /&gt;
$$&lt;br /&gt;
where the relevant variables are in the following table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $b$&lt;br /&gt;
| 3.14&lt;br /&gt;
| factor&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{E}$&lt;br /&gt;
|&lt;br /&gt;
| evaporation&lt;br /&gt;
|-&lt;br /&gt;
| $k$&lt;br /&gt;
| 0.4&lt;br /&gt;
| von Karman&#039;s constant&lt;br /&gt;
|-&lt;br /&gt;
| $K_m$&lt;br /&gt;
|&lt;br /&gt;
| vertical viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\nu$&lt;br /&gt;
| $1.8 \times 10^{-6} m^2 s^{-1}$&lt;br /&gt;
| kinematic viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{P}$&lt;br /&gt;
|&lt;br /&gt;
| precipitation&lt;br /&gt;
|-&lt;br /&gt;
| $Pr$&lt;br /&gt;
| 13.0&lt;br /&gt;
| molecular Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $P_{rt}$&lt;br /&gt;
| 0.85&lt;br /&gt;
| turbulent Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $S_0$&lt;br /&gt;
|&lt;br /&gt;
| surface salinity&lt;br /&gt;
|-&lt;br /&gt;
| $S$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean salinity&lt;br /&gt;
|-&lt;br /&gt;
| $Sc$&lt;br /&gt;
| 2432&lt;br /&gt;
| molecular Schmidt number&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{io}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the ice&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{ao}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the wind&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
|&lt;br /&gt;
| surface ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $u_\tau$&lt;br /&gt;
|&lt;br /&gt;
| friction velocity $|\tau_{io}|^{1/2} \rho_o^{-1/2}$&lt;br /&gt;
|-&lt;br /&gt;
| $z_0$&lt;br /&gt;
|&lt;br /&gt;
| roughness parameter&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
surface salinity ($T_0 = mS_0$) in the presense of ice. We also have $T$ and $S$ at the uppermost computed ocean point ${1 \over 2} dz$ below the surface. In order to solve for $T_0$ and $S_0$, we assume a [[Bibliography#Yaglom_1974 | Yaglom and Kader, 1974]] logarithmic boundary layer. The upper ocean heat flux is:&lt;br /&gt;
$$&lt;br /&gt;
   \frac{F_T }{ \rho_o C_{po}} = -C_{T_z} (T_0 - T) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{T_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_T}&lt;br /&gt;
$$ $$&lt;br /&gt;
  B_T = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Pr^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Likewise, we have the following equation for the surface salt flux:&lt;br /&gt;
$$&lt;br /&gt;
    F_S = -C_{S_z} (S_0 - S) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{S_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_S}&lt;br /&gt;
$$&lt;br /&gt;
$$&lt;br /&gt;
  B_S = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Sc^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
The ocean model receives the following heat and salt fluxes:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   F_T &amp;amp; = A Q_{io} + (1 - A) Q_{ao} - W_o L_o \cr&lt;br /&gt;
   F_S &amp;amp; = (W_o - A W_{ro}) (S_i-S_0) + (1-A)S_o (\dot{P}-\dot{E}) \cr&lt;br /&gt;
   W_o &amp;amp; \equiv A W_{io} + (1-A) W_{ao} }&lt;br /&gt;
$$ &lt;br /&gt;
&lt;br /&gt;
[[Bibliography#MellorGL_1989a | Mellor and Kantha]] describe solving simultaneously for the five unknowns $W_o$, $T_0$, $S_0$, $F_T$ and $F_S$. Instead, we use the old value of $T_0$ to find $W_{io}$ and therefore $W_o$. Using the new value of $W_{io}$, solve for a new value of $S_0$ and then find the new $T_0$ as the freezing temperature for that salinity:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{io} &amp;amp;= {1 \over L_o} \left[ {Q_{io} \over \rho_o} + C_{po}&lt;br /&gt;
   C_{T_z} (T_o - T) \right] \cr&lt;br /&gt;
   S_0 &amp;amp;= { C_{S_z} S + (W_{ai}H(-W_{ai}) - W_{io})) S_i \over&lt;br /&gt;
   C_{S_z} + W_{ai}H(-W_{ai}) + W_{ro} - W_{io} } }&lt;br /&gt;
$$&lt;br /&gt;
Note that the term $W_{ai}H(-W_{ai})$ is the contribution of melting only, not refreezing of melt ponds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frazil ice formation==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
Following [[Bibliography#Steele_89 |Steele &#039;&#039;et al.&#039;&#039; (1989)]], we check to see if any of the ocean temperatures are below freezing at the end of each timestep.  If so, frazil ice is formed, changing the local temperature and salinity.  The ice that forms is assumed to instantly float up to the surface and add to the ice layer there. We balance the mass, heat, and salt before and after the ice is formed:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   m_{w_1} &amp;amp; = m_{w_2} + m_i \cr&lt;br /&gt;
   m_{w_1} ( C_{pw} T_1 + L) &amp;amp; =&lt;br /&gt;
   m_{w_2} (C_{pw} T_2 + L) + m_i C_{pi} T_2 \cr&lt;br /&gt;
   m_{w_1} S_1 &amp;amp; = m_{w_2} S_2 . }&lt;br /&gt;
$$&lt;br /&gt;
The variables are defined in this table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$&lt;br /&gt;
| 1994 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pw}$&lt;br /&gt;
| 3987 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\gamma$&lt;br /&gt;
| $m_i/m_{w_2}$&lt;br /&gt;
| fraction of water that froze&lt;br /&gt;
|-&lt;br /&gt;
| $L$&lt;br /&gt;
| 3.16e5 J kg$^{-1}$&lt;br /&gt;
| latent heat of fusion&lt;br /&gt;
|-&lt;br /&gt;
| $m_i$&lt;br /&gt;
|&lt;br /&gt;
| mass of ice formed&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_1}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_2}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m$&lt;br /&gt;
| $-0.0543$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $n$&lt;br /&gt;
| $7.59 \times 10^{-4}$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $S_1$&lt;br /&gt;
|&lt;br /&gt;
| salinity before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $S_2$&lt;br /&gt;
|&lt;br /&gt;
| salinity after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
|&lt;br /&gt;
| temperature before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
|&lt;br /&gt;
| temperature after freezing&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defining $\gamma = m_i / m_{w_2}$ and dropping terms of order $\gamma^2$&lt;br /&gt;
leads to:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   T_2 &amp;amp; = T_1 + \gamma \left[ \frac{L }{ C_{pw}} + T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) \right]  \cr&lt;br /&gt;
   S_2 &amp;amp; = S_1 (1 + \gamma)  .}&lt;br /&gt;
$$&lt;br /&gt;
We also want the final temperature and salinity to be on the freezing&lt;br /&gt;
line, which we approximate as:&lt;br /&gt;
$$&lt;br /&gt;
   T_f = m S + n z .&lt;br /&gt;
$$&lt;br /&gt;
We can then solve for $\gamma$:&lt;br /&gt;
$$&lt;br /&gt;
   \gamma = \frac{-T_1 + mS_1 + nz }{ {L }{ C_{pw}}+ T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) - mS_1} .&lt;br /&gt;
$$&lt;br /&gt;
The ocean is checked at each depth $k$ and at each timestep for&lt;br /&gt;
supercooling.  If the water is below freezing, the temperature and&lt;br /&gt;
salinity are adjusted as in equations (\ref{t2eq}) and (\ref{s2eq})&lt;br /&gt;
and the ice above is thickened by the amount:&lt;br /&gt;
$$&lt;br /&gt;
   \Delta h = \gamma_k \Delta z_k \frac{\rho_w}{\rho_i} .&lt;br /&gt;
$$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4811</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4811"/>
		<updated>2014-07-21T19:15:39Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* F */ Fairall, 2003&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_2003&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, J. E. Hare, A. A. Grachev and J. B. Edson (2003): Bulk parameterization of air-sea fluxes: Updates and verification for the COARE algorithm. &#039;&#039;J. Clim.&#039;&#039;, &#039;&#039;&#039;16 (4)&#039;&#039;&#039; 571-591, doi: 10.1175/1520-0442(2003)016&amp;lt;0571:BPOASF&amp;gt;2.0.CO;2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=User_talk:Denghua&amp;diff=4810</id>
		<title>User talk:Denghua</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=User_talk:Denghua&amp;diff=4810"/>
		<updated>2014-07-09T16:04:49Z</updated>

		<summary type="html">&lt;p&gt;Kate: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I got a problem when running ROMS for the first time. After typing &amp;quot;./build.bash&amp;quot;or&amp;quot;./build.bash -j 8&amp;quot;,my computer show that: &amp;quot;-bash: ./build.bash: Permission denied&amp;quot;.I just wonder how to  deal with it and what my prolem is.Thank you for your help.I am looking forward for  your replay.&lt;br /&gt;
&lt;br /&gt;
The proper place for this sort of question is the ROMS forum: https://www.myroms.org/forum/&lt;br /&gt;
&lt;br /&gt;
That said, the problem is likely that the execute permission has been turned off on your build.bash. It should look like:&lt;br /&gt;
pacman3 652% ls -l ROMS/Bin/build.bash&lt;br /&gt;
20 -rwxr-xr-x 1 kate staff 17161 Jul  7 14:30 ROMS/Bin/build.bash*&lt;br /&gt;
&lt;br /&gt;
If it doesn&#039;t start with that -rwx up front, you can use the chmod command (chmod 755 build.bash) to fix it.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Tidal_Forcing&amp;diff=4808</id>
		<title>Tidal Forcing</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Tidal_Forcing&amp;diff=4808"/>
		<updated>2014-07-03T19:36:41Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Tidal Forcing Files in ROMS */ OTIS -&amp;gt; OTPS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Description of Tidal Forcing in ROMS&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tidal Forcing Files in ROMS==&lt;br /&gt;
Once the appropriate [[Options|CPP options]] have been set (e.g. [[Options#SSH_TIDES|SSH_TIDES]], [[Options#UV_TIDES|UV_TIDES]], [[Options#RAMP_TIDES|RAMP_TIDES]]), a netcdf file of tidal constituents must be generated.   &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Download the desired tidal constituent database and associated software&#039;&#039;&#039;. There are many tidal constituent databases available for download and the choice of databases depends on the desired constituents and location of the ROMS grid. Two possibilities which have broad geographic range and generally the dominant constituents are the [http://volkov.oce.orst.edu/tides/otps.html OSU Tidal Data Prediction Software](OTPS) and the [http://www.unc.edu/ims/ccats/tides/tides.htm ADCIRC tidal database]. Remember to download the associated software with each data base as there ire typically routines which facilitate the extraction and interpolation of the database to the ROMS grid.&lt;br /&gt;
#&#039;&#039;&#039;Interpolate the tidal constituent database to the desired ROMS grid&#039;&#039;&#039;. See the above comment. While it is  possible to write code (e.g. MATLAB, FORTRAN) to perform this task, it is typically easier to use the provided packages. &lt;br /&gt;
#&#039;&#039;&#039;Verify all open boundary grid cells contain valid data&#039;&#039;&#039;. During the interpolation process, depending on the land mask for the ROMS grid and the tidal database grid, it is possible to have grid cells near land points which the ROMS grid may define as water, but the tidal grid defines as land. Should this occur a 180 degree phase shift along the open boundary near land points is possible. As ROMS is tidally forced on the open boundary, this could be problematic. &lt;br /&gt;
#&#039;&#039;&#039;The phase of the [[Variables#u|u]]/[[Variables#v|v]]/[[Variables#zeta|zeta]] components of the tidal constituents should be shifted to the appropriate reference time(t=to)&#039;&#039;&#039;.It is typical for tidal constituent databases to be stored with the phase shifted by the equilibrium tidal argument. Consequently the reference time for the tide is not the desired time, as set in [[ocean.in]] using the variable  [[Variables#tide_start|TIDE_START]]. In addition, nodal corrections need to be made due to long period tides. The equilibrium argument and nodal corrections can  be calculated using the tidal database software or Rich Pawlowicz&#039;s [http://www.eos.ubc.ca/~rich/#T_Tide T_TIDE] MATLAB package. Also, see below for more thoughts on the 18.6 year business.&lt;br /&gt;
#&#039;&#039;&#039;Convert the amplitude/phase information to tidal ellipse parameters, if necessary&#039;&#039;&#039;. ROMS requires tidal information to be stored as ellipse parameters for use. One tidal ellipse package is [http://woodshole.er.usgs.gov/operations/sea-mat/tidal_ellipse-html/index.html ap2ep.m] from Zhigang Xu.MATLAB tidal ellipse code is available.&lt;br /&gt;
#&#039;&#039;&#039;Export tidal ellipse parameters to a ROMS netcdf forcing file&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Two examples of this process are described below. &lt;br /&gt;
&lt;br /&gt;
{{warning}} Newer Matlab versions are incompatible with older versions of t_tide and will cause errors. In particular, the &amp;quot;finite&amp;quot; function has been replaced with &amp;quot;isfinite&amp;quot; Rich Pawlowicz has provided an updated version of t_tide on his website http://www.eos.ubc.ca/~rich/#T_Tide. I have also provided a link here [http://marine.rutgers.edu/~hunter/roms/tides/t_tide/t_tide_v1.3beta.zip]&lt;br /&gt;
&lt;br /&gt;
==OSU Tidal Prediction Software Example (Matlab)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{warning}} There is in issue in MATLAB R2012a that may cause files (such as extract_HC) compiled with gfortran to fail when executed from matlab. Workarounds are described here [http://www.mathworks.com/matlabcentral/answers/44388-or-system-or-unix-input-redirection] and here [http://meftgg.blogspot.com/2012/05/problems-running-gfortran-compiled.html]. An update which removes the need to compile fortran executables is currently under development.&lt;br /&gt;
&lt;br /&gt;
The processing in this example was carried out in MATLAB using routines found in http://marine.rutgers.edu/~hunter/roms/tides/otps/. It has been tested on a SUN and requires [http://www.eos.ubc.ca/~rich/#T_Tide T_TIDE]. &lt;br /&gt;
&lt;br /&gt;
#Download the [http://www.coas.oregonstate.edu/research/po/research/tide/region.html OSU  tidal processing software](OTPS.tar.Z) to the the working directory e.g. OTPS/. Extract the OTPS routines. &lt;br /&gt;
#* cd OTPS/&lt;br /&gt;
#* uncompress OTPS.tar.Z&lt;br /&gt;
#* tar xvf OTPS.tar&lt;br /&gt;
#Download the appropriate regional or global model database with respect to the ROMS domain. e.g. For a model of the East coast of the United states, download  EC.tar.Z. Uncompressing and extracting this file should great a subdirectory called DATA/&lt;br /&gt;
#* uncompress EC.tar.Z&lt;br /&gt;
#* tar xvf EC.tar&lt;br /&gt;
#Compile extract_HC.f into the executable extract_HC. There is a makefile included in the OTPS.tar.Z archive. It requires an f90 compiler.&lt;br /&gt;
#* make extract_HC&lt;br /&gt;
#Now the tidal constituents are ready to be extracted and saved to a ROMS forcing file. An example (using MATLAB) of how to do this is given in [http://marine.rutgers.edu/~hunter/roms/tides/otps/ otps2frc_v3.m]. In the following example, t is the reference date for the tide (i.e. [[Variables#tide_start|TIDE_START]]), tpred is the nodal corrections reference time (usually the midpoint of range of the prediction time), and gfile is the ROMS grid file. Also included are and output file and the path the OTIS database. &lt;br /&gt;
#*&amp;gt;&amp;gt; t=datenum(2005,1,1);&lt;br /&gt;
#*&amp;gt;&amp;gt; tpred=datenum(2006,1,1);&lt;br /&gt;
#*&amp;gt;&amp;gt; gfile=&#039;/home/hunter/roms/in/roms_latte_grid_3c.nc&#039;;&lt;br /&gt;
#*&amp;gt;&amp;gt; otps2frc_v3(gfile,t,tpred,&#039;test_EC.nc&#039;,&#039;DATA/Model_EC&#039;) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note}} otps2frc_v3 calls extract_HC and generates several intermediate files. It also generates the file setup.inp as input to extract_HC. The format of setup.inp is:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot; style=&amp;quot;margin-left:27px;&amp;quot;&amp;gt;&lt;br /&gt;
DATA/Model_NA       ! 1. tidal model control file&lt;br /&gt;
../ll.dat           ! 2. latitude/longitude/time file&lt;br /&gt;
z                   ! 3. z/U/V/u/v&lt;br /&gt;
o1,k1,n2,m2,s2      ! 4. tidal constituents to include&lt;br /&gt;
AP                  ! 5. AP/RI&lt;br /&gt;
oce                 ! 6. oce/geo&lt;br /&gt;
0                   ! 7. 1/0 correct for minor constituents&lt;br /&gt;
../nena_8g_z.out    ! 8. output file (ASCII)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Details of the format are found in the OTPS.tar.Z README file. &lt;br /&gt;
&lt;br /&gt;
{{note}} It is also hard-coded into otps2frc_v3 to only look for the constituents m2,s2,k1,o1. If you want more constituents(and they exist in the regional or global database of your choice) you will have to edit otps2frc_v3.m.&lt;br /&gt;
&lt;br /&gt;
{{note}} Depending on the versions of the Matlab scripts used the user may have problems creating a ROMS forcing file. Depending on the version of the file t_vuf.m (called by otps2frc_v3.m) in the Matlab path, the two lines of otps2frc_v3.m that call t_vuf.m may need to be modified. If the version t_vuf.m in the Matlab path requires 4 inputs, instead of the three given by otps2frc_v3.m, then either &#039;full&#039; or &#039;nodal&#039; needs to be added as the first input variable.&lt;br /&gt;
&lt;br /&gt;
{{warning}} If you attempt to extract constituents that don&#039;t exist in the database, extract_HC MAY fill in data for those constituents, usually by filling in with data from a constituent that exists. So verify the constituent is part of the database. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ADCIRC Tidal Database Example (Matlab)==&lt;br /&gt;
The processing in this example was carried out in MATLAB using routines found in http://marine.rutgers.edu/~hunter/roms/tides/adcirc/. It has been tested on a SUN and requires [http://www.eos.ubc.ca/~rich/#T_Tide T_TIDE]. &lt;br /&gt;
&lt;br /&gt;
#Download the desired [http://www.unc.edu/ims/ccats/tides/tides.htm ADCIRC tidal database]. e.g. Download ec2001_v2e.zip. Unzip this file into the working directory. &lt;br /&gt;
#* unzip ec_95d.zip&lt;br /&gt;
#Compile tides_ec2001.f into the executable tides_ec2001.out. *&lt;br /&gt;
#* f77 -g -o tides_ec2001.out tides_ec2001.f&lt;br /&gt;
#Now the tidal constituents are ready to be extracted and saved to a ROMS forcing file. An example (using MATLAB) of how to do this is given in [http://marine.rutgers.edu/~hunter/roms/tides/adcirc/ adcirc2frc_v2.m]. In the following example, t is the reference date for the tide (i.e. [[Variables#tide_start|TIDE_START]]),tp is a prediction time(usually the same as the reference data) used to calculate nodal corrections and gfile is the ROMS grid file. Also included are an output filename and a processing flag. The processing flag determines whether tides_ec2001.out is executed. It needs to b e run only once. As it can take a very long time, once the output file tides.out is generated, change this from  1 to 0. &lt;br /&gt;
#*&amp;gt;&amp;gt; t=datenum(2005,1,1);&lt;br /&gt;
#*&amp;gt;&amp;gt; tp=datenum(2006,1,1);&lt;br /&gt;
#*&amp;gt;&amp;gt; gfile=&#039;/home/hunter/roms/in/roms_latte_grid_3c.nc&#039;;&lt;br /&gt;
#*&amp;gt;&amp;gt; adcirc2frc_v2(gfile,t,tp,&#039;test_adcirc.nc&#039;,1)&lt;br /&gt;
&lt;br /&gt;
{{note}} * - The file tides_ec2001.f is written to compile using SUN f77. It will not work with g77 as downloaded from the ADCIRC website. There is a logical unit of of 105 which is out of range for g77. It must be edited to change thes lo a number &amp;lt;99. An example of and edited file is available in http://marine.rutgers.edu/~hunter/roms/tides/adcirc/tides_ec2001.f.&lt;br /&gt;
&lt;br /&gt;
{{note}} This version of adcirc2frc_v2.m includes all tidal constituents from the ADCIRC database. Any undesired constituents must be removed after the tidal file is generated.&lt;br /&gt;
&lt;br /&gt;
==Comments on the 18.6 year tides==&lt;br /&gt;
The &amp;quot;18 year&amp;quot; tide is not a separate tidal constituent, but is rather a modulation of the amplitude (and a phase shift) of the other tides. The amplitude of the modulation for three constituents is shown here:&lt;br /&gt;
&lt;br /&gt;
[[Image:18yrs_small.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Because we run multi-decadal simulations, we have chosen not to include the &amp;quot;nodal corrections&amp;quot; in the external forcing file but to modify ROMS to compute them for the time at hand. The alternative would be to swap out the tidal forcing file every few years.&lt;br /&gt;
&lt;br /&gt;
* These long-period modulations cause us to be dubious of the ROMS detiding algorithm since it is learning on the fly but not forgetting what it was learning nine years before.&lt;br /&gt;
&lt;br /&gt;
* I have been asked by several people how I create the tides files. My scripts (without tidal potentials) are [[File:Tides_ncl.tar.gz | here]].&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4807</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4807"/>
		<updated>2014-07-01T23:58:47Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Segmentation fault */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: was it created with the same version of the same compiler? If not, there could be trouble. I&#039;ve seen gfortran give a cryptic message about expecting a left parenthesis when faced with a module file from an older version of gfortran. Usually if it is from a completely different compiler, it will tell you so.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get a message about:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;crash.f90:(.text+0x19): undefined reference to &#039;nf_close__&#039;&amp;lt;/div&amp;gt; when you know you linked to the netcdf library. You can query the library to see what it has: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;nm libnetcdf.a | grep nf_close&amp;lt;br /&amp;gt;0000000000000e60 T nf_close_&amp;lt;br /&amp;gt;                 U nf_close_&amp;lt;/div&amp;gt;Clearly, there&#039;s a mismatch in the number of underscores which is preventing it from linking successfully. See if you can find a fortran option for controlling the number of underscores and try to match how the library was compiled. Otherwise, you can recompile the library to match how you compile ROMS.&lt;br /&gt;
&lt;br /&gt;
* Another recent problem is that NetCDF 4.x sometimes creates a libnetcdff.a in addition to the libnetcdf.a. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments, (d) compiling on one system and running on a second with incompatible MPI libraries. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4806</id>
		<title>Sea-Ice Model</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4806"/>
		<updated>2014-06-30T18:38:25Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Dynamics */ Added nonlinear ice strength&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Sea-Ice Model&amp;lt;/div&amp;gt;&lt;br /&gt;
The sea-ice component of ROMS is a combination of the elastic-viscous-plastic (EVP) rheology ([[Bibliography#HunkeEC_1997a | Hunke and Dukowicz, 1997]], [[Bibliography#HunkeEC_2001a | Hunke, 2001]])&lt;br /&gt;
and simple one-layer ice and snow thermodynamics with a molecular sublayer under the ice ([[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]]). It is tightly coupled, having the same grid (Arakawa-C) and timestep as the ocean and sharing the same parallel coding structure for use with MPI or OpenMP.&lt;br /&gt;
__TOC__&lt;br /&gt;
==Dynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The momentum equations describe the change in ice/snow velocity due&lt;br /&gt;
to the combined effects of the Coriolis force, surface ocean tilt,&lt;br /&gt;
air and water stress, and internal ice stress:&lt;br /&gt;
&lt;br /&gt;
$$M {du \over dt} = M f v - M g {\partial \zeta_w \over \partial x} + \tau_a^x + \tau_w^x + {\cal F}_x$$&lt;br /&gt;
$$M {dv \over dt} = - M f u - M g {\partial \zeta_w \over \partial y} + \tau_a^y + \tau_w^y + {\cal F}_y$$&lt;br /&gt;
&lt;br /&gt;
In this model, we neglect the nonlinear advection terms as well as&lt;br /&gt;
the curvilinear terms in the internal ice stress. Nonlinear formulae are used for both the ocean-ice and air-ice surface stress:&lt;br /&gt;
  $$\vec{\tau}_a = \rho_a C_a | \vec{V}_{10} | \vec{V}_{10}$$&lt;br /&gt;
  $$C_a = {1 \over 2} C_d \left[ 1 - \cos( 2 \pi \min(h_i+.1, .5)&lt;br /&gt;
  \right]$$&lt;br /&gt;
  $$\vec{\tau}_w = \rho_w C_w | \vec{v}_w - \vec{v} |&lt;br /&gt;
  ( \vec{v}_w - \vec{v}) .$$ &lt;br /&gt;
The force due to&lt;br /&gt;
the internal ice stress is given by the divergence of the stress&lt;br /&gt;
tensor $\sigma$. The rheology is given by the stress-strain relation of the medium. We would like to emulate the viscous-plastic rheology&lt;br /&gt;
of [[Bibliography#HiblerWD_1979a | Hibler (1979)]]:&lt;br /&gt;
&lt;br /&gt;
$$\sigma_{ij} = 2 \eta \dot \epsilon_{ij} + (\zeta - \eta) \dot \epsilon_{kk} \delta_{ij} - {P \over 2} \delta_{ij}$$&lt;br /&gt;
&lt;br /&gt;
$$\dot \epsilon_{ij} \equiv {1 \over 2} \left( {\partial u_i \over \partial x_j} + {\partial u_j \over \partial x_i} \right)$$&lt;br /&gt;
&lt;br /&gt;
where the nonlinear viscosities are given by&lt;br /&gt;
$$\zeta = { P \over 2 \left[ (\epsilon^2_{11} +&lt;br /&gt;
   \epsilon^2_{22} ) ( 1 + 1/e^2 ) + 4 e^{-2} \epsilon^2_{12}&lt;br /&gt;
   + 2 \epsilon_{11} \epsilon_{22} ( 1 - 1/e^2 ) \right] ^{1/2} }$$&lt;br /&gt;
&lt;br /&gt;
$$\eta = { \zeta \over e^2 }.$$&lt;br /&gt;
&lt;br /&gt;
Hibler&#039;s ice strength is given by:&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i e^{-C(1-A)}$$&lt;br /&gt;
&lt;br /&gt;
while [[Bibliography#Overland_1988 | Overland and Pease (1988)]]: advocate a nonlinear strength:&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i^2 e^{-C(1-A)}$$&lt;br /&gt;
&lt;br /&gt;
in which $P^*$ now depends on the grid spacing. Both options are available in ROMS.&lt;br /&gt;
&lt;br /&gt;
We would also like to have an explicit model that can be solved&lt;br /&gt;
efficiently on parallel computers. The EVP rheology has a tunable&lt;br /&gt;
coefficient $E$ (the Young&#039;s modulus) which can be chosen to make the&lt;br /&gt;
elastic term small compared to the other terms. We rearrange the VP rheology:&lt;br /&gt;
&lt;br /&gt;
$${1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
then add the elastic term:&lt;br /&gt;
&lt;br /&gt;
$${1 \over E} {\partial \sigma_{ij} \over \partial t} + {1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
&lt;br /&gt;
Much like the ocean model, the ice model has a split timestep. The&lt;br /&gt;
internal ice stress term is updated on a shorter timestep so as to&lt;br /&gt;
allow the elastic wave velocity to be resolved.&lt;br /&gt;
&lt;br /&gt;
Once the new ice velocities are computed, the ice tracers can be advected using the &#039;&#039;&#039;MPDATA&#039;&#039;&#039; scheme ([[Bibliography#Smolark | Smolarkiewicz]]). The tracers in this case are the ice thickness, ice concentration, snow thickness, internal ice temperature, and surface melt ponds. The continuity equations describing the evolution of these parameters also include thermodynamic terms ($S_h$, $S_s$ and $S_A$), described [[#Thermodynamics | below]]:&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_i \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_i) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_i) \over \partial y}&lt;br /&gt;
  + S_h + {\cal D}_h$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_s \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_s) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_s) \over \partial y}&lt;br /&gt;
  + S_s + {\cal D}_s$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A \over \partial t} =&lt;br /&gt;
  - {\partial (uA) \over \partial x} - {\partial (vA) \over \partial y}&lt;br /&gt;
  + S_A + {\cal D}_A \qquad \qquad 0 \leq A \leq 1 .$$&lt;br /&gt;
The first two equations represent the conservation of ice and snow. The third is discussed in some detail in [[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]], but&lt;br /&gt;
represents the advection of ice blocks in which no ridging occurs as&lt;br /&gt;
long as there is any open water.&lt;br /&gt;
&lt;br /&gt;
The ice model variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $A(x,y,t)$&lt;br /&gt;
| ice concentration, $0.0 \leq A \leq 1.0$&lt;br /&gt;
|-&lt;br /&gt;
| $C_a$&lt;br /&gt;
| nonlinear air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_d = 2.2 \times 10^{-3}$&lt;br /&gt;
| air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_w = 10 \times 10^{-3}$&lt;br /&gt;
| water drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal D}_h, {\cal D}_s, {\cal D}_A$&lt;br /&gt;
| diffusion terms&lt;br /&gt;
|-&lt;br /&gt;
| $\delta_{ij}$&lt;br /&gt;
| Kronecker delta function&lt;br /&gt;
|-&lt;br /&gt;
| $E$&lt;br /&gt;
| Young&#039;s modulus&lt;br /&gt;
|-&lt;br /&gt;
| $e = 2$&lt;br /&gt;
| eccentricity of the elliptical yield curve&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_{ij}(x,y,t)$&lt;br /&gt;
| strain rate tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\eta(x,y,t)$&lt;br /&gt;
| nonlinear shear viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $f(x,y)$&lt;br /&gt;
| Coriolis parameter&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal F}_x, {\cal F}_y$&lt;br /&gt;
| forces due to internal ice stress&lt;br /&gt;
|-&lt;br /&gt;
| $g$&lt;br /&gt;
| gravity&lt;br /&gt;
|-&lt;br /&gt;
| $H$&lt;br /&gt;
| Heaviside function&lt;br /&gt;
|-&lt;br /&gt;
| $h_i(x,y,t)$&lt;br /&gt;
| ice thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_o$&lt;br /&gt;
| ice cutoff thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_s(x,y,t)$&lt;br /&gt;
| snow thickness on ice-covered fraction&lt;br /&gt;
|-&lt;br /&gt;
| $M$&lt;br /&gt;
| ice mass, $\rho_i A h_i$&lt;br /&gt;
|-&lt;br /&gt;
| $P$&lt;br /&gt;
| ice strength&lt;br /&gt;
|-&lt;br /&gt;
| $P^*, C$&lt;br /&gt;
| ice strength parameters&lt;br /&gt;
|-&lt;br /&gt;
| $S_h, S_s, S_A$&lt;br /&gt;
| thermodynamic terms&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma_{ij}$&lt;br /&gt;
| internal ice stress tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_a$&lt;br /&gt;
| air stress&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_w$&lt;br /&gt;
| water stress&lt;br /&gt;
|-&lt;br /&gt;
| $u,v$&lt;br /&gt;
| the ($x,y$) components of ice velocity $\vec{v}$&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{V}_{10}, \vec{v}_w$&lt;br /&gt;
| 10 meter air and surface water velocities&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta$&lt;br /&gt;
| nonlinear bulk viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta_w$&lt;br /&gt;
| surface elevation of the underlying water&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Note that Hibler&#039;s $h_I$ variable is&lt;br /&gt;
equivalent to our $A h_i$ combination - his $h_I$ is the average&lt;br /&gt;
thickness over the whole gridbox while our $h_i$ is the average&lt;br /&gt;
thickness over the ice-covered fraction of the gridbox.&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Thermodynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The thermodynamics is based on calculating how much ice grows and&lt;br /&gt;
melts on each of the surface, bottom, and sides of the ice floes,&lt;br /&gt;
as well as frazil ice formation:&lt;br /&gt;
&lt;br /&gt;
  [[File:Ice_diag1.png]]&lt;br /&gt;
&lt;br /&gt;
Once the ice tracers are advected, the ice concentration and thickness are timestepped according to the terms on the right:&lt;br /&gt;
&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
\frac{D A h_i}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i} \left[ A (W_{io} - W_{ai}) + (1-A) W_{ao} + W_{fr} \right] \cr&lt;br /&gt;
\frac{D A}{Dt} &amp;amp;= \frac{\rho_o A}{\rho_i h_i} \left[ \Phi (1-A) w_{ao} + (1-A) W_{fr} \right] \qquad \qquad 0 \leq A \leq 1  } $$&lt;br /&gt;
&lt;br /&gt;
The term $Ah_i$ is the &amp;quot;effective thickness&amp;quot;, a measure of the ice volume. Its evolution equation is simply quantifying the change in the amount of ice. The ice concentration equation is more interesting in that&lt;br /&gt;
it provides the partitioning between ice melt/growth on the sides vs. on the top and bottom. The parameter $\Phi$ controls this and has differing values for ice melt and retreat. In principle, most of the ice growth is assumed to happen at the base of the ice while rather more of the melt happens on the sides of the ice due to warming of the water in the leads.&lt;br /&gt;
&lt;br /&gt;
The heat fluxes through the ice are based on a simple one layer [[Bibliography#SemtnerAJ_1976a | Semtner (1976)]] type model with snow on top. The temperature is assumed to be linear within the snow and within the ice. The ice contains brine pockets for a total ice salinity of 3.2 or the surface ocean salinity, whichever is less. The surface ocean temperature and salinity is half a $dz$ below the surface. The water right below the surface is assumed to be at the freezing temperature; a logarithmic boundary layer is computed having the temperature and salinity matched at freezing.&lt;br /&gt;
&lt;br /&gt;
Similarly, there is a snow equation:&lt;br /&gt;
$$&lt;br /&gt;
  {D A h_s \over D t} = \left[ A (W_{s} - W_{sm}) \right]&lt;br /&gt;
$$&lt;br /&gt;
where $W_s$ and $W_{sm}$ are the snowfall and snow melt rates, respectively, in units of equivalent water. Also in the model is the depth of the melt ponds in spring, $h_{mp}$ which can be up to 0.1 m, after which melting ice contributes to $W_{ro}$. The melt ponds are not part of the thermal conductivity computations. They could contribute to the albedo computation, but that has been largely commented out.&lt;br /&gt;
&lt;br /&gt;
The ice model thermodynamic variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_w = 0.10$&lt;br /&gt;
| shortwave albedo of water&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.60$&lt;br /&gt;
| shortwave albedo of wet ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.65$&lt;br /&gt;
| shortwave albedo of dry ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of wet snow&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of dry snow&lt;br /&gt;
|-&lt;br /&gt;
| $C_k$&lt;br /&gt;
| snow correction factor&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$ = 2093 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|- &lt;br /&gt;
| $C_{po}$ = 3990 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_w = 0.97$&lt;br /&gt;
| longwave emissivity of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_i = 0.97$&lt;br /&gt;
| longwave emissivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_s = 0.99$&lt;br /&gt;
| longwave emissivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $E(T,r)$&lt;br /&gt;
| enthalpy of the ice/brine system&lt;br /&gt;
|-&lt;br /&gt;
| $F_T\!\uparrow$&lt;br /&gt;
| heat flux from the ocean into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $H\!\downarrow$&lt;br /&gt;
| sensible heat&lt;br /&gt;
|-&lt;br /&gt;
| $i_w$&lt;br /&gt;
| fraction of the solar heating transmitted through a lead into the water below&lt;br /&gt;
|-&lt;br /&gt;
| $k_i$ = 2.04 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $k_s$ = 0.31 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $L_i$ = 302 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of ice&lt;br /&gt;
|-&lt;br /&gt;
| $L_s$ = 110 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of snow&lt;br /&gt;
|-&lt;br /&gt;
| $LE\!\downarrow$&lt;br /&gt;
| latent heat&lt;br /&gt;
|-&lt;br /&gt;
| $LW\!\!\downarrow$&lt;br /&gt;
| incoming longwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $m$ &amp;amp; $-0.054^\circ$C/PSU&lt;br /&gt;
| coefficient in linear $T_f(S) = mS$ equation&lt;br /&gt;
|-&lt;br /&gt;
| $\Phi$&lt;br /&gt;
| contribution to $A$ equation from freezing water&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ai}$&lt;br /&gt;
| heat flux out of the snow/ice surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ao}$&lt;br /&gt;
| heat flux out of the ocean surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{i2}$&lt;br /&gt;
| heat flux up out of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{io}$&lt;br /&gt;
| heat flux up into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{s}$&lt;br /&gt;
| heat flux up through the snow&lt;br /&gt;
|-&lt;br /&gt;
| $r$&lt;br /&gt;
| brine fraction in ice&lt;br /&gt;
|-&lt;br /&gt;
| $\rho_i$ = 910 $m^3/kg$&lt;br /&gt;
| density of ice&lt;br /&gt;
|-&lt;br /&gt;
| $S_i$ = 3.2 PSU&lt;br /&gt;
| salinity of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $SW\!\!\downarrow$&lt;br /&gt;
| incoming shortwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma$ = $5.67 \times 10^{-8}$ W m$^{-2}$ K$^{-4}$&lt;br /&gt;
| Stefan-Boltzmann constant&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
| temperature of the bottom of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
| temperature of the interior of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
| temperature at the upper surface of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_3$&lt;br /&gt;
| temperature at the upper surface of the snow&lt;br /&gt;
|-&lt;br /&gt;
| $T_f$&lt;br /&gt;
| freezing temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_i}$ = $mS_i$&lt;br /&gt;
| melting temperature of ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_s}$ = 0$^\circ$ C&lt;br /&gt;
| melting temperature of snow&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ai}$&lt;br /&gt;
| melt rate on the upper ice/snow surface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ao}$&lt;br /&gt;
| freeze rate at the air/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{fr}$&lt;br /&gt;
| rate of frazil ice growth&lt;br /&gt;
|-&lt;br /&gt;
| $W_{io}$&lt;br /&gt;
| freeze rate at the ice/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ro}$&lt;br /&gt;
| rate of run-off of surface melt water&lt;br /&gt;
|-&lt;br /&gt;
| $W_{s}$&lt;br /&gt;
| snowfall rate&lt;br /&gt;
|-&lt;br /&gt;
| $W_{sm}$&lt;br /&gt;
| snow melt rate&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The locations of the ice and snow temperatures and the heat fluxes:&lt;br /&gt;
&lt;br /&gt;
 [[File:Ice_diag2.png]]&lt;br /&gt;
&lt;br /&gt;
The temperature profile is assumed to be linear between adjacent temperature points. The interior of the ice contains &amp;quot;brine pockets&amp;quot;, leading to a prognostic equation for the temperature $T_1$.&lt;br /&gt;
&lt;br /&gt;
The surface flux to the air is: &lt;br /&gt;
$$&lt;br /&gt;
   Q_{ai} =  - H\!\downarrow - LE\!\downarrow -&lt;br /&gt;
       \epsilon_s LW\!\!\downarrow  -&lt;br /&gt;
      (1 - \alpha_s) SW\!\!\downarrow + \epsilon_s \sigma (T_3+273)^4&lt;br /&gt;
$$&lt;br /&gt;
The incoming shortwave and longwave radiations are assumed to come from an atmospheric model. The formulae for sensible heat, latent heat, and outgoing longwave radiation are the same as in [[Bibliography#ParkinsonCL_1979a |Parkinson and Washington (1979)]] and are shown in [[Radiant Heat Fluxes]]. The sensible heat is a function of $T_3$, as is the heat flux through the snow $Q_s$. Setting $Q_{ai} = Q_s$, we can solve for $T_3$ by setting $T_3^{n+1} = T_3^n + \Delta T_3$ and linearizing in $\Delta T_3$. As in Parkinson and Washington, if $T_3$ is found to be above the melting temperature, it is set to $T_{\rm melt}$ and the extra energy goes into melting the snow or ice:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{ai} &amp;amp; = \frac{Q_{ai} - Q_{i2} }{ \rho_o L_3} \cr&lt;br /&gt;
   L_3 &amp;amp; \equiv \left[ E(T_3,1) - E(T_1, R_1) \right]&lt;br /&gt;
}$$&lt;br /&gt;
Note that $L_3 = (1-r)L_i$ plus a small sensible heat correction. We can store water on the surface in melt pools to a fixed depth---everything extra melted at the surface is assumed to flow into the ocean as $W_{ro}$. The melt ponds however do not contribute to the heat flux computation.&lt;br /&gt;
&lt;br /&gt;
Inside the ice there are brine pockets in which there is salt water at the &#039;&#039;in situ&#039;&#039; freezing temperature. It is assumed that the ice has a uniform overall salinity of $S_i$ and that the freezing temperature is a linear function of salinity. The brine fraction $r$ is given by&lt;br /&gt;
$$&lt;br /&gt;
  r = \frac{S_i m }{ T_1}&lt;br /&gt;
$$&lt;br /&gt;
The enthalpy of the combined ice/brine system is given by&lt;br /&gt;
$$&lt;br /&gt;
  E(T,r) = r(L_i + C_{po}T) + (1-r) C_{pi} T&lt;br /&gt;
$$&lt;br /&gt;
Substituting in for $r$ and differentiating gives:&lt;br /&gt;
$$&lt;br /&gt;
  \frac{\partial E }{ \partial T} = - \frac{S_i m L_i }{ T_1^2} + C_{pi}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Inside the snow, we have &lt;br /&gt;
$$&lt;br /&gt;
   Q_s = \frac{k_s }{ h_s} (T_2 - T_3)&lt;br /&gt;
$$&lt;br /&gt;
The heat conduction in the upper part of the ice layer is&lt;br /&gt;
$$&lt;br /&gt;
   Q_{I2} = \frac{ 2 k_i }{ h_i} (T_1 - T_2)&lt;br /&gt;
$$&lt;br /&gt;
These can be set equal to each other to solve for $T_2$&lt;br /&gt;
$$&lt;br /&gt;
   T_2 = \frac{T_3 + C_k T_1 }{ 1 + C_k}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_k \equiv \frac{2 k_i h_s }{ h_i k_s}.&lt;br /&gt;
$$&lt;br /&gt;
Substituting into (\ref{qi2}), we get:&lt;br /&gt;
$$&lt;br /&gt;
  Q_s = Q_{I2} = \frac{2k_i }{ h_i} \frac{(T_1 - T_3) }{ (1 + C_k)}&lt;br /&gt;
$$&lt;br /&gt;
Note that in the absence of snow, $C_k$ becomes zero and we recover the formula for the no-snow case in which $T_3 = T_2$.&lt;br /&gt;
&lt;br /&gt;
At the bottom of the ice, we have&lt;br /&gt;
$$&lt;br /&gt;
  Q_{I0} = \frac{2 k_i }{ h_i} (T_0 - T_1)&lt;br /&gt;
$$&lt;br /&gt;
The difference between $Q_{I0}$ and $Q_{I2}$ goes into the enthalpy of the ice:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \left[ \frac{\partial E }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla E \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
We can use the chain rule to obtain an equation for timestepping $T_1$:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \frac{\partial E }{ \partial T}&lt;br /&gt;
   \left[ \frac{\partial T_1 }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla T_1 \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
  Q_{I0} - Q_{I2} &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 - T_1) - &lt;br /&gt;
  \frac{(T_1 - T_3) }{ 1 + C_k} \right] \cr&lt;br /&gt;
                  &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 +&lt;br /&gt;
  \frac{T_3 - (2 + C_k) T_1 }{ 1 + C_k} \right]&lt;br /&gt;
} $$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ocean surface boundary conditions==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The ocean receives surface stresses from both the atmosphere and the ice, according to the ice concentration:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   K_m \frac{\partial u_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^x&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^x \cr&lt;br /&gt;
   K_m \frac{\partial v_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^y&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^y  }&lt;br /&gt;
$$&lt;br /&gt;
where the relevant variables are in the following table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $b$&lt;br /&gt;
| 3.14&lt;br /&gt;
| factor&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{E}$&lt;br /&gt;
|&lt;br /&gt;
| evaporation&lt;br /&gt;
|-&lt;br /&gt;
| $k$&lt;br /&gt;
| 0.4&lt;br /&gt;
| von Karman&#039;s constant&lt;br /&gt;
|-&lt;br /&gt;
| $K_m$&lt;br /&gt;
|&lt;br /&gt;
| vertical viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\nu$&lt;br /&gt;
| $1.8 \times 10^{-6} m^2 s^{-1}$&lt;br /&gt;
| kinematic viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{P}$&lt;br /&gt;
|&lt;br /&gt;
| precipitation&lt;br /&gt;
|-&lt;br /&gt;
| $Pr$&lt;br /&gt;
| 13.0&lt;br /&gt;
| molecular Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $P_{rt}$&lt;br /&gt;
| 0.85&lt;br /&gt;
| turbulent Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $S_0$&lt;br /&gt;
|&lt;br /&gt;
| surface salinity&lt;br /&gt;
|-&lt;br /&gt;
| $S$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean salinity&lt;br /&gt;
|-&lt;br /&gt;
| $Sc$&lt;br /&gt;
| 2432&lt;br /&gt;
| molecular Schmidt number&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{io}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the ice&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{ao}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the wind&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
|&lt;br /&gt;
| surface ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $u_\tau$&lt;br /&gt;
|&lt;br /&gt;
| friction velocity $|\tau_{io}|^{1/2} \rho_o^{-1/2}$&lt;br /&gt;
|-&lt;br /&gt;
| $z_0$&lt;br /&gt;
|&lt;br /&gt;
| roughness parameter&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
surface salinity ($T_0 = mS_0$) in the presense of ice. We also have $T$ and $S$ at the uppermost computed ocean point ${1 \over 2} dz$ below the surface. In order to solve for $T_0$ and $S_0$, we assume a [[Bibliography#Yaglom_1974 | Yaglom and Kader, 1974]] logarithmic boundary layer. The upper ocean heat flux is:&lt;br /&gt;
$$&lt;br /&gt;
   \frac{F_T }{ \rho_o C_{po}} = -C_{T_z} (T_0 - T) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{T_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_T}&lt;br /&gt;
$$ $$&lt;br /&gt;
  B_T = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Pr^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Likewise, we have the following equation for the surface salt flux:&lt;br /&gt;
$$&lt;br /&gt;
    F_S = -C_{S_z} (S_0 - S) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{S_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_S}&lt;br /&gt;
$$&lt;br /&gt;
$$&lt;br /&gt;
  B_S = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Sc^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
The ocean model receives the following heat and salt fluxes:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   F_T &amp;amp; = A Q_{io} + (1 - A) Q_{ao} - W_o L_o \cr&lt;br /&gt;
   F_S &amp;amp; = (W_o - A W_{ro}) (S_i-S_0) + (1-A)S_o (\dot{P}-\dot{E}) \cr&lt;br /&gt;
   W_o &amp;amp; \equiv A W_{io} + (1-A) W_{ao} }&lt;br /&gt;
$$ &lt;br /&gt;
&lt;br /&gt;
[[Bibliography#MellorGL_1989a | Mellor and Kantha]] describe solving simultaneously for the five unknowns $W_o$, $T_0$, $S_0$, $F_T$ and $F_S$. Instead, we use the old value of $T_0$ to find $W_{io}$ and therefore $W_o$. Using the new value of $W_{io}$, solve for a new value of $S_0$ and then find the new $T_0$ as the freezing temperature for that salinity:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{io} &amp;amp;= {1 \over L_o} \left[ {Q_{io} \over \rho_o} + C_{po}&lt;br /&gt;
   C_{T_z} (T_o - T) \right] \cr&lt;br /&gt;
   S_0 &amp;amp;= { C_{S_z} S + (W_{ai}H(-W_{ai}) - W_{io})) S_i \over&lt;br /&gt;
   C_{S_z} + W_{ai}H(-W_{ai}) + W_{ro} - W_{io} } }&lt;br /&gt;
$$&lt;br /&gt;
Note that the term $W_{ai}H(-W_{ai})$ is the contribution of melting only, not refreezing of melt ponds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frazil ice formation==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
Following [[Bibliography#Steele_89 |Steele &#039;&#039;et al.&#039;&#039; (1989)]], we check to see if any of the ocean temperatures are below freezing at the end of each timestep.  If so, frazil ice is formed, changing the local temperature and salinity.  The ice that forms is assumed to instantly float up to the surface and add to the ice layer there. We balance the mass, heat, and salt before and after the ice is formed:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   m_{w_1} &amp;amp; = m_{w_2} + m_i \cr&lt;br /&gt;
   m_{w_1} ( C_{pw} T_1 + L) &amp;amp; =&lt;br /&gt;
   m_{w_2} (C_{pw} T_2 + L) + m_i C_{pi} T_2 \cr&lt;br /&gt;
   m_{w_1} S_1 &amp;amp; = m_{w_2} S_2 . }&lt;br /&gt;
$$&lt;br /&gt;
The variables are defined in this table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$&lt;br /&gt;
| 1994 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pw}$&lt;br /&gt;
| 3987 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\gamma$&lt;br /&gt;
| $m_i/m_{w_2}$&lt;br /&gt;
| fraction of water that froze&lt;br /&gt;
|-&lt;br /&gt;
| $L$&lt;br /&gt;
| 3.16e5 J kg$^{-1}$&lt;br /&gt;
| latent heat of fusion&lt;br /&gt;
|-&lt;br /&gt;
| $m_i$&lt;br /&gt;
|&lt;br /&gt;
| mass of ice formed&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_1}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_2}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m$&lt;br /&gt;
| $-0.0543$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $n$&lt;br /&gt;
| $7.59 \times 10^{-4}$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $S_1$&lt;br /&gt;
|&lt;br /&gt;
| salinity before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $S_2$&lt;br /&gt;
|&lt;br /&gt;
| salinity after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
|&lt;br /&gt;
| temperature before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
|&lt;br /&gt;
| temperature after freezing&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defining $\gamma = m_i / m_{w_2}$ and dropping terms of order $\gamma^2$&lt;br /&gt;
leads to:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   T_2 &amp;amp; = T_1 + \gamma \left[ \frac{L }{ C_{pw}} + T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) \right]  \cr&lt;br /&gt;
   S_2 &amp;amp; = S_1 (1 + \gamma)  .}&lt;br /&gt;
$$&lt;br /&gt;
We also want the final temperature and salinity to be on the freezing&lt;br /&gt;
line, which we approximate as:&lt;br /&gt;
$$&lt;br /&gt;
   T_f = m S + n z .&lt;br /&gt;
$$&lt;br /&gt;
We can then solve for $\gamma$:&lt;br /&gt;
$$&lt;br /&gt;
   \gamma = \frac{-T_1 + mS_1 + nz }{ {L }{ C_{pw}}+ T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) - mS_1} .&lt;br /&gt;
$$&lt;br /&gt;
The ocean is checked at each depth $k$ and at each timestep for&lt;br /&gt;
supercooling.  If the water is below freezing, the temperature and&lt;br /&gt;
salinity are adjusted as in equations (\ref{t2eq}) and (\ref{s2eq})&lt;br /&gt;
and the ice above is thickened by the amount:&lt;br /&gt;
$$&lt;br /&gt;
   \Delta h = \gamma_k \Delta z_k \frac{\rho_w}{\rho_i} .&lt;br /&gt;
$$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4805</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4805"/>
		<updated>2014-06-30T18:30:58Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* O */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4804</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4804"/>
		<updated>2014-06-30T18:30:37Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* O */ Added Overland and Pease&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&amp;lt;span id=&amp;quot;Overland_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Overland, J. E. and C. H. Pease, 1988: Modeling ice dynamics of coastal seas.&lt;br /&gt;
&#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;(C12), 15,619-15,637.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4801</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4801"/>
		<updated>2014-05-14T21:35:18Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Other troubles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: was it created with the same version of the same compiler? If not, there could be trouble. I&#039;ve seen gfortran give a cryptic message about expecting a left parenthesis when faced with a module file from an older version of gfortran. Usually if it is from a completely different compiler, it will tell you so.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get a message about:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;crash.f90:(.text+0x19): undefined reference to &#039;nf_close__&#039;&amp;lt;/div&amp;gt; when you know you linked to the netcdf library. You can query the library to see what it has: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;nm libnetcdf.a | grep nf_close&amp;lt;br /&amp;gt;0000000000000e60 T nf_close_&amp;lt;br /&amp;gt;                 U nf_close_&amp;lt;/div&amp;gt;Clearly, there&#039;s a mismatch in the number of underscores which is preventing it from linking successfully. See if you can find a fortran option for controlling the number of underscores and try to match how the library was compiled. Otherwise, you can recompile the library to match how you compile ROMS.&lt;br /&gt;
&lt;br /&gt;
* Another recent problem is that NetCDF 4.x sometimes creates a libnetcdff.a in addition to the libnetcdf.a. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? Is your bathymetry too steep? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4800</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4800"/>
		<updated>2014-05-11T20:03:49Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* How can I set up passive tracers? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: was it created with the same version of the same compiler? If not, there could be trouble. I&#039;ve seen gfortran give a cryptic message about expecting a left parenthesis when faced with a module file from an older version of gfortran. Usually if it is from a completely different compiler, it will tell you so.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get a message about:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;crash.f90:(.text+0x19): undefined reference to &#039;nf_close__&#039;&amp;lt;/div&amp;gt; when you know you linked to the netcdf library. You can query the library to see what it has: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;nm libnetcdf.a | grep nf_close&amp;lt;br /&amp;gt;0000000000000e60 T nf_close_&amp;lt;br /&amp;gt;                 U nf_close_&amp;lt;/div&amp;gt;Clearly, there&#039;s a mismatch in the number of underscores which is preventing it from linking successfully. See if you can find a fortran option for controlling the number of underscores and try to match how the library was compiled. Otherwise, you can recompile the library to match how you compile ROMS.&lt;br /&gt;
&lt;br /&gt;
* Another recent problem is that NetCDF 4.x sometimes creates a libnetcdff.a in addition to the libnetcdf.a. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Errors at Run Time ==&lt;br /&gt;
=== Segmentation fault ===&lt;br /&gt;
There is more than one way to get a seg fault. Ways I know of include (a) running out of memory or some other system limit, (b) accessing an array out of bounds, (c) calling a function with too few arguments. For me, solving these typically involves recompiling with USE_DEBUG and running in a debugger. The array out of bounds can be found by using a bounds checking compiler flag (often included in USE_DEBUG).&lt;br /&gt;
&lt;br /&gt;
=== Blowing up in diag.F ===&lt;br /&gt;
ROMS will check for extreme values of velocity and density at run time, including looking for NaN and Inf. If found, it will save a record to the restart file and die. If this happens early in the run, you might just try a shorter timestep. If it happens after many days/years of model time, you need to dig more deeply. Find out which field went bad and where in the domain it happened. The restart record can be viewed to look for this trouble. I&#039;ve had runs go bad at the bottom with a bottom stress instability, at the top with a surface forcing problem, at the boundary with boundary condition issues. I&#039;ve also had it go bad in the middle of the water column in no place special due to some other instability - it goes from fine to terrible in just a few timesteps. This last can often be run past with a shorter timestep, while the other problems call for more thoughtful responses.&lt;br /&gt;
&lt;br /&gt;
=== Other troubles ===&lt;br /&gt;
ROMS tries to check everything and print useful error messages if something isn&#039;t right. Many problems can be solved by carefully reading the ROMS output. Otherwise, carefully check to make sure your ocean.in file is appropriate for the version of ROMS you are running. Are you adding variables that you forgot to include in your varinfo.dat? If it&#039;s still not clear, I then go back to the debugger - a very useful skill for serious ROMS hacking.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4781</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4781"/>
		<updated>2013-11-04T19:08:26Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* L */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2009: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4780</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4780"/>
		<updated>2013-09-21T15:42:15Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Errors at compile time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be looking for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: was it created with the same version of the same compiler? If not, there could be trouble. I&#039;ve seen gfortran give a cryptic message about expecting a left parenthesis when faced with a module file from an older version of gfortran. Usually if it is from a completely different compiler, it will tell you so.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get a message about:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;crash.f90:(.text+0x19): undefined reference to &#039;nf_close__&#039;&amp;lt;/div&amp;gt; when you know you linked to the netcdf library. You can query the library to see what it has: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;nm libnetcdf.a | grep nf_close&amp;lt;br /&amp;gt;0000000000000e60 T nf_close_&amp;lt;br /&amp;gt;                 U nf_close_&amp;lt;/div&amp;gt;Clearly, there&#039;s a mismatch in the number of underscores which is preventing it from linking successfully. See if you can find a fortran option for controlling the number of underscores and try to match how the library was compiled. Otherwise, you can recompile the library to match how you compile ROMS.&lt;br /&gt;
&lt;br /&gt;
* Another recent problem is that NetCDF 4.x sometimes creates a libnetcdff.a in addition to the libnetcdf.a. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4779</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Frequently_Asked_Questions&amp;diff=4779"/>
		<updated>2013-09-13T16:25:41Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Errors at compile time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Frequently Asked Questions&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration ==&lt;br /&gt;
=== My build finished with no errors. Where is the ROMS executable? ===&lt;br /&gt;
&lt;br /&gt;
It is either in &#039;&#039;&#039;oceanS&#039;&#039;&#039; (serial), &#039;&#039;&#039;oceanO&#039;&#039;&#039; (shared-memory, OpenMP), &#039;&#039;&#039;oceanM&#039;&#039;&#039; (distributed-memory, MPI), or &#039;&#039;&#039;oceanG&#039;&#039;&#039; (debug). Check the [[makefile]] to see which options are on. The makefile definition &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;BINDIR&amp;lt;/span&amp;gt; controls where to write the compiled ROMS executable.&lt;br /&gt;
&lt;br /&gt;
=== What do I have to do to run an application? ===&lt;br /&gt;
There are basically two modes to run a ROMS application: serial or parallel&lt;br /&gt;
# Mostly all canned [[Test Cases | applications]] that come with the ROMS distribution do not need input NetCDF files. The grid, initial conditions and forcing conditions are specified with analytical expressions in [[Functionals]]. Any of these test cases can be run by editing the [[makefile#ROMS_APPLICATION | ROMS_APPLICATION]] definition in the [[makefile]] or the [[build Script]]. A [[cppdefs.h#Options_for_idealized_test_problems | list]] of all pre-defined model applications can be found in header file [[cppdefs.h]]. The next step is to compile and link using the [[gmake | make]] tool and, if you are lucky, the program will build. It is good practice to execute &#039;&#039;&#039;make clean&#039;&#039;&#039; first. Then, the application should be run in serial with the command: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oceanS &amp;amp;lt; ocean_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;where &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;APPLICATION&amp;lt;/span&amp;gt; is the lowercase of any of the CPP options defining a distributed test case. For example, the upwelling ([[UPWELLING]]) [[UPWELLING_CASE | test case]] uses the input script &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;ocean_upwelling.in&amp;lt;/span&amp;gt; which is located in the &#039;&#039;&#039;ROMS/External&#039;&#039;&#039; directory. &lt;br /&gt;
# A few canned applications that come with ROMS require input NetCDF files which are located in the &#039;&#039;&#039;Data/ROMS&#039;&#039;&#039; directories. Same as above, but if you want run in parallel on a distributed-memory computer use: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;mpirun -np 2 oceanM ocean_test_head.in &amp;amp;gt; &amp;amp; log &amp;amp; &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;or to run in parallel on a shared-memory machine:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;setenv OMP_THREAD_NUM 2&amp;lt;br&amp;gt;oceanO &amp;lt; ROMS/External/ocean_upwelling.in &amp;gt; &amp;amp; log &amp;amp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;for the [[TEST_HEAD_CASE | test headland case]], for example. You need to be sure that the product of [[Variables#NtileI | NtileI]] and [[Variables#NtileJ | NtileJ]] in &#039;&#039;&#039;ocean_test_head.in&#039;&#039;&#039; is &#039;&#039;&#039;2&#039;&#039;&#039; since the above command specifies two processors to run (&#039;&#039;&#039;-np 2&#039;&#039;&#039; or &#039;&#039;&#039;OMP_THREAD_NUM=2&#039;&#039;&#039;). Notice that to compile the model in distributed-memory, you need to edit the [[makefile]] (or [[build Script]]) and activate [[makefile#USE_MPI | USE_MPI]]. Also, if you use &#039;&#039;&#039;MPICH&#039;&#039;&#039; rather than a native MPI library, define [[makefile#USE_MPIF90 | USE_MPIF90]] as well. The MPICH library uses a script called [[mpif90]] for compiling.&lt;br /&gt;
&lt;br /&gt;
=== Why is only one node created when executing with mpirun? ===&lt;br /&gt;
This usually occurs when you are not using the correct mpirun. For Example, if you compiled with Open MPI and try to use the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; command from MPICH, you will see this error. To see which mpirun you are executing type &#039;&#039;&#039;&#039;which mpirun&#039;&#039;&#039;&#039;; the first part of the path should match what the ROMS output reports as your &#039;&#039;&#039;&#039;Compiler command&#039;&#039;&#039;&#039;.&lt;br /&gt;
&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;&amp;gt; which mpirun&amp;lt;br /&amp;gt;/opt/pgisoft/mpich/bin/mpirun&amp;lt;br /&amp;gt;&amp;gt; mpirun -np 2 ./oceanM ocean.in&amp;lt;br /&amp;gt; Process Information:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Node #  0 (pid=   150433) is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Model Input Parameters:  ROMS/TOMS version 3.4&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Compiler system  : pgi&amp;lt;br /&amp;gt; Compiler command : /opt/pgisoft/openmpi/bin/mpif90&amp;lt;br /&amp;gt; Compiler flags   :  -O3 -Mfree&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; . . .&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ERROR: Illegal domain partition.&amp;lt;br /&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that only one node is active and the compiler command shows the model was compiled with Open MPI but &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;mpirun&amp;lt;/span&amp;gt; is from the MPICH directory. To fix this problem, update your path to use the mpirun from the &amp;lt;span class=&amp;quot;forestGreen&amp;quot;&amp;gt;openmpi&amp;lt;/span&amp;gt; directory or re-compile with MPICH.&lt;br /&gt;
&lt;br /&gt;
== Compiling and Linking ==&lt;br /&gt;
&lt;br /&gt;
The compiling and linking information is all in [[Compiling and Linking]], [[makefile]], and [[build Script]]. Please let us know if any of this is unclear.&lt;br /&gt;
&lt;br /&gt;
=== Errors at compile time ===&lt;br /&gt;
First of all, read the error messages from the compiler carefully to see if you can figure out what they are talking about. There are several classes of errors (add more as you see them):&lt;br /&gt;
* Errors from build.bash:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;./build.bash: line 40: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 43: $&#039;\r&#039;: command not found&amp;lt;br/&amp;gt;./build.bash: line 46: syntax error near unexpected token &#039;$&#039;in\r&#039;&amp;lt;br/&amp;gt;./build.bash: line 46: &#039; case &amp;quot;$1&amp;quot; in&amp;lt;/div&amp;gt; You need to run the dos2unix command on build.bash.&lt;br /&gt;
* Errors from cpp: If there is a mismatch in the #ifdef/#endif pairs, cpp will be unhappy and will tell you so. There is a perl script called &amp;quot;ifdefs&amp;quot; which checks your #ifdefs/#endif pairings.&lt;br /&gt;
* Errors like this:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; -c -O3 mod_kinds.f90&amp;lt;br /&amp;gt;/bin/sh: -c: not found&amp;lt;/div&amp;gt;&lt;br /&gt;
The command:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;FC := $(shell which ${FC})&amp;lt;/div&amp;gt; in the Compilers/xxx-xxx.mk file has failed to find the compiler you specified, setting FC to the null string. You need to find out which compiler you were asking it to look for and to make sure it is in your path. If the flag USE_MPIF90 is set, it will be lookin for &amp;quot;mpif90&amp;quot;. What do you get from the command &amp;quot;which mpif90&amp;quot;? If you are trying for a serial run first, what does &amp;quot;which gfortran&amp;quot; give you?&lt;br /&gt;
* Syntax errors in the fortran: check the intermediate .f90 file for the exact code at the line numbers in the report. Be sure to edit the corresponding .F file once you determine what the trouble is.&lt;br /&gt;
* Trouble with the netcdf module file: was it created with the same version of the same compiler? If not, there could be trouble. I&#039;ve seen gfortran give a cryptic message about expecting a left parenthesis when faced with a module file from an older version of gfortran. Usually if it is from a completely different compiler, it will tell you so.&lt;br /&gt;
* Trouble with other modules: one instance of this is due to incorrect dependency information in MakeDepend. The ROMS code must be compiled in the correct order and failure to do so might give something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;cd Build; ifort -c  bc_2d.f90&lt;br /&gt;
fortcom: Error: bc_2d.f90, line 30: Error in opening the Library module file.&amp;lt;br /&amp;gt;[MOD_PARAM]&amp;lt;br /&amp;gt;     USE mod_param&amp;lt;br /&amp;gt;----------^&amp;lt;br /&amp;gt;fortcom: Error: bc_2d.f90, line 32: Error in opening the Library module file.&amp;lt;/div&amp;gt;&lt;br /&gt;
Here, it failed to compile mod_param.F before bc_2d.F, leading to trouble. The &#039;--objdir=$(SCRATCH_DIR)&#039; option in MDEPFLAGS is not optional.&lt;br /&gt;
&lt;br /&gt;
=== Errors at link time ===&lt;br /&gt;
* One common problem is that differing options were used when compiling libraries vs. the ROMS code proper. For instance, you get a message about:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;crash.f90:(.text+0x19): undefined reference to &#039;nf_close__&#039;&amp;lt;/div&amp;gt; when you know you linked to the netcdf library. You can query the library to see what it has: &amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;nm libnetcdf.a | grep nf_close&amp;lt;br /&amp;gt;0000000000000e60 T nf_close_&amp;lt;br /&amp;gt;                 U nf_close_&amp;lt;/div&amp;gt;Clearly, there&#039;s a mismatch in the number of underscores which is preventing it from linking successfully. See if you can find a fortran option for controlling the number of underscores and try to match how the library was compiled. Otherwise, you can recompile the library to match how you compile ROMS.&lt;br /&gt;
&lt;br /&gt;
* Another recent problem is that NetCDF 4.x sometimes creates a libnetcdff.a in addition to the libnetcdf.a. The link statement needs to include both. See [https://www.myroms.org/forum/viewtopic.php?f=31&amp;amp;t=1296&amp;amp;p=4599&amp;amp;hilit=config#p4599 this thread] for a discussion on it.&lt;br /&gt;
&lt;br /&gt;
* Also new in NetCDF is the option to create a library with OpenDAP capabilities. In that case, you need to also link to libcurl, in the makefile as the option USE_DAP. This option is needed if you are missing functions with &amp;quot;curl&amp;quot; in the name.&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
=== What are the ways that ROMS can receive the wind and other surface forcing? ===&lt;br /&gt;
# One option is to provide the stresses and fluxes via analytic expressions in [[Functionals#ana_smflux.h | ana_smflux.h]] and [[Functionals#ana_stflux.h | ana_stflux.h]].&lt;br /&gt;
# One option is to provide analytic expressions for the winds and other atmospheric fields in [[Functionals#ana_winds.h | ana_winds.h]] and friends, and define [[Options$BULK_FLUXES | BULK_FLUXES]].&lt;br /&gt;
# ROMS can also read fields from NetCDF files, also stresses or winds, depending on the state of [[Options$BULK_FLUXES | BULK_FLUXES]]. These can be provided as:&lt;br /&gt;
## Point measurements, in which ROMS will rotate to the correct directions from East (u) and North (v).&lt;br /&gt;
## Gridded fields on the ROMS grid, in which case the directions have to match the directions on your grid.&lt;br /&gt;
## Gridded fields on a larger, usually coarser grid. These are in East and North, with ROMS doing the rotation. ROMS picks up its cue on whether to interpolate+rotate or not based on the grid dimensions of these fields. If the dimensions exactly match that of your own grid, ROMS will assume that it is on your grid. If you plan on using global fields of dimension 180x90, say, don&#039;t build a grid with those dimensions. The cdl for a working example is shown here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;netcdf rain.1948-2006 {&lt;br /&gt;
dimensions:&lt;br /&gt;
        rain_time = UNLIMITED ; // (708 currently)&lt;br /&gt;
        lat = 94 ;&lt;br /&gt;
        lon = 192 ;&lt;br /&gt;
variables:&lt;br /&gt;
        float rain(rain_time, lat, lon) ;&lt;br /&gt;
                rain:_FillValue = -1.e+34f ;&lt;br /&gt;
                rain:units = &amp;quot;Kg_meter-2_sec-1\000Kg_meter-2_sec-1&amp;quot; ;&lt;br /&gt;
                rain:long_name = &amp;quot;rain fall rate&amp;quot; ;&lt;br /&gt;
                rain:coordinates = &amp;quot;lon lat&amp;quot; ;&lt;br /&gt;
        double lat(lat) ;&lt;br /&gt;
                lat:units = &amp;quot;degrees_north&amp;quot; ;&lt;br /&gt;
                lat:point_spacing = &amp;quot;uneven&amp;quot; ;&lt;br /&gt;
                lat:axis = &amp;quot;Y&amp;quot; ;&lt;br /&gt;
        double lon(lon) ;&lt;br /&gt;
                lon:units = &amp;quot;degrees_east&amp;quot; ;&lt;br /&gt;
                lon:modulo = 360. ;&lt;br /&gt;
                lon:point_spacing = &amp;quot;even&amp;quot; ;&lt;br /&gt;
                lon:axis = &amp;quot;X&amp;quot; ;&lt;br /&gt;
        float SNOW(rain_time, lat, lon) ;&lt;br /&gt;
                SNOW:missing_value = -1.e+34f ;&lt;br /&gt;
                SNOW:_FillValue = -1.e+34f ;&lt;br /&gt;
                SNOW:long_name = &amp;quot;SNOW_FRAC[D=2,GXYT=PRC_MOD@ASN]*PRC_MOD&amp;quot; ;&lt;br /&gt;
                SNOW:long_name_mod = &amp;quot;L=1:12&amp;quot; ;&lt;br /&gt;
        double rain_time(rain_time) ;&lt;br /&gt;
                rain_time:units = &amp;quot;days since 1900-01-01 00:00:00&amp;quot; ;&lt;br /&gt;
                rain_time:axis = &amp;quot;T&amp;quot; ;&lt;br /&gt;
                rain_time:bounds = &amp;quot;TIME_bnds&amp;quot; ;&lt;br /&gt;
                rain_time:time_origin = &amp;quot;1-JAN-1948&amp;quot; ;&lt;br /&gt;
                rain_time:calendar = &amp;quot;LEAP&amp;quot; ;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In this example, the variable names &amp;quot;rain&amp;quot; and &amp;quot;SNOW&amp;quot; would have to match with what&#039;s in the [[varinfo.dat]] file.&lt;br /&gt;
&lt;br /&gt;
=== How can I create the initial/boundary/forcing NetCDF files for ROMS? ===&lt;br /&gt;
# Please don&#039;t use the old Fortran codes unless you are a glutton for punishment.&lt;br /&gt;
# Most use the Matlab scripts on the ROMS [https://www.myroms.org/svn/src/matlab/ svn server].&lt;br /&gt;
# There are Python tools at [https://github.com/kshedstrom/pyroms github]. A thorough description of how to get these running on a Mac is [http://houstonthereisaproblem.blogspot.com/2011/12/installation-of-pyroms-into-mac-os-1072.html here]. An alternate way to go is to install a VirtualBox with Linux and install them there.&lt;br /&gt;
# There are probably Ferret and other scripts out there. Ask on the ROMS forum if you have question about a specific data source.&lt;br /&gt;
&lt;br /&gt;
=== What are the ways that ROMS can receive tides on the boundaries? ===&lt;br /&gt;
# You can specify a time-dependent boundary condition file that temporally resolves the tides and skip the tides file entirely.&lt;br /&gt;
# You can specify [[Options#SSH_TIDES | SSH_TIDES]] and/or [[Options#UV_TIDES | UV_TIDES]] and provide  a tides file and skip the boundary condition file entirely - though this option might require you to tell ROMS in [[globaldefs.h]] that you really, really don&#039;t need an [[Options#OBC_FILE | OBC_FILE]]. Usual practice is to provide both surface elevation and currents in the tidal file and to use FSCHAPMAN and M2FLATHER on the open sides of your domain.&lt;br /&gt;
# You can specify other 2-d currents and surface elevation signals as coming in, plus have tides and use the [[Options#ADD_M2OBC | ADD_M2OBC]] and [[Options#ADD_FSOBC | ADD_FSOBC]] options.&lt;br /&gt;
=== How can I set up passive tracers? ===&lt;br /&gt;
You need to #define [[Options#T_PASSIVE | T_PASSIVE]] to get passive tracers. The flag [[Options#ANA_PASSIVE | ANA_PASSIVE]] determines whether or not the initial conditions are analytic (from [[Functionals#ana_passive.h | ana_passive.h]]) or from the initial condition file. As for boundary conditions, all tracers have either analytic boundary conditions or they all come from the same boundary condition file. If you need to read values from a file, the field names are dye_01, dye_02, etc. I successfully set up a uniform dye_01 using ANA_PASSIVE with boundary conditions from a file. The boundary file has u,v,T,S for many times and (analytic) biological values for the beginning and end times. I have a script to read one biology value, change the attributes and the value to my uniform value, then write it into the boundary file with the name dye_01_west, etc. I then had to edit [[varinfo.dat]] to reflect that it&#039;s using bio_time rather than ocean_time.&lt;br /&gt;
&lt;br /&gt;
== Algorithm Design ==&lt;br /&gt;
=== Why the _r8 at the end of real constants? ===&lt;br /&gt;
Some computers use 32 bits for single precision real numbers and 64 bits for double precision, and some use 64 and 128, respectively. For consistent results on various machines, ROMS takes advantage of the intrinsic F90/95 function SELECTED_REAL_KIND( ). See ROMS/Modules/mod_kinds.F. This allows you to associate an integer parameter with a specific data type...in this case r8 is associated with 64-bit precision. RTFM (Read the Fortran90 Manual), or better yet, chapter 11 in [[Bibliography#ChapmanSJ_2004a | Chapman, 2004]].&lt;br /&gt;
&lt;br /&gt;
=== Why we cannot have zero bathymetry (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt;)? ===&lt;br /&gt;
In ROMS the the bathymetry, &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;, is positive and represents the vertical water column thickness (meters) from the ocean rest state (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;zeta=0&amp;lt;/span&amp;gt;).  We &#039;&#039;&#039;cannot&#039;&#039;&#039; have &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h=0&amp;lt;/span&amp;gt; in &#039;&#039;&#039;any&#039;&#039;&#039; horizontal grid point even if it is masked by land. Therefore, during grid generation the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; values are limited to a minimum value &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;. Recall that in terrain-following vertical coordinates &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; is used to compute the vertical level thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;). If you examine the [[Curvilinear_Coordinates_Transformation | governing equations]], we divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt; when computing the vertical viscosity and diffusion terms. In addition, in several places of the numerical kernel we also divide by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hz&amp;lt;/span&amp;gt;.  This is usually computed in the internal array &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;oHz=1/Hz&amp;lt;/span&amp;gt;. In mathematics, the &#039;&#039;&#039;division by zero&#039;&#039;&#039; is not defined and computers will return &#039;&#039;&#039;Inf&#039;&#039;&#039; or &#039;&#039;&#039;NaN&#039;&#039;&#039;.  Users need to consider carefully what value of &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt; to use by taking into account the horizontal grid resolution, number of vertical levels, and vertical coordinates stretching function for a particular application.  In ROMS, all the vertical levels are located above &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;hmin&amp;lt;/span&amp;gt;.  This will limit the vertical time-step of the model due to the Currant-Friedrichs-Levy (CFL) condition.  Notice that we also need a critical water column thickness (&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Dcrit&amp;lt;/span&amp;gt;) in wetting and drying for the same reasons mentioned above.&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
== Input/Output NetCDF files ==&lt;br /&gt;
=== How to add a new variable to ROMS output files? ===&lt;br /&gt;
This question has been asked several times. ROMS IO design is very flexible and easy to expand. There are several steps that need to be followed to add new variables to any of the output files:&lt;br /&gt;
# The ROMS output NetCDF files are defined by any the routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;def_&amp;lt;/span&amp;gt; in the &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;ROMS/Utilities&amp;lt;/span&amp;gt; directory. For example, in [[def_his.F]] a variable can be defined in the history file by just adding:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;        IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;          Vinfo( 1)=Vname(1,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 2)=Vname(2,idUvel)&amp;lt;br /&amp;gt;          Vinfo( 3)=Vname(3,idUvel)&amp;lt;br /&amp;gt;          Vinfo(14)=Vname(4,idUvel)&amp;lt;br /&amp;gt;          Vinfo(16)=Vname(1,idtime)&amp;lt;br /&amp;gt;# if defined WRITE_WATER &amp;amp;&amp;amp; defined MASKING&amp;lt;br /&amp;gt;          Vinfo(20)=&#039;mask_u&#039;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;          Vinfo(22)=&#039;coordinates&#039;&amp;lt;br /&amp;gt;          Aval(5)=REAL(Iinfo(1,idUvel,ng),r8)&amp;lt;br /&amp;gt;          status=def_var(ncHISid(ng),hisVid(idUvel,ng),NF_FOUT,         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                   nvd4,u3dgrd,Aval,Vinfo,ncname)&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Correspondingly, the field time records are written in routines with the prefix &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;wrt_&amp;lt;/span&amp;gt;. For example, a field can be written in [[wrt_his.F]] as:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      IF (Hout(idUvel,ng)) THEN&amp;lt;br /&amp;gt;        scale=1.0_r8&amp;lt;br /&amp;gt;        gtype=gfactor*u3dvar&amp;lt;br /&amp;gt;        status=nf_fwrite3d(ng, iNLM, ncHISid(ng), hisVid(idUvel,ng),    &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     tHISindx(ng), gtype,                         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &amp;amp;&amp;lt;br /&amp;gt;# ifdef MASKING&amp;lt;br /&amp;gt;     &amp;amp;                     GRID(ng) % umask(LBi,LBj),                   &amp;amp;&amp;lt;br /&amp;gt;# endif&amp;lt;br /&amp;gt;     &amp;amp;                     OCEAN(ng) % u(LBi,LBj,1,NOUT))&amp;lt;br /&amp;gt;        IF (status.ne.nf90_noerr) THEN&amp;lt;br /&amp;gt;          IF (Master) THEN&amp;lt;br /&amp;gt;            WRITE (stdout,10) TRIM(Vname(1,idUvel)), tHISindx(ng)&amp;lt;br /&amp;gt;          END IF&amp;lt;br /&amp;gt;          exit_flag=3&amp;lt;br /&amp;gt;          ioerror=status&amp;lt;br /&amp;gt;          RETURN&amp;lt;br /&amp;gt;        END IF&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Ass you may noticed, some knowledge of ROMS internal structure is required to define a new field. Please follow any of output fields examples in such files to define and write the new field. &lt;br /&gt;
# Notice that ROMS state variables are defined on a horizontal, [[Numerical_Solution_Technique#Horizontal_Discretization|staggered Arakawa C-grid]]. In addition, the variables are also [[Numerical_Solution_Technique#Vertical_Discretization|staggered in the vertical]]. Therefore, you need choose the appropriate identifier flag:&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r2dvar&amp;lt;/span&amp;gt;: 2D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u2dvar&amp;lt;/span&amp;gt;: 2D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v2dvar&amp;lt;/span&amp;gt;: 2D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;p3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;psi;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;r3dvar&amp;lt;/span&amp;gt;: 3D field at &amp;amp;rho;-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;u3dvar&amp;lt;/span&amp;gt;: 3D field at u-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;v3dvar&amp;lt;/span&amp;gt;: 3D field at v-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;w3dvar&amp;lt;/span&amp;gt;: 3D field at w-points&lt;br /&gt;
#* &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;b3dvar&amp;lt;/span&amp;gt;: 3D bed-sediment field&lt;br /&gt;
# Select a unique six-character, case sensitive, field identifier which is defined in file [[mod_ncparam.F | ROMS/Modules/mod_ncparam.F]]. Notice that all the identifiers are defined in alphabetic order to facilitate the search. Choose a meaningfull identifier prefixed by &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;id&amp;lt;/span&amp;gt;. This indentifier needs to be assigned in routine &amp;lt;span class=&amp;quot;blue&amp;quot;&amp;gt;initialize_ncparam&amp;lt;/span&amp;gt; during the reading of variable metadata form file [[varinfo.dat]]. You need to add code similar to:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;              CASE (&#039;idUvel&#039;) &amp;lt;br /&amp;gt;                idUvel=varid&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;Check the example above to see how the &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;idUvel&amp;lt;/span&amp;gt; identifier is used in the internal field metadata arrays.&lt;br /&gt;
# Define new field metadata in file [[varinfo.dat | ROMS/External/varinfo.dat]]. Follow the examples to define the following field information:&lt;br /&gt;
#* Field variable name string. This is the variable name in the output NetCDF file. You need to choose a unique and meaninful variable name.&lt;br /&gt;
#* Field long-name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;long_name&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field units string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;units&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field type string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;field&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Associated time-variable name string. This is the variable &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;time&amp;lt;/span&amp;gt; attribute in the output NetCDF file.&lt;br /&gt;
#* Field identifier string. This is the field six-character unique index used in information arrays.&lt;br /&gt;
#* Field staggered C-grid variable type. Use one of flags defined above.&lt;br /&gt;
#* Field scale floating-point value. This value is only used in input data to scale field to model units, if necessary. Otherwise, use a unity value.&amp;lt;br /&amp;gt;Notice that all string information above is specified within single quotes to facilitate free-format reading in [[mod_ncparam.F]]. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;u&#039;                                                ! Input/Output&amp;lt;br /&amp;gt;  &#039;u-momentum component&#039;&amp;lt;br /&amp;gt;  &#039;meter second-1&#039;                                 ! [m/s]&amp;lt;br /&amp;gt;  &#039;u-velocity, scalar, series&#039;&amp;lt;br /&amp;gt;  &#039;ocean_time&#039;&amp;lt;br /&amp;gt;  &#039;idUvel&#039;&amp;lt;br /&amp;gt;  &#039;u3dvar&#039;&amp;lt;br /&amp;gt;  1.0d0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Add logical switch &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Hout(id....)&amp;lt;/span&amp;gt; in input script [[ocean.in]] to activate the processing of the new field. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hout(idUvel) == T                          ! 3D U-velocity&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; This new switch needs to be read in file [[inp_par.F | ROMS/Utility/inp_par.F]], routine &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;read_PhyPar&amp;lt;/span&amp;gt;. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          ELSE IF (TRIM(KeyWord).eq.&#039;Hout(idUvel)&#039;) THEN&amp;lt;br /&amp;gt;            IF (idUvel.eq.0) THEN&amp;lt;br /&amp;gt;              WRITE (out,280) &#039;idUvel&#039;&amp;lt;br /&amp;gt;              STOP&amp;lt;br /&amp;gt;            END IF&amp;lt;br /&amp;gt;            Npts=load_l(Nval, Cval, Ngrids, Hout(idUvel,1))&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;It is also a good idea to report the new logical switch to standard output. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;          IF (Hout(idUvel,ng)) WRITE (out,170) Hout(idUvel,ng),         &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Hout(idUvel)&#039;,                                            &amp;amp;&amp;lt;br /&amp;gt;     &amp;amp;       &#039;Write out 3D U-momentum component.&#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the same steps to process time-averaged fields. In addition, you need to define, allocate, and initialize in [[mod_average.F | ROMS/Modules/mod_average.F]] the new ROMS variable used to accumulate the time records. For example:&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      real(r8), pointer :: avgu3d(:,:,:)&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      allocate ( AVERAGE(ng) % avgu3d(LBi:UBi,LBj:UBj,N(ng)) )&amp;lt;br /&amp;gt;...&amp;lt;br /&amp;gt;      AVERAGE(ng) % avgv3d(i,j,k) = IniVal&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;The time-averaged fields are computed in [[set_avg.F | ROMS/Nonlinear/set_avg.F]].  Check this file to see how this is done.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4773</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4773"/>
		<updated>2013-03-22T22:25:34Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* L */ Added Large and Yeager&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature of the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_2008&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G. and S. G. Yeager, 2008: The global climatology of an interannually varying air-sea flux data set, &#039;&#039;Clim. Dyn.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 341-364, DOI 10.1007/s00382-0008-0441-3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4762</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4762"/>
		<updated>2012-08-27T23:46:39Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* S */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, and E.N. Powell, 1993: Environmental effect on the growth and development of Eastern oyster, Crassostrea virginica (Gmelin, 1791), larvae: A modeling study, &#039;&#039;J. Shelfish Res&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 241-254.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1996: Modeling the vertical distribution of oyster larvae in response to environmental conditions, &#039;&#039;Mar. Ecol. Prog. Ser.&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 97-110.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DekshenieksM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dekshenieks, M.M., E.E. Hofmann, J.M. Klinck, and E.N. Powell, 1997: A modeling study of the effect of size- and depth-dependent predation on larval survival, &#039;&#039;J.Plankton Res.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, (11), 1583-1598.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature od the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2011: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state. Ocean Modeling, &#039;&#039;&#039;38&#039;&#039;&#039;, pp. 41-70, doi:10.1016/j.ocemod.2011.01.010. ([http://www.atmos.ucla.edu/~alex/ROMS/EOSArticle2011.pdf preprint PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Tutorials&amp;diff=4755</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Tutorials&amp;diff=4755"/>
		<updated>2012-05-31T14:27:11Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* ROMS Manual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;ROMS Tutorials&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page is for tutorials on using ROMS and other related software. If you create a tutorial please create a link to that tutorial in the list below.&lt;br /&gt;
&lt;br /&gt;
==ROMS Manual==&lt;br /&gt;
:*[http://www.people.arsc.edu/~kate/ROMS/manual_2012.pdf Draft ROMS Manual]&lt;br /&gt;
:*[https://www.myroms.org/wiki/index.php/File:Manual_2010.pdf Old ROMS Manual]&lt;br /&gt;
&lt;br /&gt;
==Installing ROMS==&lt;br /&gt;
:*[[ROMS_Mac|Installing ROMS on a Macintosh]]&lt;br /&gt;
:*[[ROMS_Cygwin|Installing ROMS in Windows XP/Vista (via Cygwin)]]&lt;br /&gt;
:*[[ROMS_UNSW2008|Installing and Running ROMS for First Time Users. Tutorial at UNSW Computer Labs, 30 March 2009]]&lt;br /&gt;
:*[[ROMS_git|Installing ROMS via git]]&lt;br /&gt;
&lt;br /&gt;
==Sediment Tutorials==&lt;br /&gt;
:*[[CSTMS_UNSW2008|Adding sediment to the Latte example. Tutorial at Sydney Institute of Marine Sciences, 3 April 2009]]&lt;br /&gt;
:*[[CSTMS_SEDTOY|Sediment Toy Description]]&lt;br /&gt;
&lt;br /&gt;
==Data Assimilation==&lt;br /&gt;
:*[[4DVar_Tutorial_Introduction|4-Dimensional Variational (4D-Var) Tutorial]]&lt;br /&gt;
&lt;br /&gt;
==Utilities and Tools==&lt;br /&gt;
:*[[MEXNC|For Matlab users: Installing MEXNC, SNCTOOLS and ROMS-Matlab-toolkit]]&lt;br /&gt;
:*[[Plotting_Package_Installation|Installing and Using the ROMS/TOMS Plotting Package]]&lt;br /&gt;
&lt;br /&gt;
==Hong Kong Workshop==&lt;br /&gt;
:*[[HK_2011|Ten-day overview of using ROMS, from equations to python tools]]&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Tutorials&amp;diff=4754</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Tutorials&amp;diff=4754"/>
		<updated>2012-05-31T14:26:36Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* ROMS Manual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;ROMS Tutorials&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page is for tutorials on using ROMS and other related software. If you create a tutorial please create a link to that tutorial in the list below.&lt;br /&gt;
&lt;br /&gt;
==ROMS Manual==&lt;br /&gt;
:*[https://www.people.arsc.edu/~kate/ROMS/manual_2012.pdf Draft ROMS Manual]&lt;br /&gt;
:*[https://www.myroms.org/wiki/index.php/File:Manual_2010.pdf Old ROMS Manual]&lt;br /&gt;
&lt;br /&gt;
==Installing ROMS==&lt;br /&gt;
:*[[ROMS_Mac|Installing ROMS on a Macintosh]]&lt;br /&gt;
:*[[ROMS_Cygwin|Installing ROMS in Windows XP/Vista (via Cygwin)]]&lt;br /&gt;
:*[[ROMS_UNSW2008|Installing and Running ROMS for First Time Users. Tutorial at UNSW Computer Labs, 30 March 2009]]&lt;br /&gt;
:*[[ROMS_git|Installing ROMS via git]]&lt;br /&gt;
&lt;br /&gt;
==Sediment Tutorials==&lt;br /&gt;
:*[[CSTMS_UNSW2008|Adding sediment to the Latte example. Tutorial at Sydney Institute of Marine Sciences, 3 April 2009]]&lt;br /&gt;
:*[[CSTMS_SEDTOY|Sediment Toy Description]]&lt;br /&gt;
&lt;br /&gt;
==Data Assimilation==&lt;br /&gt;
:*[[4DVar_Tutorial_Introduction|4-Dimensional Variational (4D-Var) Tutorial]]&lt;br /&gt;
&lt;br /&gt;
==Utilities and Tools==&lt;br /&gt;
:*[[MEXNC|For Matlab users: Installing MEXNC, SNCTOOLS and ROMS-Matlab-toolkit]]&lt;br /&gt;
:*[[Plotting_Package_Installation|Installing and Using the ROMS/TOMS Plotting Package]]&lt;br /&gt;
&lt;br /&gt;
==Hong Kong Workshop==&lt;br /&gt;
:*[[HK_2011|Ten-day overview of using ROMS, from equations to python tools]]&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=ROMS_git&amp;diff=4539</id>
		<title>ROMS git</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=ROMS_git&amp;diff=4539"/>
		<updated>2012-04-21T00:05:05Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Downloading ROMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Tutorial: Installing ROMS via git&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I would like to explain how and why one would install ROMS via git-svn.&lt;br /&gt;
&lt;br /&gt;
==What is git?==&lt;br /&gt;
Git is a distributed version control system available from [http://git-scm.com/]. That site also contains links to documentation and other resources - even videos! I have also written about it [https://www.myroms.org/wiki/index.php/File:Git.pdf here] and on the [https://www.myroms.org/blog/ ROMS blog]. As git is a distributed system, any copy you make of a repository is complete unto itself, with history and possibly branches. If you download ROMS via git-svn, you now have an environment in which you can save your own changes, create new branches, and keep a history of what you have tried.&lt;br /&gt;
&lt;br /&gt;
As a ROMS developer, I have write access to a branch at the Rutgers svn server, but that&#039;s not true of most users. As ROMS users, you still have opportunity to create and modify ROMS files that you might want to manage with some sort of versioning software. This is not easy with svn, in which each &amp;quot;sandbox&amp;quot; can only point to one repository. You&#039;ve got to have one pointing to the myroms.org site in order to get updates. Then the easiest (but unsatisfactory) way to back up your changes is via tarball.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
You will need:&lt;br /&gt;
*svn&lt;br /&gt;
*git&lt;br /&gt;
*some Perl scripts which come with svn, but aren&#039;t always installed&lt;br /&gt;
*Perl&lt;br /&gt;
&lt;br /&gt;
If everything is there and you are in a git sandbox, you can have this sort of exchange:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn --version&amp;lt;br /&amp;gt;git-svn version 1.7.1 (svn 1.6.5)&amp;lt;/div&amp;gt;&lt;br /&gt;
If everything is there and you are not in a git sandbox, you get this instead:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn --version&amp;lt;br /&amp;gt;fatal: Not a git repository (or any of the parent directories): .git&amp;lt;br /&amp;gt;Already at toplevel, but .git not found&amp;lt;br /&amp;gt; at /Users/kate/libexec/git-core/git-svn line 276&amp;lt;/div&amp;gt;&lt;br /&gt;
If the Perl scripts are not there, you get something more like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn --version&amp;lt;br /&amp;gt;Can&#039;t locate SVN/Core.pm in @INC (@INC contains: /u1/uaf/kate/...&amp;lt;/div&amp;gt;&lt;br /&gt;
You might have the best luck with package managers rather than installing from source code.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
For the Hong Kong training, Dale asked me to set up the CIRCLE test problem, in three different flavors. I did so, but the initial conditions require the use of a C language Bessel function, changing the link rules for ROMS. This is the perfect example of why you would want to be able to create alternate branches. What I am going to lead you through here is setting up three branches:&lt;br /&gt;
*master, a copy of the myroms.org trunk&lt;br /&gt;
*circle, a branch with the special features of the CIRCLE problem&lt;br /&gt;
*my_stuff (or whatever name you like), a place to put your own changes&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git config --global user.name “me”&amp;lt;br /&amp;gt;% git config --global user.email “me@work”&amp;lt;br /&amp;gt;% git config --global color.ui “auto”&amp;lt;/div&amp;gt;&lt;br /&gt;
For the first two, substitute &amp;quot;me&amp;quot; with your real name in quotes and &amp;quot;me@work&amp;quot; with your real email address. The third is entirely optional, but provides more colorful output from git. For all, leave out the &amp;quot;--global&amp;quot; argument to have it apply to the current directory only. As it is, it will put information into a .gitconfig file in your home directory.&lt;br /&gt;
&lt;br /&gt;
===Downloading ROMS===&lt;br /&gt;
We want to download a specific revision of ROMS rather than the entire history. As I write this, the current revision (visible at [https://www.myroms.org/svn/src/]) is 529. A recent prior version is 526, from just after the annual changing of the Copyright notice in all files. I&#039;d like to fetch something just before the current version so you can see the update and merge procedures. Grabbing rev 526:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn –r 526 clone --username name https://www.myroms.org/svn/src/trunk [MyDir]&amp;lt;/div&amp;gt;Here, &amp;quot;--username name&amp;quot; is not needed if your ROMS userid is the same as your userid on the local computer, &amp;quot;name&amp;quot; being your ROMS name. If you leave off the MyDir argument, it will create a directory called &amp;quot;trunk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now you can change into the directory called MyDir or trunk and see all the ROMS directories. There will also be a hidden directory called &amp;quot;.git&amp;quot;. One file there that&#039;s useful to look at is .git/config, containing information about other repositories it knows about. Since we haven&#039;t told it about other remote sites yet, it should look something like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;[core]&amp;lt;br /&amp;gt;        repositoryformatversion = 0&amp;lt;br /&amp;gt;        filemode = true&amp;lt;br /&amp;gt;        bare = false&amp;lt;br /&amp;gt;        logallrefupdates = true&amp;lt;br /&amp;gt;        ignorecase = true&amp;lt;br /&amp;gt;[svn-remote &amp;quot;svn&amp;quot;]&amp;lt;br /&amp;gt;        url = https://www.myroms.org/svn/src/trunk&amp;lt;br /&amp;gt;        fetch = :refs/remotes/git-svn&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ignoring Files===&lt;br /&gt;
Let&#039;s create a &amp;quot;.gitignore&amp;quot; file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% cat &amp;gt; .gitignore&amp;lt;br /&amp;gt;Build&amp;lt;br /&amp;gt;ocean?&amp;lt;br /&amp;gt;core*&amp;lt;/div&amp;gt;&lt;br /&gt;
We can add this to the list of files to be tracked by git:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add .gitignore&amp;lt;br /&amp;gt;% git commit -m &amp;quot;adding .gitignore&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
Without the &amp;quot;-m string&amp;quot; option, it will open up a text editor, waiting for a description for this commit.&lt;br /&gt;
&lt;br /&gt;
===Creating Branches===&lt;br /&gt;
As we said above, we would like to have three branches at the end, one containing some code for a CIRCLE test problem. Let&#039;s start off with that:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git branch circle&amp;lt;br /&amp;gt;% git checkout circle&amp;lt;br /&amp;gt;% git branch&amp;lt;/div&amp;gt;This last command should just show that we are now in the circle branch:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;green&amp;quot;&amp;gt;* circle&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;  master&amp;lt;/div&amp;gt;&lt;br /&gt;
Now to fetch the circle code from [https://www.myroms.org/wiki/index.php/File:Circle.diffs.gz]. From the trunk directory, we can apply these changes to the circle branch:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% gunzip Circle.diffs.gz&amp;lt;br /&amp;gt;% patch -p1 &amp;lt; Circle.diffs&amp;lt;/div&amp;gt;We can see what we have with &amp;quot;git status&amp;quot;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;br /&amp;gt;# On branch circle&amp;lt;br /&amp;gt;# Changed but not updated:&amp;lt;br /&amp;gt;#   (use &amp;quot;git add &amp;lt;file&amp;gt;...&amp;quot; to update what will be committed)&amp;lt;br /&amp;gt;#   (use &amp;quot;git checkout -- &amp;lt;file&amp;gt;...&amp;quot; to discard changes in working directory)&amp;lt;br /&amp;gt;#&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   Master/Module.mk&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Modules/mod_scalars.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Utility/checkdefs.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Utility/def_info.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;modified:   ROMS/Utility/wrt_info.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;br /&amp;gt;# Untracked files:&amp;lt;br /&amp;gt;#   (use &amp;quot;git add &amp;lt;file&amp;gt;...&amp;quot; to include in what will be committed)&amp;lt;br /&amp;gt;#&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Apps/&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#       &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;makefile.circle&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;no changes added to commit (use &amp;quot;git add&amp;quot; and/or &amp;quot;git commit -a&amp;quot;)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;git commit -a&amp;quot; will add the updates to all the files that git is already tracking. For this case, we want it to track a couple of new things:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add Apps makefile.circle&amp;lt;/div&amp;gt; Now we can commit the whole works:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit -a -m &amp;quot;Circle problem&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When in this branch, one can run any of the three Circle cases:&lt;br /&gt;
*CIRLCE_BOX - a square grid with masking&lt;br /&gt;
*CIRCLE_ROUND - requires an external circular grid&lt;br /&gt;
*CIRCLE_POLAR - a donut-shaped domain&lt;br /&gt;
If you use build.bash, edit the line near the bottom invoking &amp;quot;make&amp;quot; and change it to &amp;quot;make -f makefile.circle&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Fetching Updates===&lt;br /&gt;
Remember that we hadn&#039;t grabbed the absolute latest, greatest ROMS. We want to go back to the master branch to bring it in, but first, it&#039;s always good practice to make sure there are no stray files lying around:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;br /&amp;gt;# On branch circle&amp;lt;br /&amp;gt;nothing to commit (working directory clean)&amp;lt;/div&amp;gt;&lt;br /&gt;
Now we can go back to the master branch and fetch the updates:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout master&amp;lt;br /&amp;gt;% git svn rebase&amp;lt;/div&amp;gt;&lt;br /&gt;
A rebase is a reordering of the commits, in this case putting our changes after the history that&#039;s coming from the svn repository:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;First, rewinding head to replay your work on top of it...&amp;lt;br /&amp;gt;Applying: adding .gitignore&amp;lt;/div&amp;gt; In this case, I want to keep the master branch as a clean copy of the ROMS trunk code (except for that .gitignore).&lt;br /&gt;
&lt;br /&gt;
===Merging and a Conflict===&lt;br /&gt;
We&#039;ve updated the master branch, but not the circle branch. Let&#039;s go take care of that:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout circle&amp;lt;/div&amp;gt; I can simply show you the merge:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git merge master&amp;lt;/div&amp;gt; or I can show you a little conflict just for fun. Let&#039;s change ROMS/Version to look like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;ROMS/TOMS Framework:  January 19, 2011&amp;lt;br /&amp;gt;===================&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Copyright (c) 2002-2011 The ROMS/TOMS Group&amp;lt;br /&amp;gt;  Licensed under a MIT/X style license&amp;lt;br /&amp;gt;  See License_ROMS.txt&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;svn: $HeadURL$&amp;lt;br /&amp;gt;svn: $LastChangedBy$&amp;lt;br /&amp;gt;svn: $LastChangedRevision$&amp;lt;br /&amp;gt;svn: $LastChangedDate$&amp;lt;br /&amp;gt;svn: $Id$&amp;lt;/div&amp;gt;&lt;br /&gt;
Notice that the svn stuff like &amp;quot;$HeadURL$&amp;quot; has not been expanded. Some of these tags are read by ROMS, so we can fill in useful information there, for at least the URL and author:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;svn: $https://www.myroms.org/svn/src/trunk/$&amp;lt;br /&amp;gt;svn: $arango$&amp;lt;/div&amp;gt; Heck if I&#039;m going to keep the revision number up to date, but go for it if you&#039;re so inclined.&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re ready for a fun merge:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git merge master&amp;lt;br /&amp;gt;error: Your local changes to &#039;ROMS/Version&#039; would be overwritten by merge.  Aborting.&amp;lt;br /&amp;gt;Please, commit your changes or stash them before you can merge.&amp;lt;/div&amp;gt;&lt;br /&gt;
Oops, maybe not quite. Let&#039;s do that commit, then try again:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit -a -m &amp;quot;having fun&amp;quot;&amp;lt;br /&amp;gt;% git merge master&amp;lt;/div&amp;gt;&lt;br /&gt;
We got a conflict message and we can also see the list of troublesome files with:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;/div&amp;gt;&lt;br /&gt;
Opening this file we see:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; HEAD&amp;lt;br /&amp;gt;ROMS/TOMS Framework:  January 19, 2011&amp;lt;br /&amp;gt;=======&amp;lt;br /&amp;gt;ROMS/TOMS Framework: January 18, 2011&amp;lt;br /&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; master&amp;lt;/div&amp;gt;&lt;br /&gt;
Merge conflicts always have the trouble shown between the &amp;quot;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;quot; string and the &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;quot; string, with the &amp;quot;=======&amp;quot; string dividing the two versions. Let&#039;s just clean up the mess, leaving Hernan&#039;s version and then tell git the problem has been resolved:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add ROMS/Version&amp;lt;/div&amp;gt; We can check &amp;quot;git status&amp;quot; again to see that the red file has turned green and we are ready to commit:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conflicts are usually pretty painless, though I know I&#039;m in for some fun merging Hernan&#039;s spatially variable bottom drag with my own version of the same feature. However, with git-svn, each change comes in independently and it&#039;s easier to isolate the changes. After updating the master, it is possible to literally apply one patch at a time with &amp;quot;git cherry-pick&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Another Branch===&lt;br /&gt;
Above we said we want a place for our own changes as well as a place for the CIRCLE problem. We want to make the new branch to be a copy of the master branch. The command &amp;quot;git branch name&amp;quot; copies the current branch, so let&#039;s go back to master first:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout master&amp;lt;br /&amp;gt;% git branch my_stuff&amp;lt;br /&amp;gt;% git checkout my_stuff&amp;lt;br /&amp;gt;% git branch&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One purpose of this new branch could be for running the Tide_bay application. We have the code over in the circle branch, but it can&#039;t be compiled there due to the Bessel function weirdness. Let&#039;s fetch it over to this new branch:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git checkout circle Apps/Tide_bay&amp;lt;/div&amp;gt; We can see the new stuff with:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git status&amp;lt;/div&amp;gt; Clearly, we want to commit this here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git commit -m &amp;quot;Tide_bay setup&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Last Tips===&lt;br /&gt;
*Remember to check that &amp;quot;git status&amp;quot; is clean before changing branches.&lt;br /&gt;
*Though a git archive can know about multiple other git repositories, it can only know about one svn site and it has to be set up during the &amp;quot;git svn clone&amp;quot; operation.&lt;br /&gt;
* Side by side directories can each point to different svn sites and be a &amp;quot;git remote&amp;quot; of the other (as discussed here [https://www.myroms.org/blog/?p=171]).&lt;br /&gt;
&lt;br /&gt;
===Cherry-picking Notes===&lt;br /&gt;
I was asked for more on &amp;quot;git cherry-pick&amp;quot;. Here&#039;s an example in two directories, one pointing to an Hernan repo, one pointing to my svn branch. Over in the arango directory:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git svn rebase&amp;lt;/div&amp;gt;&lt;br /&gt;
This fetches the changes since last time, however long I&#039;ve let it go. Ideally, I&#039;d do a &amp;quot;git log&amp;quot; first to see where things stood before. Now I&#039;ll do it after:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git log&amp;lt;br /&amp;gt;commit 5d4b1e87f84c76e424567cf672a30b7b1623d315&amp;lt;br /&amp;gt;Author: arango &amp;lt;arango@f091316a-d328-0410-a40a-876eff57d070&amp;gt;&amp;lt;br /&amp;gt;Date:   Tue Jan 18 16:38:32 2011 +0000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    src:ticket:483&amp;lt;br /&amp;gt;    &amp;lt;br /&amp;gt;    git-svn-id: https://www.myroms.org/svn/omlab/branches/arango@1361 f091316a-d&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;commit 91a7542ec4e99ca44b340600af3c63519c8f1d35&amp;lt;br /&amp;gt;Author: arango &amp;lt;arango@f091316a-d328-0410-a40a-876eff57d070&amp;gt;&amp;lt;br /&amp;gt;Date:   Fri Jan 14 21:33:39 2011 +0000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    src:ticket:482&amp;lt;br /&amp;gt;    &amp;lt;br /&amp;gt;    git-svn-id: https://www.myroms.org/svn/omlab/branches/arango@1358 f091316a-d&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;commit 2445e4e62f73f54115d2d16c69d6be093b56b0ea&amp;lt;br /&amp;gt;Author: arango &amp;lt;arango@f091316a-d328-0410-a40a-876eff57d070&amp;gt;&amp;lt;br /&amp;gt;Date:   Thu Jan 6 19:40:42 2011 +0000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    src:ticket:481&amp;lt;/div&amp;gt; and so on... In this case I can tell by dates which commits are new to me, since I last merged sometime between the Dec 2 and the Dec 30 commits. That brings the arango directory up to date.&lt;br /&gt;
&lt;br /&gt;
I now go to my svn_src directory. I already told it that the arango directory is a remote, but I need to update its view of it:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git remote update&amp;lt;/div&amp;gt; This pulls over information from the arango repo into the local repo. The remotes I&#039;m tracking can be viewed:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git branch -a&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;green&amp;quot;&amp;gt;* kate_svn&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;  master&amp;lt;br /&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;  remotes/arango/master&amp;lt;br /&amp;gt;  remotes/cygnus/kate_svn&amp;lt;br /&amp;gt;  remotes/cygnus/master&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Now I can pull the changes over one at a time and deal with any conflicts as they arise:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git cherry-pick 4a46a1098e96a5&amp;lt;/div&amp;gt; with the &amp;quot;4a4...&amp;quot; being the start of the SHA1 number corresponding to the commit I&#039;m fetching over. Some come cleanly, some do not:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;Automatic cherry-pick failed.  After resolving the conflicts,&amp;lt;br /&amp;gt;mark the corrected paths with &#039;git add &amp;lt;paths&amp;gt;&#039; or &#039;git rm &amp;lt;paths&amp;gt;&#039;&amp;lt;br /&amp;gt;and commit the result with: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;        git commit -c 4a46a1098e96a5&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt; I can see which files to clean up with &amp;quot;git status&amp;quot;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;# Unmerged paths:&amp;lt;br /&amp;gt;#   (use &amp;quot;git reset HEAD &amp;lt;file&amp;gt;...&amp;quot; to unstage)&amp;lt;br /&amp;gt;#   (use &amp;quot;git add/rm &amp;lt;file&amp;gt;...&amp;quot; as appropriate to mark resolution)#&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;       both modified:      ROMS/Nonlinear/main3d.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;     both modified:      ROMS/Nonlinear/set_avg.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;     both modified:      ROMS/Utility/wrt_avg.F&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;#&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;     both modified:      ROMS/Utility/wrt_his.F&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt; Just as in the merge conflict, I need to go into each file, then tell git that all is well with that file:&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;% git add ROMS/Nonlinear/main3d.F&amp;lt;/div&amp;gt; That file will now show up in green instead of red in the &amp;quot;git status&amp;quot; report. Once all conflicted files are clear, it is safe to &amp;quot;git commit&amp;quot; and accept the merge message it brings up. If the cherry-pick is clean, the commit happens automatically and &amp;quot;git status&amp;quot; shows the all clear.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=HK_2011&amp;diff=4521</id>
		<title>HK 2011</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=HK_2011&amp;diff=4521"/>
		<updated>2012-04-11T23:23:39Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Download Laboratory Lectures and Exercises */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;2011 Hong Kong Workshop&amp;lt;/div&amp;gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Links to the [http://oceandynamics.ust.hk/index.html|2011 Hong Kong Workshop] lectures are provided below. This was a ten-day workshop on how to set up and run ROMS, offered by Dale Haidvogel, Jian-ping Gan, and Kate Hedstrom, with the able assistance of Rob Cermak in the lab. Equations were shown in the mornings in a classroom situation while more practical topics were covered in the afternoons in a computer lab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left;margin: 0 20px 0 0;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=lab_lectures /&amp;gt;&lt;br /&gt;
==Download Laboratory Lectures and Exercises==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Week 1:&lt;br /&gt;
*&#039;&#039;&#039;Lecture 1:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Intro_Linux.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Introduction to Linux/Unix&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 2:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Extra_linux.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Diff, grep, and patch&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 3:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:ROMS_tour.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Tour of online ROMS resources&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 4:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Git.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Overview of git for ROMS users&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 5:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Git2.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Hands-on git, making three branches&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 6:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Code_intro.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Overview of the ROMS code structure&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 7:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Intro_plotting.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Intro to running ROMS and plotting output&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 8:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Netcdf.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Overview of the NetCDF library&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Week 2:&lt;br /&gt;
*&#039;&#039;&#039;Lecture 9:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Roms_bering.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Bering Sea - a more complex application&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 10:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Add_vars.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Some examples of adding variables to ROMS (not for the faint of heart)&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 11:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Intro_python.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Very quick intro to Python&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 12:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Gridgen.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Overview of grid generation&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 13:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Intro_pyroms.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Introduction to python tools for ROMS&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 14:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:ROMS_MPI.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;MPI parallel programming in ROMS&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 15:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Ecosystem.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;ROMS ecosystem modeling - with fish!&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Lecture 16:&#039;&#039;&#039; &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size: 75%&amp;quot;&amp;gt;[http://www.myroms.org/wiki/index.php/File:Thursday.pdf PDF]&amp;lt;/span&amp;gt; &amp;amp;nbsp; &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;Some random last tips&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We also went through a Yellow Sea example, for which the files are online at [http://www.people.arsc.edu/~kate/ROMS/HK/Yellow_Sea] and [http://www.people.arsc.edu/~kate/ROMS/HK/Python].&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Vertical_S-coordinate&amp;diff=4520</id>
		<title>Vertical S-coordinate</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Vertical_S-coordinate&amp;diff=4520"/>
		<updated>2012-04-03T22:28:19Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Vertical Stretching Functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Vertical S-coordinate&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
ROMS has a generalized vertical, terrain-following, coordinate system.  Currently, two vertical transformation&lt;br /&gt;
equations, $z=z(x,y,\sigma,t)$, are available which can support numerous vertical stretching 1D-functions when several&lt;br /&gt;
constraints are satisfied.&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Transformation Equations==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The following vertical coordinate transformations are available:&lt;br /&gt;
&amp;lt;span id=&amp;quot;transform1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
$$ \eqalign {&lt;br /&gt;
      z(x,y,\sigma,t) &amp;amp;= S(x,y,\sigma) + \zeta(x,y,t) \left[1 + \frac{S(x,y,\sigma)}{h(x,y)}\right], \cr&lt;br /&gt;
   \noalign{\medskip}&lt;br /&gt;
        S(x,y,\sigma) &amp;amp;= h_c \, \sigma + \left[h(x,y) - h_c\right] \, C(\sigma) } \eqno{(1)} $$&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;span id=&amp;quot;transform2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
$$ \eqalign {&lt;br /&gt;
      z(x,y,\sigma,t) &amp;amp;= \zeta(x,y,t) + \left[\zeta(x,y,t) + h(x,y)\right] \, S(x,y,\sigma), \cr&lt;br /&gt;
   \noalign{\medskip}&lt;br /&gt;
        S(x,y,\sigma) &amp;amp;= \frac{h_c \, \sigma + h(x,y)\, C(\sigma)}{h_c + h(x,y)} } \eqno{(2)} $$&lt;br /&gt;
&lt;br /&gt;
where $S(x,y,\sigma)$ is a nonlinear vertical transformation functional, $\zeta(x,y,t)$ is the time-varying free-surface,&lt;br /&gt;
$h(x,y)$ is the unperturbed water column thickness and $z=-h(x,y)$ corresponds to the ocean bottom, $\sigma$ is a fractional &lt;br /&gt;
vertical stretching coordinate ranging from $-1 \le\sigma\le 0$, $C(\sigma)$ is a nondimensional, monotonic, vertical&lt;br /&gt;
stretching function ranging from $-1 \le C(\sigma) \le 0$, and $h_c$ is a positive thickness controlling the stretching.&lt;br /&gt;
In sediment applications, $h=h(x,y,t)$ is changed at every time-step since it is affected by erosion and deposition processes.&lt;br /&gt;
&lt;br /&gt;
{{warning}} &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Warning:&amp;lt;/span&amp;gt; We are now very strict about the value of &amp;amp;nbsp;$h_{c}$&amp;amp;nbsp; and other input vertical transformation parameters.  Since the beginning of ROMS,&amp;amp;nbsp; $h_c=\min(h_{min},T_{cline})$&amp;amp;nbsp; where&amp;amp;nbsp; $h_{min}\equiv\hbox{minval}(h)$ &amp;amp;nbsp;and&amp;amp;nbsp; [[Variables#Tcline | $T_{cline}$]]&amp;amp;nbsp; is the stretching parameter specified in [[ocean.in]]. Notice that it is not possible to build the vertical stretching coordinates when&amp;amp;nbsp; $h_{c}&amp;gt; h_{min}$&amp;amp;nbsp; and using transformation [[#transform1|(1)]] because it yields &amp;amp;nbsp;$\partial{z}/\partial{\sigma} &amp;lt; 0$&amp;amp;nbsp;. This has been a legacy issue in ROMS for years, and you are either consistent with the previous set-up of your application or change the value of [[Variables#Tcline | $T_{cline}$]]&amp;amp;nbsp; in all input NetCDF files and [[ocean.in]].  Therefore, in new applications you need to be sure that&amp;amp;nbsp; $T_{cline} \le h_{min}$ when using the transformation [[#transform1|(1)]].  Notice that this restriction is &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;removed&amp;lt;/span&amp;gt; in transformation [[#transform1|(2)]] and &amp;amp;nbsp;$h_c$&amp;amp;nbsp; can be any positive value.  It works for both &amp;amp;nbsp;$h_c \le h_{min}$&amp;amp;nbsp; or &amp;amp;nbsp;$h_c &amp;gt; h_{min}$&amp;amp;nbsp;. Again, we are now checking internally for all stretching parameters for consistency in all input NetCDF files that have such variables. &lt;br /&gt;
&lt;br /&gt;
We find it convenient to define:&lt;br /&gt;
   $$ H_z \equiv {\partial z \over \partial \sigma} $$&lt;br /&gt;
where $H_z=H_z(x,y,\sigma,t)$ are the vertical grid thicknesses. In ROMS, $H_z$ is computed discretely as $\Delta z/ \Delta \sigma$ since this leads to the vertical sum of $H_z$ being exactly the total water column thickness $D$.&lt;br /&gt;
&lt;br /&gt;
{{note}} Transformation [[#transform1|(1)]] has been available in ROMS since 1999. It is activated by setting [[Variables#Vtransform|Vtransform = 1]] in [[ocean.in]]. Notice that,&lt;br /&gt;
&lt;br /&gt;
 $$ S(x,y,\sigma) = \cases{0,        &amp;amp;if $\;\;\sigma = \phantom{-}0,  \;\; C(\sigma) = \phantom{-}0, \qquad\hbox{at the free-surface;}$\cr&lt;br /&gt;
                           -h(x,y),  &amp;amp;if $\;\;\sigma = -1, \;\; C(\sigma) = -1$, \qquad\hbox{at the ocean bottom.}\cr}$$&lt;br /&gt;
 &lt;br /&gt;
In an undisturbed ocean state, corresponding to zero free-surface, $z=S(x,y,\sigma)$. [[Bibliography#ShchepetkinAF_2005a | Shchepetkin and&lt;br /&gt;
McWilliams (2005)]] denotes this transformation as an unperturbed coordinate system since all the depths are not affected by the&lt;br /&gt;
displacements of the free-surface. This ensures that the vertical mass fluxes generated by a purely barotropic motion will vanish at every interface&lt;br /&gt;
&lt;br /&gt;
{{note}} Transformation [[#transform2|(2)]] has been available in UCLA-ROMS since 2005. It is activated by setting [[Variables#Vtransform|Vtransform = 2]] in [[ocean.in]]. Notice that,&lt;br /&gt;
&lt;br /&gt;
 $$ S(x,y,\sigma) = \cases{0,        &amp;amp;if $\;\;\sigma = \phantom{-}0,  \;\; C(\sigma) = \phantom{-}0, \qquad\hbox{at the free-surface;}$\cr&lt;br /&gt;
                           -1,       &amp;amp;if $\;\;\sigma = -1, \;\; C(\sigma) = -1$, \qquad\hbox{at the ocean bottom;}\cr}$$&lt;br /&gt;
 &lt;br /&gt;
which is different to the behavior of the original functional in [[#transform2|(1)]].  Shchepetkin (personal communication) points out that [[#transform2|(2)]] offers several advantages:&lt;br /&gt;
&lt;br /&gt;
* Regardless of the design of $C(\sigma)$, it behaves like equally-spaced sigma-coordinates in shallow regions, where $h(x,y) \ll h_c$.  This is advantageous because it avoids excessive resolution and associated CFL limitation is such areas.&lt;br /&gt;
&lt;br /&gt;
* Near-surface refinement behaves more or less like geopotential coordinates in deep regions (level thicknesses, $H_z$, do not depend or weakly depend on bathymetry), while near-bottom like sigma coordinates ($H_z$ is roughly proportional to depth).  This reduces the extreme r-factors near the bottom and reduces pressure gradient errors.&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;true&#039;&#039;&#039; sigma-coordinate system is recovered as $h_c \rightarrow \infty$. This is useful when configuring applications with &#039;&#039;&#039;flat&#039;&#039;&#039; bathymetry and &#039;&#039;&#039;uniform&#039;&#039;&#039; level thickness.  Practically, you can achieve this by setting [[Variables#Tcline|Tcline]] to &#039;&#039;&#039;1.0d+16&#039;&#039;&#039; in [[ocean.in]]. This will set $h_c=1.0\hbox{x}10^{16}$. Although not necessary, we also recommend that you set $\theta_S=0$ and $\theta_B=0$.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In an undisturbed ocean state, $\zeta\equiv 0$, transformation [[#transform2|(2)]] yields the following unperturbed depths, $\hat{z}$,&lt;br /&gt;
&lt;br /&gt;
$$ \hat{z}(x,y,\sigma) \equiv h(x,y) \, S(x,y,\sigma) = h(x,y) \left[\frac{h_c \, \sigma + h(x,y)\, C(\sigma)}{h_c + h(x,y)}\right] \eqno{(3)} $$&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
$$ d\hat{z} = d\sigma \; h(x,y) \; \left[\frac{h_c}{h_c + h(x,y)}\right] \eqno{(4)} $$&lt;br /&gt;
&lt;br /&gt;
As a consequence, the uppermost grid box retains very little dependency from bathymetry in deep areas, where $h_c \ll h(x,y)$.&lt;br /&gt;
For example, if $h_c = 250\,m$ and $h(x,y)$ changes from $2000$ to $6000\,m$, the uppermost grid box changes only by a factor&lt;br /&gt;
of 1.08 (less than $10\%$).&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vertical Stretching Functions==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The above generic vertical transformation design facilitates numerous vertical stretching functions, $C(\sigma)$. This function&lt;br /&gt;
is defined in terms of several parameters which are specified in the standard input file, [[ocean.in]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stretching Function Properties:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* $C(\sigma)$ is a dimensionless, nonlinear, monotonic function;&lt;br /&gt;
* $C(\sigma)$ is a continuous differentiable function, or a differentiable piecewise function with smooth transition;&lt;br /&gt;
* $C(\sigma)$ must be discretized in terms of the fractional stretched vertical coordinate $\sigma$,&lt;br /&gt;
&lt;br /&gt;
  $$ \sigma(k) = \cases{\frac{k-N}{N},        &amp;amp;at vertical $W\hbox{-points},    \;k=0,\dots,N$, \cr\cr&lt;br /&gt;
                        \frac{k-N-0.5}{N},    &amp;amp;at vertical $\rho\hbox{-points}, \;\;\;k=1,\dots,N$  \cr}$$&lt;br /&gt;
&lt;br /&gt;
* $C(\sigma)$ must be constrained by $-1 \le C(\sigma) \le 0$, that is,&lt;br /&gt;
&lt;br /&gt;
 $$ C(\sigma) = \cases{0,        &amp;amp;for $\;\;\sigma = \phantom{-}0,  \qquad\hbox{at the free-surface;}$\cr&lt;br /&gt;
                       -1,       &amp;amp;for $\;\;\sigma = -1, \qquad\hbox{at the ocean bottom.}$\cr}$$&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Available Stretching Functions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [[Bibliography#SongY_1994a | Song and Haidvogel (1994)]] function available in ROMS since its beginning, [[Variables#Vstretching|Vstretching = 1]].  $C(\sigma)$ is defined as:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; $$C(\sigma) = (1 - \theta_B) {\sinh (\theta_S\,\sigma) \over \sinh \theta_S } +&lt;br /&gt;
                                      \theta_B \left[{ \tanh [\theta_S ( \sigma + {1\over 2})]  \over &lt;br /&gt;
                                       2 \tanh ( {1\over 2} \theta_S) } - \frac{1}{2}\right] \eqno{(5)} $$ &amp;lt;br&amp;gt; where [[Variables#theta_s|${\theta_S}$]] and [[Variables#theta_b|$\theta_B$]] are the surface and bottom control parameters. Their ranges are $0 &amp;lt; \theta_S \leq 20$ and $0 \leq \theta_B \leq 1$, respectively. This function has the following features:&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;It is infinitely differentiable in $\sigma$.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;The larger the value of ${\theta_S}$, the more resolution is kept above $h_c$.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;For $\theta_B = 0$, the resolution all goes to the surface as $\theta_S$ is increased.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;For $\theta_B = 1$, the resolution goes to both the surface and the bottom equally as $\theta_S$ is increased.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;For $\theta_S \neq 0$, there is a subtle mismatch in the discretization of the model equations, for instance in the horizontal viscosity term.  We recommend that you stick with &#039;&#039;reasonable&#039;&#039; values of $\theta_S$, say $\theta_S \leq 8$.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Some applications turn out to be sensitive to the value of $\theta_S$ used.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;A. Shchepetkin (2005) UCLA-ROMS deprecated function, [[Variables#Vstretching|Vstretching = 2]]. $C(\sigma)$ is defined as a piecewise function: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; $$ C(\sigma) = \mu \, C_{sur}(\sigma) + (1 - \mu) \, C_{bot}(\sigma), $$ $$ C_{sur}(\sigma) = \frac{1 - \cosh(\theta_S \, \sigma)}{\cosh(\theta_S) - 1}, \qquad  \hbox{for }\theta_S &amp;gt; 0, \qquad C_{bot}(\sigma) = \frac{\sinh[\theta_B \,(\sigma + 1)]}{\sinh(\theta_B)} - 1, \qquad \hbox{for }\theta_B &amp;gt; 0, \eqno{(6)} $$ $$ \mu = (\sigma + 1)^{\alpha} \; \left[1 + \frac{\alpha}{\beta} \left(1 - (\sigma + 1)^{\beta}\right)\right] $$  This function is similar in meaning to the [[Bibliography#SongY_1994a | Song and Haidvogel (1994)]], but note that hyperbolic function in $C_{sur}$ is $\cosh$ instead of $\sinh$ and &amp;lt;br&amp;gt; $$ \frac {\partial C}{\partial\sigma} \rightarrow 0 \qquad \hbox{as} \;\;\sigma \rightarrow 0.$$&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;R. Geyer function for high bottom boundary layer resolution in relatively shallow applications, [[Variables#Vstretching|Vstretching = 3]]. $C(\sigma)$ is defined as a piecewise function: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; $$ C(\sigma) = \mu \, C_{bot}(\sigma) + (1 - \mu) \, C_{sur}(\sigma), $$ $$ C_{sur}(\sigma) = - \frac{\log[\cosh(\gamma\,\hbox{abs}(\sigma)^{\theta_S}] }{\log[\cosh(\gamma)]}, \qquad C_{bot}(\sigma) = \frac{\log[\cosh(\gamma\,(\sigma+1)^{\theta_B}]}{\log[\cosh(\gamma)]} - 1,  \eqno{(7)} $$ $$ \mu = \frac{1}{2} \left[1 - \tanh\left(\gamma\left(\sigma + \frac{1}{2}\right)\right)\right] $$ where the power exponents [[Variables#theta_s|${\theta_S}$]] and [[Variables#theta_b|$\theta_B$]] are the surface and bottom control parameters specified in standard input file [[ocean.in]], as before. Here, $\gamma$ is a scale factor for all hyperbolic functions. Currently, $\gamma = 3$. Typical values for the control parameters are: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| $\theta_S=0.65$&lt;br /&gt;
| minimal increase of surface resolution&lt;br /&gt;
|-&lt;br /&gt;
| $\theta_S=1.0$&lt;br /&gt;
| significant surface amplification&lt;br /&gt;
|-&lt;br /&gt;
| $\theta_B=0.58$&lt;br /&gt;
| no bottom amplification&lt;br /&gt;
|-&lt;br /&gt;
| $\theta_B=1.0$&lt;br /&gt;
| significant bottom amplification&lt;br /&gt;
|-&lt;br /&gt;
| $\theta_B=1.5$&lt;br /&gt;
| good bottom resolution for gravity flows&lt;br /&gt;
|-&lt;br /&gt;
| $\theta_B=3.0$&lt;br /&gt;
| super-high bottom resolution&lt;br /&gt;
|-&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;A. Shchepetkin (2010) UCLA-ROMS current function, [[Variables#Vstretching|Vstretching = 4]]. $C(\sigma)$ is defined as a continuous, double stretching function: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Surface refinement function: &amp;lt;br&amp;gt;&amp;lt;span id=&amp;quot;equation8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; $$ C(\sigma) = \frac{1 - \cosh(\theta_S \, \sigma)}{\cosh(\theta_S) - 1}, \qquad  \hbox{for }\theta_S &amp;gt; 0, \qquad C(\sigma) = -{\sigma}^{2}, \qquad \hbox{for }\theta_S \le 0 \eqno{(8)} $$ &amp;lt;br&amp;gt; Bottom refinement function: &amp;lt;br&amp;gt;&amp;lt;span id=&amp;quot;equation9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; $$ C(\sigma) = \frac {\exp(\theta_B\,C(\sigma)) - 1} {1 - \exp(-\theta_B)}, \qquad \hbox{for }\theta_B &amp;gt; 0 \eqno{(9)} $$ &amp;lt;br&amp;gt; Notice that the bottom function [[#equation9|(9)]] is the second stretching of an already stretched transform [[#equation8|(8)]]. The resulting stretching function is continuous with respect to $\theta_S$ and $\theta_B$ as their values approach zero. The range of meaningful values for $\theta_S$ and $\theta_B$ are: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; $$ 0 \le \theta_S \le 10 \qquad \hbox{and} \qquad 0 \le \theta_B \le 4 $$&amp;lt;br&amp;gt;However, users need to pay attention to extreme r-factor ([[Variables#rx1|rx1]]) values near the bottom. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; {{note}} Due to its functionality and properties [[Variables#Vtransform|Vtransform = 2]] and [[Variables#Vstretching|Vstretching = 4]] are now the default values for ROMS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Metadata Considerations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above vertical transformations have been registered with the CF Conventions Committee and the NetCDF-Java group. We expect that it will take some time for the CF Committee to approve them. However, the NetCDF-Java is expected to be coded right away. Two new &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;standard_name&#039;&#039;&#039;&amp;lt;/span&amp;gt; variable attributes: &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;&#039;&#039;ocean_s_coordinate_g1&#039;&#039;&#039;&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;&#039;&#039;&#039;ocean_s_coordinate_g2&#039;&#039;&#039;&amp;lt;/span&amp;gt; have been assigned for transformations [[#transform1|(1)]] and [[#transform2|(2)]], respectively. The terms in the definition are associated with file variables  by the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;formula_terms&#039;&#039;&#039;&amp;lt;/span&amp;gt; attribute as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transformation&#039;&#039;&#039; [[#transform1|(1)]]&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      double s_rho(s_rho) ;&lt;br /&gt;
                s_rho:long_name = &amp;quot;S-coordinate at RHO-points&amp;quot; ;&lt;br /&gt;
                s_rho:valid_min = -1. ;&lt;br /&gt;
                s_rho:valid_max = 0. ;&lt;br /&gt;
                s_rho:positive = &amp;quot;up&amp;quot; ;&lt;br /&gt;
                s_rho:standard_name = &amp;quot;ocean_s_coordinate_g1&amp;quot; ;&lt;br /&gt;
                s_rho:formula_terms = &amp;quot;s: s_rho C: Cs_r eta: zeta depth: h depth_c: hc&amp;quot; ;&lt;br /&gt;
        double s_w(s_w) ;&lt;br /&gt;
                s_w:long_name = &amp;quot;S-coordinate at W-points&amp;quot; ;&lt;br /&gt;
                s_w:valid_min = -1. ;&lt;br /&gt;
                s_w:valid_max = 0. ;&lt;br /&gt;
                s_w:positive = &amp;quot;up&amp;quot; ;&lt;br /&gt;
                s_w:standard_name = &amp;quot;ocean_s_coordinate_g1&amp;quot; ;&lt;br /&gt;
                s_w:formula_terms = &amp;quot;s: s_w C: Cs_w eta: zeta depth: h depth_c: hc&amp;quot; ;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transformation&#039;&#039;&#039; [[#transform2|(2)]]&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;twilightBlue&amp;quot;&amp;gt;      double s_rho(s_rho) ;&lt;br /&gt;
                s_rho:long_name = &amp;quot;S-coordinate at RHO-points&amp;quot; ;&lt;br /&gt;
                s_rho:valid_min = -1. ;&lt;br /&gt;
                s_rho:valid_max = 0. ;&lt;br /&gt;
                s_rho:positive = &amp;quot;up&amp;quot; ;&lt;br /&gt;
                s_rho:standard_name = &amp;quot;ocean_s_coordinate_g2&amp;quot; ;&lt;br /&gt;
                s_rho:formula_terms = &amp;quot;s: s_rho C: Cs_r eta: zeta depth: h depth_c: hc&amp;quot; ;&lt;br /&gt;
        double s_w(s_w) ;&lt;br /&gt;
                s_w:long_name = &amp;quot;S-coordinate at W-points&amp;quot; ;&lt;br /&gt;
                s_w:valid_min = -1. ;&lt;br /&gt;
                s_w:valid_max = 0. ;&lt;br /&gt;
                s_w:positive = &amp;quot;up&amp;quot; ;&lt;br /&gt;
                s_w:standard_name = &amp;quot;ocean_s_coordinate_g2&amp;quot; ;&lt;br /&gt;
                s_w:formula_terms = &amp;quot;s: s_w C: Cs_w eta: zeta depth: h depth_c: hc&amp;quot; ;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note}} Notice that the &amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;formula_terms&#039;&#039;&#039;&amp;lt;/span&amp;gt; are identical for both transformations and are independent of the vertical stretching function used. This metadata conventions allows to process/visualize any NetCDF file generated by ROMS easily and correctly compute the associated vertical grid depths.&lt;br /&gt;
&lt;br /&gt;
==Vertical Grid Examples==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The following figures shows the $\sigma$-surfaces for both vertical transformations and available vertical stretching functions.  These plots were generated in Matlab using the script &#039;&#039;&#039;scoord.m&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:damee4_11.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=1, Vstretching=1, &amp;amp;nbsp; $\theta_S=7.0$, $\theta_B=0.1$, $N=30$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|[[Image:damee4_22.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=2, &amp;amp;nbsp; $\theta_S=7.0$, $\theta_B=0.1$, $N=30$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:damee4_24a.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=4, &amp;amp;nbsp; $\theta_S=7.0$, $\theta_B=0.1$, $N=30$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|[[Image:damee4_24b.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=4, &amp;amp;nbsp; $\theta_S=6.5$, $\theta_B=2.5$, $N=30$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:seamount_11.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=1, Vstretching=1, &amp;amp;nbsp; $\theta_S=7.0$, $\theta_B=0.1$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|[[Image:seamount_22.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=2, &amp;amp;nbsp; $\theta_S=7.0$, $\theta_B=0.1$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:seamount_24a.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=4, &amp;amp;nbsp; $\theta_S=7.0$, $\theta_B=0.1$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|[[Image:seamount_24b.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=4, &amp;amp;nbsp; $\theta_S=6.5$, $\theta_B=2.0$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:shelf_11.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=1, Vstretching=1, &amp;amp;nbsp; $\theta_S=1.0$, $\theta_B=3.0$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|[[Image:shelf_22.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=2, &amp;amp;nbsp; $\theta_S=1.0$, $\theta_B=3.0$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:shelf_23_b.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=3, &amp;amp;nbsp; $\theta_S=1.0$, $\theta_B=3.0$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|[[Image:shelf_24.png|thumb|400px|&amp;lt;center&amp;gt;Vtransform=2, Vstretching=4, &amp;amp;nbsp; $\theta_S=1.0$, $\theta_B=4.0$, $N=20$&amp;lt;/center&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4519</id>
		<title>Sea-Ice Model</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4519"/>
		<updated>2012-03-27T02:22:44Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Frazil ice formation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Sea-Ice Model&amp;lt;/div&amp;gt;&lt;br /&gt;
The sea-ice component of ROMS is a combination of the elastic-viscous-plastic (EVP) rheology ([[Bibliography#HunkeEC_1997a | Hunke and Dukowicz, 1997]], [[Bibliography#HunkeEC_2001a | Hunke, 2001]])&lt;br /&gt;
and simple one-layer ice and snow thermodynamics with a molecular sublayer under the ice ([[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]]). It is tightly coupled, having the same grid (Arakawa-C) and timestep as the ocean and sharing the same parallel coding structure for use with MPI or OpenMP.&lt;br /&gt;
__TOC__&lt;br /&gt;
==Dynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The momentum equations describe the change in ice/snow velocity due&lt;br /&gt;
to the combined effects of the Coriolis force, surface ocean tilt,&lt;br /&gt;
air and water stress, and internal ice stress:&lt;br /&gt;
&lt;br /&gt;
$$M {du \over dt} = M f v - M g {\partial \zeta_w \over \partial x} + \tau_a^x + \tau_w^x + {\cal F}_x$$&lt;br /&gt;
$$M {dv \over dt} = - M f u - M g {\partial \zeta_w \over \partial y} + \tau_a^y + \tau_w^y + {\cal F}_y$$&lt;br /&gt;
&lt;br /&gt;
In this model, we neglect the nonlinear advection terms as well as&lt;br /&gt;
the curvilinear terms in the internal ice stress. Nonlinear formulae are used for both the ocean-ice and air-ice surface stress:&lt;br /&gt;
  $$\vec{\tau}_a = \rho_a C_a | \vec{V}_{10} | \vec{V}_{10}$$&lt;br /&gt;
  $$C_a = {1 \over 2} C_d \left[ 1 - \cos( 2 \pi \min(h_i+.1, .5)&lt;br /&gt;
  \right]$$&lt;br /&gt;
  $$\vec{\tau}_w = \rho_w C_w | \vec{v}_w - \vec{v} |&lt;br /&gt;
  ( \vec{v}_w - \vec{v}) .$$ &lt;br /&gt;
The force due to&lt;br /&gt;
the internal ice stress is given by the divergence of the stress&lt;br /&gt;
tensor $\sigma$. The rheology is given by the stress-strain relation of the medium. We would like to emulate the viscous-plastic rheology&lt;br /&gt;
of [[Bibliography#HiblerWD_1979a | Hibler (1979)]]:&lt;br /&gt;
&lt;br /&gt;
$$\sigma_{ij} = 2 \eta \dot \epsilon_{ij} + (\zeta - \eta) \dot \epsilon_{kk} \delta_{ij} - {P \over 2} \delta_{ij}$$&lt;br /&gt;
&lt;br /&gt;
$$\dot \epsilon_{ij} \equiv {1 \over 2} \left( {\partial u_i \over \partial x_j} + {\partial u_j \over \partial x_i} \right)$$&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i e^{-C(1-A)}$$&lt;br /&gt;
where the nonlinear viscosities are given by&lt;br /&gt;
$$\zeta = { P \over 2 \left[ (\epsilon^2_{11} +&lt;br /&gt;
   \epsilon^2_{22} ) ( 1 + 1/e^2 ) + 4 e^{-2} \epsilon^2_{12}&lt;br /&gt;
   + 2 \epsilon_{11} \epsilon_{22} ( 1 - 1/e^2 ) \right] ^{1/2} }$$&lt;br /&gt;
&lt;br /&gt;
$$\eta = { \zeta \over e^2 }.$$&lt;br /&gt;
&lt;br /&gt;
We would also like to have an explicit model that can be solved&lt;br /&gt;
efficiently on parallel computers. The EVP rheology has a tunable&lt;br /&gt;
coefficient $E$ (the Young&#039;s modulus) which can be chosen to make the&lt;br /&gt;
elastic term small compared to the other terms. We rearrange the VP rheology:&lt;br /&gt;
&lt;br /&gt;
$${1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
then add the elastic term:&lt;br /&gt;
&lt;br /&gt;
$${1 \over E} {\partial \sigma_{ij} \over \partial t} + {1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
&lt;br /&gt;
Much like the ocean model, the ice model has a split timestep. The&lt;br /&gt;
internal ice stress term is updated on a shorter timestep so as to&lt;br /&gt;
allow the elastic wave velocity to be resolved.&lt;br /&gt;
&lt;br /&gt;
Once the new ice velocities are computed, the ice tracers can be advected using the &#039;&#039;&#039;MPDATA&#039;&#039;&#039; scheme ([[Bibliography#Smolark | Smolarkiewicz]]). The tracers in this case are the ice thickness, ice concentration, snow thickness, internal ice temperature, and surface melt ponds. The continuity equations describing the evolution of these parameters also include thermodynamic terms ($S_h$, $S_s$ and $S_A$), described [[#Thermodynamics | below]]:&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_i \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_i) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_i) \over \partial y}&lt;br /&gt;
  + S_h + {\cal D}_h$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_s \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_s) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_s) \over \partial y}&lt;br /&gt;
  + S_s + {\cal D}_s$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A \over \partial t} =&lt;br /&gt;
  - {\partial (uA) \over \partial x} - {\partial (vA) \over \partial y}&lt;br /&gt;
  + S_A + {\cal D}_A \qquad \qquad 0 \leq A \leq 1 .$$&lt;br /&gt;
The first two equations represent the conservation of ice and snow. The third is discussed in some detail in [[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]], but&lt;br /&gt;
represents the advection of ice blocks in which no ridging occurs as&lt;br /&gt;
long as there is any open water.&lt;br /&gt;
&lt;br /&gt;
The ice model variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $A(x,y,t)$&lt;br /&gt;
| ice concentration, $0.0 \leq A \leq 1.0$&lt;br /&gt;
|-&lt;br /&gt;
| $C_a$&lt;br /&gt;
| nonlinear air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_d = 2.2 \times 10^{-3}$&lt;br /&gt;
| air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_w = 10 \times 10^{-3}$&lt;br /&gt;
| water drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal D}_h, {\cal D}_s, {\cal D}_A$&lt;br /&gt;
| diffusion terms&lt;br /&gt;
|-&lt;br /&gt;
| $\delta_{ij}$&lt;br /&gt;
| Kronecker delta function&lt;br /&gt;
|-&lt;br /&gt;
| $E$&lt;br /&gt;
| Young&#039;s modulus&lt;br /&gt;
|-&lt;br /&gt;
| $e = 2$&lt;br /&gt;
| eccentricity of the elliptical yield curve&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_{ij}(x,y,t)$&lt;br /&gt;
| strain rate tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\eta(x,y,t)$&lt;br /&gt;
| nonlinear shear viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $f(x,y)$&lt;br /&gt;
| Coriolis parameter&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal F}_x, {\cal F}_y$&lt;br /&gt;
| forces due to internal ice stress&lt;br /&gt;
|-&lt;br /&gt;
| $g$&lt;br /&gt;
| gravity&lt;br /&gt;
|-&lt;br /&gt;
| $H$&lt;br /&gt;
| Heaviside function&lt;br /&gt;
|-&lt;br /&gt;
| $h_i(x,y,t)$&lt;br /&gt;
| ice thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_o$&lt;br /&gt;
| ice cutoff thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_s(x,y,t)$&lt;br /&gt;
| snow thickness on ice-covered fraction&lt;br /&gt;
|-&lt;br /&gt;
| $M$&lt;br /&gt;
| ice mass, $\rho_i A h_i$&lt;br /&gt;
|-&lt;br /&gt;
| $P$&lt;br /&gt;
| ice strength&lt;br /&gt;
|-&lt;br /&gt;
| $P^*, C$&lt;br /&gt;
| ice strength parameters&lt;br /&gt;
|-&lt;br /&gt;
| $S_h, S_s, S_A$&lt;br /&gt;
| thermodynamic terms&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma_{ij}$&lt;br /&gt;
| internal ice stress tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_a$&lt;br /&gt;
| air stress&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_w$&lt;br /&gt;
| water stress&lt;br /&gt;
|-&lt;br /&gt;
| $u,v$&lt;br /&gt;
| the ($x,y$) components of ice velocity $\vec{v}$&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{V}_{10}, \vec{v}_w$&lt;br /&gt;
| 10 meter air and surface water velocities&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta$&lt;br /&gt;
| nonlinear bulk viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta_w$&lt;br /&gt;
| surface elevation of the underlying water&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Note that Hibler&#039;s $h_I$ variable is&lt;br /&gt;
equivalent to our $A h_i$ combination - his $h_I$ is the average&lt;br /&gt;
thickness over the whole gridbox while our $h_i$ is the average&lt;br /&gt;
thickness over the ice-covered fraction of the gridbox.&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Thermodynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The thermodynamics is based on calculating how much ice grows and&lt;br /&gt;
melts on each of the surface, bottom, and sides of the ice floes,&lt;br /&gt;
as well as frazil ice formation:&lt;br /&gt;
&lt;br /&gt;
  [[File:Ice_diag1.png]]&lt;br /&gt;
&lt;br /&gt;
Once the ice tracers are advected, the ice concentration and thickness are timestepped according to the terms on the right:&lt;br /&gt;
&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
\frac{D A h_i}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i} \left[ A (W_{io} - W_{ai}) + (1-A) W_{ao} + W_{fr} \right] \cr&lt;br /&gt;
\frac{D A}{Dt} &amp;amp;= \frac{\rho_o A}{\rho_i h_i} \left[ \Phi (1-A) w_{ao} + (1-A) W_{fr} \right] \qquad \qquad 0 \leq A \leq 1  } $$&lt;br /&gt;
&lt;br /&gt;
The term $Ah_i$ is the &amp;quot;effective thickness&amp;quot;, a measure of the ice volume. Its evolution equation is simply quantifying the change in the amount of ice. The ice concentration equation is more interesting in that&lt;br /&gt;
it provides the partitioning between ice melt/growth on the sides vs. on the top and bottom. The parameter $\Phi$ controls this and has differing values for ice melt and retreat. In principle, most of the ice growth is assumed to happen at the base of the ice while rather more of the melt happens on the sides of the ice due to warming of the water in the leads.&lt;br /&gt;
&lt;br /&gt;
The heat fluxes through the ice are based on a simple one layer [[Bibliography#SemtnerAJ_1976a | Semtner (1976)]] type model with snow on top. The temperature is assumed to be linear within the snow and within the ice. The ice contains brine pockets for a total ice salinity of 3.2 or the surface ocean salinity, whichever is less. The surface ocean temperature and salinity is half a $dz$ below the surface. The water right below the surface is assumed to be at the freezing temperature; a logarithmic boundary layer is computed having the temperature and salinity matched at freezing.&lt;br /&gt;
&lt;br /&gt;
Similarly, there is a snow equation:&lt;br /&gt;
$$&lt;br /&gt;
  {D A h_s \over D t} = \left[ A (W_{s} - W_{sm}) \right]&lt;br /&gt;
$$&lt;br /&gt;
where $W_s$ and $W_{sm}$ are the snowfall and snow melt rates, respectively, in units of equivalent water. Also in the model is the depth of the melt ponds in spring, $h_{mp}$ which can be up to 0.1 m, after which melting ice contributes to $W_{ro}$. The melt ponds are not part of the thermal conductivity computations. They could contribute to the albedo computation, but that has been largely commented out.&lt;br /&gt;
&lt;br /&gt;
The ice model thermodynamic variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_w = 0.10$&lt;br /&gt;
| shortwave albedo of water&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.60$&lt;br /&gt;
| shortwave albedo of wet ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.65$&lt;br /&gt;
| shortwave albedo of dry ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of wet snow&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of dry snow&lt;br /&gt;
|-&lt;br /&gt;
| $C_k$&lt;br /&gt;
| snow correction factor&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$ = 2093 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|- &lt;br /&gt;
| $C_{po}$ = 3990 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_w = 0.97$&lt;br /&gt;
| longwave emissivity of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_i = 0.97$&lt;br /&gt;
| longwave emissivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_s = 0.99$&lt;br /&gt;
| longwave emissivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $E(T,r)$&lt;br /&gt;
| enthalpy of the ice/brine system&lt;br /&gt;
|-&lt;br /&gt;
| $F_T\!\uparrow$&lt;br /&gt;
| heat flux from the ocean into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $H\!\downarrow$&lt;br /&gt;
| sensible heat&lt;br /&gt;
|-&lt;br /&gt;
| $i_w$&lt;br /&gt;
| fraction of the solar heating transmitted through a lead into the water below&lt;br /&gt;
|-&lt;br /&gt;
| $k_i$ = 2.04 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $k_s$ = 0.31 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $L_i$ = 302 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of ice&lt;br /&gt;
|-&lt;br /&gt;
| $L_s$ = 110 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of snow&lt;br /&gt;
|-&lt;br /&gt;
| $LE\!\downarrow$&lt;br /&gt;
| latent heat&lt;br /&gt;
|-&lt;br /&gt;
| $LW\!\!\downarrow$&lt;br /&gt;
| incoming longwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $m$ &amp;amp; $-0.054^\circ$C/PSU&lt;br /&gt;
| coefficient in linear $T_f(S) = mS$ equation&lt;br /&gt;
|-&lt;br /&gt;
| $\Phi$&lt;br /&gt;
| contribution to $A$ equation from freezing water&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ai}$&lt;br /&gt;
| heat flux out of the snow/ice surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ao}$&lt;br /&gt;
| heat flux out of the ocean surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{i2}$&lt;br /&gt;
| heat flux up out of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{io}$&lt;br /&gt;
| heat flux up into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{s}$&lt;br /&gt;
| heat flux up through the snow&lt;br /&gt;
|-&lt;br /&gt;
| $r$&lt;br /&gt;
| brine fraction in ice&lt;br /&gt;
|-&lt;br /&gt;
| $\rho_i$ = 910 $m^3/kg$&lt;br /&gt;
| density of ice&lt;br /&gt;
|-&lt;br /&gt;
| $S_i$ = 3.2 PSU&lt;br /&gt;
| salinity of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $SW\!\!\downarrow$&lt;br /&gt;
| incoming shortwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma$ = $5.67 \times 10^{-8}$ W m$^{-2}$ K$^{-4}$&lt;br /&gt;
| Stefan-Boltzmann constant&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
| temperature of the bottom of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
| temperature of the interior of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
| temperature at the upper surface of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_3$&lt;br /&gt;
| temperature at the upper surface of the snow&lt;br /&gt;
|-&lt;br /&gt;
| $T_f$&lt;br /&gt;
| freezing temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_i}$ = $mS_i$&lt;br /&gt;
| melting temperature of ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_s}$ = 0$^\circ$ C&lt;br /&gt;
| melting temperature of snow&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ai}$&lt;br /&gt;
| melt rate on the upper ice/snow surface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ao}$&lt;br /&gt;
| freeze rate at the air/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{fr}$&lt;br /&gt;
| rate of frazil ice growth&lt;br /&gt;
|-&lt;br /&gt;
| $W_{io}$&lt;br /&gt;
| freeze rate at the ice/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ro}$&lt;br /&gt;
| rate of run-off of surface melt water&lt;br /&gt;
|-&lt;br /&gt;
| $W_{s}$&lt;br /&gt;
| snowfall rate&lt;br /&gt;
|-&lt;br /&gt;
| $W_{sm}$&lt;br /&gt;
| snow melt rate&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The locations of the ice and snow temperatures and the heat fluxes:&lt;br /&gt;
&lt;br /&gt;
 [[File:Ice_diag2.png]]&lt;br /&gt;
&lt;br /&gt;
The temperature profile is assumed to be linear between adjacent temperature points. The interior of the ice contains &amp;quot;brine pockets&amp;quot;, leading to a prognostic equation for the temperature $T_1$.&lt;br /&gt;
&lt;br /&gt;
The surface flux to the air is: &lt;br /&gt;
$$&lt;br /&gt;
   Q_{ai} =  - H\!\downarrow - LE\!\downarrow -&lt;br /&gt;
       \epsilon_s LW\!\!\downarrow  -&lt;br /&gt;
      (1 - \alpha_s) SW\!\!\downarrow + \epsilon_s \sigma (T_3+273)^4&lt;br /&gt;
$$&lt;br /&gt;
The incoming shortwave and longwave radiations are assumed to come from an atmospheric model. The formulae for sensible heat, latent heat, and outgoing longwave radiation are the same as in [[Bibliography#ParkinsonCL_1979a |Parkinson and Washington (1979)]] and are shown in [[Radiant Heat Fluxes]]. The sensible heat is a function of $T_3$, as is the heat flux through the snow $Q_s$. Setting $Q_{ai} = Q_s$, we can solve for $T_3$ by setting $T_3^{n+1} = T_3^n + \Delta T_3$ and linearizing in $\Delta T_3$. As in Parkinson and Washington, if $T_3$ is found to be above the melting temperature, it is set to $T_{\rm melt}$ and the extra energy goes into melting the snow or ice:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{ai} &amp;amp; = \frac{Q_{ai} - Q_{i2} }{ \rho_o L_3} \cr&lt;br /&gt;
   L_3 &amp;amp; \equiv \left[ E(T_3,1) - E(T_1, R_1) \right]&lt;br /&gt;
}$$&lt;br /&gt;
Note that $L_3 = (1-r)L_i$ plus a small sensible heat correction. We can store water on the surface in melt pools to a fixed depth---everything extra melted at the surface is assumed to flow into the ocean as $W_{ro}$. The melt ponds however do not contribute to the heat flux computation.&lt;br /&gt;
&lt;br /&gt;
Inside the ice there are brine pockets in which there is salt water at the &#039;&#039;in situ&#039;&#039; freezing temperature. It is assumed that the ice has a uniform overall salinity of $S_i$ and that the freezing temperature is a linear function of salinity. The brine fraction $r$ is given by&lt;br /&gt;
$$&lt;br /&gt;
  r = \frac{S_i m }{ T_1}&lt;br /&gt;
$$&lt;br /&gt;
The enthalpy of the combined ice/brine system is given by&lt;br /&gt;
$$&lt;br /&gt;
  E(T,r) = r(L_i + C_{po}T) + (1-r) C_{pi} T&lt;br /&gt;
$$&lt;br /&gt;
Substituting in for $r$ and differentiating gives:&lt;br /&gt;
$$&lt;br /&gt;
  \frac{\partial E }{ \partial T} = - \frac{S_i m L_i }{ T_1^2} + C_{pi}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Inside the snow, we have &lt;br /&gt;
$$&lt;br /&gt;
   Q_s = \frac{k_s }{ h_s} (T_2 - T_3)&lt;br /&gt;
$$&lt;br /&gt;
The heat conduction in the upper part of the ice layer is&lt;br /&gt;
$$&lt;br /&gt;
   Q_{I2} = \frac{ 2 k_i }{ h_i} (T_1 - T_2)&lt;br /&gt;
$$&lt;br /&gt;
These can be set equal to each other to solve for $T_2$&lt;br /&gt;
$$&lt;br /&gt;
   T_2 = \frac{T_3 + C_k T_1 }{ 1 + C_k}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_k \equiv \frac{2 k_i h_s }{ h_i k_s}.&lt;br /&gt;
$$&lt;br /&gt;
Substituting into (\ref{qi2}), we get:&lt;br /&gt;
$$&lt;br /&gt;
  Q_s = Q_{I2} = \frac{2k_i }{ h_i} \frac{(T_1 - T_3) }{ (1 + C_k)}&lt;br /&gt;
$$&lt;br /&gt;
Note that in the absence of snow, $C_k$ becomes zero and we recover the formula for the no-snow case in which $T_3 = T_2$.&lt;br /&gt;
&lt;br /&gt;
At the bottom of the ice, we have&lt;br /&gt;
$$&lt;br /&gt;
  Q_{I0} = \frac{2 k_i }{ h_i} (T_0 - T_1)&lt;br /&gt;
$$&lt;br /&gt;
The difference between $Q_{I0}$ and $Q_{I2}$ goes into the enthalpy of the ice:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \left[ \frac{\partial E }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla E \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
We can use the chain rule to obtain an equation for timestepping $T_1$:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \frac{\partial E }{ \partial T}&lt;br /&gt;
   \left[ \frac{\partial T_1 }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla T_1 \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
  Q_{I0} - Q_{I2} &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 - T_1) - &lt;br /&gt;
  \frac{(T_1 - T_3) }{ 1 + C_k} \right] \cr&lt;br /&gt;
                  &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 +&lt;br /&gt;
  \frac{T_3 - (2 + C_k) T_1 }{ 1 + C_k} \right]&lt;br /&gt;
} $$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ocean surface boundary conditions==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The ocean receives surface stresses from both the atmosphere and the ice, according to the ice concentration:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   K_m \frac{\partial u_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^x&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^x \cr&lt;br /&gt;
   K_m \frac{\partial v_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^y&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^y  }&lt;br /&gt;
$$&lt;br /&gt;
where the relevant variables are in the following table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $b$&lt;br /&gt;
| 3.14&lt;br /&gt;
| factor&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{E}$&lt;br /&gt;
|&lt;br /&gt;
| evaporation&lt;br /&gt;
|-&lt;br /&gt;
| $k$&lt;br /&gt;
| 0.4&lt;br /&gt;
| von Karman&#039;s constant&lt;br /&gt;
|-&lt;br /&gt;
| $K_m$&lt;br /&gt;
|&lt;br /&gt;
| vertical viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\nu$&lt;br /&gt;
| $1.8 \times 10^{-6} m^2 s^{-1}$&lt;br /&gt;
| kinematic viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{P}$&lt;br /&gt;
|&lt;br /&gt;
| precipitation&lt;br /&gt;
|-&lt;br /&gt;
| $Pr$&lt;br /&gt;
| 13.0&lt;br /&gt;
| molecular Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $P_{rt}$&lt;br /&gt;
| 0.85&lt;br /&gt;
| turbulent Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $S_0$&lt;br /&gt;
|&lt;br /&gt;
| surface salinity&lt;br /&gt;
|-&lt;br /&gt;
| $S$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean salinity&lt;br /&gt;
|-&lt;br /&gt;
| $Sc$&lt;br /&gt;
| 2432&lt;br /&gt;
| molecular Schmidt number&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{io}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the ice&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{ao}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the wind&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
|&lt;br /&gt;
| surface ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $u_\tau$&lt;br /&gt;
|&lt;br /&gt;
| friction velocity $|\tau_{io}|^{1/2} \rho_o^{-1/2}$&lt;br /&gt;
|-&lt;br /&gt;
| $z_0$&lt;br /&gt;
|&lt;br /&gt;
| roughness parameter&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
surface salinity ($T_0 = mS_0$) in the presense of ice. We also have $T$ and $S$ at the uppermost computed ocean point ${1 \over 2} dz$ below the surface. In order to solve for $T_0$ and $S_0$, we assume a [[Bibliography#Yaglom_1974 | Yaglom and Kader, 1974]] logarithmic boundary layer. The upper ocean heat flux is:&lt;br /&gt;
$$&lt;br /&gt;
   \frac{F_T }{ \rho_o C_{po}} = -C_{T_z} (T_0 - T) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{T_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_T}&lt;br /&gt;
$$ $$&lt;br /&gt;
  B_T = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Pr^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Likewise, we have the following equation for the surface salt flux:&lt;br /&gt;
$$&lt;br /&gt;
    F_S = -C_{S_z} (S_0 - S) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{S_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_S}&lt;br /&gt;
$$&lt;br /&gt;
$$&lt;br /&gt;
  B_S = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Sc^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
The ocean model receives the following heat and salt fluxes:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   F_T &amp;amp; = A Q_{io} + (1 - A) Q_{ao} - W_o L_o \cr&lt;br /&gt;
   F_S &amp;amp; = (W_o - A W_{ro}) (S_i-S_0) + (1-A)S_o (\dot{P}-\dot{E}) \cr&lt;br /&gt;
   W_o &amp;amp; \equiv A W_{io} + (1-A) W_{ao} }&lt;br /&gt;
$$ &lt;br /&gt;
&lt;br /&gt;
[[Bibliography#MellorGL_1989a | Mellor and Kantha]] describe solving simultaneously for the five unknowns $W_o$, $T_0$, $S_0$, $F_T$ and $F_S$. Instead, we use the old value of $T_0$ to find $W_{io}$ and therefore $W_o$. Using the new value of $W_{io}$, solve for a new value of $S_0$ and then find the new $T_0$ as the freezing temperature for that salinity:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{io} &amp;amp;= {1 \over L_o} \left[ {Q_{io} \over \rho_o} + C_{po}&lt;br /&gt;
   C_{T_z} (T_o - T) \right] \cr&lt;br /&gt;
   S_0 &amp;amp;= { C_{S_z} S + (W_{ai}H(-W_{ai}) - W_{io})) S_i \over&lt;br /&gt;
   C_{S_z} + W_{ai}H(-W_{ai}) + W_{ro} - W_{io} } }&lt;br /&gt;
$$&lt;br /&gt;
Note that the term $W_{ai}H(-W_{ai})$ is the contribution of melting only, not refreezing of melt ponds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frazil ice formation==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
Following [[Bibliography#Steele_89 |Steele &#039;&#039;et al.&#039;&#039; (1989)]], we check to see if any of the ocean temperatures are below freezing at the end of each timestep.  If so, frazil ice is formed, changing the local temperature and salinity.  The ice that forms is assumed to instantly float up to the surface and add to the ice layer there. We balance the mass, heat, and salt before and after the ice is formed:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   m_{w_1} &amp;amp; = m_{w_2} + m_i \cr&lt;br /&gt;
   m_{w_1} ( C_{pw} T_1 + L) &amp;amp; =&lt;br /&gt;
   m_{w_2} (C_{pw} T_2 + L) + m_i C_{pi} T_2 \cr&lt;br /&gt;
   m_{w_1} S_1 &amp;amp; = m_{w_2} S_2 . }&lt;br /&gt;
$$&lt;br /&gt;
The variables are defined in this table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$&lt;br /&gt;
| 1994 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pw}$&lt;br /&gt;
| 3987 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\gamma$&lt;br /&gt;
| $m_i/m_{w_2}$&lt;br /&gt;
| fraction of water that froze&lt;br /&gt;
|-&lt;br /&gt;
| $L$&lt;br /&gt;
| 3.16e5 J kg$^{-1}$&lt;br /&gt;
| latent heat of fusion&lt;br /&gt;
|-&lt;br /&gt;
| $m_i$&lt;br /&gt;
|&lt;br /&gt;
| mass of ice formed&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_1}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_2}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m$&lt;br /&gt;
| $-0.0543$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $n$&lt;br /&gt;
| $7.59 \times 10^{-4}$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $S_1$&lt;br /&gt;
|&lt;br /&gt;
| salinity before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $S_2$&lt;br /&gt;
|&lt;br /&gt;
| salinity after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
|&lt;br /&gt;
| temperature before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
|&lt;br /&gt;
| temperature after freezing&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defining $\gamma = m_i / m_{w_2}$ and dropping terms of order $\gamma^2$&lt;br /&gt;
leads to:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   T_2 &amp;amp; = T_1 + \gamma \left[ \frac{L }{ C_{pw}} + T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) \right]  \cr&lt;br /&gt;
   S_2 &amp;amp; = S_1 (1 + \gamma)  .}&lt;br /&gt;
$$&lt;br /&gt;
We also want the final temperature and salinity to be on the freezing&lt;br /&gt;
line, which we approximate as:&lt;br /&gt;
$$&lt;br /&gt;
   T_f = m S + n z .&lt;br /&gt;
$$&lt;br /&gt;
We can then solve for $\gamma$:&lt;br /&gt;
$$&lt;br /&gt;
   \gamma = \frac{-T_1 + mS_1 + nz }{ {L }{ C_{pw}}+ T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) - mS_1} .&lt;br /&gt;
$$&lt;br /&gt;
The ocean is checked at each depth $k$ and at each timestep for&lt;br /&gt;
supercooling.  If the water is below freezing, the temperature and&lt;br /&gt;
salinity are adjusted as in equations (\ref{t2eq}) and (\ref{s2eq})&lt;br /&gt;
and the ice above is thickened by the amount:&lt;br /&gt;
$$&lt;br /&gt;
   \Delta h = \gamma_k \Delta z_k \frac{\rho_w}{\rho_i} .&lt;br /&gt;
$$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4518</id>
		<title>Sea-Ice Model</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4518"/>
		<updated>2012-03-27T02:20:51Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Ocean surface boundary conditions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Sea-Ice Model&amp;lt;/div&amp;gt;&lt;br /&gt;
The sea-ice component of ROMS is a combination of the elastic-viscous-plastic (EVP) rheology ([[Bibliography#HunkeEC_1997a | Hunke and Dukowicz, 1997]], [[Bibliography#HunkeEC_2001a | Hunke, 2001]])&lt;br /&gt;
and simple one-layer ice and snow thermodynamics with a molecular sublayer under the ice ([[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]]). It is tightly coupled, having the same grid (Arakawa-C) and timestep as the ocean and sharing the same parallel coding structure for use with MPI or OpenMP.&lt;br /&gt;
__TOC__&lt;br /&gt;
==Dynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The momentum equations describe the change in ice/snow velocity due&lt;br /&gt;
to the combined effects of the Coriolis force, surface ocean tilt,&lt;br /&gt;
air and water stress, and internal ice stress:&lt;br /&gt;
&lt;br /&gt;
$$M {du \over dt} = M f v - M g {\partial \zeta_w \over \partial x} + \tau_a^x + \tau_w^x + {\cal F}_x$$&lt;br /&gt;
$$M {dv \over dt} = - M f u - M g {\partial \zeta_w \over \partial y} + \tau_a^y + \tau_w^y + {\cal F}_y$$&lt;br /&gt;
&lt;br /&gt;
In this model, we neglect the nonlinear advection terms as well as&lt;br /&gt;
the curvilinear terms in the internal ice stress. Nonlinear formulae are used for both the ocean-ice and air-ice surface stress:&lt;br /&gt;
  $$\vec{\tau}_a = \rho_a C_a | \vec{V}_{10} | \vec{V}_{10}$$&lt;br /&gt;
  $$C_a = {1 \over 2} C_d \left[ 1 - \cos( 2 \pi \min(h_i+.1, .5)&lt;br /&gt;
  \right]$$&lt;br /&gt;
  $$\vec{\tau}_w = \rho_w C_w | \vec{v}_w - \vec{v} |&lt;br /&gt;
  ( \vec{v}_w - \vec{v}) .$$ &lt;br /&gt;
The force due to&lt;br /&gt;
the internal ice stress is given by the divergence of the stress&lt;br /&gt;
tensor $\sigma$. The rheology is given by the stress-strain relation of the medium. We would like to emulate the viscous-plastic rheology&lt;br /&gt;
of [[Bibliography#HiblerWD_1979a | Hibler (1979)]]:&lt;br /&gt;
&lt;br /&gt;
$$\sigma_{ij} = 2 \eta \dot \epsilon_{ij} + (\zeta - \eta) \dot \epsilon_{kk} \delta_{ij} - {P \over 2} \delta_{ij}$$&lt;br /&gt;
&lt;br /&gt;
$$\dot \epsilon_{ij} \equiv {1 \over 2} \left( {\partial u_i \over \partial x_j} + {\partial u_j \over \partial x_i} \right)$$&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i e^{-C(1-A)}$$&lt;br /&gt;
where the nonlinear viscosities are given by&lt;br /&gt;
$$\zeta = { P \over 2 \left[ (\epsilon^2_{11} +&lt;br /&gt;
   \epsilon^2_{22} ) ( 1 + 1/e^2 ) + 4 e^{-2} \epsilon^2_{12}&lt;br /&gt;
   + 2 \epsilon_{11} \epsilon_{22} ( 1 - 1/e^2 ) \right] ^{1/2} }$$&lt;br /&gt;
&lt;br /&gt;
$$\eta = { \zeta \over e^2 }.$$&lt;br /&gt;
&lt;br /&gt;
We would also like to have an explicit model that can be solved&lt;br /&gt;
efficiently on parallel computers. The EVP rheology has a tunable&lt;br /&gt;
coefficient $E$ (the Young&#039;s modulus) which can be chosen to make the&lt;br /&gt;
elastic term small compared to the other terms. We rearrange the VP rheology:&lt;br /&gt;
&lt;br /&gt;
$${1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
then add the elastic term:&lt;br /&gt;
&lt;br /&gt;
$${1 \over E} {\partial \sigma_{ij} \over \partial t} + {1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
&lt;br /&gt;
Much like the ocean model, the ice model has a split timestep. The&lt;br /&gt;
internal ice stress term is updated on a shorter timestep so as to&lt;br /&gt;
allow the elastic wave velocity to be resolved.&lt;br /&gt;
&lt;br /&gt;
Once the new ice velocities are computed, the ice tracers can be advected using the &#039;&#039;&#039;MPDATA&#039;&#039;&#039; scheme ([[Bibliography#Smolark | Smolarkiewicz]]). The tracers in this case are the ice thickness, ice concentration, snow thickness, internal ice temperature, and surface melt ponds. The continuity equations describing the evolution of these parameters also include thermodynamic terms ($S_h$, $S_s$ and $S_A$), described [[#Thermodynamics | below]]:&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_i \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_i) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_i) \over \partial y}&lt;br /&gt;
  + S_h + {\cal D}_h$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_s \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_s) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_s) \over \partial y}&lt;br /&gt;
  + S_s + {\cal D}_s$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A \over \partial t} =&lt;br /&gt;
  - {\partial (uA) \over \partial x} - {\partial (vA) \over \partial y}&lt;br /&gt;
  + S_A + {\cal D}_A \qquad \qquad 0 \leq A \leq 1 .$$&lt;br /&gt;
The first two equations represent the conservation of ice and snow. The third is discussed in some detail in [[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]], but&lt;br /&gt;
represents the advection of ice blocks in which no ridging occurs as&lt;br /&gt;
long as there is any open water.&lt;br /&gt;
&lt;br /&gt;
The ice model variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $A(x,y,t)$&lt;br /&gt;
| ice concentration, $0.0 \leq A \leq 1.0$&lt;br /&gt;
|-&lt;br /&gt;
| $C_a$&lt;br /&gt;
| nonlinear air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_d = 2.2 \times 10^{-3}$&lt;br /&gt;
| air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_w = 10 \times 10^{-3}$&lt;br /&gt;
| water drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal D}_h, {\cal D}_s, {\cal D}_A$&lt;br /&gt;
| diffusion terms&lt;br /&gt;
|-&lt;br /&gt;
| $\delta_{ij}$&lt;br /&gt;
| Kronecker delta function&lt;br /&gt;
|-&lt;br /&gt;
| $E$&lt;br /&gt;
| Young&#039;s modulus&lt;br /&gt;
|-&lt;br /&gt;
| $e = 2$&lt;br /&gt;
| eccentricity of the elliptical yield curve&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_{ij}(x,y,t)$&lt;br /&gt;
| strain rate tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\eta(x,y,t)$&lt;br /&gt;
| nonlinear shear viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $f(x,y)$&lt;br /&gt;
| Coriolis parameter&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal F}_x, {\cal F}_y$&lt;br /&gt;
| forces due to internal ice stress&lt;br /&gt;
|-&lt;br /&gt;
| $g$&lt;br /&gt;
| gravity&lt;br /&gt;
|-&lt;br /&gt;
| $H$&lt;br /&gt;
| Heaviside function&lt;br /&gt;
|-&lt;br /&gt;
| $h_i(x,y,t)$&lt;br /&gt;
| ice thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_o$&lt;br /&gt;
| ice cutoff thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_s(x,y,t)$&lt;br /&gt;
| snow thickness on ice-covered fraction&lt;br /&gt;
|-&lt;br /&gt;
| $M$&lt;br /&gt;
| ice mass, $\rho_i A h_i$&lt;br /&gt;
|-&lt;br /&gt;
| $P$&lt;br /&gt;
| ice strength&lt;br /&gt;
|-&lt;br /&gt;
| $P^*, C$&lt;br /&gt;
| ice strength parameters&lt;br /&gt;
|-&lt;br /&gt;
| $S_h, S_s, S_A$&lt;br /&gt;
| thermodynamic terms&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma_{ij}$&lt;br /&gt;
| internal ice stress tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_a$&lt;br /&gt;
| air stress&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_w$&lt;br /&gt;
| water stress&lt;br /&gt;
|-&lt;br /&gt;
| $u,v$&lt;br /&gt;
| the ($x,y$) components of ice velocity $\vec{v}$&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{V}_{10}, \vec{v}_w$&lt;br /&gt;
| 10 meter air and surface water velocities&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta$&lt;br /&gt;
| nonlinear bulk viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta_w$&lt;br /&gt;
| surface elevation of the underlying water&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Note that Hibler&#039;s $h_I$ variable is&lt;br /&gt;
equivalent to our $A h_i$ combination - his $h_I$ is the average&lt;br /&gt;
thickness over the whole gridbox while our $h_i$ is the average&lt;br /&gt;
thickness over the ice-covered fraction of the gridbox.&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Thermodynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The thermodynamics is based on calculating how much ice grows and&lt;br /&gt;
melts on each of the surface, bottom, and sides of the ice floes,&lt;br /&gt;
as well as frazil ice formation:&lt;br /&gt;
&lt;br /&gt;
  [[File:Ice_diag1.png]]&lt;br /&gt;
&lt;br /&gt;
Once the ice tracers are advected, the ice concentration and thickness are timestepped according to the terms on the right:&lt;br /&gt;
&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
\frac{D A h_i}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i} \left[ A (W_{io} - W_{ai}) + (1-A) W_{ao} + W_{fr} \right] \cr&lt;br /&gt;
\frac{D A}{Dt} &amp;amp;= \frac{\rho_o A}{\rho_i h_i} \left[ \Phi (1-A) w_{ao} + (1-A) W_{fr} \right] \qquad \qquad 0 \leq A \leq 1  } $$&lt;br /&gt;
&lt;br /&gt;
The term $Ah_i$ is the &amp;quot;effective thickness&amp;quot;, a measure of the ice volume. Its evolution equation is simply quantifying the change in the amount of ice. The ice concentration equation is more interesting in that&lt;br /&gt;
it provides the partitioning between ice melt/growth on the sides vs. on the top and bottom. The parameter $\Phi$ controls this and has differing values for ice melt and retreat. In principle, most of the ice growth is assumed to happen at the base of the ice while rather more of the melt happens on the sides of the ice due to warming of the water in the leads.&lt;br /&gt;
&lt;br /&gt;
The heat fluxes through the ice are based on a simple one layer [[Bibliography#SemtnerAJ_1976a | Semtner (1976)]] type model with snow on top. The temperature is assumed to be linear within the snow and within the ice. The ice contains brine pockets for a total ice salinity of 3.2 or the surface ocean salinity, whichever is less. The surface ocean temperature and salinity is half a $dz$ below the surface. The water right below the surface is assumed to be at the freezing temperature; a logarithmic boundary layer is computed having the temperature and salinity matched at freezing.&lt;br /&gt;
&lt;br /&gt;
Similarly, there is a snow equation:&lt;br /&gt;
$$&lt;br /&gt;
  {D A h_s \over D t} = \left[ A (W_{s} - W_{sm}) \right]&lt;br /&gt;
$$&lt;br /&gt;
where $W_s$ and $W_{sm}$ are the snowfall and snow melt rates, respectively, in units of equivalent water. Also in the model is the depth of the melt ponds in spring, $h_{mp}$ which can be up to 0.1 m, after which melting ice contributes to $W_{ro}$. The melt ponds are not part of the thermal conductivity computations. They could contribute to the albedo computation, but that has been largely commented out.&lt;br /&gt;
&lt;br /&gt;
The ice model thermodynamic variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_w = 0.10$&lt;br /&gt;
| shortwave albedo of water&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.60$&lt;br /&gt;
| shortwave albedo of wet ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.65$&lt;br /&gt;
| shortwave albedo of dry ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of wet snow&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of dry snow&lt;br /&gt;
|-&lt;br /&gt;
| $C_k$&lt;br /&gt;
| snow correction factor&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$ = 2093 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|- &lt;br /&gt;
| $C_{po}$ = 3990 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_w = 0.97$&lt;br /&gt;
| longwave emissivity of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_i = 0.97$&lt;br /&gt;
| longwave emissivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_s = 0.99$&lt;br /&gt;
| longwave emissivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $E(T,r)$&lt;br /&gt;
| enthalpy of the ice/brine system&lt;br /&gt;
|-&lt;br /&gt;
| $F_T\!\uparrow$&lt;br /&gt;
| heat flux from the ocean into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $H\!\downarrow$&lt;br /&gt;
| sensible heat&lt;br /&gt;
|-&lt;br /&gt;
| $i_w$&lt;br /&gt;
| fraction of the solar heating transmitted through a lead into the water below&lt;br /&gt;
|-&lt;br /&gt;
| $k_i$ = 2.04 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $k_s$ = 0.31 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $L_i$ = 302 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of ice&lt;br /&gt;
|-&lt;br /&gt;
| $L_s$ = 110 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of snow&lt;br /&gt;
|-&lt;br /&gt;
| $LE\!\downarrow$&lt;br /&gt;
| latent heat&lt;br /&gt;
|-&lt;br /&gt;
| $LW\!\!\downarrow$&lt;br /&gt;
| incoming longwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $m$ &amp;amp; $-0.054^\circ$C/PSU&lt;br /&gt;
| coefficient in linear $T_f(S) = mS$ equation&lt;br /&gt;
|-&lt;br /&gt;
| $\Phi$&lt;br /&gt;
| contribution to $A$ equation from freezing water&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ai}$&lt;br /&gt;
| heat flux out of the snow/ice surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ao}$&lt;br /&gt;
| heat flux out of the ocean surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{i2}$&lt;br /&gt;
| heat flux up out of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{io}$&lt;br /&gt;
| heat flux up into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{s}$&lt;br /&gt;
| heat flux up through the snow&lt;br /&gt;
|-&lt;br /&gt;
| $r$&lt;br /&gt;
| brine fraction in ice&lt;br /&gt;
|-&lt;br /&gt;
| $\rho_i$ = 910 $m^3/kg$&lt;br /&gt;
| density of ice&lt;br /&gt;
|-&lt;br /&gt;
| $S_i$ = 3.2 PSU&lt;br /&gt;
| salinity of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $SW\!\!\downarrow$&lt;br /&gt;
| incoming shortwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma$ = $5.67 \times 10^{-8}$ W m$^{-2}$ K$^{-4}$&lt;br /&gt;
| Stefan-Boltzmann constant&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
| temperature of the bottom of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
| temperature of the interior of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
| temperature at the upper surface of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_3$&lt;br /&gt;
| temperature at the upper surface of the snow&lt;br /&gt;
|-&lt;br /&gt;
| $T_f$&lt;br /&gt;
| freezing temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_i}$ = $mS_i$&lt;br /&gt;
| melting temperature of ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_s}$ = 0$^\circ$ C&lt;br /&gt;
| melting temperature of snow&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ai}$&lt;br /&gt;
| melt rate on the upper ice/snow surface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ao}$&lt;br /&gt;
| freeze rate at the air/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{fr}$&lt;br /&gt;
| rate of frazil ice growth&lt;br /&gt;
|-&lt;br /&gt;
| $W_{io}$&lt;br /&gt;
| freeze rate at the ice/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ro}$&lt;br /&gt;
| rate of run-off of surface melt water&lt;br /&gt;
|-&lt;br /&gt;
| $W_{s}$&lt;br /&gt;
| snowfall rate&lt;br /&gt;
|-&lt;br /&gt;
| $W_{sm}$&lt;br /&gt;
| snow melt rate&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The locations of the ice and snow temperatures and the heat fluxes:&lt;br /&gt;
&lt;br /&gt;
 [[File:Ice_diag2.png]]&lt;br /&gt;
&lt;br /&gt;
The temperature profile is assumed to be linear between adjacent temperature points. The interior of the ice contains &amp;quot;brine pockets&amp;quot;, leading to a prognostic equation for the temperature $T_1$.&lt;br /&gt;
&lt;br /&gt;
The surface flux to the air is: &lt;br /&gt;
$$&lt;br /&gt;
   Q_{ai} =  - H\!\downarrow - LE\!\downarrow -&lt;br /&gt;
       \epsilon_s LW\!\!\downarrow  -&lt;br /&gt;
      (1 - \alpha_s) SW\!\!\downarrow + \epsilon_s \sigma (T_3+273)^4&lt;br /&gt;
$$&lt;br /&gt;
The incoming shortwave and longwave radiations are assumed to come from an atmospheric model. The formulae for sensible heat, latent heat, and outgoing longwave radiation are the same as in [[Bibliography#ParkinsonCL_1979a |Parkinson and Washington (1979)]] and are shown in [[Radiant Heat Fluxes]]. The sensible heat is a function of $T_3$, as is the heat flux through the snow $Q_s$. Setting $Q_{ai} = Q_s$, we can solve for $T_3$ by setting $T_3^{n+1} = T_3^n + \Delta T_3$ and linearizing in $\Delta T_3$. As in Parkinson and Washington, if $T_3$ is found to be above the melting temperature, it is set to $T_{\rm melt}$ and the extra energy goes into melting the snow or ice:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{ai} &amp;amp; = \frac{Q_{ai} - Q_{i2} }{ \rho_o L_3} \cr&lt;br /&gt;
   L_3 &amp;amp; \equiv \left[ E(T_3,1) - E(T_1, R_1) \right]&lt;br /&gt;
}$$&lt;br /&gt;
Note that $L_3 = (1-r)L_i$ plus a small sensible heat correction. We can store water on the surface in melt pools to a fixed depth---everything extra melted at the surface is assumed to flow into the ocean as $W_{ro}$. The melt ponds however do not contribute to the heat flux computation.&lt;br /&gt;
&lt;br /&gt;
Inside the ice there are brine pockets in which there is salt water at the &#039;&#039;in situ&#039;&#039; freezing temperature. It is assumed that the ice has a uniform overall salinity of $S_i$ and that the freezing temperature is a linear function of salinity. The brine fraction $r$ is given by&lt;br /&gt;
$$&lt;br /&gt;
  r = \frac{S_i m }{ T_1}&lt;br /&gt;
$$&lt;br /&gt;
The enthalpy of the combined ice/brine system is given by&lt;br /&gt;
$$&lt;br /&gt;
  E(T,r) = r(L_i + C_{po}T) + (1-r) C_{pi} T&lt;br /&gt;
$$&lt;br /&gt;
Substituting in for $r$ and differentiating gives:&lt;br /&gt;
$$&lt;br /&gt;
  \frac{\partial E }{ \partial T} = - \frac{S_i m L_i }{ T_1^2} + C_{pi}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Inside the snow, we have &lt;br /&gt;
$$&lt;br /&gt;
   Q_s = \frac{k_s }{ h_s} (T_2 - T_3)&lt;br /&gt;
$$&lt;br /&gt;
The heat conduction in the upper part of the ice layer is&lt;br /&gt;
$$&lt;br /&gt;
   Q_{I2} = \frac{ 2 k_i }{ h_i} (T_1 - T_2)&lt;br /&gt;
$$&lt;br /&gt;
These can be set equal to each other to solve for $T_2$&lt;br /&gt;
$$&lt;br /&gt;
   T_2 = \frac{T_3 + C_k T_1 }{ 1 + C_k}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_k \equiv \frac{2 k_i h_s }{ h_i k_s}.&lt;br /&gt;
$$&lt;br /&gt;
Substituting into (\ref{qi2}), we get:&lt;br /&gt;
$$&lt;br /&gt;
  Q_s = Q_{I2} = \frac{2k_i }{ h_i} \frac{(T_1 - T_3) }{ (1 + C_k)}&lt;br /&gt;
$$&lt;br /&gt;
Note that in the absence of snow, $C_k$ becomes zero and we recover the formula for the no-snow case in which $T_3 = T_2$.&lt;br /&gt;
&lt;br /&gt;
At the bottom of the ice, we have&lt;br /&gt;
$$&lt;br /&gt;
  Q_{I0} = \frac{2 k_i }{ h_i} (T_0 - T_1)&lt;br /&gt;
$$&lt;br /&gt;
The difference between $Q_{I0}$ and $Q_{I2}$ goes into the enthalpy of the ice:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \left[ \frac{\partial E }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla E \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
We can use the chain rule to obtain an equation for timestepping $T_1$:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \frac{\partial E }{ \partial T}&lt;br /&gt;
   \left[ \frac{\partial T_1 }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla T_1 \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
  Q_{I0} - Q_{I2} &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 - T_1) - &lt;br /&gt;
  \frac{(T_1 - T_3) }{ 1 + C_k} \right] \cr&lt;br /&gt;
                  &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 +&lt;br /&gt;
  \frac{T_3 - (2 + C_k) T_1 }{ 1 + C_k} \right]&lt;br /&gt;
} $$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ocean surface boundary conditions==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The ocean receives surface stresses from both the atmosphere and the ice, according to the ice concentration:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   K_m \frac{\partial u_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^x&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^x \cr&lt;br /&gt;
   K_m \frac{\partial v_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^y&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^y  }&lt;br /&gt;
$$&lt;br /&gt;
where the relevant variables are in the following table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $b$&lt;br /&gt;
| 3.14&lt;br /&gt;
| factor&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{E}$&lt;br /&gt;
|&lt;br /&gt;
| evaporation&lt;br /&gt;
|-&lt;br /&gt;
| $k$&lt;br /&gt;
| 0.4&lt;br /&gt;
| von Karman&#039;s constant&lt;br /&gt;
|-&lt;br /&gt;
| $K_m$&lt;br /&gt;
|&lt;br /&gt;
| vertical viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\nu$&lt;br /&gt;
| $1.8 \times 10^{-6} m^2 s^{-1}$&lt;br /&gt;
| kinematic viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{P}$&lt;br /&gt;
|&lt;br /&gt;
| precipitation&lt;br /&gt;
|-&lt;br /&gt;
| $Pr$&lt;br /&gt;
| 13.0&lt;br /&gt;
| molecular Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $P_{rt}$&lt;br /&gt;
| 0.85&lt;br /&gt;
| turbulent Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $S_0$&lt;br /&gt;
|&lt;br /&gt;
| surface salinity&lt;br /&gt;
|-&lt;br /&gt;
| $S$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean salinity&lt;br /&gt;
|-&lt;br /&gt;
| $Sc$&lt;br /&gt;
| 2432&lt;br /&gt;
| molecular Schmidt number&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{io}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the ice&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{ao}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the wind&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
|&lt;br /&gt;
| surface ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $u_\tau$&lt;br /&gt;
|&lt;br /&gt;
| friction velocity $|\tau_{io}|^{1/2} \rho_o^{-1/2}$&lt;br /&gt;
|-&lt;br /&gt;
| $z_0$&lt;br /&gt;
|&lt;br /&gt;
| roughness parameter&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
surface salinity ($T_0 = mS_0$) in the presense of ice. We also have $T$ and $S$ at the uppermost computed ocean point ${1 \over 2} dz$ below the surface. In order to solve for $T_0$ and $S_0$, we assume a [[Bibliography#Yaglom_1974 | Yaglom and Kader, 1974]] logarithmic boundary layer. The upper ocean heat flux is:&lt;br /&gt;
$$&lt;br /&gt;
   \frac{F_T }{ \rho_o C_{po}} = -C_{T_z} (T_0 - T) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{T_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_T}&lt;br /&gt;
$$ $$&lt;br /&gt;
  B_T = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Pr^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Likewise, we have the following equation for the surface salt flux:&lt;br /&gt;
$$&lt;br /&gt;
    F_S = -C_{S_z} (S_0 - S) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{S_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_S}&lt;br /&gt;
$$&lt;br /&gt;
$$&lt;br /&gt;
  B_S = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Sc^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
The ocean model receives the following heat and salt fluxes:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   F_T &amp;amp; = A Q_{io} + (1 - A) Q_{ao} - W_o L_o \cr&lt;br /&gt;
   F_S &amp;amp; = (W_o - A W_{ro}) (S_i-S_0) + (1-A)S_o (\dot{P}-\dot{E}) \cr&lt;br /&gt;
   W_o &amp;amp; \equiv A W_{io} + (1-A) W_{ao} }&lt;br /&gt;
$$ &lt;br /&gt;
&lt;br /&gt;
[[Bibliography#MellorGL_1989a | Mellor and Kantha]] describe solving simultaneously for the five unknowns $W_o$, $T_0$, $S_0$, $F_T$ and $F_S$. Instead, we use the old value of $T_0$ to find $W_{io}$ and therefore $W_o$. Using the new value of $W_{io}$, solve for a new value of $S_0$ and then find the new $T_0$ as the freezing temperature for that salinity:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{io} &amp;amp;= {1 \over L_o} \left[ {Q_{io} \over \rho_o} + C_{po}&lt;br /&gt;
   C_{T_z} (T_o - T) \right] \cr&lt;br /&gt;
   S_0 &amp;amp;= { C_{S_z} S + (W_{ai}H(-W_{ai}) - W_{io})) S_i \over&lt;br /&gt;
   C_{S_z} + W_{ai}H(-W_{ai}) + W_{ro} - W_{io} } }&lt;br /&gt;
$$&lt;br /&gt;
Note that the term $W_{ai}H(-W_{ai})$ is the contribution of melting only, not refreezing of melt ponds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frazil ice formation==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
Following [[Bibliography#Steele_89 |Steele &#039;&#039;et al.&#039;&#039; (1989)]], we check to see if any&lt;br /&gt;
of the ocean temperatures are below freezing at the end of each&lt;br /&gt;
timestep.  If so, frazil ice is assumed to form, changing the local&lt;br /&gt;
temperature and salinity.  The ice that forms is assumed to&lt;br /&gt;
instantly float up to the surface and add to the ice layer there.&lt;br /&gt;
We assume balances in the mass, heat, and salt before and after the ice&lt;br /&gt;
is formed:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   m_{w_1} &amp;amp; = m_{w_2} + m_i \cr&lt;br /&gt;
   m_{w_1} ( C_{pw} T_1 + L) &amp;amp; =&lt;br /&gt;
   m_{w_2} (C_{pw} T_2 + L) + m_i C_{pi} T_2 \cr&lt;br /&gt;
   m_{w_1} S_1 &amp;amp; = m_{w_2} S_2 . }&lt;br /&gt;
$$&lt;br /&gt;
The variables are defined in this table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$&lt;br /&gt;
| 1994 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pw}$&lt;br /&gt;
| 3987 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\gamma$&lt;br /&gt;
| $m_i/m_{w_2}$&lt;br /&gt;
| fraction of water that froze&lt;br /&gt;
|-&lt;br /&gt;
| $L$&lt;br /&gt;
| 3.16e5 J kg$^{-1}$&lt;br /&gt;
| latent heat of fusion&lt;br /&gt;
|-&lt;br /&gt;
| $m_i$&lt;br /&gt;
|&lt;br /&gt;
| mass of ice formed&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_1}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_2}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m$&lt;br /&gt;
| $-0.0543$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $n$&lt;br /&gt;
| $7.59 \times 10^{-4}$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $S_1$&lt;br /&gt;
|&lt;br /&gt;
| salinity before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $S_2$&lt;br /&gt;
|&lt;br /&gt;
| salinity after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
|&lt;br /&gt;
| temperature before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
|&lt;br /&gt;
| temperature after freezing&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defining $\gamma = m_i / m_{w_2}$ and dropping terms of order $\gamma^2$&lt;br /&gt;
leads to:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   T_2 &amp;amp; = T_1 + \gamma \left[ \frac{L }{ C_{pw}} + T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) \right]  \cr&lt;br /&gt;
   S_2 &amp;amp; = S_1 (1 + \gamma)  .}&lt;br /&gt;
$$&lt;br /&gt;
We also want the final temperature and salinity to be on the freezing&lt;br /&gt;
line, which we approximate as:&lt;br /&gt;
$$&lt;br /&gt;
   T_f = m S + n z .&lt;br /&gt;
$$&lt;br /&gt;
We can then solve for $\gamma$:&lt;br /&gt;
$$&lt;br /&gt;
   \gamma = \frac{-T_1 + mS_1 + nz }{ {L }{ C_{pw}}+ T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) - mS_1} .&lt;br /&gt;
$$&lt;br /&gt;
The ocean is checked at each depth $k$ and at each timestep for&lt;br /&gt;
supercooling.  If the water is below freezing, the temperature and&lt;br /&gt;
salinity are adjusted as in equations (\ref{t2eq}) and (\ref{s2eq})&lt;br /&gt;
and the ice above is thickened by the amount:&lt;br /&gt;
$$&lt;br /&gt;
   \Delta h = \gamma_k \Delta z_k \frac{\rho_w}{\rho_i} .&lt;br /&gt;
$$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4517</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Bibliography&amp;diff=4517"/>
		<updated>2012-03-27T02:08:42Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Y */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Bibliography&amp;lt;/div&amp;gt;&lt;br /&gt;
The following references list follows the the American Meteorological Society (AMS) guidelines for citation style ([http://www.ametsoc.org/pubs/Authorsguide/pdf_vs/agbrf2002.pdf PDF]). &lt;br /&gt;
&amp;lt;!-- The automatic table of contents is disabled here to allow a simplified table --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;table id=&amp;quot;toc&amp;quot; class=&amp;quot;toc&amp;quot; summary=&amp;quot;Contents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;26&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#A|A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#B|B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#C|C]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#D|D]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#E|E]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#F|F]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#G|G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#H|H]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#I|I]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#J|J]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#K|K]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#L|L]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#M|M]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#N|N]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#O|O]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#P|P]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Q|Q]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#R|R]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#S|S]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#T|T]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#U|U]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#V|V]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#W|W]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#X|X]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Y|Y]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;alphabetlist&amp;quot;&amp;gt;[[#Z|Z]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;A&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenJS_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, J. S., P. A. Newberger, and J. Federiuk, 1995: Upwelling circulation on the Oregon continental shelf. Part I: Response to Idealized Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1843-1866.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;AllenSE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Allen, S. E., M. S. Dinniman, J. M. Klinck, B. M. Hickey, D. D. Gorby, A. J. Hewett, 2003: On vertical advection truncation errors in terrain following numerical models: Comparison to a laboratory model for upwelling over submarine canyons, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C1), 1-16, doi:10.1029/2001JC000978. ([http://marine.rutgers.edu/po/Papers/Allen_JGR_2001JC000978.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArakawaA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arakawa, A. and V. R. Lamb, 1977: &#039;&#039;Methods of computational physics&#039;&#039;, Academic Press, 174-265.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ArangoHG_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Arango, H. G., A. M. Moore, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo, and D. J. Neilson, 2003: The ROMS Tangent Linear and Adjoint Models: A comprehensive ocean prediction and analysis system, &#039;&#039;IMCS Technical Reports, Rutgers Univeristy&#039;&#039;, 69pp. ([http://marine.rutgers.edu/po/Papers/roms_adjoint.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;B&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Batchelor67&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Batchelor, G. K., 1967: &#039;&#039;An introduction to fluid dynamics&#039;&#039;, Cambridge University Press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999a: Carbon cycling in the upper waters of the Sargasso Sea: I. Numerical  simulation of differential carbon and nitrogen fluxes, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 205-269.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_1999b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W. P., K. L. Carder, J. J. Walsh, D. A. Dieterle, 1999b: Carbon cycling in the upper waters of the Sargasso Sea: II. Numerical  simulation  of  apparent  and  inherent optical properties, &#039;&#039;Deep-Sea Res.&#039;&#039;, &#039;&#039;&#039;46&#039;&#039;&#039;, 271-317.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BissettWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D., Kirkpatrick, G., Schofield, O. and Vargo, G., 2005. Predicting the optical properties of the West Florida Shelf: Resolving the potential impacts of a terrestrial boundary condition on the distribution of colored dissolved and particulate matter. &#039;&#039;Marine Chemistry&#039;&#039;, &#039;&#039;&#039;95(3-4)&#039;&#039;&#039;, 199-233.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BooijN_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Booij, N., R. C. Ris, and L. H. Holthuijsen, 1999: A third-generation wave model for coastal regions. Part I - Model description and validation. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;104&#039;&#039;&#039;, 7649-7666.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BudgellWP_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Budgell, W.P., 2005: Numerical simulation of ice-ocean variability in the Barents Sea region, &#039;&#039;Ocean Dynamics&#039;&#039;, DOI 10.1007/s10236-005-0008-3. ([http://marine.rutgers.edu/po/Papers/Budgell_od.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;BurchardH_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Burchard, H., 2001: Simulating the wave-enhanced layer under breaking surface waves with two-equation turbulence models, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 3133-3145.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;CanutoVM_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Canuto, V. M., A. Howard, Y. Cheng, M. S. Dubovikov, 2001: Ocean turbulence I: one-point closure model. Momentum and heat vertical diffusivities, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;31&#039;&#039;&#039;, 1413-1426.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chapman_1985&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, D. C., 1985: Numerical treatment of cross-shelf open boundaries in a barotropic coastal ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;15&#039;&#039;&#039;, 1060--1075.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChapmanSJ_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chapman, S. J., 2004: &#039;&#039;Fortran 90/95 for Scientists and Engineers&#039;&#039;. Second Edition. McGraw-Hill. 814 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChassignetEP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chassignet, E. P., H. G. Arango, D. Dietrich, T. Ezer, M. Ghil, D. B. Haidvogel C.-C. Ma, A. Mehra, A. M. Paiva, Z. Sirkes, 2000: DAMEE-NAB: The Base Experiments, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 155-183.  ([http://marine.rutgers.edu/po/Papers/damee_rev.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChoiBJ_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Choi, B.-J., and J. L. Wilkin, 2006a: The effect of wind on the dispersal of the Hudson River plume, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 1878-1897. ([http://marine.rutgers.edu/%7Ewilkin/ChoiWilkin_JPO2007.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ChuaBS_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Chua, B. S. and A. F. Bennett, 2001: An inverse ocean modeling system, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 137-165. ([http://marine.rutgers.edu/po/Papers/ioms_oc.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;D&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DaleyR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Daley, R., 1991: Atmospheric Data Analysis, &#039;&#039;Cambridge Atmospheric and Space Science Series&#039;&#039;, Cambridge University Press, 457 pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DeanR_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dean, R. G., and R. A. Dalrymple, 1991: &#039;&#039;Water Wave Mechanics for Engineers and Scientists&#039;&#039;.  World Scientific, 353 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., 2003: Seasonal dynamics of the surface circulation in the southern California Current System, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 2371-2388.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DiLorenzoE_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Di Lorenzo, E., A.M. Moore, H.G. Arango, B.D. Cornuelle, A.J. Miller, B. Powell, B.S. Chua, and A.F. Bennett, 2006: Weak and Strong Constraint Data Assimilation in the inverse Regional Ocean Modeling System (ROMS): development and applications for a baroclinic costal upwelling system, &#039;&#039;Ocean Modelling&#039;&#039;, in press.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2002: The influence of open versus periodic alongshore boundaries on circulations near submarine canyons, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 1722-1737 ([http://marine.rutgers.edu/po/Papers/Dinniman_jtech02.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S., J. M. Klinck, and W. O. Smith Jr., 2003: Cross shelf exchange in a model of the Ross Sea circulation and biogeochemistry, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3103-3120. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DinnimanMS_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Dinniman, M. S. and J. M. Klinck, 2004: A model study of circulation and cross shelf exchange on the west Antarctic Peninsula continental shelf,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 2003-2022. ([http://marine.rutgers.edu/po/Papers/DSRII1415.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DoyleJD_2009&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Doyle, J. D., Q. Jiang, and J. Farrara, 2009: High-resolution atmospheric modeling over the Monterrey Bay during AOSN II,  &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;, 87-99.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;DurskiSM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Durski, S. M., S. M. Glenn, D. B. Haidvogel, 2004: Vertical mixing schemes in the coastal ocean: Comparison of the Level 2.5 Mellor-Yamada scheme with an enhanced version of the K-profile parameterization, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C01015, doi:10.1029/2002JC001702. ([http://marine.rutgers.edu/po/Papers/Durski_JGR04.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;EzerT_2002a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ezer, T., H. G. Arango and A. F. Shchepetkin, 2002: Developments in terrain-following ocean models: intercomparisons of numerical aspects, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;4&#039;&#039;&#039;, 249-267. ([http://marine.rutgers.edu/po/Papers/ezer_etal_2002.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FairallCW_1996a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fairall, C. W., E. F. Bradley, D. P. Rogers, J. B. Edson and G. S. Young, 1996: Bulk parameterization of air-sea fluxes for tropical ocean-global atmosphere Coupled-Ocean Atmosphere Response Experiment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;101&#039;&#039;&#039;, 3747-3764.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FashamMJR_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fasham, M. J. R., H. W. Ducklow, and S. M. McKelvie, 1990:  A nitrogen-based model of plankton dynamics in the oceanic mixed layer, &#039;&#039;J. Mar. Res.&#039;&#039;, &#039;&#039;&#039;48&#039;&#039;&#039;, 591-639.         &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Fedorov_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fedorov, K. N., 1988:  Layer thicknesses and effective diffusivities in the diffusive thermocline convection in the ocean, In J.C.J. Nihoul and B.M. Jamart, editors, &#039;&#039;Small-scale turbulence and mixing in the ocean&#039;&#039;, pages 471-479, Elsevier, New York.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, M. Previdi, R. Najjar, 2008: Denitrification effects on air-sea CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; flux in the coastal ocean: Simulations for the Northwest North Atlantic, &#039;&#039;Geophys. Res. Let.&#039;&#039;, &#039;&#039;&#039;35&#039;&#039;&#039;, L24608. ([http://www.myroms.org/Papers/Fennel_GRL_2008.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FennelK_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fennel, K., J. Wilkin, J. Levin, J. Moisan, J. O&#039;Reilly, and D. Haidvogel, 2006: Nitrogen cycling in the Middle Atlantic Bight: Results from a three-dimensional model and implications for the North Atlantic nitrogen budget, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, GB3007, doi:10.1029/2005GB002456. ([http://www.myroms.org/Papers/Fennel_etal_gbc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FiechterJ_2009a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fiechter, J., A.M. Moore, C.A. Edwards, K.W. Bruland, E. Di Lorenzo, C.V.W. Lewis, T.M. Powell, E. Curchitser, and K. Hedstrom, 2009: Modeling iron limitation of primary production in the coastal Gulf of Alaska, &#039;&#039;Deep_Sea Res. II&#039;&#039;, &#039;&#039;&#039;56&#039;&#039;&#039;(24), 2503-2519. ([http://www.myroms.org/Papers/Fiechter_DSRII_2009.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M. and P. Courtier, 1995:  Estimating the covariance matrices of analysis and forecast error in variational data assimilation, ECMWF Technical Memo N. 220, ECMWF,  Reading, UK. [http://www.ecmwf.int/publications/library/ecpublications/_pdf/tm/001-300/tm220.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1997: Efficient minimization of quadratic penalty functions.&lt;br /&gt;
Unpublished manuscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FisherM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Fisher, M., 1998: Minimization algorithms for variational data assimilation.&lt;br /&gt;
&#039;&#039;Recent Developments in Numerical Methods for Atmospheric Modelling&#039;&#039;, ECMWF&lt;br /&gt;
publication, 364-385.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flather_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Flather, R. A., 1976: A tidal model of the northwest European continental shelf.&lt;br /&gt;
&#039;&#039;&amp;quot;Memoires de la Societe Royale de Sciences de Liege&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 141-164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FranksPJS_1986a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Franks, P. J. S., J. S. Wroblewski, and G. R. Flierl, 1986: Behavior of simple plankton model with food-level acclimation by herbivores, &#039;&#039;Mar. Biol.&#039;&#039;, &#039;&#039;&#039;91&#039;&#039;&#039;, 121-129.                                                        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;FreemanNG_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Freeman, N. G., A. M. Hale, and M. B. Danard, 1972: A modified sigma equations&#039; approach to the numerical modeling of great lake hydrodynamics, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;77&#039;&#039;&#039;, 1050-1060.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;G&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GalperinB_1988a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Galperin, B., L. H. Kantha, S. Hassid, and A. Rosati, 1988: A quasi-equilibrium turbulent energy model for geophysical flows, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;45&#039;&#039;&#039;, 55-62.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GolubG_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Golub, G. H. and C. Van Loan, 1989: Matrix Computations, &#039;&#039;Johns Hopkins University Press&#039;&#039;, 2nd edition, Baltimore, Maryland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M., A. Gnanadesikan, R.C. Pacanowski, V. Larichev, J.K. Dukowicz, and R.D. Smith, 1998: Isoneutral diffusion in a &#039;&#039;z&#039;&#039;-coordinate ocean model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;28&#039;&#039;&#039;, 805--830.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;GriffiesSM_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Griffies, S.M. and R.W. Hallberg, 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;128&#039;&#039;&#039;, 8, 2935--2946.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;H&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_1999a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B. and A. Beckmann, 1999: &#039;&#039;Numerical Ocean Circulation Modeling&#039;&#039;. Series on Environmental Science and Management, Vol. &#039;&#039;&#039;2&#039;&#039;&#039;, Imperial College Press, 319 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HaidvogelDB_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Haidvogel, D. B., H. G. Arango, K. Hedstrom, A. Beckmann, P. Malanotte-Rizzoli, and A. F. Shchepetkin, 2000: Model evaluation experiments in the North Atlantic Basin: Simulations in nonlinear terrain-following coordinates, &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 239-281. ([http://marine.rutgers.edu/po/Papers/damee_roms1.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HakkinenS_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hakkinen, S. and G. L. Mellor, 1992: Modeling the seasonal variability of a coupled arctic ice-ocean system, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 20285-20304.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HeR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;He, R., and J. L. Wilkin, 2006a: Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C08002, doi:10.1029/2005JC003254. ([http://marine.rutgers.edu/%7Ewilkin/HeWilkin_MVCOtides_JGR2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HiblerWD_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hibler, III, W. D., 1979: A dynamic thermodynamic sea ice model, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 815-846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C., 2001: Viscous-plastic sea ice dynamics with the EVP model: linearization issues, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;170&#039;&#039;&#039;, 18-38.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;HunkeEC_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Hunke, E. C. and J. K. Dukowicz, 1997: An elastic-viscous-plastic model for sea ice dynamics, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1849-1868.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;I&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;J&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;JackettDR_1995a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Jackett, D. R. and T. J. McDougall, 1995: Minimal Adjustment of Hydrostatic Profiles to Achieve Static Stability, &#039;&#039;J. Atmos. Oceanic Techn.&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, 381-389.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;K&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KanthaLH_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kantha, L.H., C.A. Clayson, 1994: Nermerical Models of Oceans and Oceanic Processes. In: &#039;&#039;International Geophysics Series&#039;&#039;, Vol. &#039;&#039;&#039;66&#039;&#039;&#039;. Academic Press, San Diego. 940 pp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KeelingRF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Keeling, R. F., B. B. Stephens, R. G. Najjar, S. C. Doney, D. Archer, and M. Heimann, 1998: Seasonal variations in the atmospheric O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ratio in relation to the kinetics of air-sea gas exchange, &#039;&#039;Global Biogeochem. Cycles&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;(1), 141-163.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KishiMJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kishi, M. J., et al., 2007: Nemuro - a lower trophic level model for the North Pacific marine ecosystem, &#039;&#039;Ecological Modelling&#039;&#039;, &#039;&#039;&#039;202&#039;&#039;&#039;, 12-25.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;KostersF_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Kosters, F., 2004: Denmark Strait overflow: Comparing model results and hydraulic transport estimates, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C10011, doi:10.1029/2004JC002297. ([http://marine.rutgers.edu/po/Papers/Kosters_2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LaevastuT_1960a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Laevastu, T., 1960: Factors affecting the temperature od the surface layer of the sea, &#039;&#039;Comments Phys. Math.&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., J. C. McWilliams, and S. C. Doney, 1994: Oceanic vertical mixing: a review and a model with a nonlocal boundary layer parameterization, &#039;&#039;Rev. Geophys.&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 363-403.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LargeWG_1998&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Large, W. G., 1998: Modeling and parameterization ocean planetary boundary layers, In &#039;&#039;Ocean Modeling and Parameterization&#039;&#039;, E. P. Chassignet and J. Verron editors, pages 81-120, Kluwer Academic Publishers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ledwell_1993&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Ledwell, J. R., A. J. Wilson, and C. S. Low, 1993: Evidence for slow mixing across the pycnocline from an open-ocean tracer-release experiment, &#039;&#039;Nature&#039;&#039;, &#039;&#039;&#039;364&#039;&#039;&#039;, 701-703.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;LeonardBP_1979&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Leonard, B. P., 1979: A stable and accurate convective modelling procedure based on quadratic upstream interpolation. &#039;&#039;Comput. Methods Appl. Mech. Eng.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 59-98.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Lesser_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Lesser, G. R., J. A. Roelvink, J. A. T. M. van Kester, and G. S. Stelling, 2004: Development and validation of a three-dimensional morphological model. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;51&#039;&#039;&#039;, 883-915.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MacCreadyP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MacCready, P. and W. R. Geyer, 2001: Estuarine salt flux through an isohaline surface, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;106&#039;&#039;&#039; (C6), 11629-11637. ([http://marine.rutgers.edu/po/Papers/2001JC900006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Mailhot_1982&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mailhôt, J. and R. Benoit, 1982: A finite-element model of the atmospheric boundary layer suitable for use with numerical weather prediction models, &#039;&#039;J. Atmos. Sci.&#039;&#039;, &#039;&#039;&#039;39&#039;&#039;&#039;, 2249-2266.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MalanotteRP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Malanotte-Rizzoli, P., K. Hedstrom, H.G. Arango, and D.B. Haidvogel, 2000: Water mass pathways between the subtropical and tropical ocean in a climatological simulation of the North Atlantic ocean circulation,  &#039;&#039;Dyn. Atmos. Oceans&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039;, 331-371. ([http://marine.rutgers.edu/po/Papers/damee_roms2.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;3&#039;&#039;&#039;, 1-20. ([http://marine.rutgers.edu/po/Papers/obc_oc.pdf PDF]) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MarchesielloP_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Marchesiello, P., J. C. McWilliams, and A. Shchepetkin, 2003: Equilibrium structure and dynamics of the California Current System, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 753-783. ([http://marine.rutgers.edu/po/Papers/CCS_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1982a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and T. Yamada, 1982: Developement of a turbulence closure model for geophysical fluid problems, &#039;&#039;Rev. Geophys. Space Phys.&#039;&#039;, &#039;&#039;&#039;20&#039;&#039;&#039;, 851-875.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MellorGL_1989a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Mellor, G. L. and L. Kantha, 1989: An ice-ocean coupled model, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;94&#039;&#039;&#039;, 10,937-10,954.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id]&amp;quot;Meyer-PeterE_1948a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Meyer-Peter, E., and R. Mueller, 1948: Formulas for bedload transport. In: &#039;&#039;Report on the Second Meeting of the International Association Hydraulic Structure Research&#039;&#039;, Stockholm, Sweden, 39-64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, G. Broquet, B.S. Powell, J. Zavala-Garay, and A.T. Weaver, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data  assimilation systems, Part I: System overview, &#039;&#039;Ocean Modelling&#039;&#039;, draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and  P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part II: Performance and application to the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2010c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, and G. Broquet, C. Edwards, M. Veneziani, B.S. Powell, D. Foley, J. Doyle, D. Costa, and P. Robinson, 2010: The Regional Ocean Modeling System (ROMS) 4-dimensional variational data assimilation systems, Part III: Observation Impact and Observation Sensitivity in the California Current System, &#039;&#039;Ocean Modelling&#039;&#039;, Draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A.M., H.G. Arango, E. Di Lorenzo, A.J. Miller and B.D. Cornuelle, 2006: An adjoint sensitivity analysis of the southern portion of the California Current circulation and ecosystem, Part I: The physical circulation, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MooreAM_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Moore, A. M., H. G. Arango, A. J. Miller, B. D. Cornuelle, E. Di Lorenzo and D. J. Neilson, 2004: A Comprehensive Ocean Prediction and Analysis System Based on the Tangent Linear and Adjoint Components of a Regional Ocean Model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 227-258. ([http://marine.rutgers.edu/po/Papers/Moore_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MuccinoJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Muccino, J. C., H. G. Arango, A. B. Bennett, B. S. chua, B. D. Cornuelle, E. Di Lorenzo, G. D. Egbert, D. B. Haidvogel, L. Hao, J. C. Levin, A. J. Miller, A. M. Moore, and E. D. Zaron, 2006: The Inverse Ocean Modeling System. II: Applications, &#039;&#039;J. Atmos. Oceanic Tech.&#039;&#039;, submitted.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Orlanski_1976&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Orlanski, I., 1976: A simple boundary condition for unbounded hyperbolic flows.&lt;br /&gt;
&#039;&#039;J. Comp. Sci.&#039;&#039;, &#039;&#039;&#039;21&#039;&#039;&#039;(3), 251-269.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ParkinsonCL_1979a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Parkinson, C. L. and W. M. Washington, 1979: A large-scale numerical model of sea ice, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;84&#039;&#039;&#039;, 311-337.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PaulsonCA_1977a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Paulson, C. A., and J. J. Simpson, 1977: Irradiance measurements in the upper ocean, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;7&#039;&#039;&#039;, 952-956.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, 2003: Subinertial Response of a Density-Driven Eastern Boundary Poleward Current to Wind Forcing, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;33&#039;&#039;&#039;, 1633-1650. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PelizA_2003b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peliz, A., J. Dubert, D. B. Haidvogel, and B. Le Cann, 2003: Generation and unstable evolution of a density-driven Eastern Poleward Current: The Iberian Poleward Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C8), 3268, doi:10.1029/2002JC001443. ([http://marine.rutgers.edu/po/Papers/Peliz_jpo03.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, A. Colin de Verdiere and J. Largier, 2000: Simulation of a coastal jet retention process using a barotropic model, &#039;&#039;Oceanology Acta&#039;&#039;, &#039;&#039;23&#039;&#039;(5), 615-634. ([http://marine.rutgers.edu/po/Papers/oceano_act_2000_23_5.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., C. Roy, J.R.E. Lutjeharms, A. Colin de Verdiere, A. Johnson, F. Shillington, P. Freon and G. Brundrit, 2001:  A regional hydrodynamic model of the Southern Benguela, &#039;&#039;S. Afr. J. Sci. Res. Letters&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;, 1-4. ([http://marine.rutgers.edu/po/Papers/s_afr_j_sci_2001_97_11-12.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PenvenP_2001b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Penven, P., J. R. E. Lutjeharms, P. Marchesiello, C. Roy and S. J. Weeks, 2001: Generation of cyclonic eddies by the Agulhas Current in the lee of the Agulhas Bank, &#039;&#039;Geophys. Res. Letters&#039;&#039;, &#039;&#039;&#039;27&#039;&#039;&#039;, 1055-1058. ([http://marine.rutgers.edu/po/Papers/grl_2001_28_6.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Peters_1988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Peters, H., M. C. Gregg and J. M. Toole, 1988: On the parameterization of equatorial turbulence, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;93&#039;&#039;&#039;, 1199-1218.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PhillipsNA_1957a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Phillips, N. A., 1957: A coordinate system having some special advantages for numerical forecasting, &#039;&#039;J. Meteorology&#039;&#039;, &#039;&#039;&#039;14&#039;&#039;&#039;, 184-185.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellBS_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell, B.S., H.G. Arango, A.M. Moore, E. DiLorenzo, R.F. Milliff and D. Foley, 2008: 4DVAR Data Assimilation in the Intra-Americas Sea with the Regional Ocean Modeling System (ROMS). &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;25&#039;&#039;&#039;, 173-188.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;PowellTP_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Powell T. P., C. V. W. Lewis, E. N. Curchitser, D. B. Haidvogel, A. J. Hermann, E. L. Dobbins (2006), Results from a three-dimensional, nested biological-physical model of the California Current System and comparisons with statistics from satellite imagery, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;111&#039;&#039;&#039;, C07018, doi:10.1029/2004JC002506.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Q&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RaschP_1994&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Rasch, P.J., 1994: Conservative shape-preserving two-dimensional transport on a spherical reduced grid, &#039;&#039;Mon. Wea. Rev&#039;&#039;, &#039;&#039;&#039;122&#039;&#039;&#039;, 1337-1350.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Raymond_Kuo_1984&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Raymond, W. H. and H. L. Kuo, 1984: A radiation boundary condition for multi-dimensional flows, &#039;&#039;Quart. J. R. Met. Soc.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, 535-551.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;RobertsonR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Robertson, R., 2006: Modeling internal tides over Fieberling Guyot: resolution, parameterization, performance, &#039;&#039;Ocean Dynamics&#039;&#039;, doi:10.1007/s10236-006-0062-5. ([http://marine.rutgers.edu/po/Papers/Robertson_OceanDynamics-06.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SadournyR_1997a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Sadourny, R. and K. Maynard, 1997: Formulations of lateral diffusion in geophysical fluid dynamics models, In &#039;&#039;Numerical Methods of Atmospheric and Oceanic Modelling&#039;&#039;, C.A. Lin, R. Laprise, and H. Ritchie, Eds., NRC Research Press, 547--556.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SemtnerAJ_1976a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Semtner, Jr., A. J., 1976: A model for the thermodynamic growth of sea ice in numerical investigations of climate, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;6&#039;&#039;&#039;, 379-389.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_1998a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 1998: Quasi-monotone advection schemes based on explicit locally adaptive dissipation, &#039;&#039;Monthly Weather Rev.&#039;&#039;, &#039;&#039;&#039;126&#039;&#039;&#039;, 1541-1580. ([http://marine.rutgers.edu/po/Papers/shch_mcw_1999.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2003: A method for computing horizontal pressure-gradient force in an oceanic model with a nonaligned vertical coordinate, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;108&#039;&#039;&#039; (C3), 3090, doi:10.1029/2001JC001047. ([http://marine.rutgers.edu/po/Papers/2001JC001047.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2005: The Regional Ocean Modeling System: A split-explicit, free-surface, topography following coordinates ocean model, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;9&#039;&#039;&#039;, 347-404. ([http://marine.rutgers.edu/po/Papers/Shchepetkin_om05.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2009: Correction and Commentary for &amp;quot;Ocean forecasting in terrain-following coordinates: formulation and skill assessment of the Regional Ocean Modeling System&amp;quot; by Haidvogel et al., &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;228&#039;&#039;&#039;, 8985-9000. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: Computational kernel algorithms for fine-scale, multi-process, long-time oceanic simulations. In: &#039;&#039;Handbook of Numerical Analysis: Computational Methods for the Ocean and the Atmosphere&#039;&#039;, eds. R. Temam &amp;amp; J. Tribbia, Elsevier Science, ISBN-10: 0444518932, ISBN-13: 978-0444518934.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ShchepetkinAF_2008c&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Shchepetkin, A. F., and J. C. McWilliams, 2008: An Accurate Boussinesq oceanic model with a practical, &amp;quot;Stiffened&amp;quot; equation of state, submitted to Elsevier Science.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SheJ_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;She, J. and J. M. Klinck, 2000: Flow near submarine canyons driven by constant winds, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;(C12), 28671-28694. ([http://marine.rutgers.edu/po/Papers/2000JC900126.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1990a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., R. C. Beardsley, H. C. Graber, and A. Capotondi, 1990: Effect of Wave-Current Interaction on Steady Wind-Driven Circulation in Narrow, Shallow Embayments, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;95&#039;&#039;&#039;(C6), 9671-9678.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SignellRP_1991a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Signell, R. P., W. R. Geyer, 1991: Transient Eddy Formation Around Headlands, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;96&#039;&#039;&#039;(C2), 2561-2575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SmithWO_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Smith, W.O., Jr., M.S. Dinniman, J.M. Klinck and E.E. Hofmann, 2003: Biogeochemical Climatologies of the Ross Sea, Antarctica: Seasonal Patterns of Nutrients and Biomass, &#039;&#039;Deep-Sea Res., Part II&#039;&#039;, &#039;&#039;&#039;50&#039;&#039;&#039;, 3083-3101. ([http://marine.rutgers.edu/po/Papers/DSRII1414.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Damgaard, J. S. 2005: Bedload sediment transport in coastal waters. &#039;&#039;Coastal Engineering&#039;&#039;, &#039;&#039;&#039;52&#039;&#039;&#039;, 673-689.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L. and Whitehouse, R. J. S., 2005: &#039;&#039;Prediction of Ripple Properties in Shelf Seas; Mark 2 Predictor for Time Evolution&#039;&#039;. Report TR 154, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SoulsbyR_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Soulsby, R. L., 2006: &#039;&#039;Simplified calculation of wave-orbital velocities&#039;&#039;. Report TR 155, HR Wallingford, Wallingford, UK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SongY_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Song, Y. and D. B. Haidvogel, 1994: A semi-implicit ocean circulation model using a generalized topography-following coordinate system, &#039;&#039;J. Comp. Phys.&#039;&#039;, &#039;&#039;&#039;115&#039;&#039;&#039; (1), 228-244. ([http://marine.rutgers.edu/po/Papers/scrum.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Steele_89&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Steele, M., G. L. Mellor and M. G. McPhee, 1989: Role of the molecular sublayer in the melting or freezing of sea ice, &#039;&#039;J. Phys. Oceanogr.&#039;&#039;, &#039;&#039;&#039;19&#039;&#039;&#039;, 139-147.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;StylesR_2000a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Styles, R. and S. M. Glenn, 2000: Modeling stratified wave and current bottom boundary layers in the continental shelf, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 24119-24139. ([http://marine.rutgers.edu/po/Papers/styles00.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ThuburnJ_1995&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Thuburn, J., 1995: Dissipation and cascade to small scales in numerical models using a shape-preserving advection scheme. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;123&#039;&#039;&#039;, 1888-1903.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Troen_1986&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Troen, I.B. and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. &#039;&#039;Boundary-Layer Meteor.&#039;&#039;, &#039;&#039;&#039;37&#039;&#039;&#039;, 129-148.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2007a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., 2007: On a class of limited memory preconditioners for large-scale nonlinear least-squares problems. PhD thesis, Facultes Universitaires Notre-Dame de la Paix, Namur, Belgium.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;TshimangaJ_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Tshimanga, J., S. Gratton, A.T. Weaver and A. Sartenaer, 2008: Limited-memory preconditioners with application to incremental variational data assimilation. &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;134&#039;&#039;&#039;, 751-769.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;U&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;UmlaufL_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Umlauf, L., H. Burchard, 2003: A generic length-scale equation for geophysical turbulence models, &#039;&#039;J. Marine Res.&#039;&#039;, &#039;&#039;&#039;61&#039;&#039;&#039;, 235-265.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WajsowiczRC_1993a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wajsowicz, R.C, 1993: A consistent formulation of the anisotropic stress tensor for use in models of the large-scale ocean circulation, &#039;&#039;J. Comput. Phys.&#039;&#039;, &#039;&#039;&#039;105&#039;&#039;&#039;, 333-338. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Wanninkhof_1992a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wanninkhof, R., 1992: Relationship between wind speed and gas exchange over the ocean, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;97&#039;&#039;&#039;(C5), 7373-7382.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, H. G. Arango, and R. P. Signell, 2005a: Performance of four turbulence closure methods implemented using a generic length scale method, &#039;&#039;Ocean Modelling&#039;&#039;, &#039;&#039;&#039;8&#039;&#039;&#039;, 81-113. ([http://marine.rutgers.edu/po/Papers/Warner_2004_om.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., W. R. Geyer, and J. A. Lerczak, 2005b: Numerical modeling of an estuary: a comprehensive skill assessment, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C05001, doi:10.1029/2004JC002691. ([http://marine.rutgers.edu/po/Papers/Warner_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., C. R. Sherwood, R. P. Signell, C. K. Harris, and H. G. Arango, 2008: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1284-1306.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WarnerJC_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Warner, J. C., N. Perlin, E. D. Skyllingstad, 2008: Using the Model Coupling Toolkit to couple earth system models, &#039;&#039;Environmental Modelling &amp;amp; Software&#039;&#039;, &#039;&#039;&#039;23&#039;&#039;&#039;, 1240-1249.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_1994a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. K. Harris, 1994: Ripple geometry in wave-dominated environments. &#039;&#039;Journal of Geophysical Research&#039;&#039;, &#039;&#039;&#039;99&#039;&#039;&#039;(C1), 775-789.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WibergP_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wiberg, P. L. and C. R. Sherwood, 2008: Calculating wave-generated bottom orbital velocity from surfacewave parameters. &#039;&#039;Computers &amp;amp; Geosciences&#039;&#039;, &#039;&#039;&#039;34&#039;&#039;&#039;, 1243-1262.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., C. Deltel, E. Machu, S. Ricci, and N. Daget, 2005: A multivariate balance operator for variational data assimilation, &#039;&#039;Q. J. R. Meteorol. Soc.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 3605-3625.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2003a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A.T., J. Vialard and D.L.T. Anderson, 2003: Three and four-dimensional variational data assimilation with a general circulation model of the tropical Pacific Ocean. Part I: Formulation, internal diagnostics, and consistency checks. &#039;&#039;Mon. Wea. Rev.&#039;&#039;, &#039;&#039;&#039;131&#039;&#039;&#039;, 1360-1378.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WeaverAT_2001a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Weaver, A. and P. Courtier, 2001: Correlation modeling on the sphere using a generalized diffusion equation, &#039;&#039;Q.J.R. Meteo. Soc&#039;&#039;, &#039;&#039;&#039;127&#039;&#039;&#039;, 1815-1846.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., H. G. Arango, D. B. Haidvogel, C. S. Lichtenwalner, S. M. Durski, and K. S. Hedstrom, 2005: A regional Ocean Modeling System for the Long-term Ecosystem Observatory, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;110&#039;&#039;&#039;, C06S91, doi:10.1029/2003JC002218. ([http://marine.rutgers.edu/po/Papers/Wilkin_2005_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2005b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and L. Lanerolle, 2005: Ocean Forecast and Analysis Models for Coastal Observatories, &#039;&#039;in: Ocean Weather Forecasting, An Integrated View of Oceanography&#039;&#039;, Springer, 577p., ISBN: 978-1-4020-3981-2.  ([http://www.springer.com/sgw/cda/frontpage/0,11855,4-10011-22-70903495-0,00.html Publisher])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., 2006: The summer time heat budget and circulation of southeast New England shelf, &#039;&#039;J. Phys. Oceanog.&#039;&#039;, &#039;&#039;&#039;36&#039;&#039;&#039;, 1997-2011. ([http://marine.rutgers.edu/%7Ewilkin/Wilkin_CBLAST_JPO2006.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WilkinJL_2006b&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wilkin, J. L., and W. Zhang, 2006: Modes of mesoscale sea surface height and temperature variability in the East Australian Current, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;112&#039;&#039;&#039;, C01013, doi:10.1029/2006JC003590. ([http://marine.rutgers.edu/%7Ewilkin/WilkinZhangEACeddies2006JC003590.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WinsorP_2004a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Winsor, P. and D. C. Chapman, 2004: Pathways of Pacific water across the Chukchi Sea: A numerical model study, &#039;&#039;J. Geophys. Res.&#039;&#039;, &#039;&#039;&#039;109&#039;&#039;&#039;, C03002, doi: 10.1029/2003JC001962. ([http://marine.rutgers.edu/po/Papers/winsor2004_jgr.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;WunschC_2007&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Wunsch, C. and P. Heimbach, 2007: Practical global ocean state estimation, &#039;&#039;Physica D&#039;&#039;, &#039;&#039;&#039;230&#039;&#039;&#039;, 197-208.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;X&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Yaglom_1974&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Yaglom, A. M. and B. A. Kader, 1974: Heat and mass transfer between a rough wall and turbulent fluid at high Reynolds and Peclet numbers, &#039;&#039;J. Fluid Mech.&#039;&#039;, &#039;&#039;&#039;62&#039;&#039;&#039;, 601-623.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span class=&amp;quot;alphabet&amp;quot;&amp;gt;Z&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZillmanJW_1972a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zillman, J. W., 1972: A study of some aspects of radiation and heat budgets of southern hemisphere oceans, &#039;&#039;Meteorological Studies&#039;&#039;, &#039;&#039;&#039;26&#039;&#039;&#039;, 562-575.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ZhuY_2008a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Zhu, Y. and R. Gelaro, 2008: Observation Sensitivity Calculations Using the Adjoint of the Gridpoint Statistical Interpolation (GSI) Analysis System, &#039;&#039;Monthly Weather Review&#039;&#039;, &#039;&#039;&#039;136&#039;&#039;&#039;, 335-351.&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
	<entry>
		<id>https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4516</id>
		<title>Sea-Ice Model</title>
		<link rel="alternate" type="text/html" href="https://www.myroms.org/wiki/index.php?title=Sea-Ice_Model&amp;diff=4516"/>
		<updated>2012-03-27T02:00:27Z</updated>

		<summary type="html">&lt;p&gt;Kate: /* Thermodynamics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Sea-Ice Model&amp;lt;/div&amp;gt;&lt;br /&gt;
The sea-ice component of ROMS is a combination of the elastic-viscous-plastic (EVP) rheology ([[Bibliography#HunkeEC_1997a | Hunke and Dukowicz, 1997]], [[Bibliography#HunkeEC_2001a | Hunke, 2001]])&lt;br /&gt;
and simple one-layer ice and snow thermodynamics with a molecular sublayer under the ice ([[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]]). It is tightly coupled, having the same grid (Arakawa-C) and timestep as the ocean and sharing the same parallel coding structure for use with MPI or OpenMP.&lt;br /&gt;
__TOC__&lt;br /&gt;
==Dynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The momentum equations describe the change in ice/snow velocity due&lt;br /&gt;
to the combined effects of the Coriolis force, surface ocean tilt,&lt;br /&gt;
air and water stress, and internal ice stress:&lt;br /&gt;
&lt;br /&gt;
$$M {du \over dt} = M f v - M g {\partial \zeta_w \over \partial x} + \tau_a^x + \tau_w^x + {\cal F}_x$$&lt;br /&gt;
$$M {dv \over dt} = - M f u - M g {\partial \zeta_w \over \partial y} + \tau_a^y + \tau_w^y + {\cal F}_y$$&lt;br /&gt;
&lt;br /&gt;
In this model, we neglect the nonlinear advection terms as well as&lt;br /&gt;
the curvilinear terms in the internal ice stress. Nonlinear formulae are used for both the ocean-ice and air-ice surface stress:&lt;br /&gt;
  $$\vec{\tau}_a = \rho_a C_a | \vec{V}_{10} | \vec{V}_{10}$$&lt;br /&gt;
  $$C_a = {1 \over 2} C_d \left[ 1 - \cos( 2 \pi \min(h_i+.1, .5)&lt;br /&gt;
  \right]$$&lt;br /&gt;
  $$\vec{\tau}_w = \rho_w C_w | \vec{v}_w - \vec{v} |&lt;br /&gt;
  ( \vec{v}_w - \vec{v}) .$$ &lt;br /&gt;
The force due to&lt;br /&gt;
the internal ice stress is given by the divergence of the stress&lt;br /&gt;
tensor $\sigma$. The rheology is given by the stress-strain relation of the medium. We would like to emulate the viscous-plastic rheology&lt;br /&gt;
of [[Bibliography#HiblerWD_1979a | Hibler (1979)]]:&lt;br /&gt;
&lt;br /&gt;
$$\sigma_{ij} = 2 \eta \dot \epsilon_{ij} + (\zeta - \eta) \dot \epsilon_{kk} \delta_{ij} - {P \over 2} \delta_{ij}$$&lt;br /&gt;
&lt;br /&gt;
$$\dot \epsilon_{ij} \equiv {1 \over 2} \left( {\partial u_i \over \partial x_j} + {\partial u_j \over \partial x_i} \right)$$&lt;br /&gt;
&lt;br /&gt;
$$P = P^* A h_i e^{-C(1-A)}$$&lt;br /&gt;
where the nonlinear viscosities are given by&lt;br /&gt;
$$\zeta = { P \over 2 \left[ (\epsilon^2_{11} +&lt;br /&gt;
   \epsilon^2_{22} ) ( 1 + 1/e^2 ) + 4 e^{-2} \epsilon^2_{12}&lt;br /&gt;
   + 2 \epsilon_{11} \epsilon_{22} ( 1 - 1/e^2 ) \right] ^{1/2} }$$&lt;br /&gt;
&lt;br /&gt;
$$\eta = { \zeta \over e^2 }.$$&lt;br /&gt;
&lt;br /&gt;
We would also like to have an explicit model that can be solved&lt;br /&gt;
efficiently on parallel computers. The EVP rheology has a tunable&lt;br /&gt;
coefficient $E$ (the Young&#039;s modulus) which can be chosen to make the&lt;br /&gt;
elastic term small compared to the other terms. We rearrange the VP rheology:&lt;br /&gt;
&lt;br /&gt;
$${1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
then add the elastic term:&lt;br /&gt;
&lt;br /&gt;
$${1 \over E} {\partial \sigma_{ij} \over \partial t} + {1 \over 2 \eta} \sigma_{ij} + {\eta - \zeta \over 4 \eta \zeta} \sigma_{kk} \delta_{ij} + {P \over 4 \zeta} \delta_{ij} = \dot \epsilon_{ij}$$&lt;br /&gt;
&lt;br /&gt;
Much like the ocean model, the ice model has a split timestep. The&lt;br /&gt;
internal ice stress term is updated on a shorter timestep so as to&lt;br /&gt;
allow the elastic wave velocity to be resolved.&lt;br /&gt;
&lt;br /&gt;
Once the new ice velocities are computed, the ice tracers can be advected using the &#039;&#039;&#039;MPDATA&#039;&#039;&#039; scheme ([[Bibliography#Smolark | Smolarkiewicz]]). The tracers in this case are the ice thickness, ice concentration, snow thickness, internal ice temperature, and surface melt ponds. The continuity equations describing the evolution of these parameters also include thermodynamic terms ($S_h$, $S_s$ and $S_A$), described [[#Thermodynamics | below]]:&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_i \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_i) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_i) \over \partial y}&lt;br /&gt;
  + S_h + {\cal D}_h$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A h_s \over \partial t} =&lt;br /&gt;
  - {\partial (u A h_s) \over \partial x} -&lt;br /&gt;
  {\partial (v A h_s) \over \partial y}&lt;br /&gt;
  + S_s + {\cal D}_s$$&lt;br /&gt;
&lt;br /&gt;
$${\partial A \over \partial t} =&lt;br /&gt;
  - {\partial (uA) \over \partial x} - {\partial (vA) \over \partial y}&lt;br /&gt;
  + S_A + {\cal D}_A \qquad \qquad 0 \leq A \leq 1 .$$&lt;br /&gt;
The first two equations represent the conservation of ice and snow. The third is discussed in some detail in [[Bibliography#MellorGL_1989a | Mellor and Kantha, 1989]], but&lt;br /&gt;
represents the advection of ice blocks in which no ridging occurs as&lt;br /&gt;
long as there is any open water.&lt;br /&gt;
&lt;br /&gt;
The ice model variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $A(x,y,t)$&lt;br /&gt;
| ice concentration, $0.0 \leq A \leq 1.0$&lt;br /&gt;
|-&lt;br /&gt;
| $C_a$&lt;br /&gt;
| nonlinear air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_d = 2.2 \times 10^{-3}$&lt;br /&gt;
| air drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| $C_w = 10 \times 10^{-3}$&lt;br /&gt;
| water drag coefficient&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal D}_h, {\cal D}_s, {\cal D}_A$&lt;br /&gt;
| diffusion terms&lt;br /&gt;
|-&lt;br /&gt;
| $\delta_{ij}$&lt;br /&gt;
| Kronecker delta function&lt;br /&gt;
|-&lt;br /&gt;
| $E$&lt;br /&gt;
| Young&#039;s modulus&lt;br /&gt;
|-&lt;br /&gt;
| $e = 2$&lt;br /&gt;
| eccentricity of the elliptical yield curve&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_{ij}(x,y,t)$&lt;br /&gt;
| strain rate tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\eta(x,y,t)$&lt;br /&gt;
| nonlinear shear viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $f(x,y)$&lt;br /&gt;
| Coriolis parameter&lt;br /&gt;
|-&lt;br /&gt;
| ${\cal F}_x, {\cal F}_y$&lt;br /&gt;
| forces due to internal ice stress&lt;br /&gt;
|-&lt;br /&gt;
| $g$&lt;br /&gt;
| gravity&lt;br /&gt;
|-&lt;br /&gt;
| $H$&lt;br /&gt;
| Heaviside function&lt;br /&gt;
|-&lt;br /&gt;
| $h_i(x,y,t)$&lt;br /&gt;
| ice thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_o$&lt;br /&gt;
| ice cutoff thickness&lt;br /&gt;
|-&lt;br /&gt;
| $h_s(x,y,t)$&lt;br /&gt;
| snow thickness on ice-covered fraction&lt;br /&gt;
|-&lt;br /&gt;
| $M$&lt;br /&gt;
| ice mass, $\rho_i A h_i$&lt;br /&gt;
|-&lt;br /&gt;
| $P$&lt;br /&gt;
| ice strength&lt;br /&gt;
|-&lt;br /&gt;
| $P^*, C$&lt;br /&gt;
| ice strength parameters&lt;br /&gt;
|-&lt;br /&gt;
| $S_h, S_s, S_A$&lt;br /&gt;
| thermodynamic terms&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma_{ij}$&lt;br /&gt;
| internal ice stress tensor&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_a$&lt;br /&gt;
| air stress&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{\tau}_w$&lt;br /&gt;
| water stress&lt;br /&gt;
|-&lt;br /&gt;
| $u,v$&lt;br /&gt;
| the ($x,y$) components of ice velocity $\vec{v}$&lt;br /&gt;
|-&lt;br /&gt;
| $\vec{V}_{10}, \vec{v}_w$&lt;br /&gt;
| 10 meter air and surface water velocities&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta$&lt;br /&gt;
| nonlinear bulk viscosity&lt;br /&gt;
|-&lt;br /&gt;
| $\zeta_w$&lt;br /&gt;
| surface elevation of the underlying water&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Note that Hibler&#039;s $h_I$ variable is&lt;br /&gt;
equivalent to our $A h_i$ combination - his $h_I$ is the average&lt;br /&gt;
thickness over the whole gridbox while our $h_i$ is the average&lt;br /&gt;
thickness over the ice-covered fraction of the gridbox.&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Thermodynamics==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;The thermodynamics is based on calculating how much ice grows and&lt;br /&gt;
melts on each of the surface, bottom, and sides of the ice floes,&lt;br /&gt;
as well as frazil ice formation:&lt;br /&gt;
&lt;br /&gt;
  [[File:Ice_diag1.png]]&lt;br /&gt;
&lt;br /&gt;
Once the ice tracers are advected, the ice concentration and thickness are timestepped according to the terms on the right:&lt;br /&gt;
&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
\frac{D A h_i}{Dt} &amp;amp;= \frac{\rho_o}{\rho_i} \left[ A (W_{io} - W_{ai}) + (1-A) W_{ao} + W_{fr} \right] \cr&lt;br /&gt;
\frac{D A}{Dt} &amp;amp;= \frac{\rho_o A}{\rho_i h_i} \left[ \Phi (1-A) w_{ao} + (1-A) W_{fr} \right] \qquad \qquad 0 \leq A \leq 1  } $$&lt;br /&gt;
&lt;br /&gt;
The term $Ah_i$ is the &amp;quot;effective thickness&amp;quot;, a measure of the ice volume. Its evolution equation is simply quantifying the change in the amount of ice. The ice concentration equation is more interesting in that&lt;br /&gt;
it provides the partitioning between ice melt/growth on the sides vs. on the top and bottom. The parameter $\Phi$ controls this and has differing values for ice melt and retreat. In principle, most of the ice growth is assumed to happen at the base of the ice while rather more of the melt happens on the sides of the ice due to warming of the water in the leads.&lt;br /&gt;
&lt;br /&gt;
The heat fluxes through the ice are based on a simple one layer [[Bibliography#SemtnerAJ_1976a | Semtner (1976)]] type model with snow on top. The temperature is assumed to be linear within the snow and within the ice. The ice contains brine pockets for a total ice salinity of 3.2 or the surface ocean salinity, whichever is less. The surface ocean temperature and salinity is half a $dz$ below the surface. The water right below the surface is assumed to be at the freezing temperature; a logarithmic boundary layer is computed having the temperature and salinity matched at freezing.&lt;br /&gt;
&lt;br /&gt;
Similarly, there is a snow equation:&lt;br /&gt;
$$&lt;br /&gt;
  {D A h_s \over D t} = \left[ A (W_{s} - W_{sm}) \right]&lt;br /&gt;
$$&lt;br /&gt;
where $W_s$ and $W_{sm}$ are the snowfall and snow melt rates, respectively, in units of equivalent water. Also in the model is the depth of the melt ponds in spring, $h_{mp}$ which can be up to 0.1 m, after which melting ice contributes to $W_{ro}$. The melt ponds are not part of the thermal conductivity computations. They could contribute to the albedo computation, but that has been largely commented out.&lt;br /&gt;
&lt;br /&gt;
The ice model thermodynamic variables:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_w = 0.10$&lt;br /&gt;
| shortwave albedo of water&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.60$&lt;br /&gt;
| shortwave albedo of wet ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_i = 0.65$&lt;br /&gt;
| shortwave albedo of dry ice&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of wet snow&lt;br /&gt;
|-&lt;br /&gt;
| $\alpha_s$&lt;br /&gt;
| shortwave albedo of dry snow&lt;br /&gt;
|-&lt;br /&gt;
| $C_k$&lt;br /&gt;
| snow correction factor&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$ = 2093 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|- &lt;br /&gt;
| $C_{po}$ = 3990 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_w = 0.97$&lt;br /&gt;
| longwave emissivity of water&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_i = 0.97$&lt;br /&gt;
| longwave emissivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $\epsilon_s = 0.99$&lt;br /&gt;
| longwave emissivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $E(T,r)$&lt;br /&gt;
| enthalpy of the ice/brine system&lt;br /&gt;
|-&lt;br /&gt;
| $F_T\!\uparrow$&lt;br /&gt;
| heat flux from the ocean into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $H\!\downarrow$&lt;br /&gt;
| sensible heat&lt;br /&gt;
|-&lt;br /&gt;
| $i_w$&lt;br /&gt;
| fraction of the solar heating transmitted through a lead into the water below&lt;br /&gt;
|-&lt;br /&gt;
| $k_i$ = 2.04 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of ice&lt;br /&gt;
|-&lt;br /&gt;
| $k_s$ = 0.31 W m$^{-1}$ K${^-1}$&lt;br /&gt;
| thermal conductivity of snow&lt;br /&gt;
|-&lt;br /&gt;
| $L_i$ = 302 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of ice&lt;br /&gt;
|-&lt;br /&gt;
| $L_s$ = 110 MJ m$^{-3}$&lt;br /&gt;
| latent heat of fusion of snow&lt;br /&gt;
|-&lt;br /&gt;
| $LE\!\downarrow$&lt;br /&gt;
| latent heat&lt;br /&gt;
|-&lt;br /&gt;
| $LW\!\!\downarrow$&lt;br /&gt;
| incoming longwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $m$ &amp;amp; $-0.054^\circ$C/PSU&lt;br /&gt;
| coefficient in linear $T_f(S) = mS$ equation&lt;br /&gt;
|-&lt;br /&gt;
| $\Phi$&lt;br /&gt;
| contribution to $A$ equation from freezing water&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ai}$&lt;br /&gt;
| heat flux out of the snow/ice surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{ao}$&lt;br /&gt;
| heat flux out of the ocean surface&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{i2}$&lt;br /&gt;
| heat flux up out of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{io}$&lt;br /&gt;
| heat flux up into the ice&lt;br /&gt;
|-&lt;br /&gt;
| $Q_{s}$&lt;br /&gt;
| heat flux up through the snow&lt;br /&gt;
|-&lt;br /&gt;
| $r$&lt;br /&gt;
| brine fraction in ice&lt;br /&gt;
|-&lt;br /&gt;
| $\rho_i$ = 910 $m^3/kg$&lt;br /&gt;
| density of ice&lt;br /&gt;
|-&lt;br /&gt;
| $S_i$ = 3.2 PSU&lt;br /&gt;
| salinity of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $SW\!\!\downarrow$&lt;br /&gt;
| incoming shortwave radiation&lt;br /&gt;
|-&lt;br /&gt;
| $\sigma$ = $5.67 \times 10^{-8}$ W m$^{-2}$ K$^{-4}$&lt;br /&gt;
| Stefan-Boltzmann constant&lt;br /&gt;
|-&lt;br /&gt;
| $T_0$&lt;br /&gt;
| temperature of the bottom of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
| temperature of the interior of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
| temperature at the upper surface of the ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_3$&lt;br /&gt;
| temperature at the upper surface of the snow&lt;br /&gt;
|-&lt;br /&gt;
| $T_f$&lt;br /&gt;
| freezing temperature&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_i}$ = $mS_i$&lt;br /&gt;
| melting temperature of ice&lt;br /&gt;
|-&lt;br /&gt;
| $T_{{\rm melt}\_s}$ = 0$^\circ$ C&lt;br /&gt;
| melting temperature of snow&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ai}$&lt;br /&gt;
| melt rate on the upper ice/snow surface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ao}$&lt;br /&gt;
| freeze rate at the air/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{fr}$&lt;br /&gt;
| rate of frazil ice growth&lt;br /&gt;
|-&lt;br /&gt;
| $W_{io}$&lt;br /&gt;
| freeze rate at the ice/water interface&lt;br /&gt;
|-&lt;br /&gt;
| $W_{ro}$&lt;br /&gt;
| rate of run-off of surface melt water&lt;br /&gt;
|-&lt;br /&gt;
| $W_{s}$&lt;br /&gt;
| snowfall rate&lt;br /&gt;
|-&lt;br /&gt;
| $W_{sm}$&lt;br /&gt;
| snow melt rate&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The locations of the ice and snow temperatures and the heat fluxes:&lt;br /&gt;
&lt;br /&gt;
 [[File:Ice_diag2.png]]&lt;br /&gt;
&lt;br /&gt;
The temperature profile is assumed to be linear between adjacent temperature points. The interior of the ice contains &amp;quot;brine pockets&amp;quot;, leading to a prognostic equation for the temperature $T_1$.&lt;br /&gt;
&lt;br /&gt;
The surface flux to the air is: &lt;br /&gt;
$$&lt;br /&gt;
   Q_{ai} =  - H\!\downarrow - LE\!\downarrow -&lt;br /&gt;
       \epsilon_s LW\!\!\downarrow  -&lt;br /&gt;
      (1 - \alpha_s) SW\!\!\downarrow + \epsilon_s \sigma (T_3+273)^4&lt;br /&gt;
$$&lt;br /&gt;
The incoming shortwave and longwave radiations are assumed to come from an atmospheric model. The formulae for sensible heat, latent heat, and outgoing longwave radiation are the same as in [[Bibliography#ParkinsonCL_1979a |Parkinson and Washington (1979)]] and are shown in [[Radiant Heat Fluxes]]. The sensible heat is a function of $T_3$, as is the heat flux through the snow $Q_s$. Setting $Q_{ai} = Q_s$, we can solve for $T_3$ by setting $T_3^{n+1} = T_3^n + \Delta T_3$ and linearizing in $\Delta T_3$. As in Parkinson and Washington, if $T_3$ is found to be above the melting temperature, it is set to $T_{\rm melt}$ and the extra energy goes into melting the snow or ice:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{ai} &amp;amp; = \frac{Q_{ai} - Q_{i2} }{ \rho_o L_3} \cr&lt;br /&gt;
   L_3 &amp;amp; \equiv \left[ E(T_3,1) - E(T_1, R_1) \right]&lt;br /&gt;
}$$&lt;br /&gt;
Note that $L_3 = (1-r)L_i$ plus a small sensible heat correction. We can store water on the surface in melt pools to a fixed depth---everything extra melted at the surface is assumed to flow into the ocean as $W_{ro}$. The melt ponds however do not contribute to the heat flux computation.&lt;br /&gt;
&lt;br /&gt;
Inside the ice there are brine pockets in which there is salt water at the &#039;&#039;in situ&#039;&#039; freezing temperature. It is assumed that the ice has a uniform overall salinity of $S_i$ and that the freezing temperature is a linear function of salinity. The brine fraction $r$ is given by&lt;br /&gt;
$$&lt;br /&gt;
  r = \frac{S_i m }{ T_1}&lt;br /&gt;
$$&lt;br /&gt;
The enthalpy of the combined ice/brine system is given by&lt;br /&gt;
$$&lt;br /&gt;
  E(T,r) = r(L_i + C_{po}T) + (1-r) C_{pi} T&lt;br /&gt;
$$&lt;br /&gt;
Substituting in for $r$ and differentiating gives:&lt;br /&gt;
$$&lt;br /&gt;
  \frac{\partial E }{ \partial T} = - \frac{S_i m L_i }{ T_1^2} + C_{pi}&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
Inside the snow, we have &lt;br /&gt;
$$&lt;br /&gt;
   Q_s = \frac{k_s }{ h_s} (T_2 - T_3)&lt;br /&gt;
$$&lt;br /&gt;
The heat conduction in the upper part of the ice layer is&lt;br /&gt;
$$&lt;br /&gt;
   Q_{I2} = \frac{ 2 k_i }{ h_i} (T_1 - T_2)&lt;br /&gt;
$$&lt;br /&gt;
These can be set equal to each other to solve for $T_2$&lt;br /&gt;
$$&lt;br /&gt;
   T_2 = \frac{T_3 + C_k T_1 }{ 1 + C_k}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_k \equiv \frac{2 k_i h_s }{ h_i k_s}.&lt;br /&gt;
$$&lt;br /&gt;
Substituting into (\ref{qi2}), we get:&lt;br /&gt;
$$&lt;br /&gt;
  Q_s = Q_{I2} = \frac{2k_i }{ h_i} \frac{(T_1 - T_3) }{ (1 + C_k)}&lt;br /&gt;
$$&lt;br /&gt;
Note that in the absence of snow, $C_k$ becomes zero and we recover the formula for the no-snow case in which $T_3 = T_2$.&lt;br /&gt;
&lt;br /&gt;
At the bottom of the ice, we have&lt;br /&gt;
$$&lt;br /&gt;
  Q_{I0} = \frac{2 k_i }{ h_i} (T_0 - T_1)&lt;br /&gt;
$$&lt;br /&gt;
The difference between $Q_{I0}$ and $Q_{I2}$ goes into the enthalpy of the ice:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \left[ \frac{\partial E }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla E \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
We can use the chain rule to obtain an equation for timestepping $T_1$:&lt;br /&gt;
$$&lt;br /&gt;
   \rho_i h_i \frac{\partial E }{ \partial T}&lt;br /&gt;
   \left[ \frac{\partial T_1 }{ \partial t} + \vec{v} \cdot &lt;br /&gt;
   \nabla T_1 \right] = Q_{I0} - Q_{I2}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
  Q_{I0} - Q_{I2} &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 - T_1) - &lt;br /&gt;
  \frac{(T_1 - T_3) }{ 1 + C_k} \right] \cr&lt;br /&gt;
                  &amp;amp; = \frac{2 k_i }{ h_i} \left[ (T_0 +&lt;br /&gt;
  \frac{T_3 - (2 + C_k) T_1 }{ 1 + C_k} \right]&lt;br /&gt;
} $$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ocean surface boundary conditions==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
The ocean receives surface stresses from both the atmosphere and the ice, according to the ice concentration:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   K_m \frac{\partial u_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^x&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^x \cr&lt;br /&gt;
   K_m \frac{\partial v_w }{ \partial z} &amp;amp; = \frac{A }{ \rho_o} \tau_{io}^y&lt;br /&gt;
    + \frac{1-A }{ \rho_o} \tau_{ao}^y  }&lt;br /&gt;
$$&lt;br /&gt;
where the relevant variables are in the following table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $b$&lt;br /&gt;
| 3&lt;br /&gt;
| factor&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{E}$&lt;br /&gt;
|&lt;br /&gt;
| evaporation&lt;br /&gt;
|-&lt;br /&gt;
| $k$&lt;br /&gt;
| 0.4&lt;br /&gt;
| von Karman&#039;s constant&lt;br /&gt;
|-&lt;br /&gt;
| $\nu$&lt;br /&gt;
| $1.8 \times 10^{-6} m^2 s^{-1}$&lt;br /&gt;
| kinematic viscosity of seawater&lt;br /&gt;
|-&lt;br /&gt;
| $\dot{P}$&lt;br /&gt;
|&lt;br /&gt;
| precipitation&lt;br /&gt;
|-&lt;br /&gt;
| $Pr$&lt;br /&gt;
| 13.0&lt;br /&gt;
| molecular Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $P_{rt}$&lt;br /&gt;
| 0.85&lt;br /&gt;
| turbulent Prandtl number&lt;br /&gt;
|-&lt;br /&gt;
| $S_0$&lt;br /&gt;
|&lt;br /&gt;
| surface salinity&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{io}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the ice&lt;br /&gt;
|-&lt;br /&gt;
| $\tau_{ao}$&lt;br /&gt;
|&lt;br /&gt;
| stress on the ocean from the wind&lt;br /&gt;
|-&lt;br /&gt;
| $T$&lt;br /&gt;
|&lt;br /&gt;
| internal ocean temperature&lt;br /&gt;
|-&lt;br /&gt;
| $u_\tau$&lt;br /&gt;
|&lt;br /&gt;
| friction velocity $|\tau_{io}|^{1/2} \rho_o^{-1/2}$&lt;br /&gt;
|-&lt;br /&gt;
| $z_0$&lt;br /&gt;
|&lt;br /&gt;
| roughness parameter&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The surface ocean is assumed to be at the freezing temperature for the surface salinity ($T_0 = mS$) where we use the salinity from the uppermost model point at $z=- \frac{1}{ 2}\Delta z$. From this, we can obtain a vertical temperature gradient for the upper ocean to use in the heat flux formula:&lt;br /&gt;
$$&lt;br /&gt;
   \frac{F_T }{ \rho_o C_po} = -C_{T_z} (T_0 - T) \qquad z \rightarrow 0&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
  C_{T_z} = \frac{u_\tau }{ P_{rt} k^{-1}\ln (-z/z_0) + B_T}&lt;br /&gt;
$$ $$&lt;br /&gt;
  B_T = b \left(\frac{z_0 u_\tau }{ \nu} \right) ^{1/2} Pr^{2/3}&lt;br /&gt;
$$&lt;br /&gt;
   &lt;br /&gt;
Once we have a the value for $F_T$, we can use it to find the ice&lt;br /&gt;
growth rates:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   W_{io} = \frac{1 }{ \rho_o L_o} (Q_{io} - F_T) \cr&lt;br /&gt;
   W_{ao} = \frac{1 }{ \rho_o L_o} (Q_{ao} - F_T)}&lt;br /&gt;
$$&lt;br /&gt;
where&lt;br /&gt;
$$&lt;br /&gt;
   L_o \equiv \left[ E(T_0,1) - E(T_1,r_1) \right]&lt;br /&gt;
$$&lt;br /&gt;
&lt;br /&gt;
The ocean model receives the following heat and salt fluxes:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   F_T &amp;amp; = A Q_{io} + (1 - A) Q_{ao} - W_o L_o \cr&lt;br /&gt;
   F_S &amp;amp; = (W_o - A W_{ro}) (S_i-S_0) + (1-A)S_o (\dot{P}-\dot{E}) \cr&lt;br /&gt;
   W_o &amp;amp; \equiv A W_{io} + (1-A) W_{ao} }&lt;br /&gt;
$$ &lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;br /&gt;
==Frazil ice formation==&lt;br /&gt;
&amp;lt;wikitex&amp;gt;&lt;br /&gt;
Following [[Bibliography#Steele_89 |Steele &#039;&#039;et al.&#039;&#039; (1989)]], we check to see if any&lt;br /&gt;
of the ocean temperatures are below freezing at the end of each&lt;br /&gt;
timestep.  If so, frazil ice is assumed to form, changing the local&lt;br /&gt;
temperature and salinity.  The ice that forms is assumed to&lt;br /&gt;
instantly float up to the surface and add to the ice layer there.&lt;br /&gt;
We assume balances in the mass, heat, and salt before and after the ice&lt;br /&gt;
is formed:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   m_{w_1} &amp;amp; = m_{w_2} + m_i \cr&lt;br /&gt;
   m_{w_1} ( C_{pw} T_1 + L) &amp;amp; =&lt;br /&gt;
   m_{w_2} (C_{pw} T_2 + L) + m_i C_{pi} T_2 \cr&lt;br /&gt;
   m_{w_1} S_1 &amp;amp; = m_{w_2} S_2 . }&lt;br /&gt;
$$&lt;br /&gt;
The variables are defined in this table:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Value&lt;br /&gt;
! Definition&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pi}$&lt;br /&gt;
| 1994 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of ice&lt;br /&gt;
|-&lt;br /&gt;
| $C_{pw}$&lt;br /&gt;
| 3987 J kg$^{-1}$ K$^{-1}$&lt;br /&gt;
| specific heat of water&lt;br /&gt;
|-&lt;br /&gt;
| $\gamma$&lt;br /&gt;
| $m_i/m_{w_2}$&lt;br /&gt;
| fraction of water that froze&lt;br /&gt;
|-&lt;br /&gt;
| $L$&lt;br /&gt;
| 3.16e5 J kg$^{-1}$&lt;br /&gt;
| latent heat of fusion&lt;br /&gt;
|-&lt;br /&gt;
| $m_i$&lt;br /&gt;
|&lt;br /&gt;
| mass of ice formed&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_1}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m_{w_2}$&lt;br /&gt;
|&lt;br /&gt;
| mass of water after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $m$&lt;br /&gt;
| $-0.0543$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $n$&lt;br /&gt;
| $7.59 \times 10^{-4}$&lt;br /&gt;
| constant in freezing equation&lt;br /&gt;
|-&lt;br /&gt;
| $S_1$&lt;br /&gt;
|&lt;br /&gt;
| salinity before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $S_2$&lt;br /&gt;
|&lt;br /&gt;
| salinity after freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_1$&lt;br /&gt;
|&lt;br /&gt;
| temperature before freezing&lt;br /&gt;
|-&lt;br /&gt;
| $T_2$&lt;br /&gt;
|&lt;br /&gt;
| temperature after freezing&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defining $\gamma = m_i / m_{w_2}$ and dropping terms of order $\gamma^2$&lt;br /&gt;
leads to:&lt;br /&gt;
$$ \eqalign{&lt;br /&gt;
   T_2 &amp;amp; = T_1 + \gamma \left[ \frac{L }{ C_{pw}} + T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) \right]  \cr&lt;br /&gt;
   S_2 &amp;amp; = S_1 (1 + \gamma)  .}&lt;br /&gt;
$$&lt;br /&gt;
We also want the final temperature and salinity to be on the freezing&lt;br /&gt;
line, which we approximate as:&lt;br /&gt;
$$&lt;br /&gt;
   T_f = m S + n z .&lt;br /&gt;
$$&lt;br /&gt;
We can then solve for $\gamma$:&lt;br /&gt;
$$&lt;br /&gt;
   \gamma = \frac{-T_1 + mS_1 + nz }{ {L }{ C_{pw}}+ T_1 \left( 1&lt;br /&gt;
   - \frac{C_{pi} }{ C_{pw}} \right) - mS_1} .&lt;br /&gt;
$$&lt;br /&gt;
The ocean is checked at each depth $k$ and at each timestep for&lt;br /&gt;
supercooling.  If the water is below freezing, the temperature and&lt;br /&gt;
salinity are adjusted as in equations (\ref{t2eq}) and (\ref{s2eq})&lt;br /&gt;
and the ice above is thickened by the amount:&lt;br /&gt;
$$&lt;br /&gt;
   \Delta h = \gamma_k \Delta z_k \frac{\rho_w}{\rho_i} .&lt;br /&gt;
$$&lt;br /&gt;
&amp;lt;/wikitex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kate</name></author>
	</entry>
</feed>