New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 3116 for branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters – NEMO

Ignore:
Timestamp:
2011-11-15T21:55:40+01:00 (13 years ago)
Author:
cetlod
Message:

dev_NEMO_MERGE_2011: add in changes dev_NOC_UKMO_MERGE developments

Location:
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_ASM.tex

    r3092 r3116  
    1515The ASM code adds the functionality to apply increments to the model variables:  
    1616temperature, salinity, sea surface height, velocity and sea ice concentration.  
    17 These are read into the model from a NetCDF file which may be produced by data 
    18 assimilation.  The code can also output model background fields which are used 
     17These are read into the model from a NetCDF file which may be produced by separate data 
     18assimilation code.  The code can also output model background fields which are used 
    1919as an input to data assimilation code. This is all controlled by the namelist 
    2020\textit{nam\_asminc}.  There is a brief description of all the namelist options 
  • branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_DYN.tex

    r3084 r3116  
    610610documented or tested.  
    611611 
    612 $\bullet$ Traditional coding (see for example \citet{Madec_al_JPO96}: (\np{ln\_dynhpg\_sco}=true,  
    613 \np{ln\_dynhpg\_hel}=true) 
     612$\bullet$ Traditional coding (see for example \citet{Madec_al_JPO96}: (\np{ln\_dynhpg\_sco}=true) 
    614613\begin{equation} \label{Eq_dynhpg_sco} 
    615614\left\{ \begin{aligned} 
     
    624623\eqref{Eq_dynhpg_zco_surf} - \eqref{Eq_dynhpg_zco}, and $z_T$ is the depth of  
    625624the $T$-point evaluated from the sum of the vertical scale factors at the $w$-point  
    626 ($e_{3w}$). The version \np{ln\_dynhpg\_hel}=true has been added by Aike  
    627 Beckmann and involves a redefinition of the relative position of $T$-points relative  
    628 to $w$-points.  
    629  
    630 $\bullet$ Weighted density Jacobian (WDJ) \citep{Song1998} (\np{ln\_dynhpg\_wdj}=true) 
     625($e_{3w}$).  
    631626 
    632627$\bullet$ Density Jacobian with cubic polynomial scheme (DJC) \citep{Shchepetkin_McWilliams_OM05}  
    633628(\np{ln\_dynhpg\_djc}=true) 
    634629 
    635 $\bullet$ Rotated axes scheme (rot) \citep{Thiem_Berntsen_OM06} (\np{ln\_dynhpg\_rot}=true) 
    636  
    637 Note that expression \eqref{Eq_dynhpg_sco} is used when the variable volume  
     630$\bullet$ Pressure Jacobian scheme (prj) \citep{Thiem_Berntsen_OM06} (\np{ln\_dynhpg\_prj}=true) 
     631 
     632Note that expression \eqref{Eq_dynhpg_sco} is commonly used when the variable volume  
    638633formulation is activated (\key{vvl}) because in that case, even with a flat bottom,  
    639634the coordinate surfaces are not horizontal but follow the free surface  
    640 \citep{Levier2007}. The other pressure gradient options are not yet available. 
     635\citep{Levier2007}. Only the pressure jacobian scheme (\np{ln\_dynhpg\_prj}=true) is available as an  
     636alternative to the default \np{ln\_dynhpg\_sco}=true when \key{vvl} is active.  The pressure Jacobian scheme uses  
     637a constrained cubic spline to reconstruct the density profile across the water column. This method 
     638maintains the monotonicity between the density nodes and is of a higher order than the linear 
     639interpolation method. The pressure can be calculated by analytical integration of the density profile and 
     640a pressure Jacobian method is used to solve the horizontal pressure gradient. This method should 
     641provide a more accurate calculation of the horizontal pressure gradient than the standard scheme. 
    641642 
    642643%-------------------------------------------------------------------------------------------------------------- 
     
    11641165 
    11651166% ================================================================ 
     1167% Neptune effect  
     1168% ================================================================ 
     1169\section  [Neptune effect (\textit{dynnept})] 
     1170                {Neptune effect (\mdl{dynnept})} 
     1171\label{DYN_nept} 
     1172 
     1173The "Neptune effect" (thus named in \citep{HollowayOM86}) is a 
     1174parameterisation of the potentially large effect of topographic form stress 
     1175(caused by eddies) in driving the ocean circulation. Originally developed for 
     1176low-resolution models, in which it was applied via a Laplacian (second-order) 
     1177diffusion-like term in the momentum equation, it can also be applied in eddy 
     1178permitting or resolving models, in which a more scale-selective bilaplacian 
     1179(fourth-order) implementation is preferred. This mechanism has a 
     1180significant effect on boundary currents (including undercurrents), and the 
     1181upwelling of deep water near continental shelves. 
     1182 
     1183The theoretical basis for the method can be found in  
     1184\citep{HollowayJPO92}, including the explanation of why form stress is not 
     1185necessarily a drag force, but may actually drive the flow.  
     1186\citep{HollowayJPO94} demonstrate the effects of the parameterisation in 
     1187the GFDL-MOM model, at a horizontal resolution of about 1.8 degrees.  
     1188\citep{HollowayOM08} demonstrate the biharmonic version of the 
     1189parameterisation in a global run of the POP model, with an average horizontal 
     1190grid spacing of about 32km. 
     1191 
     1192The NEMO implementation is a simplified form of that supplied by 
     1193Greg Holloway, the testing of which was described in \citep{HollowayJGR09}. 
     1194The major simplification is that a time invariant Neptune velocity 
     1195field is assumed.  This is computed only once, during start-up, and 
     1196made available to the rest of the code via a module.  Vertical 
     1197diffusive terms are also ignored, and the model topography itself 
     1198is used, rather than a separate topographic dataset as in 
     1199\citep{HollowayOM08}.  This implementation is only in the iso-level 
     1200formulation, as is the case anyway for the bilaplacian operator. 
     1201 
     1202The velocity field is derived from a transport stream function given by: 
     1203 
     1204\begin{equation} \label{Eq_dynnept_sf} 
     1205\psi = -fL^2H 
     1206\end{equation} 
     1207 
     1208where $L$ is a latitude-dependant length scale given by: 
     1209 
     1210\begin{equation} \label{Eq_dynnept_ls} 
     1211L = l_1 + (l_2 -l_1)\left ( {1 + \cos 2\phi \over 2 } \right ) 
     1212\end{equation} 
     1213 
     1214where $\phi$ is latitude and $l_1$ and $l_2$ are polar and equatorial length scales respectively. 
     1215Neptune velocity components, $u^*$, $v^*$ are derived from the stremfunction as: 
     1216 
     1217\begin{equation} \label{Eq_dynnept_vel} 
     1218u^* = -{1\over H} {\partial \psi \over \partial y}\ \ \  ,\ \ \ v^* = {1\over H} {\partial \psi \over \partial x} 
     1219\end{equation} 
     1220 
     1221\smallskip 
     1222%----------------------------------------------namdom---------------------------------------------------- 
     1223\namdisplay{namdyn_nept} 
     1224%-------------------------------------------------------------------------------------------------------- 
     1225\smallskip 
     1226 
     1227The Neptune effect is enabled when \np{ln\_neptsimp}=true (default=false). 
     1228\np{ln\_smooth\_neptvel} controls whether a scale-selective smoothing is applied 
     1229to the Neptune effect flow field (default=false) (this smoothing method is as 
     1230used by Holloway).  \np{rn\_tslse} and \np{rn\_tslsp} are the equatorial and 
     1231polar values respectively of the length-scale parameter $L$ used in determining 
     1232the Neptune stream function \eqref{Eq_dynnept_sf} and \eqref{Eq_dynnept_ls}. 
     1233Values at intermediate latitudes are given by a cosine fit, mimicking the 
     1234variation of the deformation radius with latitude.  The default values of 12km 
     1235and 3km are those given in \citep{HollowayJPO94}, appropriate for a coarse 
     1236resolution model. The finer resolution study of \citep{HollowayOM08} increased 
     1237the values of L by a factor of $\sqrt 2$ to 17km and 4.2km, thus doubling the 
     1238stream function for a given topography. 
     1239 
     1240The simple formulation for ($u^*$, $v^*$) can give unacceptably large velocities 
     1241in shallow water, and \citep{HollowayOM08} add an offset to the depth in the 
     1242denominator to control this problem. In this implementation we offer instead (at 
     1243the suggestion of G. Madec) the option of ramping down the Neptune flow field to 
     1244zero over a finite depth range. The switch \np{ln\_neptramp} activates this 
     1245option (default=false), in which case velocities at depths greater than 
     1246\np{rn\_htrmax} are unaltered, but ramp down linearly with depth to zero at a 
     1247depth of \np{rn\_htrmin} (and shallower). 
     1248 
     1249% ================================================================ 
  • branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_MISC.tex

    r2541 r3116  
    253253Note this implementation may be sensitive to the optimization level.  
    254254 
     255\subsection{MPP scalability} 
     256\label{MISC_mppsca} 
     257 
     258The default method of communicating values across the north-fold in distributed memory applications 
     259(\key{mpp\_mpi}) uses a \textsc{MPI\_ALLGATHER} function to exchange values from each processing 
     260region in the northern row with every other processing region in the northern row. This enables a 
     261global width array containing the top 4 rows to be collated on every northern row processor and then 
     262folded with a simple algorithm. Although conceptually simple, this "All to All" communication will 
     263hamper performance scalability for large numbers of northern row processors. From version 3.4 
     264onwards an alternative method is available which only performs direct "Peer to Peer" communications 
     265between each processor and its immediate "neighbours" across the fold line. This is achieved by 
     266using the default \textsc{MPI\_ALLGATHER} method during initialisation to help identify the "active" 
     267neighbours. Stored lists of these neighbours are then used in all subsequent north-fold exchanges to 
     268restrict exchanges to those between associated regions. The collated global width array for each 
     269region is thus only partially filled but is guaranteed to be set at all the locations actually 
     270required by each individual for the fold operation. This alternative method should give identical 
     271results to the default \textsc{ALLGATHER} method and is recommended for large values of \np{jpni}. 
     272The new method is activated by setting \np{ln\_nnogather} to be true ({\bf nammpp}). The 
     273reproducibility of results using the two methods should be confirmed for each new, non-reference 
     274configuration. 
    255275 
    256276% ================================================================ 
  • branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_OBS.tex

    r2483 r3116  
    1313$\ $\newline    % force a new line 
    1414 
    15 The observation and model comparison code (OBS) reads in observation files 
    16 (profile temperature and salinity, sea surface temperature, sea level anomaly, 
    17 sea ice concentration, and velocity) and calculates  an interpolated model equivalent 
    18 value at the observation location and nearest model timestep. The OBS code is 
    19 called from \np{opa.F90} in order to initialise the model and to calculate the 
    20 model equivalent values for observations on the 0th timestep. The code is then 
    21 called again after each timestep from \np{step.F90}. The code was originally 
    22 developed for use with NEMOVAR.  
    23  
    24 For all data types a 2D horizontal  interpolator is needed 
    25 to interpolate the model fields to the observation location. 
    26 For {\em in situ} profiles, a 1D vertical interpolator is needed in addition to 
    27 provide model fields at the observation depths. Currently this only works in 
    28 z-level model configurations, but is being developed to work with a 
    29 generalised vertical coordinate system. 
    30 Temperature data from moored buoys (TAO, TRITON, PIRATA) in the 
    31 ENACT/ENSEMBLES data-base are available as daily averaged quantities. For this 
    32 type of observation the 
    33 observation operator will compare such observations to the model temperature 
     15The observation and model comparison code (OBS) reads in observation files (profile 
     16temperature and salinity, sea surface temperature, sea level anomaly, sea ice concentration, 
     17and velocity) and calculates  an interpolated model equivalent value at the observation 
     18location and nearest model timestep. The resulting data are saved in a ``feedback'' file (or 
     19files). The code was originally developed for use with the NEMOVAR data assimilation code, but 
     20can be used for validation or verification of model or  any other data assimilation system. 
     21 
     22The OBS code is called from \np{opa.F90} for model initialisation and to calculate the model 
     23equivalent values for observations on the 0th timestep. The code is then called again after 
     24each timestep from \np{step.F90}. To build with the OBS code active \key{diaobs} must be 
     25set. 
     26 
     27For all data types a 2D horizontal  interpolator is needed to interpolate the model fields to 
     28the observation location. For {\em in situ} profiles, a 1D vertical interpolator is needed in 
     29addition to provide model fields at the observation depths. Currently this only works in 
     30z-level model configurations, but is being developed to work with a generalised vertical 
     31coordinate system. Temperature data from moored buoys (TAO, TRITON, PIRATA) in the 
     32ENACT/ENSEMBLES data-base are available as daily averaged quantities. For this type of 
     33observation the observation operator will compare such observations to the model temperature 
    3434fields averaged over one day. The relevant observation type may be specified in the namelist 
    35 using \np{endailyavtypes}. Otherwise the model value from the nearest 
    36 timestep to the observation time is used. 
    37  
    38 The resulting data are saved in a ``feedback'' file (or files) which can be used 
    39 for model validation and verification and also to provide information for data 
    40 assimilation. This code is controlled by the namelist \textit{nam\_obs}. To 
    41 build with the OBS code active \key{diaobs} must be set. 
    42  
    43 Section~\ref{OBS_example} introduces a test example of the observation operator 
    44 code including where to obtain data and how to setup the namelist. 
    45 Section~\ref{OBS_details} introduces some more technical details of the 
    46 different observation types used and also shows a more complete namelist. 
    47 Finally section~\ref{OBS_theory} introduces some of the theoretical aspects of 
    48 the observation operator including interpolation methods and running on multiple 
    49 processors.  
     35using \np{endailyavtypes}. Otherwise the model value from the nearest timestep to the 
     36observation time is used. 
     37 
     38The code is controlled by the namelist \textit{nam\_obs}. See the following sections for more 
     39details on setting up the namelist.  
     40 
     41Section~\ref{OBS_example} introduces a test example of the observation operator code including 
     42where to obtain data and how to setup the namelist. Section~\ref{OBS_details} introduces some 
     43more technical details of the different observation types used and also shows a more complete 
     44namelist. Section~\ref{OBS_theory} introduces some of the theoretical aspects of the 
     45observation operator including interpolation methods and running on multiple processors. 
     46Section~\ref{OBS_obsutils} introduces some utilities to help working with the files produced 
     47by the OBS code. 
    5048 
    5149% ================================================================ 
     
    6967\item Add the following to the NEMO namelist to run the observation 
    7068operator on this data. Set the \np{enactfiles} namelist parameter to the 
    71 observation  file name (or link in to \np{profiles\_01\.nc}): 
     69observation  file name: 
    7270\end{enumerate} 
    7371 
     
    7674%------------------------------------------------------------------------------------------------------------- 
    7775 
    78 The option \np{ln\_t3d} and \np{ln\_s3d} switch on the temperature and salinity 
     76The options \np{ln\_t3d} and \np{ln\_s3d} switch on the temperature and salinity 
    7977profile observation operator code. The \np{ln\_ena} switch turns on the reading 
    8078of ENACT/ENSEMBLES type profile data. The filename or array of filenames are 
     
    8886Setting \np{ln\_grid\_global} means that the code distributes the observations 
    8987evenly between processors. Alternatively each processor will work with 
    90 observations located within the model subdomain. 
    91  
    92 The NEMOVAR system contains utilities to plot the feedback files, convert and 
    93 recombine the files. These are available on request from the NEMOVAR team. 
     88observations located within the model subdomain (see section~\ref{OBS_parallel}). 
     89 
     90A number of utilities are now provided to plot the feedback files, convert and 
     91recombine the files. These are explained in more detail in section~\ref{OBS_obsutils}. 
    9492 
    9593\section{Technical details} 
     
    713711 
    714712\subsection{Parallel aspects of horizontal interpolation} 
     713\label{OBS_parallel} 
    715714 
    716715For horizontal interpolation, there is the basic problem that the 
     
    779778\subsection{Vertical interpolation operator} 
    780779 
    781 The vertical interpolation is achieved using either a cubic spline or 
     780Vertical interpolation is achieved using either a cubic spline or 
    782781linear interpolation. For the cubic spline, the top and 
    783782bottom boundary conditions for the second derivative of the  
    784783interpolating polynomial in the spline are set to zero. 
    785784At the bottom boundary, this is done using the land-ocean mask. 
     785 
     786\newpage 
     787 
     788\section{Observation Utilities} 
     789\label{OBS_obsutils} 
     790 
     791Some tools for viewing and processing of observation and feedback files are provided in the 
     792NEMO repository for convenience. These include OBSTOOLS which are a collection of Fortran 
     793programs which are helpful to deal with feedback files. They do such tasks as observation file 
     794conversion, printing of file contents, some basic statistical analysis of feedback files. The 
     795other tool is an IDL program called dataplot which uses a graphical interface to visualise 
     796observations and feedback files. OBSTOOLS and dataplot are described in more detail below.   
     797 
     798\subsection{Obstools} 
     799 
     800A series of Fortran utilities is provided with NEMO called OBSTOOLS. This are helpful in 
     801handling observation files and the feedback file output from the NEMO observation operator. 
     802The utilities are as follows 
     803 
     804\subsubsection{corio2fb} 
     805 
     806The program corio2fb converts profile observation files from the Coriolis format to the 
     807standard feedback format. The program is called in the following way: 
     808 
     809\begin{alltt} 
     810\footnotesize 
     811\begin{verbatim} 
     812corio2fb.exe outputfile inputfile1 inputfile2 ... 
     813\end{verbatim} 
     814\end{alltt} 
     815 
     816\subsubsection{enact2fb} 
     817 
     818The program enact2fb converts profile observation files from the ENACT format to the standard 
     819feedback format. The program is called in the following way: 
     820 
     821\begin{alltt} 
     822\footnotesize 
     823\begin{verbatim} 
     824enact2fb.exe outputfile inputfile1 inputfile2 ... 
     825\end{verbatim} 
     826\end{alltt} 
     827 
     828\subsubsection{fbcomb} 
     829 
     830The program fbcomb combines multiple feedback files produced by individual processors in an 
     831MPI run of NEMO into a single feedback file. The program is called in the following way: 
     832 
     833\begin{alltt} 
     834\footnotesize 
     835\begin{verbatim} 
     836fbcomb.exe outputfile inputfile1 inputfile2 ... 
     837\end{verbatim} 
     838\end{alltt} 
     839 
     840\subsubsection{fbmatchup} 
     841 
     842The program fbmatchup will match observations from two feedback files. The program is called 
     843in the following way: 
     844 
     845\begin{alltt} 
     846\footnotesize 
     847\begin{verbatim} 
     848fbmatchup.exe outputfile inputfile1 varname1 inputfile2 varname2 ... 
     849\end{verbatim} 
     850\end{alltt} 
     851 
     852 
     853\subsubsection{fbprint} 
     854 
     855The program fbprint will print the contents of a feedback file or files to standard output. 
     856Selected information can be output using optional arguments. The program is called in the 
     857following way: 
     858 
     859\begin{alltt} 
     860\footnotesize 
     861\begin{verbatim} 
     862fbprint.exe [options] inputfile 
     863 
     864options: 
     865     -b            shorter output 
     866     -q            Select observations based on QC flags 
     867     -Q            Select observations based on QC flags 
     868     -B            Select observations based on QC flags 
     869     -u            unsorted 
     870     -s ID         select station ID   
     871     -t TYPE       select observation type 
     872     -v NUM1-NUM2  select variable range to print by number  
     873                      (default all) 
     874     -a NUM1-NUM2  select additional variable range to print by number  
     875                      (default all) 
     876     -e NUM1-NUM2  select extra variable range to print by number  
     877                      (default all) 
     878     -d            output date range 
     879     -D            print depths 
     880     -z            use zipped files 
     881\end{verbatim} 
     882\end{alltt} 
     883 
     884\subsubsection{fbsel} 
     885 
     886The program fbsel will select or subsample observations. The program is called in the 
     887following way: 
     888 
     889\begin{alltt} 
     890\footnotesize 
     891\begin{verbatim} 
     892fbsel.exe <input filename> <output filename> 
     893\end{verbatim} 
     894\end{alltt} 
     895 
     896\subsubsection{fbstat} 
     897 
     898The program fbstat will output summary statistics in different global areas into a number of 
     899files. The program is called in the following way: 
     900 
     901\begin{alltt} 
     902\footnotesize 
     903\begin{verbatim} 
     904fbstat.exe [-nmlev] <filenames> 
     905\end{verbatim} 
     906\end{alltt} 
     907 
     908\subsubsection{fbthin} 
     909 
     910The program fbthin will thin the data to 1 degree resolution. The code could easily be 
     911modified to thin to a different resolution. The program is called in the following way: 
     912 
     913\begin{alltt} 
     914\footnotesize 
     915\begin{verbatim} 
     916fbthin.exe inputfile outputfile 
     917\end{verbatim} 
     918\end{alltt} 
     919 
     920\subsubsection{sla2fb} 
     921 
     922The program sla2fb will convert an AVISO SLA format file to feedback format. The program is 
     923called in the following way: 
     924 
     925\begin{alltt} 
     926\footnotesize 
     927\begin{verbatim} 
     928sla2fb.exe [-s type] outputfile inputfile1 inputfile2 ... 
     929 
     930Option: 
     931     -s            Select altimeter data_source 
     932\end{verbatim} 
     933\end{alltt} 
     934 
     935\subsubsection{vel2fb} 
     936 
     937The program vel2fb will convert TAO/PIRATA/RAMA currents files to feedback format. The program 
     938is called in the following way: 
     939 
     940\begin{alltt} 
     941\footnotesize 
     942\begin{verbatim} 
     943vel2fb.exe outputfile inputfile1 inputfile2 ... 
     944\end{verbatim} 
     945\end{alltt} 
     946 
     947\subsection{building the obstools} 
     948 
     949To build the obstools use in the tools directory use ./maketools -n OBSTOOLS -m [ARCH]. 
     950 
     951\subsection{Dataplot} 
     952 
     953An IDL program called dataplot is included which uses a graphical interface to visualise 
     954observations and feedback files. It is possible to zoom in, plot individual profiles and 
     955calculate some basic statistics. To plot some data run IDL and then: 
     956\begin{alltt} 
     957\footnotesize 
     958\begin{verbatim} 
     959IDL> dataplot, "filename" 
     960\end{verbatim} 
     961\end{alltt} 
     962 
     963To read multiple files into dataplot, for example multiple feedback files from different 
     964processors or from different days, the easiest method is to use the spawn command to generate 
     965a list of files which can then be passed to dataplot. 
     966\begin{alltt} 
     967\footnotesize 
     968\begin{verbatim} 
     969IDL> spawn, 'ls profb*.nc', files 
     970IDL> dataplot, files 
     971\end{verbatim} 
     972\end{alltt} 
     973 
     974Fig~\ref{fig:obsdataplotmain} shows the main window which is launched when dataplot starts. 
     975This is split into three parts. At the top there is a menu bar which contains a variety of 
     976drop down menus. Areas - zooms into prespecified regions; plot - plots the data as a 
     977timeseries or a T-S diagram if appropriate; Find - allows data to be searched; Config - sets 
     978various configuration options. 
     979 
     980The middle part is a plot of the geographical location of the observations. This will plot the 
     981observation value, the model background value or observation minus background value depending 
     982on the option selected in the radio button at the bottom of the window. The plotting colour 
     983range can be changed by clicking on the colour bar. The title of the plot gives some basic 
     984information about the date range and depth range shown, the extreme values, and the mean and 
     985rms values. It is possible to zoom in using a drag-box. You may also zoom in or out using the 
     986mouse wheel. 
     987 
     988The bottom part of the window controls what is visible in the plot above. There are two bars 
     989which select the level range plotted (for profile data). The other bars below select the date 
     990range shown. The bottom of the figure allows the option to plot the mean, root mean square, 
     991standard deviation or mean square values. As mentioned above you can choose to plot the 
     992observation value, the model background value or observation minus background value. The next 
     993group of radio buttons selects the map projection. This can either be regular latitude 
     994longitude grid, or north or south polar stereographic. The next group of radio buttons will 
     995plot bad observations, switch to salinity and plot density for profile observations. The 
     996rightmost group of buttons will print the plot window as a postscript, save it as png, or exit 
     997from dataplot. 
     998 
     999%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1000\begin{figure}     \begin{center} 
     1001%\includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_main} 
     1002\includegraphics[width=9cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_main} 
     1003\caption{      \label{fig:obsdataplotmain} 
     1004Main window of dataplot.} 
     1005\end{center}     \end{figure} 
     1006%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1007 
     1008If a profile point is clicked with the mouse button a plot of the observation and background 
     1009values as a function of depth (Fig~\ref{fig:obsdataplotprofile}). 
     1010 
     1011%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1012\begin{figure}     \begin{center} 
     1013%\includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_prof} 
     1014\includegraphics[width=7cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_prof} 
     1015\caption{      \label{fig:obsdataplotprofile} 
     1016Profile plot from dataplot produced by right clicking on a point in the main window.} 
     1017\end{center}     \end{figure} 
     1018%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     1019 
     1020 
     1021 
     1022 
  • branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_SBC.tex

    r3105 r3116  
    641641\footnote{The \key{oasis4} exist. It activates portion of the code that are still under development.}.  
    642642It has been successfully used to interface \NEMO to most of the European atmospheric  
    643 GCM (ARPEGE, ECHAM, ECMWF, HadAM, LMDz),  
     643GCM (ARPEGE, ECHAM, ECMWF, HadAM, HadGAM, LMDz),  
    644644as well as to \href{http://wrf-model.org/}{WRF} (Weather Research and Forecasting Model). 
    645645 
     
    649649When PISCES biogeochemical model (\key{top} and \key{pisces}) is also used in the coupled system,  
    650650the whole carbon cycle is computed by defining \key{cpl\_carbon\_cycle}. In this case,  
    651 CO$_2$ fluxes are exchanged between the atmosphere and the ice-ocean system. 
     651CO$_2$ fluxes will be exchanged between the atmosphere and the ice-ocean system (and need to be activated 
     652in namsbc{\_}cpl). 
     653 
     654The new namelist above allows control of various aspects of the coupling fields (particularly for 
     655vectors) and now allows for any coupling fields to have multiple sea ice categories (as required by LIM3 
     656and CICE).  When indicating a multi-category coupling field in namsbc{\_}cpl the number of categories will be 
     657determined by the number used in the sea ice model.  In some limited cases it may be possible to specify  
     658single category coupling fields even when the sea ice model is running with multiple categories - in this 
     659case the user should examine the code to be sure the assumptions made are satisfactory.  In cases where 
     660this is definitely not possible the model should abort with an error message.  The new code has been tested using 
     661ECHAM with LIM2, and HadGAM3 with CICE but although it will compile with \key{lim3} additional minor code changes 
     662may be required to run using LIM3. 
    652663 
    653664 
     
    10011012ice-ocean fluxes, that are combined with the air-sea fluxes using the ice fraction of  
    10021013each model cell to provide the surface ocean fluxes. Note that the activation of a  
    1003 sea-ice model is is done by defining a CPP key (\key{lim2} or \key{lim3}).  
    1004 The activation automatically ovewrite the read value of nn{\_}ice to its appropriate  
    1005 value ($i.e.$ $2$ for LIM-2 and $3$ for LIM-3). 
     1014sea-ice model is is done by defining a CPP key (\key{lim2}, \key{lim3} or \key{cice}).  
     1015The activation automatically overwrites the read value of nn{\_}ice to its appropriate  
     1016value ($i.e.$ $2$ for LIM-2, $3$ for LIM-3 or $4$ for CICE). 
    10061017\end{description} 
    10071018 
    10081019% {Description of Ice-ocean interface to be added here or in LIM 2 and 3 doc ?} 
     1020 
     1021\subsection   [Interface to CICE (\textit{sbcice\_cice})] 
     1022         {Interface to CICE (\mdl{sbcice\_cice})} 
     1023\label{SBC_cice} 
     1024 
     1025It is now possible to couple a global NEMO configuration (without AGRIF) to the CICE sea-ice 
     1026model by using \key{cice}.  The CICE code can be obtained from  
     1027\href{http://oceans11.lanl.gov/trac/CICE/}{LANL} and the additional 'hadgem3' drivers will be required,  
     1028even with the latest code release.  Input grid files consistent with those used in NEMO will also be needed,  
     1029and CICE CPP keys \textbf{ORCA\_GRID}, \textbf{CICE\_IN\_NEMO} and \textbf{coupled} should be used (seek advice from UKMO  
     1030if necessary).  Currently the code is only designed to work when using the CORE forcing option for NEMO (with 
     1031\textit{calc\_strair~=~true} and \textit{calc\_Tsfc~=~true} in the CICE name-list), or alternatively when NEMO  
     1032is coupled to the HadGAM3 atmosphere model (with \textit{calc\_strair~=~false} and \textit{calc\_Tsfc~=~false}). 
     1033The code is intended to be used with \np{nn\_fsbc} set to 1 (although coupling ocean and ice less frequently  
     1034should work, it is possible the calculation of some of the ocean-ice fluxes needs to be modified slightly - the 
     1035user should check that results are not significantly different to the standard case). 
     1036 
     1037There are two options for the technical coupling between NEMO and CICE.  The standard version allows 
     1038complete flexibility for the domain decompositions in the individual models, but this is at the expense of global 
     1039gather and scatter operations in the coupling which become very expensive on larger numbers of processors. The 
     1040alternative option (using \key{nemocice\_decomp} for both NEMO and CICE) ensures that the domain decomposition is 
     1041identical in both models (provided domain parameters are set appropriately, and  
     1042\textit{processor\_shape~=~square-ice} and \textit{distribution\_wght~=~block} in the CICE name-list) and allows 
     1043much more efficient direct coupling on individual processors.  This solution scales much better although it is at  
     1044the expense of having more idle CICE processors in areas where there is no sea ice. 
     1045 
    10091046 
    10101047% ------------------------------------------------------------------------------------------------------------- 
  • branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_ZDF.tex

    r3104 r3116  
    11% ================================================================ 
    2 % Chapter Ñ Vertical Ocean Physics (ZDF) 
     2% Chapter Vertical Ocean Physics (ZDF) 
    33% ================================================================ 
    44\chapter{Vertical Ocean Physics (ZDF)} 
     
    563563the clipping factor is of crucial importance for the entrainment depth predicted in  
    564564stably stratified situations, and that its value has to be chosen in accordance  
    565 with the algebraic model for the turbulent ßuxes. The clipping is only activated  
     565with the algebraic model for the turbulent fluxes. The clipping is only activated  
    566566if \np{ln\_length\_lim}=true, and the $c_{lim}$ is set to the \np{rn\_clim\_galp} value. 
    567567 
     
    10051005reduced as necessary to ensure stability; these changes are not reported. 
    10061006 
     1007Limits on the bottom friction coefficient are not imposed if the user has elected to 
     1008handle the bottom friction implicitly (see \S\ref{ZDF_bfr_imp}). The number of potential 
     1009breaches of the explicit stability criterion are still reported for information purposes. 
     1010 
     1011% ------------------------------------------------------------------------------------------------------------- 
     1012%       Implicit Bottom Friction 
     1013% ------------------------------------------------------------------------------------------------------------- 
     1014\subsection{Implicit Bottom Friction (\np{ln\_bfrimp}$=$\textit{T})} 
     1015\label{ZDF_bfr_imp} 
     1016 
     1017An optional implicit form of bottom friction has been implemented to improve 
     1018model stability. We recommend this option for shelf sea and coastal ocean applications, especially  
     1019for split-explicit time splitting. This option can be invoked by setting \np{ln\_bfrimp}  
     1020to \textit{true} in the \textit{nambfr} namelist. This option requires \np{ln\_zdfexp} to be \textit{false}  
     1021in the \textit{namzdf} namelist.  
     1022 
     1023This implementation is realised in \mdl{dynzdf\_imp} and \mdl{dynspg\_ts}. In \mdl{dynzdf\_imp}, the  
     1024bottom boundary condition is implemented implicitly. 
     1025 
     1026\begin{equation} \label{Eq_dynzdf_bfr} 
     1027\left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{mbk} 
     1028    = \binom{c_{b}^{u}u^{n+1}_{mbk}}{c_{b}^{v}v^{n+1}_{mbk}} 
     1029\end{equation} 
     1030 
     1031where $mbk$ is the layer number of the bottom wet layer. superscript $n+1$ means the velocity used in the 
     1032friction formula is to be calculated, so, it is implicit. 
     1033 
     1034If split-explicit time splitting is used, care must be taken to avoid the double counting of 
     1035the bottom friction in the 2-D barotropic momentum equations. As NEMO only updates the barotropic  
     1036pressure gradient and Coriolis' forcing terms in the 2-D barotropic calculation, we need to remove 
     1037the bottom friction induced by these two terms which has been included in the 3-D momentum trend  
     1038and update it with the latest value. On the other hand, the bottom friction contributed by the 
     1039other terms (e.g. the advection term, viscosity term) has been included in the 3-D momentum equations 
     1040and should not be added in the 2-D barotropic mode. 
     1041 
     1042The implementation of the implicit bottom friction in \mdl{dynspg\_ts} is done in two steps as the 
     1043following: 
     1044 
     1045\begin{equation} \label{Eq_dynspg_ts_bfr1} 
     1046\frac{\textbf{U}_{med}-\textbf{U}^{m-1}}{2\Delta t}=-g\nabla\eta-f\textbf{k}\times\textbf{U}^{m}+c_{b} 
     1047\left(\textbf{U}_{med}-\textbf{U}^{m-1}\right) 
     1048\end{equation} 
     1049\begin{equation} \label{Eq_dynspg_ts_bfr2} 
     1050\frac{\textbf{U}^{m+1}-\textbf{U}_{med}}{2\Delta t}=\textbf{T}+ 
     1051\left(g\nabla\eta^{'}+f\textbf{k}\times\textbf{U}^{'}\right)- 
     10522\Delta t_{bc}c_{b}\left(g\nabla\eta^{'}+f\textbf{k}\times\textbf{u}_{b}\right) 
     1053\end{equation} 
     1054 
     1055where $\textbf{T}$ is the vertical integrated 3-D momentum trend. We assume the leap-frog time-stepping 
     1056is used here. $\Delta t$ is the barotropic mode time step and $\Delta t_{bc}$ is the baroclinic mode time step. 
     1057 $c_{b}$ is the friction coefficient. $\eta$ is the sea surface level calculated in the barotropic loops 
     1058while $\eta^{'}$ is the sea surface level used in the 3-D baroclinic mode. $\textbf{u}_{b}$ is the bottom 
     1059layer horizontal velocity. 
     1060 
     1061 
     1062 
     1063 
    10071064% ------------------------------------------------------------------------------------------------------------- 
    10081065%       Bottom Friction with split-explicit time splitting 
    10091066% ------------------------------------------------------------------------------------------------------------- 
    1010 \subsection{Bottom Friction with split-explicit time splitting} 
     1067\subsection{Bottom Friction with split-explicit time splitting (\np{ln\_bfrimp}$=$\textit{F})} 
    10111068\label{ZDF_bfr_ts} 
    10121069 
     
    10171074{\key{dynspg\_flt}). Extra attention is required, however, when using  
    10181075split-explicit time stepping (\key{dynspg\_ts}). In this case the free surface  
    1019 equation is solved with a small time step \np{nn\_baro}*\np{rn\_rdt}, while the three  
    1020 dimensional prognostic variables are solved with a longer time step that is a  
    1021 multiple of \np{rn\_rdt}. The trend in the barotropic momentum due to bottom  
     1076equation is solved with a small time step \np{rn\_rdt}/\np{nn\_baro}, while the three  
     1077dimensional prognostic variables are solved with the longer time step  
     1078of \np{rn\_rdt} seconds. The trend in the barotropic momentum due to bottom  
    10221079friction appropriate to this method is that given by the selected parameterisation  
    10231080($i.e.$ linear or non-linear bottom friction) computed with the evolving velocities  
     
    10421099\end{enumerate} 
    10431100 
    1044 Note that the use of an implicit formulation 
     1101Note that the use of an implicit formulation within the barotropic loop 
    10451102for the bottom friction trend means that any limiting of the bottom friction coefficient  
    10461103in \mdl{dynbfr} does not adversely affect the solution when using split-explicit time  
    10471104splitting. This is because the major contribution to bottom friction is likely to come from  
    1048 the barotropic component which uses the unrestricted value of the coefficient. 
    1049  
    1050 The implicit formulation takes the form: 
     1105the barotropic component which uses the unrestricted value of the coefficient. However, if the 
     1106limiting is thought to be having a major effect (a more likely prospect in coastal and shelf seas 
     1107applications) then the fully implicit form of the bottom friction should be used (see \S\ref{ZDF_bfr_imp} )  
     1108which can be selected by setting \np{ln\_bfrimp} $=$ \textit{true}. 
     1109 
     1110Otherwise, the implicit formulation takes the form: 
    10511111\begin{equation} \label{Eq_zdfbfr_implicitts} 
    10521112 \bar{U}^{t+ \rdt} = \; \left [ \bar{U}^{t-\rdt}\; + 2 \rdt\;RHS \right ] / \left [ 1 - 2 \rdt \;c_b^{u} / H_e \right ]   
     
    11151175The essential goal of the parameterization is to represent the momentum  
    11161176exchange between the barotropic tides and the unrepresented internal waves  
    1117 induced by the tidal ßow over rough topography in a stratified ocean.  
     1177induced by the tidal flow over rough topography in a stratified ocean.  
    11181178In the current version of \NEMO, the map is built from the output of  
    11191179the barotropic global ocean tide model MOG2D-G \citep{Carrere_Lyard_GRL03}. 
  • branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Introduction.tex

    r2570 r3116  
    6363\citep{OASIS2006}. Two-way nesting is also available through an interface to the 
    6464AGRIF package (Adaptative Grid Refinement in \textsc{Fortran}) \citep{Debreu_al_CG2008}. 
     65The interface code for coupling to an alternative sea ice model (CICE, \citet{Hunke2008}) is now  
     66available although this is currently only designed for global domains, without the use of AGRIF. 
    6567 
    6668Other model characteristics are the lateral boundary conditions (chapter~\ref{LBC}).   
Note: See TracChangeset for help on using the changeset viewer.