Changeset 3116 for branches/2011/dev_NEMO_MERGE_2011/DOC
- Timestamp:
- 2011-11-15T21:55:40+01:00 (12 years ago)
- Location:
- branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles
- Files:
-
- 1 deleted
- 14 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Biblio/Biblio.bib
r3104 r3116 1317 1317 } 1318 1318 1319 @ARTICLE{HollowayOM86, 1320 author = {Greg Holloway}, 1321 title = {A Shelf Wave/Topographic Pump Drives Mean Coastal Circulation (part I)}, 1322 journal = OM, 1323 year = {1986}, 1324 volume = {68}, 1325 } 1326 1327 @ARTICLE{HollowayJPO92, 1328 author = {Greg Holloway}, 1329 title = {Representing Topographic Stress for Large-Scale Ocean Models}, 1330 journal = JPO, 1331 year = {1992}, 1332 volume = {22}, 1333 pages = {1033--1046}, 1334 } 1335 1336 @ARTICLE{HollowayJPO94, 1337 author = {Michael Eby and Greg Holloway}, 1338 title = {Sensitivity of a Large-Scale Ocean Model to a Parameterization of Topographic Stress}, 1339 journal = JPO, 1340 year = {1994}, 1341 volume = {24}, 1342 pages = {2577--2587}, 1343 } 1344 1345 @ARTICLE{HollowayJGR09, 1346 author = {Greg Holloway and Zeliang Wang}, 1347 title = {Representing eddy stress in an Arctic Ocean model}, 1348 journal = JGR, 1349 year = {2009}, 1350 doi = {10.1029/2008JC005169}, 1351 } 1352 1353 @ARTICLE{HollowayOM08, 1354 author = {Mathew Maltrud and Greg Holloway}, 1355 title = {Implementing biharmonic neptune in a global eddying ocean model}, 1356 journal = OM, 1357 year = {2008}, 1358 volume = {21}, 1359 pages = {22--34}, 1360 } 1361 1319 1362 @ARTICLE{Hordoir_al_CD08, 1320 1363 author = {R. Hordoir and J. Polcher and J.-C. Brun-Cottan and G. Madec}, … … 1346 1389 volume = {23}, 1347 1390 pages = {2428--2446} 1391 } 1392 1393 @ARTICLE{Hunke2008, 1394 author = {E.C. Hunke and W.H. Lipscomb}, 1395 title = {CICE: the Los Alamos sea ice model documentation and software user's manual, 1396 Version 4.0}, 1397 publisher = {LA-CC-06-012, Los Alamos National Laboratory, N.M.}, 1398 year = {2008} 1348 1399 } 1349 1400 -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_ASM.tex
r3092 r3116 15 15 The ASM code adds the functionality to apply increments to the model variables: 16 16 temperature, 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 data18 assimilation . The code can also output model background fields which are used17 These are read into the model from a NetCDF file which may be produced by separate data 18 assimilation code. The code can also output model background fields which are used 19 19 as an input to data assimilation code. This is all controlled by the namelist 20 20 \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 610 610 documented or tested. 611 611 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) 614 613 \begin{equation} \label{Eq_dynhpg_sco} 615 614 \left\{ \begin{aligned} … … 624 623 \eqref{Eq_dynhpg_zco_surf} - \eqref{Eq_dynhpg_zco}, and $z_T$ is the depth of 625 624 the $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}$). 631 626 632 627 $\bullet$ Density Jacobian with cubic polynomial scheme (DJC) \citep{Shchepetkin_McWilliams_OM05} 633 628 (\np{ln\_dynhpg\_djc}=true) 634 629 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 volume630 $\bullet$ Pressure Jacobian scheme (prj) \citep{Thiem_Berntsen_OM06} (\np{ln\_dynhpg\_prj}=true) 631 632 Note that expression \eqref{Eq_dynhpg_sco} is commonly used when the variable volume 638 633 formulation is activated (\key{vvl}) because in that case, even with a flat bottom, 639 634 the 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 636 alternative to the default \np{ln\_dynhpg\_sco}=true when \key{vvl} is active. The pressure Jacobian scheme uses 637 a constrained cubic spline to reconstruct the density profile across the water column. This method 638 maintains the monotonicity between the density nodes and is of a higher order than the linear 639 interpolation method. The pressure can be calculated by analytical integration of the density profile and 640 a pressure Jacobian method is used to solve the horizontal pressure gradient. This method should 641 provide a more accurate calculation of the horizontal pressure gradient than the standard scheme. 641 642 642 643 %-------------------------------------------------------------------------------------------------------------- … … 1164 1165 1165 1166 % ================================================================ 1167 % Neptune effect 1168 % ================================================================ 1169 \section [Neptune effect (\textit{dynnept})] 1170 {Neptune effect (\mdl{dynnept})} 1171 \label{DYN_nept} 1172 1173 The "Neptune effect" (thus named in \citep{HollowayOM86}) is a 1174 parameterisation of the potentially large effect of topographic form stress 1175 (caused by eddies) in driving the ocean circulation. Originally developed for 1176 low-resolution models, in which it was applied via a Laplacian (second-order) 1177 diffusion-like term in the momentum equation, it can also be applied in eddy 1178 permitting or resolving models, in which a more scale-selective bilaplacian 1179 (fourth-order) implementation is preferred. This mechanism has a 1180 significant effect on boundary currents (including undercurrents), and the 1181 upwelling of deep water near continental shelves. 1182 1183 The theoretical basis for the method can be found in 1184 \citep{HollowayJPO92}, including the explanation of why form stress is not 1185 necessarily a drag force, but may actually drive the flow. 1186 \citep{HollowayJPO94} demonstrate the effects of the parameterisation in 1187 the GFDL-MOM model, at a horizontal resolution of about 1.8 degrees. 1188 \citep{HollowayOM08} demonstrate the biharmonic version of the 1189 parameterisation in a global run of the POP model, with an average horizontal 1190 grid spacing of about 32km. 1191 1192 The NEMO implementation is a simplified form of that supplied by 1193 Greg Holloway, the testing of which was described in \citep{HollowayJGR09}. 1194 The major simplification is that a time invariant Neptune velocity 1195 field is assumed. This is computed only once, during start-up, and 1196 made available to the rest of the code via a module. Vertical 1197 diffusive terms are also ignored, and the model topography itself 1198 is used, rather than a separate topographic dataset as in 1199 \citep{HollowayOM08}. This implementation is only in the iso-level 1200 formulation, as is the case anyway for the bilaplacian operator. 1201 1202 The 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 1208 where $L$ is a latitude-dependant length scale given by: 1209 1210 \begin{equation} \label{Eq_dynnept_ls} 1211 L = l_1 + (l_2 -l_1)\left ( {1 + \cos 2\phi \over 2 } \right ) 1212 \end{equation} 1213 1214 where $\phi$ is latitude and $l_1$ and $l_2$ are polar and equatorial length scales respectively. 1215 Neptune velocity components, $u^*$, $v^*$ are derived from the stremfunction as: 1216 1217 \begin{equation} \label{Eq_dynnept_vel} 1218 u^* = -{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 1227 The Neptune effect is enabled when \np{ln\_neptsimp}=true (default=false). 1228 \np{ln\_smooth\_neptvel} controls whether a scale-selective smoothing is applied 1229 to the Neptune effect flow field (default=false) (this smoothing method is as 1230 used by Holloway). \np{rn\_tslse} and \np{rn\_tslsp} are the equatorial and 1231 polar values respectively of the length-scale parameter $L$ used in determining 1232 the Neptune stream function \eqref{Eq_dynnept_sf} and \eqref{Eq_dynnept_ls}. 1233 Values at intermediate latitudes are given by a cosine fit, mimicking the 1234 variation of the deformation radius with latitude. The default values of 12km 1235 and 3km are those given in \citep{HollowayJPO94}, appropriate for a coarse 1236 resolution model. The finer resolution study of \citep{HollowayOM08} increased 1237 the values of L by a factor of $\sqrt 2$ to 17km and 4.2km, thus doubling the 1238 stream function for a given topography. 1239 1240 The simple formulation for ($u^*$, $v^*$) can give unacceptably large velocities 1241 in shallow water, and \citep{HollowayOM08} add an offset to the depth in the 1242 denominator to control this problem. In this implementation we offer instead (at 1243 the suggestion of G. Madec) the option of ramping down the Neptune flow field to 1244 zero over a finite depth range. The switch \np{ln\_neptramp} activates this 1245 option (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 1247 depth of \np{rn\_htrmin} (and shallower). 1248 1249 % ================================================================ -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_MISC.tex
r2541 r3116 253 253 Note this implementation may be sensitive to the optimization level. 254 254 255 \subsection{MPP scalability} 256 \label{MISC_mppsca} 257 258 The 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 260 region in the northern row with every other processing region in the northern row. This enables a 261 global width array containing the top 4 rows to be collated on every northern row processor and then 262 folded with a simple algorithm. Although conceptually simple, this "All to All" communication will 263 hamper performance scalability for large numbers of northern row processors. From version 3.4 264 onwards an alternative method is available which only performs direct "Peer to Peer" communications 265 between each processor and its immediate "neighbours" across the fold line. This is achieved by 266 using the default \textsc{MPI\_ALLGATHER} method during initialisation to help identify the "active" 267 neighbours. Stored lists of these neighbours are then used in all subsequent north-fold exchanges to 268 restrict exchanges to those between associated regions. The collated global width array for each 269 region is thus only partially filled but is guaranteed to be set at all the locations actually 270 required by each individual for the fold operation. This alternative method should give identical 271 results to the default \textsc{ALLGATHER} method and is recommended for large values of \np{jpni}. 272 The new method is activated by setting \np{ln\_nnogather} to be true ({\bf nammpp}). The 273 reproducibility of results using the two methods should be confirmed for each new, non-reference 274 configuration. 255 275 256 276 % ================================================================ -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_OBS.tex
r2483 r3116 13 13 $\ $\newline % force a new line 14 14 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 temperature15 The observation and model comparison code (OBS) reads in observation files (profile 16 temperature and salinity, sea surface temperature, sea level anomaly, sea ice concentration, 17 and velocity) and calculates an interpolated model equivalent value at the observation 18 location and nearest model timestep. The resulting data are saved in a ``feedback'' file (or 19 files). The code was originally developed for use with the NEMOVAR data assimilation code, but 20 can be used for validation or verification of model or any other data assimilation system. 21 22 The OBS code is called from \np{opa.F90} for model initialisation and to calculate the model 23 equivalent values for observations on the 0th timestep. The code is then called again after 24 each timestep from \np{step.F90}. To build with the OBS code active \key{diaobs} must be 25 set. 26 27 For all data types a 2D horizontal interpolator is needed to interpolate the model fields to 28 the observation location. For {\em in situ} profiles, a 1D vertical interpolator is needed in 29 addition to provide model fields at the observation depths. Currently this only works in 30 z-level model configurations, but is being developed to work with a generalised vertical 31 coordinate system. Temperature data from moored buoys (TAO, TRITON, PIRATA) in the 32 ENACT/ENSEMBLES data-base are available as daily averaged quantities. For this type of 33 observation the observation operator will compare such observations to the model temperature 34 34 fields 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. 35 using \np{endailyavtypes}. Otherwise the model value from the nearest timestep to the 36 observation time is used. 37 38 The code is controlled by the namelist \textit{nam\_obs}. See the following sections for more 39 details on setting up the namelist. 40 41 Section~\ref{OBS_example} introduces a test example of the observation operator code including 42 where to obtain data and how to setup the namelist. Section~\ref{OBS_details} introduces some 43 more technical details of the different observation types used and also shows a more complete 44 namelist. Section~\ref{OBS_theory} introduces some of the theoretical aspects of the 45 observation operator including interpolation methods and running on multiple processors. 46 Section~\ref{OBS_obsutils} introduces some utilities to help working with the files produced 47 by the OBS code. 50 48 51 49 % ================================================================ … … 69 67 \item Add the following to the NEMO namelist to run the observation 70 68 operator on this data. Set the \np{enactfiles} namelist parameter to the 71 observation file name (or link in to \np{profiles\_01\.nc}):69 observation file name: 72 70 \end{enumerate} 73 71 … … 76 74 %------------------------------------------------------------------------------------------------------------- 77 75 78 The option \np{ln\_t3d} and \np{ln\_s3d} switch on the temperature and salinity76 The options \np{ln\_t3d} and \np{ln\_s3d} switch on the temperature and salinity 79 77 profile observation operator code. The \np{ln\_ena} switch turns on the reading 80 78 of ENACT/ENSEMBLES type profile data. The filename or array of filenames are … … 88 86 Setting \np{ln\_grid\_global} means that the code distributes the observations 89 87 evenly between processors. Alternatively each processor will work with 90 observations located within the model subdomain .91 92 The NEMOVAR system contains utilitiesto plot the feedback files, convert and93 recombine the files. These are available on request from the NEMOVAR team.88 observations located within the model subdomain (see section~\ref{OBS_parallel}). 89 90 A number of utilities are now provided to plot the feedback files, convert and 91 recombine the files. These are explained in more detail in section~\ref{OBS_obsutils}. 94 92 95 93 \section{Technical details} … … 713 711 714 712 \subsection{Parallel aspects of horizontal interpolation} 713 \label{OBS_parallel} 715 714 716 715 For horizontal interpolation, there is the basic problem that the … … 779 778 \subsection{Vertical interpolation operator} 780 779 781 The vertical interpolation is achieved using either a cubic spline or780 Vertical interpolation is achieved using either a cubic spline or 782 781 linear interpolation. For the cubic spline, the top and 783 782 bottom boundary conditions for the second derivative of the 784 783 interpolating polynomial in the spline are set to zero. 785 784 At the bottom boundary, this is done using the land-ocean mask. 785 786 \newpage 787 788 \section{Observation Utilities} 789 \label{OBS_obsutils} 790 791 Some tools for viewing and processing of observation and feedback files are provided in the 792 NEMO repository for convenience. These include OBSTOOLS which are a collection of Fortran 793 programs which are helpful to deal with feedback files. They do such tasks as observation file 794 conversion, printing of file contents, some basic statistical analysis of feedback files. The 795 other tool is an IDL program called dataplot which uses a graphical interface to visualise 796 observations and feedback files. OBSTOOLS and dataplot are described in more detail below. 797 798 \subsection{Obstools} 799 800 A series of Fortran utilities is provided with NEMO called OBSTOOLS. This are helpful in 801 handling observation files and the feedback file output from the NEMO observation operator. 802 The utilities are as follows 803 804 \subsubsection{corio2fb} 805 806 The program corio2fb converts profile observation files from the Coriolis format to the 807 standard feedback format. The program is called in the following way: 808 809 \begin{alltt} 810 \footnotesize 811 \begin{verbatim} 812 corio2fb.exe outputfile inputfile1 inputfile2 ... 813 \end{verbatim} 814 \end{alltt} 815 816 \subsubsection{enact2fb} 817 818 The program enact2fb converts profile observation files from the ENACT format to the standard 819 feedback format. The program is called in the following way: 820 821 \begin{alltt} 822 \footnotesize 823 \begin{verbatim} 824 enact2fb.exe outputfile inputfile1 inputfile2 ... 825 \end{verbatim} 826 \end{alltt} 827 828 \subsubsection{fbcomb} 829 830 The program fbcomb combines multiple feedback files produced by individual processors in an 831 MPI 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} 836 fbcomb.exe outputfile inputfile1 inputfile2 ... 837 \end{verbatim} 838 \end{alltt} 839 840 \subsubsection{fbmatchup} 841 842 The program fbmatchup will match observations from two feedback files. The program is called 843 in the following way: 844 845 \begin{alltt} 846 \footnotesize 847 \begin{verbatim} 848 fbmatchup.exe outputfile inputfile1 varname1 inputfile2 varname2 ... 849 \end{verbatim} 850 \end{alltt} 851 852 853 \subsubsection{fbprint} 854 855 The program fbprint will print the contents of a feedback file or files to standard output. 856 Selected information can be output using optional arguments. The program is called in the 857 following way: 858 859 \begin{alltt} 860 \footnotesize 861 \begin{verbatim} 862 fbprint.exe [options] inputfile 863 864 options: 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 886 The program fbsel will select or subsample observations. The program is called in the 887 following way: 888 889 \begin{alltt} 890 \footnotesize 891 \begin{verbatim} 892 fbsel.exe <input filename> <output filename> 893 \end{verbatim} 894 \end{alltt} 895 896 \subsubsection{fbstat} 897 898 The program fbstat will output summary statistics in different global areas into a number of 899 files. The program is called in the following way: 900 901 \begin{alltt} 902 \footnotesize 903 \begin{verbatim} 904 fbstat.exe [-nmlev] <filenames> 905 \end{verbatim} 906 \end{alltt} 907 908 \subsubsection{fbthin} 909 910 The program fbthin will thin the data to 1 degree resolution. The code could easily be 911 modified to thin to a different resolution. The program is called in the following way: 912 913 \begin{alltt} 914 \footnotesize 915 \begin{verbatim} 916 fbthin.exe inputfile outputfile 917 \end{verbatim} 918 \end{alltt} 919 920 \subsubsection{sla2fb} 921 922 The program sla2fb will convert an AVISO SLA format file to feedback format. The program is 923 called in the following way: 924 925 \begin{alltt} 926 \footnotesize 927 \begin{verbatim} 928 sla2fb.exe [-s type] outputfile inputfile1 inputfile2 ... 929 930 Option: 931 -s Select altimeter data_source 932 \end{verbatim} 933 \end{alltt} 934 935 \subsubsection{vel2fb} 936 937 The program vel2fb will convert TAO/PIRATA/RAMA currents files to feedback format. The program 938 is called in the following way: 939 940 \begin{alltt} 941 \footnotesize 942 \begin{verbatim} 943 vel2fb.exe outputfile inputfile1 inputfile2 ... 944 \end{verbatim} 945 \end{alltt} 946 947 \subsection{building the obstools} 948 949 To build the obstools use in the tools directory use ./maketools -n OBSTOOLS -m [ARCH]. 950 951 \subsection{Dataplot} 952 953 An IDL program called dataplot is included which uses a graphical interface to visualise 954 observations and feedback files. It is possible to zoom in, plot individual profiles and 955 calculate some basic statistics. To plot some data run IDL and then: 956 \begin{alltt} 957 \footnotesize 958 \begin{verbatim} 959 IDL> dataplot, "filename" 960 \end{verbatim} 961 \end{alltt} 962 963 To read multiple files into dataplot, for example multiple feedback files from different 964 processors or from different days, the easiest method is to use the spawn command to generate 965 a list of files which can then be passed to dataplot. 966 \begin{alltt} 967 \footnotesize 968 \begin{verbatim} 969 IDL> spawn, 'ls profb*.nc', files 970 IDL> dataplot, files 971 \end{verbatim} 972 \end{alltt} 973 974 Fig~\ref{fig:obsdataplotmain} shows the main window which is launched when dataplot starts. 975 This is split into three parts. At the top there is a menu bar which contains a variety of 976 drop down menus. Areas - zooms into prespecified regions; plot - plots the data as a 977 timeseries or a T-S diagram if appropriate; Find - allows data to be searched; Config - sets 978 various configuration options. 979 980 The middle part is a plot of the geographical location of the observations. This will plot the 981 observation value, the model background value or observation minus background value depending 982 on the option selected in the radio button at the bottom of the window. The plotting colour 983 range can be changed by clicking on the colour bar. The title of the plot gives some basic 984 information about the date range and depth range shown, the extreme values, and the mean and 985 rms values. It is possible to zoom in using a drag-box. You may also zoom in or out using the 986 mouse wheel. 987 988 The bottom part of the window controls what is visible in the plot above. There are two bars 989 which select the level range plotted (for profile data). The other bars below select the date 990 range shown. The bottom of the figure allows the option to plot the mean, root mean square, 991 standard deviation or mean square values. As mentioned above you can choose to plot the 992 observation value, the model background value or observation minus background value. The next 993 group of radio buttons selects the map projection. This can either be regular latitude 994 longitude grid, or north or south polar stereographic. The next group of radio buttons will 995 plot bad observations, switch to salinity and plot density for profile observations. The 996 rightmost group of buttons will print the plot window as a postscript, save it as png, or exit 997 from 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} 1004 Main window of dataplot.} 1005 \end{center} \end{figure} 1006 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1007 1008 If a profile point is clicked with the mouse button a plot of the observation and background 1009 values 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} 1016 Profile 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 641 641 \footnote{The \key{oasis4} exist. It activates portion of the code that are still under development.}. 642 642 It has been successfully used to interface \NEMO to most of the European atmospheric 643 GCM (ARPEGE, ECHAM, ECMWF, HadAM, LMDz),643 GCM (ARPEGE, ECHAM, ECMWF, HadAM, HadGAM, LMDz), 644 644 as well as to \href{http://wrf-model.org/}{WRF} (Weather Research and Forecasting Model). 645 645 … … 649 649 When PISCES biogeochemical model (\key{top} and \key{pisces}) is also used in the coupled system, 650 650 the 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. 651 CO$_2$ fluxes will be exchanged between the atmosphere and the ice-ocean system (and need to be activated 652 in namsbc{\_}cpl). 653 654 The new namelist above allows control of various aspects of the coupling fields (particularly for 655 vectors) and now allows for any coupling fields to have multiple sea ice categories (as required by LIM3 656 and CICE). When indicating a multi-category coupling field in namsbc{\_}cpl the number of categories will be 657 determined by the number used in the sea ice model. In some limited cases it may be possible to specify 658 single category coupling fields even when the sea ice model is running with multiple categories - in this 659 case the user should examine the code to be sure the assumptions made are satisfactory. In cases where 660 this is definitely not possible the model should abort with an error message. The new code has been tested using 661 ECHAM with LIM2, and HadGAM3 with CICE but although it will compile with \key{lim3} additional minor code changes 662 may be required to run using LIM3. 652 663 653 664 … … 1001 1012 ice-ocean fluxes, that are combined with the air-sea fluxes using the ice fraction of 1002 1013 each 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 ove writethe read value of nn{\_}ice to its appropriate1005 value ($i.e.$ $2$ for LIM-2 and $3$ for LIM-3).1014 sea-ice model is is done by defining a CPP key (\key{lim2}, \key{lim3} or \key{cice}). 1015 The activation automatically overwrites the read value of nn{\_}ice to its appropriate 1016 value ($i.e.$ $2$ for LIM-2, $3$ for LIM-3 or $4$ for CICE). 1006 1017 \end{description} 1007 1018 1008 1019 % {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 1025 It is now possible to couple a global NEMO configuration (without AGRIF) to the CICE sea-ice 1026 model 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, 1028 even with the latest code release. Input grid files consistent with those used in NEMO will also be needed, 1029 and CICE CPP keys \textbf{ORCA\_GRID}, \textbf{CICE\_IN\_NEMO} and \textbf{coupled} should be used (seek advice from UKMO 1030 if 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 1032 is coupled to the HadGAM3 atmosphere model (with \textit{calc\_strair~=~false} and \textit{calc\_Tsfc~=~false}). 1033 The code is intended to be used with \np{nn\_fsbc} set to 1 (although coupling ocean and ice less frequently 1034 should work, it is possible the calculation of some of the ocean-ice fluxes needs to be modified slightly - the 1035 user should check that results are not significantly different to the standard case). 1036 1037 There are two options for the technical coupling between NEMO and CICE. The standard version allows 1038 complete flexibility for the domain decompositions in the individual models, but this is at the expense of global 1039 gather and scatter operations in the coupling which become very expensive on larger numbers of processors. The 1040 alternative option (using \key{nemocice\_decomp} for both NEMO and CICE) ensures that the domain decomposition is 1041 identical 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 1043 much more efficient direct coupling on individual processors. This solution scales much better although it is at 1044 the expense of having more idle CICE processors in areas where there is no sea ice. 1045 1009 1046 1010 1047 % ------------------------------------------------------------------------------------------------------------- -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Chap_ZDF.tex
r3104 r3116 1 1 % ================================================================ 2 % Chapter ÑVertical Ocean Physics (ZDF)2 % Chapter Vertical Ocean Physics (ZDF) 3 3 % ================================================================ 4 4 \chapter{Vertical Ocean Physics (ZDF)} … … 563 563 the clipping factor is of crucial importance for the entrainment depth predicted in 564 564 stably 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 activated565 with the algebraic model for the turbulent fluxes. The clipping is only activated 566 566 if \np{ln\_length\_lim}=true, and the $c_{lim}$ is set to the \np{rn\_clim\_galp} value. 567 567 … … 1005 1005 reduced as necessary to ensure stability; these changes are not reported. 1006 1006 1007 Limits on the bottom friction coefficient are not imposed if the user has elected to 1008 handle the bottom friction implicitly (see \S\ref{ZDF_bfr_imp}). The number of potential 1009 breaches 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 1017 An optional implicit form of bottom friction has been implemented to improve 1018 model stability. We recommend this option for shelf sea and coastal ocean applications, especially 1019 for split-explicit time splitting. This option can be invoked by setting \np{ln\_bfrimp} 1020 to \textit{true} in the \textit{nambfr} namelist. This option requires \np{ln\_zdfexp} to be \textit{false} 1021 in the \textit{namzdf} namelist. 1022 1023 This implementation is realised in \mdl{dynzdf\_imp} and \mdl{dynspg\_ts}. In \mdl{dynzdf\_imp}, the 1024 bottom 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 1031 where $mbk$ is the layer number of the bottom wet layer. superscript $n+1$ means the velocity used in the 1032 friction formula is to be calculated, so, it is implicit. 1033 1034 If split-explicit time splitting is used, care must be taken to avoid the double counting of 1035 the bottom friction in the 2-D barotropic momentum equations. As NEMO only updates the barotropic 1036 pressure gradient and Coriolis' forcing terms in the 2-D barotropic calculation, we need to remove 1037 the bottom friction induced by these two terms which has been included in the 3-D momentum trend 1038 and update it with the latest value. On the other hand, the bottom friction contributed by the 1039 other terms (e.g. the advection term, viscosity term) has been included in the 3-D momentum equations 1040 and should not be added in the 2-D barotropic mode. 1041 1042 The implementation of the implicit bottom friction in \mdl{dynspg\_ts} is done in two steps as the 1043 following: 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)- 1052 2\Delta t_{bc}c_{b}\left(g\nabla\eta^{'}+f\textbf{k}\times\textbf{u}_{b}\right) 1053 \end{equation} 1054 1055 where $\textbf{T}$ is the vertical integrated 3-D momentum trend. We assume the leap-frog time-stepping 1056 is 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 1058 while $\eta^{'}$ is the sea surface level used in the 3-D baroclinic mode. $\textbf{u}_{b}$ is the bottom 1059 layer horizontal velocity. 1060 1061 1062 1063 1007 1064 % ------------------------------------------------------------------------------------------------------------- 1008 1065 % Bottom Friction with split-explicit time splitting 1009 1066 % ------------------------------------------------------------------------------------------------------------- 1010 \subsection{Bottom Friction with split-explicit time splitting }1067 \subsection{Bottom Friction with split-explicit time splitting (\np{ln\_bfrimp}$=$\textit{F})} 1011 1068 \label{ZDF_bfr_ts} 1012 1069 … … 1017 1074 {\key{dynspg\_flt}). Extra attention is required, however, when using 1018 1075 split-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 three1020 dimensional prognostic variables are solved with a longer time step that is a1021 multiple of \np{rn\_rdt}. The trend in the barotropic momentum due to bottom1076 equation is solved with a small time step \np{rn\_rdt}/\np{nn\_baro}, while the three 1077 dimensional prognostic variables are solved with the longer time step 1078 of \np{rn\_rdt} seconds. The trend in the barotropic momentum due to bottom 1022 1079 friction appropriate to this method is that given by the selected parameterisation 1023 1080 ($i.e.$ linear or non-linear bottom friction) computed with the evolving velocities … … 1042 1099 \end{enumerate} 1043 1100 1044 Note that the use of an implicit formulation 1101 Note that the use of an implicit formulation within the barotropic loop 1045 1102 for the bottom friction trend means that any limiting of the bottom friction coefficient 1046 1103 in \mdl{dynbfr} does not adversely affect the solution when using split-explicit time 1047 1104 splitting. 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: 1105 the barotropic component which uses the unrestricted value of the coefficient. However, if the 1106 limiting is thought to be having a major effect (a more likely prospect in coastal and shelf seas 1107 applications) then the fully implicit form of the bottom friction should be used (see \S\ref{ZDF_bfr_imp} ) 1108 which can be selected by setting \np{ln\_bfrimp} $=$ \textit{true}. 1109 1110 Otherwise, the implicit formulation takes the form: 1051 1111 \begin{equation} \label{Eq_zdfbfr_implicitts} 1052 1112 \bar{U}^{t+ \rdt} = \; \left [ \bar{U}^{t-\rdt}\; + 2 \rdt\;RHS \right ] / \left [ 1 - 2 \rdt \;c_b^{u} / H_e \right ] … … 1115 1175 The essential goal of the parameterization is to represent the momentum 1116 1176 exchange between the barotropic tides and the unrepresented internal waves 1117 induced by the tidal ßow over rough topography in a stratified ocean.1177 induced by the tidal flow over rough topography in a stratified ocean. 1118 1178 In the current version of \NEMO, the map is built from the output of 1119 1179 the barotropic global ocean tide model MOG2D-G \citep{Carrere_Lyard_GRL03}. -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Chapters/Introduction.tex
r2570 r3116 63 63 \citep{OASIS2006}. Two-way nesting is also available through an interface to the 64 64 AGRIF package (Adaptative Grid Refinement in \textsc{Fortran}) \citep{Debreu_al_CG2008}. 65 The interface code for coupling to an alternative sea ice model (CICE, \citet{Hunke2008}) is now 66 available although this is currently only designed for global domains, without the use of AGRIF. 65 67 66 68 Other model characteristics are the lateral boundary conditions (chapter~\ref{LBC}). -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Namelist/nambfr
r2540 r3116 9 9 ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) 10 10 rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) 11 ln_bfrimp = .false. ! implicit bottom friction (requires ln_zdfexp = .false. if true) 11 12 / -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Namelist/namdyn_hpg
r2540 r3116 5 5 ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) 6 6 ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) 7 ln_hpg_hel = .false. ! s-coordinate (helsinki modification)8 ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian)9 7 ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) 10 ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) 11 rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) 8 ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) 12 9 ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) 13 10 ! centered time scheme (F) -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Namelist/namobs_example
r2298 r3116 57 57 ln_s3d = .true. 58 58 ln_ena = .true. 59 enactfiles = ' profiles_01.nc'59 enactfiles = 'enact.1.nc' 60 60 ln_grid_global = .true. 61 61 ln_grid_search_lookup = .true. -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Namelist/namsbc_cpl
r2540 r3116 2 2 &namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") 3 3 !----------------------------------------------------------------------- 4 ! ! send 5 cn_snd_temperature= 'weighted oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' 6 cn_snd_albedo = 'weighted ice' ! 'none' 'weighted ice' 'mixed oce-ice' 7 cn_snd_thickness = 'none' ! 'none' 'weighted ice and snow' 8 cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' 9 cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' 10 cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' 11 cn_snd_crt_grid = 'T' ! 'T' 12 ! ! receive 13 cn_rcv_w10m = 'none' ! 'none' 'coupled' 14 cn_rcv_taumod = 'coupled' ! 'none' 'coupled' 15 cn_rcv_tau_nature = 'oce only' ! 'oce only' 'oce and ice' 'mixed oce-ice' 16 cn_rcv_tau_refere = 'cartesian' ! 'spherical' 'cartesian' 17 cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' 18 cn_rcv_tau_grid = 'U,V' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' 19 cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' 20 cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' 21 cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' 22 cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' 23 cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' 24 cn_rcv_cal = 'coupled' ! 'none' 'coupled' 4 ! ! description ! multiple ! vector ! vector ! vector ! 5 ! ! ! categories ! reference ! orientation ! grids ! 6 ! send 7 sn_snd_temp = 'weighted oce and ice' , 'no' , '' , '' , '' 8 sn_snd_alb = 'weighted ice' , 'no' , '' , '' , '' 9 sn_snd_thick = 'none' , 'no' , '' , '' , '' 10 sn_snd_crt = 'none' , 'no' , 'spherical' , 'eastward-northward' , 'T' 11 sn_snd_co2 = 'coupled' , 'no' , '' , '' , '' 12 ! receive 13 sn_rcv_w10m = 'none' , 'no' , '' , '' , '' 14 sn_rcv_taumod = 'coupled' , 'no' , '' , '' , '' 15 sn_rcv_tau = 'oce only' , 'no' , 'cartesian' , 'eastward-northward', 'U,V' 16 sn_rcv_dqnsdt = 'coupled' , 'no' , '' , '' , '' 17 sn_rcv_qsr = 'oce and ice' , 'no' , '' , '' , '' 18 sn_rcv_qns = 'oce and ice' , 'no' , '' , '' , '' 19 sn_rcv_emp = 'conservative' , 'no' , '' , '' , '' 20 sn_rcv_rnf = 'coupled' , 'no' , '' , '' , '' 21 sn_rcv_cal = 'coupled' , 'no' , '' , '' , '' 22 sn_rcv_co2 = 'coupled' , 'no' , '' , '' , '' 25 23 / -
branches/2011/dev_NEMO_MERGE_2011/DOC/TexFiles/Namelist/namtra_ldf
r2540 r3116 9 9 ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) 10 10 ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") 11 ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE 12 ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE 11 ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") 12 ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") 13 ln_triad_iso = .false. ! griffies operator calculates triads twice => pure lateral mixing in ML (require "key_ldfslp") 14 ln_botmix_grif = .false. ! griffies operator with lateral mixing on bottom (require "key_ldfslp") 13 15 ! ! Coefficient 14 16 rn_aht_0 = 2000. ! horizontal eddy diffusivity for tracers [m2/s]
Note: See TracChangeset
for help on using the changeset viewer.