| 55 |
is only read in at the beginning of the run and kept constant |
is only read in at the beginning of the run and kept constant |
| 56 |
the rest of the run. Default is 0. |
the rest of the run. Default is 0. |
| 57 |
\\ |
\\ |
| 58 |
$\bullet$ {\bf rbcsForcingOffset}: if you want to offset rbcs forcing |
$\bullet$ {\bf rbcsForcingOffset}: time offset of forcing fields (in seconds). |
| 59 |
timing. This is the time at the beginning of the first forcing period |
If the forcing fields are time averages over forcing periods, |
| 60 |
(in seconds). Default is 0. (This used to be rbcsInIter and was in |
then this must be set to the time at the beginning of the |
| 61 |
units of iterations.)\\ |
first forcing period. The fields will then be placed at time |
| 62 |
$\bullet$ {\bf rbcsSingleTimeFiles}: if true, relax fields are given |
rbcsForcingOffset+rbcsForcingPeriod/2 for interpolation. Default is 0. |
| 63 |
1 file per time labeled by iteration number.\\ |
If you use snapshots and the first snapshot is at $t_1$, you need to set |
| 64 |
$\bullet$ {\bf deltaTrbcs}: time step used to compute iteration numbers |
\[ |
| 65 |
for rbcsSingleTimeFiles.\\ |
{\rm rbcsForcingOffset} = t_1 - {\rm rbcsForcingPeriod}/2 |
| 66 |
$\bullet$ {\bf rbcsIter0}: rbcsSingleTimeFiles iteration number |
\] |
| 67 |
corresponding to rbcsForcingOffset.\\ |
(This used to be rbcsInIter and was in units of iterations.)\\ |
| 68 |
|
$\bullet$ {\bf rbcsSingleTimeFiles}: true or false (default false), |
| 69 |
|
if true, forcing fields are given 1 file per time labeled by iteration number.\\ |
| 70 |
|
$\bullet$ {\bf deltaTrbcs}: time step used to compute the iteration numbers |
| 71 |
|
for rbcsSingleTimeFiles=T.\\ |
| 72 |
|
$\bullet$ {\bf rbcsIter0}: shift in iteration numbers used to label files if |
| 73 |
|
rbcsSingleTimeFiles=T (default 0). If the file for the first forcing period |
| 74 |
|
(as specified by rbcsForcingOffset) has label $i_1$, you need to set |
| 75 |
|
\[ |
| 76 |
|
{\rm rbcsIter0} = i_1 - {\rm rbcsForcingPeriod}/{\rm deltaTrbcs} |
| 77 |
|
\] |
| 78 |
$\bullet$ {\bf useRBCtemp}: true or false (default false)\\ |
$\bullet$ {\bf useRBCtemp}: true or false (default false)\\ |
| 79 |
$\bullet$ {\bf useRBCsalt}: true or false (default false)\\ |
$\bullet$ {\bf useRBCsalt}: true or false (default false)\\ |
| 80 |
$\bullet$ {\bf useRBCptracers}: true or false (default false), must be using |
$\bullet$ {\bf useRBCptracers}: true or false (default false), must be using |
| 82 |
$\bullet$ {\bf tauRelaxT}: timescale in seconds of relaxing |
$\bullet$ {\bf tauRelaxT}: timescale in seconds of relaxing |
| 83 |
in temperature ($\tau_T$ in equation above). |
in temperature ($\tau_T$ in equation above). |
| 84 |
Where mask is 1, relax rate will be |
Where mask is 1, relax rate will be |
| 85 |
1/tauRelaxT. Default is 1. |
1/tauRelaxT. Default is 1.\\ |
| 86 |
$\bullet$ {\bf tauRelaxS}: same for salinity. |
$\bullet$ {\bf tauRelaxS}: same for salinity.\\ |
| 87 |
$\bullet$ {\bf relaxMaskFile(irbc)}: filename of 3-D file |
$\bullet$ {\bf relaxMaskFile(irbc)}: filename of 3-D file |
| 88 |
with mask ($M_{rbc}$ in equation above. |
with mask ($M_{rbc}$ in equation above. |
| 89 |
Need a file for each irbc. 1=temperature, |
Need a file for each irbc. 1=temperature, |
| 119 |
\item Non-cyclic time-varying forcing: |
\item Non-cyclic time-varying forcing: |
| 120 |
\begin{quote} |
\begin{quote} |
| 121 |
rbcsForcingPeriod = period in seconds\\ |
rbcsForcingPeriod = period in seconds\\ |
| 122 |
rbcsForcingCycle = 0\\ |
rbcsForcingCycle = 0 |
|
rbcsForcingOffset = beginning of first forcing period in seconds (default 0) |
|
| 123 |
\end{quote} |
\end{quote} |
| 124 |
When starting the run at time 0 (as usually the case), a period with center before |
When starting the run at time 0 (as usually the case), a period with center before |
| 125 |
or at time 0 is needed for time interpolation, hence Offset needs to be negative. |
or at time 0 is needed for time interpolation. If you are not providing separate |
| 126 |
|
files for each time (rbcsSingleTimeFiles=F), rbcsForcingOffset needs to be negative. |
| 127 |
For aligned periods (one period starting at time 0) and one extra record before |
For aligned periods (one period starting at time 0) and one extra record before |
| 128 |
time 0 (and ending at time 0), set Offset=-Period. |
time 0 (and ending at time 0), set rbcsForcingOffset${}=-$Period. |
| 129 |
|
For other situations, see the description of rbcsForcingOffset above. |
|
This option makes most sense with rbcsSingleTimeFiles=T (see below), but may be |
|
|
used with either setting. |
|
| 130 |
|
|
| 131 |
\item Cyclic Forcing: |
\item Cyclic Forcing: |
| 132 |
\begin{quote} |
\begin{quote} |
| 133 |
rbcsForcingPeriod = period in seconds\\ |
rbcsForcingPeriod = period in seconds\\ |
| 134 |
rbcsForcingCycle = cycle in seconds\\ |
rbcsForcingCycle = cycle in seconds |
|
rbcsForcingOffset = beginning of first forcing period in seconds (default 0) |
|
| 135 |
\end{quote} |
\end{quote} |
| 136 |
Here Offset may be at or after the start time (actually starttime-period/2), |
The same comment as for non-cyclic forcing applies, but rbcsForcingOffset may now be |
| 137 |
in which case records from the end of the cycle are used for missing records at |
after the time of the first required record even with rbcsSingleTimeFiles=F, in which |
| 138 |
the beginning (via cyclicity). Not very nice, but works. |
case records from the end of the file will be used (via cyclicity). |
|
|
|
|
This is the traditional way used with rbcsSingleTimeFiles=F, but again may be |
|
|
used with either setting. |
|
| 139 |
\end{enumerate} |
\end{enumerate} |
| 140 |
|
|
| 141 |
\noindent |
\noindent |
| 143 |
\begin{enumerate} |
\begin{enumerate} |
| 144 |
\item One big file with many time records: |
\item One big file with many time records: |
| 145 |
\begin{quote} |
\begin{quote} |
| 146 |
rbcsSingleTimeFiles = .False. |
rbcsSingleTimeFiles = .FALSE. |
| 147 |
\end{quote} |
\end{quote} |
| 148 |
All time records are in one big file. |
All time records are in one big file. |
| 149 |
|
|
| 150 |
\item A separate file for each time: |
\item A separate file for each time: |
| 151 |
\begin{quote} |
\begin{quote} |
| 152 |
rbcsSingleTimeFiles = .True.\\ |
rbcsSingleTimeFiles = .TRUE.\\ |
| 153 |
deltaTrbcs = time step used to generate forcing files\\ |
deltaTrbcs = time step used to generate forcing files\\ |
| 154 |
rbcsIter0 = forcing file iteration number corresponding to rbcsForcingOffset |
rbcsIter0 = iteration number of first file $-$ rbcsForcingPeriod/deltaTrbcs |
| 155 |
\end{quote} |
\end{quote} |
| 156 |
The rbcs field for each time needed is in a separate file, labeled by the |
The rbcs field for each time needed is in a separate file, labeled by the |
| 157 |
iteration number at the end of the forcing period. If a different timestep |
iteration number at the end of the forcing period. If a different timestep |
| 158 |
was used for generating the files (and the file names), set deltaTrbcs. |
was used for generating the files (and the file names), set deltaTrbcs to it. |
| 159 |
If there is a shift in time, set rbcsIter0. |
If there is a shift in time, set rbcsIter0. |
| 160 |
\end{enumerate} |
\end{enumerate} |
| 161 |
|
|
| 168 |
\subsubsection{Experiments and tutorials that use rbcs} |
\subsubsection{Experiments and tutorials that use rbcs} |
| 169 |
\label{sec:pkg:rbcs:experiments} |
\label{sec:pkg:rbcs:experiments} |
| 170 |
|
|
| 171 |
|
In the directory \code{verifcation}, the following experiments use |
| 172 |
|
\code{rbcs}: |
| 173 |
|
\begin{itemize} |
| 174 |
|
\item \code{exp4}: box with 4 open boundaries, simulating flow over a |
| 175 |
|
Gaussian bump based on \citet{adcroft:97}. |
| 176 |
|
\end{itemize} |
| 177 |
|
|
| 178 |
|
|
| 179 |
|
|
| 180 |
%%% \end{itemize} |
%%% \end{itemize} |