- Timestamp:
- 2019-10-25T16:27:34+02:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc
-
Property
svn:externals
set to
^/utils/badges badges
^/utils/logos logos
-
Property
svn:externals
set to
-
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex
- Property svn:ignore deleted
-
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO
-
Property
svn:externals
set to
^/utils/figures/NEMO figures
-
Property
svn:externals
set to
-
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles
- Property svn:ignore
-
old new 1 *.aux 2 *.bbl 3 *.blg 4 *.dvi 5 *.fdb* 6 *.fls 7 *.idx 1 *.ind 8 2 *.ilg 9 *.ind10 *.log11 *.maf12 *.mtc*13 *.out14 *.pdf15 *.toc16 _minted-*
-
- Property svn:ignore
-
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_DIA.tex
r11435 r11799 2 2 3 3 \begin{document} 4 % ================================================================ 5 % Chapter I/O & Diagnostics 6 % ================================================================ 4 7 5 \chapter{Output and Diagnostics (IOM, DIA, TRD, FLO)} 8 6 \label{chap:DIA} 9 7 8 % {\em 4.0} & {\em Mirek Andrejczuk, Massimiliano Drudi} & {\em } \\ 9 % {\em } & {\em Dorotea Iovino, Nicolas Martin} & {\em } \\ 10 % {\em 3.6} & {\em Gurvan Madec, Sebastien Masson } & {\em } \\ 11 % {\em 3.4} & {\em Gurvan Madec, Rachid Benshila, Andrew Coward } & {\em } \\ 12 % {\em } & {\em Christian Ethe, Sebastien Masson } & {\em } \\ 13 14 \thispagestyle{plain} 15 10 16 \chaptertoc 11 17 12 \vfill 13 \begin{figure}[b] 14 \subsubsection*{Changes record} 15 \begin{tabular}{l||l|m{0.65\linewidth}} 16 Release & Author & Modifications \\ 17 {\em 4.0} & {\em Mirek Andrejczuk, Massimiliano Drudi} & {\em } \\ 18 {\em } & {\em Dorotea Iovino, Nicolas Martin} & {\em } \\ 19 {\em 3.6} & {\em Gurvan Madec, Sebastien Masson } & {\em } \\ 20 {\em 3.4} & {\em Gurvan Madec, Rachid Benshila, Andrew Coward } & {\em } \\ 21 {\em } & {\em Christian Ethe, Sebastien Masson } & {\em } \\ 22 \end{tabular} 23 \end{figure} 24 25 \newpage 26 27 % ================================================================ 28 % Old Model Output 29 % ================================================================ 18 \paragraph{Changes record} ~\\ 19 20 {\footnotesize 21 \begin{tabularx}{\textwidth}{l||X|X} 22 Release & Author(s) & Modifications \\ 23 \hline 24 {\em 4.0} & {\em ...} & {\em ...} \\ 25 {\em 3.6} & {\em ...} & {\em ...} \\ 26 {\em 3.4} & {\em ...} & {\em ...} \\ 27 {\em <=3.4} & {\em ...} & {\em ...} 28 \end{tabularx} 29 } 30 31 \clearpage 32 33 %% ================================================================================================= 30 34 \section{Model output} 31 35 \label{sec:DIA_io_old} … … 53 57 %\gmcomment{ % start of gmcomment 54 58 55 % ================================================================ 56 % Diagnostics 57 % ================================================================ 59 %% ================================================================================================= 58 60 \section{Standard model output (IOM)} 59 61 \label{sec:DIA_iom} … … 64 66 65 67 \begin{enumerate} 66 \item 67 The complete and flexible control of the output files through external XML files adapted by 68 \item The complete and flexible control of the output files through external XML files adapted by 68 69 the user from standard templates. 69 \item 70 To achieve high performance and scalable output through the optional distribution of 70 \item To achieve high performance and scalable output through the optional distribution of 71 71 all diagnostic output related tasks to dedicated processes. 72 72 \end{enumerate} … … 76 76 77 77 \begin{itemize} 78 \item 79 The choice of output frequencies that can be different for each file (including real months and years). 80 \item 81 The choice of file contents; includes complete flexibility over which data are written in which files 78 \item The choice of output frequencies that can be different for each file (including real months and years). 79 \item The choice of file contents; includes complete flexibility over which data are written in which files 82 80 (the same data can be written in different files). 83 \item 84 The possibility to split output files at a chosen frequency. 85 \item 86 The possibility to extract a vertical or an horizontal subdomain. 87 \item 88 The choice of the temporal operation to perform, \eg: average, accumulate, instantaneous, min, max and once. 89 \item 90 Control over metadata via a large XML "database" of possible output fields. 81 \item The possibility to split output files at a chosen frequency. 82 \item The possibility to extract a vertical or an horizontal subdomain. 83 \item The choice of the temporal operation to perform, \eg: average, accumulate, instantaneous, min, max and once. 84 \item Control over metadata via a large XML "database" of possible output fields. 91 85 \end{itemize} 92 86 … … 122 116 even without a parallel-enabled NetCDF4 library, simply by employing only one dedicated I/O server. 123 117 118 %% ================================================================================================= 124 119 \subsection{XIOS: Reading and writing restart file} 125 120 126 121 XIOS may be used to read single file restart produced by \NEMO. Currently only the variables written to 127 file \forcode{numror} can be handled by XIOS. To activate restart reading using XIOS, set \np {ln\_xios\_read}\forcode{ = .true.}122 file \forcode{numror} can be handled by XIOS. To activate restart reading using XIOS, set \np[=.true. ]{ln_xios_read}{ln\_xios\_read} 128 123 in \textit{namelist\_cfg}. This setting will be ignored when multiple restart files are present, and default \NEMO 129 124 functionality will be used for reading. There is no need to change iodef.xml file to use XIOS to read … … 140 135 dimension \forcode{z} defined in restart file must be renamed to \forcode{nav_lev}.\\ 141 136 142 XIOS can also be used to write \NEMO\ restart. A namelist parameter \np{nn \_wxios} is used to determine the137 XIOS can also be used to write \NEMO\ restart. A namelist parameter \np{nn_wxios}{nn\_wxios} is used to determine the 143 138 type of restart \NEMO\ will write. If it is set to 0, default \NEMO\ functionality will be used - each 144 139 processor writes its own restart file; if it is set to 1 XIOS will write restart into a single file; 145 for \np {nn\_wxios}\forcode{ = 2} the restart will be written by XIOS into multiple files, one for each XIOS server.146 Note, however, that \textbf{\NEMO\ will not read restart generated by XIOS when \np {nn\_wxios}\forcode{ = 2}}. The restart will140 for \np[=2]{nn_wxios}{nn\_wxios} the restart will be written by XIOS into multiple files, one for each XIOS server. 141 Note, however, that \textbf{\NEMO\ will not read restart generated by XIOS when \np[=2]{nn_wxios}{nn\_wxios}}. The restart will 147 142 have to be rebuild before continuing the run. This option aims to reduce number of restart files generated by \NEMO\ only, 148 143 and may be useful when there is a need to change number of processors used to run simulation. 149 144 150 145 If an additional variable must be written to a restart file, the following steps are needed: 151 \begin{ description}152 \item[step 1:] add variable name to a list of restart variables (in subroutine \rou{iom\_set\_rst\_vars,} \mdl{iom}) and146 \begin{enumerate} 147 \item Add variable name to a list of restart variables (in subroutine \rou{iom\_set\_rst\_vars,} \mdl{iom}) and 153 148 define correct grid for the variable (\forcode{grid_N_3D} - 3D variable, \forcode{grid_N} - 2D variable, \forcode{grid_vector} - 154 149 1D variable, \forcode{grid_scalar} - scalar), 155 \item[step 2:] add variable to the list of fields written by restart. This can be done either in subroutine150 \item Add variable to the list of fields written by restart. This can be done either in subroutine 156 151 \rou{iom\_set\_rstw\_core} (\mdl{iom}) or by calling \rou{iom\_set\_rstw\_active} (\mdl{iom}) with the name of a variable 157 152 as an argument. This convention follows approach for writing restart using iom, where variables are 158 153 written either by \rou{rst\_write} or by calling \rou{iom\_rstput} from individual routines. 159 \end{description} 160 154 \end{enumerate} 161 155 162 156 An older versions of XIOS do not support reading functionality. It's recommended to use at least XIOS2@1451. 163 157 164 158 %% ================================================================================================= 165 159 \subsection{XIOS: XML Inputs-Outputs Server} 166 160 161 %% ================================================================================================= 167 162 \subsubsection{Attached or detached mode?} 168 163 … … 174 169 \xmlline|<variable id="using_server" type="bool"></variable>| 175 170 176 The {\ttfamily using\_server} setting determines whether or not the server will be used in \textit{attached mode} 177 (as a library) [{\ttfamily> false <}] or in \textit{detached mode} 178 (as an external executable on N additional, dedicated cpus) [{\ttfamily > true <}]. 179 The \textit{attached mode} is simpler to use but much less efficient for massively parallel applications. 171 The \texttt{using\_server} setting determines whether or not the server will be used in 172 \textit{attached mode} 173 (as a library) [\texttt{> false <}] or in \textit{detached mode} 174 (as an external executable on N additional, dedicated cpus) [\texttt{ > true <}]. 175 The \textit{attached mode} is simpler to use but much less efficient for 176 massively parallel applications. 180 177 The type of each file can be either ''multiple\_file'' or ''one\_file''. 181 178 … … 197 194 The following subsection provides a typical example but the syntax will vary in different MPP environments. 198 195 196 %% ================================================================================================= 199 197 \subsubsection{Number of cpu used by XIOS in detached mode} 200 198 … … 211 209 \cmd|mpirun -np 62 ./nemo.exe : -np 2 ./xios_server.exe| 212 210 211 %% ================================================================================================= 213 212 \subsubsection{Control of XIOS: the context in iodef.xml} 214 213 … … 218 217 219 218 \begin{table} 220 \scriptsize221 219 \begin{tabularx}{\textwidth}{|lXl|} 222 220 \hline … … 257 255 \end{table} 258 256 257 %% ================================================================================================= 259 258 \subsection{Practical issues} 260 259 260 %% ================================================================================================= 261 261 \subsubsection{Installation} 262 262 … … 267 267 {Extract and install XIOS} guide provides an example illustration of how this can be achieved. 268 268 269 %% ================================================================================================= 269 270 \subsubsection{Add your own outputs} 270 271 … … 275 276 276 277 \begin{enumerate} 277 \item[1.] 278 in \NEMO\ code, add a \forcode{CALL iom_put( 'identifier', array )} where you want to output a 2D or 3D array. 279 \item[2.] 280 If necessary, add \forcode{USE iom ! I/O manager library} to the list of used modules in 278 \item in \NEMO\ code, add a \forcode{CALL iom_put( 'identifier', array )} where you want to output a 2D or 3D array. 279 \item If necessary, add \forcode{USE iom ! I/O manager library} to the list of used modules in 281 280 the upper part of your module. 282 \item[3.] 283 in the field\_def.xml file, add the definition of your variable using the same identifier you used in the f90 code 281 \item in the field\_def.xml file, add the definition of your variable using the same identifier you used in the f90 code 284 282 (see subsequent sections for a details of the XML syntax and rules). 285 283 For example: 286 287 284 \begin{xmllines} 288 285 <field_definition> … … 293 290 </field_definition> 294 291 \end{xmllines} 295 296 292 Note your definition must be added to the field\_group whose reference grid is consistent with the size of 297 293 the array passed to iomput. … … 300 296 (iom\_set\_domain\_attr and iom\_set\_axis\_attr in \mdl{iom}) or defined in the domain\_def.xml file. 301 297 \eg: 302 303 298 \begin{xmllines} 304 299 <grid id="grid_T_3D" domain_ref="grid_T" axis_ref="deptht"/> 305 300 \end{xmllines} 306 307 Note, if your array is computed within the surface module each \np{nn\_fsbc} time\_step, 301 Note, if your array is computed within the surface module each \np{nn_fsbc}{nn\_fsbc} time\_step, 308 302 add the field definition within the field\_group defined with the id "SBC": 309 303 \xmlcode{<field_group id="SBC" ...>} which has been defined with the correct frequency of operations 310 304 (iom\_set\_field\_attr in \mdl{iom}) 311 \item[4.] 312 add your field in one of the output files defined in iodef.xml 305 \item add your field in one of the output files defined in iodef.xml 313 306 (again see subsequent sections for syntax and rules) 314 315 307 \begin{xmllines} 316 308 <file id="file1" .../> … … 320 312 </file> 321 313 \end{xmllines} 322 323 314 \end{enumerate} 324 315 316 %% ================================================================================================= 325 317 \subsection{XML fundamentals} 326 318 319 %% ================================================================================================= 327 320 \subsubsection{ XML basic rules} 328 321 … … 334 327 See \href{http://www.xmlnews.org/docs/xml-basics.html}{here} for more details. 335 328 329 %% ================================================================================================= 336 330 \subsubsection{Structure of the XML file used in \NEMO} 337 331 … … 341 335 342 336 \begin{table} 343 \scriptsize344 337 \begin{tabular*}{\textwidth}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 345 338 \hline … … 373 366 374 367 \begin{table} 375 \scriptsize376 368 \begin{tabular}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 377 369 \hline … … 398 390 399 391 \begin{table} 400 \scriptsize401 392 \begin{tabular}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 402 393 \hline … … 418 409 419 410 \begin{table} 420 \scriptsize421 411 \begin{tabular}{|p{0.15\textwidth}p{0.4\textwidth}p{0.35\textwidth}|} 422 412 \hline … … 443 433 \end{table} 444 434 435 %% ================================================================================================= 445 436 \subsubsection{Nesting XML files} 446 437 … … 459 450 \end{xmllines} 460 451 452 %% ================================================================================================= 461 453 \subsubsection{Use of inheritance} 462 454 … … 499 491 Inherit (and overwrite, if needed) the attributes of a tag you are refering to. 500 492 493 %% ================================================================================================= 501 494 \subsubsection{Use of groups} 502 495 … … 540 533 \end{xmllines} 541 534 535 %% ================================================================================================= 542 536 \subsection{Detailed functionalities} 543 537 … … 545 539 the new functionalities offered by the XML interface of XIOS. 546 540 541 %% ================================================================================================= 547 542 \subsubsection{Define horizontal subdomains} 548 543 … … 586 581 We are therefore advising to use the ''one\_file'' type in this case. 587 582 583 %% ================================================================================================= 588 584 \subsubsection{Define vertical zooms} 589 585 … … 609 605 \end{xmllines} 610 606 607 %% ================================================================================================= 611 608 \subsubsection{Control of the output file names} 612 609 … … 634 631 635 632 \begin{table} 636 \scriptsize637 633 \begin{tabularx}{\textwidth}{|lX|} 638 634 \hline … … 682 678 \noindent will give the following file name radical: \ifile{myfile\_ORCA2\_19891231\_freq1d} 683 679 680 %% ================================================================================================= 684 681 \subsubsection{Other controls of the XML attributes from \NEMO} 685 682 … … 695 692 696 693 \begin{table} 697 \scriptsize 698 \begin{tabularx}{\textwidth}{|X|c|c|c|} 694 \begin{tabular}{|l|c|c|} 699 695 \hline 700 696 tag ids affected by automatic definition of some of their attributes & 701 697 name attribute & 702 attribute value \\698 attribute value \\ 703 699 \hline 704 700 \hline 705 701 field\_definition & 706 702 freq\_op & 707 \np{rn \_rdt}\\703 \np{rn_rdt}{rn\_rdt} \\ 708 704 \hline 709 705 SBC & 710 706 freq\_op & 711 \np{rn \_rdt} $\times$ \np{nn\_fsbc}\\707 \np{rn_rdt}{rn\_rdt} $\times$ \np{nn_fsbc}{nn\_fsbc} \\ 712 708 \hline 713 709 ptrc\_T & 714 710 freq\_op & 715 \np{rn \_rdt} $\times$ \np{nn\_dttrc}\\711 \np{rn_rdt}{rn\_rdt} $\times$ \np{nn_dttrc}{nn\_dttrc} \\ 716 712 \hline 717 713 diad\_T & 718 714 freq\_op & 719 \np{rn \_rdt} $\times$ \np{nn\_dttrc}\\715 \np{rn_rdt}{rn\_rdt} $\times$ \np{nn_dttrc}{nn\_dttrc} \\ 720 716 \hline 721 717 EqT, EqU, EqW & 722 718 jbegin, ni, & 723 according to the grid \\724 &719 according to the grid \\ 720 & 725 721 name\_suffix & 726 \\722 \\ 727 723 \hline 728 724 TAO, RAMA and PIRATA moorings & 729 725 zoom\_ibegin, zoom\_jbegin, & 730 according to the grid \\731 &726 according to the grid \\ 727 & 732 728 name\_suffix & 733 \\734 \hline 735 \end{tabular x}729 \\ 730 \hline 731 \end{tabular} 736 732 \end{table} 737 733 734 %% ================================================================================================= 738 735 \subsubsection{Advanced use of XIOS functionalities} 739 736 737 %% ================================================================================================= 740 738 \subsection{XML reference tables} 741 \label{subsec: IOM_xmlref}739 \label{subsec:DIA_IOM_xmlref} 742 740 743 741 \begin{enumerate} 744 \item 745 Simple computation: directly define the computation when refering to the variable in the file definition. 742 \item Simple computation: directly define the computation when refering to the variable in the file definition. 746 743 747 744 \begin{xmllines} … … 751 748 \end{xmllines} 752 749 753 \item 754 Simple computation: define a new variable and use it in the file definition. 750 \item Simple computation: define a new variable and use it in the file definition. 755 751 756 752 in field\_definition: … … 769 765 sst2 won't be evaluated. 770 766 771 \item 772 Change of variable precision: 767 \item Change of variable precision: 773 768 774 769 \begin{xmllines} … … 783 778 Forcing double precision outputs with prec="8" (for example in the field\_definition) will avoid this problem. 784 779 785 \item 786 add user defined attributes: 780 \item add user defined attributes: 787 781 788 782 \begin{xmllines} … … 799 793 \end{xmllines} 800 794 801 \item 802 use of the ``@'' function: example 1, weighted temporal average 795 \item use of the ``@'' function: example 1, weighted temporal average 803 796 804 797 - define a new variable in field\_definition … … 828 821 Note that in this case, freq\_op must be equal to the file output\_freq. 829 822 830 \item 831 use of the ``@'' function: example 2, monthly SSH standard deviation 823 \item use of the ``@'' function: example 2, monthly SSH standard deviation 832 824 833 825 - define a new variable in field\_definition … … 859 851 Note that in this case, freq\_op must be equal to the file output\_freq. 860 852 861 \item 862 use of the ``@'' function: example 3, monthly average of SST diurnal cycle 853 \item use of the ``@'' function: example 3, monthly average of SST diurnal cycle 863 854 864 855 - define 2 new variables in field\_definition … … 891 882 field\_ref="sst" means that attributes not explicitely defined, are inherited from sst field. 892 883 884 %% ================================================================================================= 893 885 \subsubsection{Tag list per family} 894 886 895 887 \begin{table} 896 \scriptsize897 888 \begin{tabularx}{\textwidth}{|l|X|X|l|X|} 898 889 \hline … … 917 908 \hline 918 909 \end{tabularx} 919 \caption{ Context tags}910 \caption{XIOS: context tags} 920 911 \end{table} 921 912 922 913 \begin{table} 923 \scriptsize924 914 \begin{tabularx}{\textwidth}{|l|X|X|X|l|} 925 915 \hline … … 952 942 \hline 953 943 \end{tabularx} 954 \caption{ Field tags ("\ttfamily{field\_*}")}944 \caption{XIOS: field tags ("\texttt{field\_*}")} 955 945 \end{table} 956 946 957 947 \begin{table} 958 \scriptsize959 948 \begin{tabularx}{\textwidth}{|l|X|X|X|l|} 960 949 \hline … … 988 977 \hline 989 978 \end{tabularx} 990 \caption{ File tags ("\ttfamily{file\_*}")}979 \caption{XIOS: file tags ("\texttt{file\_*}")} 991 980 \end{table} 992 981 993 982 \begin{table} 994 \scriptsize995 983 \begin{tabularx}{\textwidth}{|l|X|X|X|X|} 996 984 \hline … … 1021 1009 \hline 1022 1010 \end{tabularx} 1023 \caption{ Axis tags ("\ttfamily{axis\_*}")}1011 \caption{XIOS: axis tags ("\texttt{axis\_*}")} 1024 1012 \end{table} 1025 1013 1026 1014 \begin{table} 1027 \scriptsize1028 1015 \begin{tabularx}{\textwidth}{|l|X|X|X|X|} 1029 1016 \hline … … 1054 1041 \hline 1055 1042 \end{tabularx} 1056 \caption{ Domain tags ("\ttfamily{domain\_*)}"}1043 \caption{XIOS: domain tags ("\texttt{domain\_*)}"} 1057 1044 \end{table} 1058 1045 1059 1046 \begin{table} 1060 \scriptsize1061 1047 \begin{tabularx}{\textwidth}{|l|X|X|X|X|} 1062 1048 \hline … … 1087 1073 \hline 1088 1074 \end{tabularx} 1089 \caption{ Grid tags ("\ttfamily{grid\_*}")}1075 \caption{XIOS: grid tags ("\texttt{grid\_*}")} 1090 1076 \end{table} 1091 1077 1078 %% ================================================================================================= 1092 1079 \subsubsection{Attributes list per family} 1093 1080 1094 1081 \begin{table} 1095 \scriptsize1096 1082 \begin{tabularx}{\textwidth}{|l|X|l|l|} 1097 1083 \hline … … 1128 1114 \hline 1129 1115 \end{tabularx} 1130 \caption{ Reference attributes ("\ttfamily{*\_ref}")}1116 \caption{XIOS: reference attributes ("\texttt{*\_ref}")} 1131 1117 \end{table} 1132 1118 1133 1119 \begin{table} 1134 \scriptsize1135 1120 \begin{tabularx}{\textwidth}{|l|X|l|l|} 1136 1121 \hline … … 1164 1149 \hline 1165 1150 \end{tabularx} 1166 \caption{ Domain attributes ("\ttfamily{zoom\_*}")}1151 \caption{XIOS: domain attributes ("\texttt{zoom\_*}")} 1167 1152 \end{table} 1168 1153 1169 1154 \begin{table} 1170 \scriptsize1171 1155 \begin{tabularx}{\textwidth}{|l|X|l|l|} 1172 1156 \hline … … 1219 1203 \hline 1220 1204 \end{tabularx} 1221 \caption{ File attributes}1205 \caption{XIOS: file attributes} 1222 1206 \end{table} 1223 1207 1224 1208 \begin{table} 1225 \scriptsize1226 1209 \begin{tabularx}{\textwidth}{|l|X|l|l|} 1227 1210 \hline … … 1268 1251 \hline 1269 1252 \end{tabularx} 1270 \caption{ Field attributes}1253 \caption{XIOS: field attributes} 1271 1254 \end{table} 1272 1255 1273 1256 \begin{table} 1274 \scriptsize1275 1257 \begin{tabularx}{\textwidth}{|l|X|X|X|} 1276 1258 \hline … … 1327 1309 \hline 1328 1310 \end{tabularx} 1329 \caption{ Miscellaneous attributes}1311 \caption{XIOS: miscellaneous attributes} 1330 1312 \end{table} 1331 1313 1314 %% ================================================================================================= 1332 1315 \subsection{CF metadata standard compliance} 1333 1316 … … 1336 1319 the CF metadata standard. 1337 1320 Therefore while a user may wish to add their own metadata to the output files (as demonstrated in example 4 of 1338 section \autoref{subsec: IOM_xmlref}) the metadata should, for the most part, comply with the CF-1.5 standard.1321 section \autoref{subsec:DIA_IOM_xmlref}) the metadata should, for the most part, comply with the CF-1.5 standard. 1339 1322 1340 1323 Some metadata that may significantly increase the file size (horizontal cell areas and vertices) are controlled by 1341 the namelist parameter \np{ln \_cfmeta} in the \nam{run} namelist.1324 the namelist parameter \np{ln_cfmeta}{ln\_cfmeta} in the \nam{run}{run} namelist. 1342 1325 This must be set to true if these metadata are to be included in the output files. 1343 1326 1344 1345 % ================================================================ 1346 % NetCDF4 support 1347 % ================================================================ 1348 \section[NetCDF4 support (\texttt{\textbf{key\_netcdf4}})] 1349 {NetCDF4 support (\protect\key{netcdf4})} 1327 %% ================================================================================================= 1328 \section[NetCDF4 support (\texttt{\textbf{key\_netcdf4}})]{NetCDF4 support (\protect\key{netcdf4})} 1350 1329 \label{sec:DIA_nc4} 1351 1330 … … 1362 1341 most analysis codes can be relinked simply with the new libraries and will then read both NetCDF3 and NetCDF4 files. 1363 1342 \NEMO\ executables linked with NetCDF4 libraries can be made to produce NetCDF3 files by 1364 setting the \np{ln\_nc4zip} logical to false in the \nam{nc4} namelist: 1365 1366 %------------------------------------------namnc4---------------------------------------------------- 1367 1368 \nlst{namnc4} 1369 %------------------------------------------------------------------------------------------------------------- 1343 setting the \np{ln_nc4zip}{ln\_nc4zip} logical to false in the \nam{nc4}{nc4} namelist: 1344 1345 \begin{listing} 1346 \nlst{namnc4} 1347 \caption{\forcode{&namnc4}} 1348 \label{lst:namnc4} 1349 \end{listing} 1370 1350 1371 1351 If \key{netcdf4} has not been defined, these namelist parameters are not read. 1372 In this case, \np{ln \_nc4zip} is set false and dummy routines for a few NetCDF4-specific functions are defined.1352 In this case, \np{ln_nc4zip}{ln\_nc4zip} is set false and dummy routines for a few NetCDF4-specific functions are defined. 1373 1353 These functions will not be used but need to be included so that compilation is possible with NetCDF3 libraries. 1374 1354 … … 1404 1384 \end{forlines} 1405 1385 1406 \noindent for a standard ORCA2\_LIM configuration gives chunksizes of {\small\t tfamily46x38x1} respectively in1407 the mono-processor case (\ie\ global domain of {\small\t tfamily182x149x31}).1386 \noindent for a standard ORCA2\_LIM configuration gives chunksizes of {\small\texttt 46x38x1} respectively in 1387 the mono-processor case (\ie\ global domain of {\small\texttt 182x149x31}). 1408 1388 An illustration of the potential space savings that NetCDF4 chunking and compression provides is given in 1409 table \autoref{tab: NC4} which compares the results of two short runs of the ORCA2\_LIM reference configuration with1389 table \autoref{tab:DIA_NC4} which compares the results of two short runs of the ORCA2\_LIM reference configuration with 1410 1390 a 4x2 mpi partitioning. 1411 1391 Note the variation in the compression ratio achieved which reflects chiefly the dry to wet volume ratio of 1412 1392 each processing region. 1413 1393 1414 %------------------------------------------TABLE----------------------------------------------------1415 1394 \begin{table} 1416 \scriptsize1417 1395 \centering 1418 1396 \begin{tabular}{lrrr} … … 1446 1424 ORCA2\_2d\_grid\_W\_0007.nc & 4416 & 1368 & 70\% \\ 1447 1425 \end{tabular} 1448 \caption{ 1449 \protect\label{tab:NC4} 1450 Filesize comparison between NetCDF3 and NetCDF4 with chunking and compression 1451 } 1426 \caption{Filesize comparison between NetCDF3 and NetCDF4 with chunking and compression} 1427 \label{tab:DIA_NC4} 1452 1428 \end{table} 1453 %----------------------------------------------------------------------------------------------------1454 1429 1455 1430 When \key{iomput} is activated with \key{netcdf4} chunking and compression parameters for fields produced via 1456 \rou{iom\_put} calls are set via an equivalent and identically named namelist to \nam{nc4} in1431 \rou{iom\_put} calls are set via an equivalent and identically named namelist to \nam{nc4}{nc4} in 1457 1432 \textit{xmlio\_server.def}. 1458 Typically this namelist serves the mean files whilst the \nam{nc4} in the main namelist file continues to1433 Typically this namelist serves the mean files whilst the \nam{nc4}{nc4} in the main namelist file continues to 1459 1434 serve the restart files. 1460 1435 This duplication is unfortunate but appropriate since, if using io\_servers, the domain sizes of … … 1462 1437 the invidual processing regions and different chunking choices may be desired. 1463 1438 1464 % ------------------------------------------------------------------------------------------------------------- 1465 % Tracer/Dynamics Trends 1466 % ------------------------------------------------------------------------------------------------------------- 1467 \section[Tracer/Dynamics trends (\texttt{namtrd})] 1468 {Tracer/Dynamics trends (\protect\nam{trd})} 1439 %% ================================================================================================= 1440 \section[Tracer/Dynamics trends (\forcode{&namtrd})]{Tracer/Dynamics trends (\protect\nam{trd}{trd})} 1469 1441 \label{sec:DIA_trd} 1470 1442 1471 %------------------------------------------namtrd---------------------------------------------------- 1472 1473 \nlst{namtrd} 1474 %------------------------------------------------------------------------------------------------------------- 1443 \begin{listing} 1444 \nlst{namtrd} 1445 \caption{\forcode{&namtrd}} 1446 \label{lst:namtrd} 1447 \end{listing} 1475 1448 1476 1449 Each trend of the dynamics and/or temperature and salinity time evolution equations can be send to 1477 1450 \mdl{trddyn} and/or \mdl{trdtra} modules (see TRD directory) just after their computation 1478 1451 (\ie\ at the end of each \textit{dyn....F90} and/or \textit{tra....F90} routines). 1479 This capability is controlled by options offered in \nam{trd} namelist.1452 This capability is controlled by options offered in \nam{trd}{trd} namelist. 1480 1453 Note that the output are done with XIOS, and therefore the \key{iomput} is required. 1481 1454 1482 What is done depends on the \nam{trd} logical set to \forcode{.true.}:1455 What is done depends on the \nam{trd}{trd} logical set to \forcode{.true.}: 1483 1456 1484 1457 \begin{description} 1485 \item[\np{ln\_glo\_trd}]: 1486 at each \np{nn\_trd} time-step a check of the basin averaged properties of 1458 \item [{\np{ln_glo_trd}{ln\_glo\_trd}}]: at each \np{nn_trd}{nn\_trd} time-step a check of the basin averaged properties of 1487 1459 the momentum and tracer equations is performed. 1488 1460 This also includes a check of $T^2$, $S^2$, $\tfrac{1}{2} (u^2+v2)$, 1489 1461 and potential energy time evolution equations properties; 1490 \item[\np{ln\_dyn\_trd}]: 1491 each 3D trend of the evolution of the two momentum components is output; 1492 \item[\np{ln\_dyn\_mxl}]: 1493 each 3D trend of the evolution of the two momentum components averaged over the mixed layer is output; 1494 \item[\np{ln\_vor\_trd}]: 1495 a vertical summation of the moment tendencies is performed, 1462 \item [{\np{ln_dyn_trd}{ln\_dyn\_trd}}]: each 3D trend of the evolution of the two momentum components is output; 1463 \item [{\np{ln_dyn_mxl}{ln\_dyn\_mxl}}]: each 3D trend of the evolution of the two momentum components averaged over the mixed layer is output; 1464 \item [{\np{ln_vor_trd}{ln\_vor\_trd}}]: a vertical summation of the moment tendencies is performed, 1496 1465 then the curl is computed to obtain the barotropic vorticity tendencies which are output; 1497 \item[\np{ln\_KE\_trd}] : 1498 each 3D trend of the Kinetic Energy equation is output; 1499 \item[\np{ln\_tra\_trd}]: 1500 each 3D trend of the evolution of temperature and salinity is output; 1501 \item[\np{ln\_tra\_mxl}]: 1502 each 2D trend of the evolution of temperature and salinity averaged over the mixed layer is output; 1466 \item [{\np{ln_KE_trd}{ln\_KE\_trd}}] : each 3D trend of the Kinetic Energy equation is output; 1467 \item [{\np{ln_tra_trd}{ln\_tra\_trd}}]: each 3D trend of the evolution of temperature and salinity is output; 1468 \item [{\np{ln_tra_mxl}{ln\_tra\_mxl}}]: each 2D trend of the evolution of temperature and salinity averaged over the mixed layer is output; 1503 1469 \end{description} 1504 1470 … … 1507 1473 1508 1474 \textbf{Note that} in the current version (v3.6), many changes has been introduced but not fully tested. 1509 In particular, options associated with \np{ln\_dyn\_mxl}, \np{ln\_vor\_trd}, and \np{ln\_tra\_mxl} are not working, 1510 and none of the options have been tested with variable volume (\ie\ \np{ln\_linssh}\forcode{ = .true.}). 1511 1512 % ------------------------------------------------------------------------------------------------------------- 1513 % On-line Floats trajectories 1514 % ------------------------------------------------------------------------------------------------------------- 1515 \section[FLO: On-Line Floats trajectories (\texttt{\textbf{key\_floats}})] 1516 {FLO: On-Line Floats trajectories (\protect\key{floats})} 1517 \label{sec:FLO} 1518 %--------------------------------------------namflo------------------------------------------------------- 1519 1520 \nlst{namflo} 1521 %-------------------------------------------------------------------------------------------------------------- 1475 In particular, options associated with \np{ln_dyn_mxl}{ln\_dyn\_mxl}, \np{ln_vor_trd}{ln\_vor\_trd}, and \np{ln_tra_mxl}{ln\_tra\_mxl} are not working, 1476 and none of the options have been tested with variable volume (\ie\ \np[=.true.]{ln_linssh}{ln\_linssh}). 1477 1478 %% ================================================================================================= 1479 \section[FLO: On-Line Floats trajectories (\texttt{\textbf{key\_floats}})]{FLO: On-Line Floats trajectories (\protect\key{floats})} 1480 \label{sec:DIA_FLO} 1481 1482 \begin{listing} 1483 \nlst{namflo} 1484 \caption{\forcode{&namflo}} 1485 \label{lst:namflo} 1486 \end{listing} 1522 1487 1523 1488 The on-line computation of floats advected either by the three dimensional velocity field or constraint to 1524 1489 remain at a given depth ($w = 0$ in the computation) have been introduced in the system during the CLIPPER project. 1525 Options are defined by \nam{flo} namelist variables.1490 Options are defined by \nam{flo}{flo} namelist variables. 1526 1491 The algorithm used is based either on the work of \cite{blanke.raynaud_JPO97} (default option), 1527 or on a $4^th$ Runge-Hutta algorithm (\np {ln\_flork4}\forcode{ = .true.}).1492 or on a $4^th$ Runge-Hutta algorithm (\np[=.true.]{ln_flork4}{ln\_flork4}). 1528 1493 Note that the \cite{blanke.raynaud_JPO97} algorithm have the advantage of providing trajectories which 1529 1494 are consistent with the numeric of the code, so that the trajectories never intercept the bathymetry. 1530 1495 1496 %% ================================================================================================= 1531 1497 \subsubsection{Input data: initial coordinates} 1532 1498 1533 1499 Initial coordinates can be given with Ariane Tools convention 1534 (IJK coordinates, (\np {ln\_ariane}\forcode{ = .true.}) ) or with longitude and latitude.1500 (IJK coordinates, (\np[=.true.]{ln_ariane}{ln\_ariane}) ) or with longitude and latitude. 1535 1501 1536 1502 In case of Ariane convention, input filename is \textit{init\_float\_ariane}. 1537 1503 Its format is: \\ 1538 { \scriptsize\texttt{I J K nisobfl itrash}}1504 { \texttt{I J K nisobfl itrash}} 1539 1505 1540 1506 \noindent with: … … 1548 1514 \noindent Example: \\ 1549 1515 \noindent 1550 { \scriptsize1516 { 1551 1517 \texttt{ 1552 1518 100.00000 90.00000 -1.50000 1.00000 0.00000 \\ … … 1559 1525 In the other case (longitude and latitude), input filename is init\_float. 1560 1526 Its format is: \\ 1561 { \scriptsize\texttt{Long Lat depth nisobfl ngrpfl itrash}}1527 { \texttt{Long Lat depth nisobfl ngrpfl itrash}} 1562 1528 1563 1529 \noindent with: … … 1573 1539 \noindent Example: \\ 1574 1540 \noindent 1575 { \scriptsize1541 { 1576 1542 \texttt{ 1577 1543 20.0 0.0 0.0 0 1 1 \\ … … 1582 1548 } \\ 1583 1549 1584 \np{jpnfl} is the total number of floats during the run. 1585 When initial positions are read in a restart file (\np{ln\_rstflo}\forcode{ = .true.} ), 1586 \np{jpnflnewflo} can be added in the initialization file. 1587 1550 \np{jpnfl}{jpnfl} is the total number of floats during the run. 1551 When initial positions are read in a restart file (\np[=.true.]{ln_rstflo}{ln\_rstflo} ), 1552 \np{jpnflnewflo}{jpnflnewflo} can be added in the initialization file. 1553 1554 %% ================================================================================================= 1588 1555 \subsubsection{Output data} 1589 1556 1590 \np{nn \_writefl} is the frequency of writing in float output file and \np{nn\_stockfl} is the frequency of1557 \np{nn_writefl}{nn\_writefl} is the frequency of writing in float output file and \np{nn_stockfl}{nn\_stockfl} is the frequency of 1591 1558 creation of the float restart file. 1592 1559 1593 Output data can be written in ascii files (\np {ln\_flo\_ascii}\forcode{ = .true.}).1560 Output data can be written in ascii files (\np[=.true.]{ln_flo_ascii}{ln\_flo\_ascii}). 1594 1561 In that case, output filename is trajec\_float. 1595 1562 1596 Another possiblity of writing format is Netcdf (\np {ln\_flo\_ascii}\forcode{ = .false.}) with1563 Another possiblity of writing format is Netcdf (\np[=.false.]{ln_flo_ascii}{ln\_flo\_ascii}) with 1597 1564 \key{iomput} and outputs selected in iodef.xml. 1598 1565 Here it is an example of specification to put in files description section: … … 1612 1579 \end{xmllines} 1613 1580 1614 1615 % ------------------------------------------------------------------------------------------------------------- 1616 % Harmonic analysis of tidal constituents 1617 % ------------------------------------------------------------------------------------------------------------- 1618 \section[Harmonic analysis of tidal constituents (\texttt{\textbf{key\_diaharm}})] 1619 {Harmonic analysis of tidal constituents (\protect\key{diaharm})} 1581 %% ================================================================================================= 1582 \section[Harmonic analysis of tidal constituents (\texttt{\textbf{key\_diaharm}})]{Harmonic analysis of tidal constituents (\protect\key{diaharm})} 1620 1583 \label{sec:DIA_diag_harm} 1621 1584 1622 %------------------------------------------nam_diaharm---------------------------------------------------- 1623 % 1624 \nlst{nam_diaharm} 1625 %---------------------------------------------------------------------------------------------------------- 1585 \begin{listing} 1586 \nlst{nam_diaharm} 1587 \caption{\forcode{&nam_diaharm}} 1588 \label{lst:nam_diaharm} 1589 \end{listing} 1626 1590 1627 1591 A module is available to compute the amplitude and phase of tidal waves. 1628 1592 This on-line Harmonic analysis is actived with \key{diaharm}. 1629 1593 1630 Some parameters are available in namelist \nam{ \_diaharm}:1631 1632 - \np{nit000 \_han} is the first time step used for harmonic analysis1633 1634 - \np{nitend \_han} is the last time step used for harmonic analysis1635 1636 - \np{nstep \_han} is the time step frequency for harmonic analysis1637 1638 % - \np{nb \_ana} is the number of harmonics to analyse1639 1640 - \np{tname} is an array with names of tidal constituents to analyse1641 1642 \np{nit000 \_han} and \np{nitend\_han} must be between \np{nit000} and \np{nitend} of the simulation.1594 Some parameters are available in namelist \nam{_diaharm}{\_diaharm}: 1595 1596 - \np{nit000_han}{nit000\_han} is the first time step used for harmonic analysis 1597 1598 - \np{nitend_han}{nitend\_han} is the last time step used for harmonic analysis 1599 1600 - \np{nstep_han}{nstep\_han} is the time step frequency for harmonic analysis 1601 1602 % - \np{nb_ana}{nb\_ana} is the number of harmonics to analyse 1603 1604 - \np{tname}{tname} is an array with names of tidal constituents to analyse 1605 1606 \np{nit000_han}{nit000\_han} and \np{nitend_han}{nitend\_han} must be between \np{nit000}{nit000} and \np{nitend}{nitend} of the simulation. 1643 1607 The restart capability is not implemented. 1644 1608 … … 1661 1625 We obtain in output $C_{j}$ and $S_{j}$ for each tidal wave. 1662 1626 1663 % ------------------------------------------------------------------------------------------------------------- 1664 % Sections transports 1665 % ------------------------------------------------------------------------------------------------------------- 1666 \section[Transports across sections (\texttt{\textbf{key\_diadct}})] 1667 {Transports across sections (\protect\key{diadct})} 1627 %% ================================================================================================= 1628 \section[Transports across sections (\texttt{\textbf{key\_diadct}})]{Transports across sections (\protect\key{diadct})} 1668 1629 \label{sec:DIA_diag_dct} 1669 1630 1670 %------------------------------------------namdct---------------------------------------------------- 1671 1672 \nlst{namdct} 1673 %------------------------------------------------------------------------------------------------------------- 1631 \begin{listing} 1632 \nlst{nam_diadct} 1633 \caption{\forcode{&nam_diadct}} 1634 \label{lst:nam_diadct} 1635 \end{listing} 1674 1636 1675 1637 A module is available to compute the transport of volume, heat and salt through sections. … … 1689 1651 - \texttt{salt\_transport} for salt transports (unit: $10^{9}Kg s^{-1}$) \\ 1690 1652 1691 Namelist variables in \nam{ dct} control how frequently the flows are summed and the time scales over which1653 Namelist variables in \nam{_diadct}{\_diadct} control how frequently the flows are summed and the time scales over which 1692 1654 they are averaged, as well as the level of output for debugging: 1693 \np{nn\_dct} : frequency of instantaneous transports computing 1694 \np{nn\_dctwri}: frequency of writing ( mean of instantaneous transports ) 1695 \np{nn\_debug} : debugging of the section 1696 1655 \np{nn_dct}{nn\_dct} : frequency of instantaneous transports computing 1656 \np{nn_dctwri}{nn\_dctwri}: frequency of writing ( mean of instantaneous transports ) 1657 \np{nn_debug}{nn\_debug} : debugging of the section 1658 1659 %% ================================================================================================= 1697 1660 \subsubsection{Creating a binary file containing the pathway of each section} 1698 1661 … … 1704 1667 1705 1668 Each section is defined by: \\ 1706 \noindent { \scriptsize\texttt{long1 lat1 long2 lat2 nclass (ok/no)strpond (no)ice section\_name}} \\1669 \noindent { \texttt{long1 lat1 long2 lat2 nclass (ok/no)strpond (no)ice section\_name}} \\ 1707 1670 with: 1708 1671 … … 1721 1684 1722 1685 \noindent If nclass $\neq$ 0, the next lines contain the class type and the nclass bounds: \\ 1723 { \scriptsize1686 { 1724 1687 \texttt{ 1725 1688 long1 lat1 long2 lat2 nclass (ok/no)strpond (no)ice section\_name \\ … … 1754 1717 and the ATL\_Cuba\_Florida with 4 temperature clases (5 class bounds), are shown: \\ 1755 1718 \noindent 1756 { \scriptsize1719 { 1757 1720 \texttt{ 1758 1721 -68. -54.5 -60. -64.7 00 okstrpond noice ACC\_Drake\_Passage \\ … … 1766 1729 } 1767 1730 1731 %% ================================================================================================= 1768 1732 \subsubsection{To read the output files} 1769 1733 1770 1734 The output format is: \\ 1771 { \scriptsize1735 { 1772 1736 \texttt{ 1773 1737 date, time-step number, section number, \\ … … 1791 1755 1792 1756 \begin{table} 1793 \scriptsize1794 1757 \begin{tabular}{|l|l|l|l|l|} 1795 1758 \hline … … 1805 1768 \end{table} 1806 1769 1807 % ================================================================ 1808 % Steric effect in sea surface height 1809 % ================================================================ 1770 %% ================================================================================================= 1810 1771 \section{Diagnosing the steric effect in sea surface height} 1811 1772 \label{sec:DIA_steric} 1812 1813 1773 1814 1774 Changes in steric sea level are caused when changes in the density of the water column imply an expansion or … … 1847 1807 \mathcal{V} &= \mathcal{A} \;\bar{\eta} 1848 1808 \end{split} 1849 \label{eq: MV_nBq}1809 \label{eq:DIA_MV_nBq} 1850 1810 \end{equation} 1851 1811 … … 1855 1815 \frac{1}{e_3} \partial_t ( e_3\,\rho) + \nabla( \rho \, \textbf{U} ) 1856 1816 = \left. \frac{\textit{emp}}{e_3}\right|_\textit{surface} 1857 \label{eq: Co_nBq}1817 \label{eq:DIA_Co_nBq} 1858 1818 \end{equation} 1859 1819 … … 1864 1824 \begin{equation} 1865 1825 \partial_t \mathcal{M} = \mathcal{A} \;\overline{\textit{emp}} 1866 \label{eq: Mass_nBq}1826 \label{eq:DIA_Mass_nBq} 1867 1827 \end{equation} 1868 1828 1869 1829 where $\overline{\textit{emp}} = \int_S \textit{emp}\,ds$ is the net mass flux through the ocean surface. 1870 Bringing \autoref{eq: Mass_nBq} and the time derivative of \autoref{eq:MV_nBq} together leads to1830 Bringing \autoref{eq:DIA_Mass_nBq} and the time derivative of \autoref{eq:DIA_MV_nBq} together leads to 1871 1831 the evolution equation of the mean sea level 1872 1832 … … 1874 1834 \partial_t \bar{\eta} = \frac{\overline{\textit{emp}}}{ \bar{\rho}} 1875 1835 - \frac{\mathcal{V}}{\mathcal{A}} \;\frac{\partial_t \bar{\rho} }{\bar{\rho}} 1876 \label{eq: ssh_nBq}1836 \label{eq:DIA_ssh_nBq} 1877 1837 \end{equation} 1878 1838 1879 The first term in equation \autoref{eq: ssh_nBq} alters sea level by adding or subtracting mass from the ocean.1839 The first term in equation \autoref{eq:DIA_ssh_nBq} alters sea level by adding or subtracting mass from the ocean. 1880 1840 The second term arises from temporal changes in the global mean density; \ie\ from steric effects. 1881 1841 1882 1842 In a Boussinesq fluid, $\rho$ is replaced by $\rho_o$ in all the equation except when $\rho$ appears multiplied by 1883 1843 the gravity (\ie\ in the hydrostatic balance of the primitive Equations). 1884 In particular, the mass conservation equation, \autoref{eq: Co_nBq}, degenerates into the incompressibility equation:1844 In particular, the mass conservation equation, \autoref{eq:DIA_Co_nBq}, degenerates into the incompressibility equation: 1885 1845 1886 1846 \[ 1887 1847 \frac{1}{e_3} \partial_t ( e_3 ) + \nabla( \textbf{U} ) = \left. \frac{\textit{emp}}{\rho_o \,e_3}\right|_ \textit{surface} 1888 % \label{eq: Co_Bq}1848 % \label{eq:DIA_Co_Bq} 1889 1849 \] 1890 1850 … … 1893 1853 \[ 1894 1854 \partial_t \mathcal{V} = \mathcal{A} \;\frac{\overline{\textit{emp}}}{\rho_o} 1895 % \label{eq: V_Bq}1855 % \label{eq:DIA_V_Bq} 1896 1856 \] 1897 1857 … … 1912 1872 \begin{equation} 1913 1873 \mathcal{M}_o = \mathcal{M} + \rho_o \,\eta_s \,\mathcal{A} 1914 \label{eq: M_Bq}1874 \label{eq:DIA_M_Bq} 1915 1875 \end{equation} 1916 1876 … … 1919 1879 Introducing the total density anomaly, $\mathcal{D}= \int_D d_a \,dv$, 1920 1880 where $d_a = (\rho -\rho_o ) / \rho_o$ is the density anomaly used in \NEMO\ (cf. \autoref{subsec:TRA_eos}) 1921 in \autoref{eq: M_Bq} leads to a very simple form for the steric height:1881 in \autoref{eq:DIA_M_Bq} leads to a very simple form for the steric height: 1922 1882 1923 1883 \begin{equation} 1924 1884 \eta_s = - \frac{1}{\mathcal{A}} \mathcal{D} 1925 \label{eq: steric_Bq}1885 \label{eq:DIA_steric_Bq} 1926 1886 \end{equation} 1927 1887 … … 1943 1903 (wetting and drying of grid point is not allowed). 1944 1904 1945 Third, the discretisation of \autoref{eq: steric_Bq} depends on the type of free surface which is considered.1946 In the non linear free surface case, \ie\ \np {ln\_linssh}\forcode{ = .true.}, it is given by1905 Third, the discretisation of \autoref{eq:DIA_steric_Bq} depends on the type of free surface which is considered. 1906 In the non linear free surface case, \ie\ \np[=.true.]{ln_linssh}{ln\_linssh}, it is given by 1947 1907 1948 1908 \[ 1949 1909 \eta_s = - \frac{ \sum_{i,\,j,\,k} d_a\; e_{1t} e_{2t} e_{3t} }{ \sum_{i,\,j,\,k} e_{1t} e_{2t} e_{3t} } 1950 % \label{eq: discrete_steric_Bq_nfs}1910 % \label{eq:DIA_discrete_steric_Bq_nfs} 1951 1911 \] 1952 1912 … … 1958 1918 \eta_s = - \frac{ \sum_{i,\,j,\,k} d_a\; e_{1t}e_{2t}e_{3t} + \sum_{i,\,j} d_a\; e_{1t}e_{2t} \eta } 1959 1919 { \sum_{i,\,j,\,k} e_{1t}e_{2t}e_{3t} + \sum_{i,\,j} e_{1t}e_{2t} \eta } 1960 % \label{eq: discrete_steric_Bq_fs}1920 % \label{eq:DIA_discrete_steric_Bq_fs} 1961 1921 \] 1962 1922 … … 1978 1938 \[ 1979 1939 \eta_s = - \frac{1}{\mathcal{A}} \int_D d_a(T,S_o,p_o) \,dv 1980 % \label{eq: thermosteric_Bq}1940 % \label{eq:DIA_thermosteric_Bq} 1981 1941 \] 1982 1942 … … 1985 1945 Both steric and thermosteric sea level are computed in \mdl{diaar5}. 1986 1946 1987 % ------------------------------------------------------------------------------------------------------------- 1988 % Other Diagnostics 1989 % ------------------------------------------------------------------------------------------------------------- 1990 \section[Other diagnostics] 1991 {Other diagnostics} 1947 %% ================================================================================================= 1948 \section{Other diagnostics} 1992 1949 \label{sec:DIA_diag_others} 1993 1950 … … 1995 1952 The available ready-to-add diagnostics modules can be found in directory DIA. 1996 1953 1997 \subsection[Depth of various quantities (\textit{diahth.F90})] 1998 {Depth of various quantities (\protect\mdl{diahth})}1954 %% ================================================================================================= 1955 \subsection[Depth of various quantities (\textit{diahth.F90})]{Depth of various quantities (\protect\mdl{diahth})} 1999 1956 2000 1957 Among the available diagnostics the following ones are obtained when defining the \key{diahth} CPP key: … … 2008 1965 - the depth of the thermocline (maximum of the vertical temperature gradient) (\mdl{diahth}) 2009 1966 2010 2011 %>>>>>>>>>>>>>>>>>>>>>>>>>>>>2012 1967 \begin{figure}[!t] 2013 \begin{center} 2014 \includegraphics[width=\textwidth]{Fig_mask_subasins} 2015 \caption{ 2016 \protect\label{fig:mask_subasins} 2017 Decomposition of the World Ocean (here ORCA2) into sub-basin used in to 2018 compute the heat and salt transports as well as the meridional stream-function: 2019 Atlantic basin (red), Pacific basin (green), Indian basin (bleue), Indo-Pacific basin (bleue+green). 2020 Note that semi-enclosed seas (Red, Med and Baltic seas) as well as Hudson Bay are removed from the sub-basins. 2021 Note also that the Arctic Ocean has been split into Atlantic and Pacific basins along the North fold line. 2022 } 2023 \end{center} 1968 \centering 1969 \includegraphics[width=0.66\textwidth]{Fig_mask_subasins} 1970 \caption[Decomposition of the World Ocean to compute transports as well as 1971 the meridional stream-function]{ 1972 Decomposition of the World Ocean (here ORCA2) into sub-basin used in to 1973 compute the heat and salt transports as well as the meridional stream-function: 1974 Atlantic basin (red), Pacific basin (green), 1975 Indian basin (blue), Indo-Pacific basin (blue+green). 1976 Note that semi-enclosed seas (Red, Med and Baltic seas) as well as 1977 Hudson Bay are removed from the sub-basins. 1978 Note also that the Arctic Ocean has been split into Atlantic and 1979 Pacific basins along the North fold line. 1980 } 1981 \label{fig:DIA_mask_subasins} 2024 1982 \end{figure} 2025 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2026 2027 % ----------------------------------------------------------- 2028 % CMIP specific diagnostics 2029 % ----------------------------------------------------------- 2030 \subsection[CMIP specific diagnostics (\textit{diaar5.F90}, \textit{diaptr.F90})] 2031 {CMIP specific diagnostics (\protect\mdl{diaar5})} 1983 1984 %% ================================================================================================= 1985 \subsection[CMIP specific diagnostics (\textit{diaar5.F90}, \textit{diaptr.F90})]{CMIP specific diagnostics (\protect\mdl{diaar5})} 2032 1986 2033 1987 A series of diagnostics has been added in the \mdl{diaar5} and \mdl{diaptr}. … … 2039 1993 sea water pressure at sea floor (botpres), dynamic sea surface height (sshdyn). 2040 1994 2041 In \mdl{diaptr} when \np {ln\_diaptr}\forcode{ = .true.}2042 (see the \nam{ptr} namelist below) can be computed on-line the poleward heat and salt transports,1995 In \mdl{diaptr} when \np[=.true.]{ln_diaptr}{ln\_diaptr} 1996 (see the \nam{ptr}{ptr} namelist below) can be computed on-line the poleward heat and salt transports, 2043 1997 their advective and diffusive component, and the meriodional stream function . 2044 When \np {ln\_subbas}\forcode{ = .true.}, transports and stream function are computed for the Atlantic, Indian,1998 When \np[=.true.]{ln_subbas}{ln\_subbas}, transports and stream function are computed for the Atlantic, Indian, 2045 1999 Pacific and Indo-Pacific Oceans (defined north of 30\deg{S}) as well as for the World Ocean. 2046 2000 The sub-basin decomposition requires an input file (\ifile{subbasins}) which contains three 2D mask arrays, 2047 the Indo-Pacific mask been deduced from the sum of the Indian and Pacific mask (\autoref{fig:mask_subasins}). 2048 2049 %------------------------------------------namptr----------------------------------------- 2050 2051 \nlst{namptr} 2052 %----------------------------------------------------------------------------------------- 2053 2054 % ----------------------------------------------------------- 2055 % 25 hour mean and hourly Surface, Mid and Bed 2056 % ----------------------------------------------------------- 2001 the Indo-Pacific mask been deduced from the sum of the Indian and Pacific mask (\autoref{fig:DIA_mask_subasins}). 2002 2003 \begin{listing} 2004 \nlst{namptr} 2005 \caption{\forcode{&namptr}} 2006 \label{lst:namptr} 2007 \end{listing} 2008 2009 %% ================================================================================================= 2057 2010 \subsection{25 hour mean output for tidal models} 2058 2011 2059 %------------------------------------------nam_dia25h------------------------------------- 2060 2061 \nlst{nam_dia25h} 2062 %----------------------------------------------------------------------------------------- 2012 \begin{listing} 2013 \nlst{nam_dia25h} 2014 \caption{\forcode{&nam_dia25h}} 2015 \label{lst:nam_dia25h} 2016 \end{listing} 2063 2017 2064 2018 A module is available to compute a crudely detided M2 signal by obtaining a 25 hour mean. … … 2067 2021 This diagnostic is actived with the logical $ln\_dia25h$. 2068 2022 2069 % ----------------------------------------------------------- 2070 % Top Middle and Bed hourly output 2071 % ----------------------------------------------------------- 2023 %% ================================================================================================= 2072 2024 \subsection{Top middle and bed hourly output} 2073 2025 2074 %------------------------------------------nam_diatmb----------------------------------------------------- 2075 2076 \nlst{nam_diatmb} 2077 %---------------------------------------------------------------------------------------------------------- 2026 \begin{listing} 2027 \nlst{nam_diatmb} 2028 \caption{\forcode{&nam_diatmb}} 2029 \label{lst:nam_diatmb} 2030 \end{listing} 2078 2031 2079 2032 A module is available to output the surface (top), mid water and bed diagnostics of a set of standard variables. … … 2083 2036 This diagnostic is actived with the logical $ln\_diatmb$. 2084 2037 2085 % ----------------------------------------------------------- 2086 % Courant numbers 2087 % ----------------------------------------------------------- 2038 %% ================================================================================================= 2088 2039 \subsection{Courant numbers} 2089 2040 … … 2093 2044 \[ 2094 2045 C_u = |u|\frac{\rdt}{e_{1u}}, \quad C_v = |v|\frac{\rdt}{e_{2v}}, \quad C_w = |w|\frac{\rdt}{e_{3w}} 2095 % \label{eq: CFL}2046 % \label{eq:DIA_CFL} 2096 2047 \] 2097 2048 … … 2102 2053 Values greater than 1 indicate that information is propagated across more than one grid cell in a single time step. 2103 2054 2104 The variables can be activated by setting the \np{nn \_diacfl} namelist parameter to 1 in the \nam{ctl} namelist.2055 The variables can be activated by setting the \np{nn_diacfl}{nn\_diacfl} namelist parameter to 1 in the \nam{ctl}{ctl} namelist. 2105 2056 The diagnostics will be written out to an ascii file named cfl\_diagnostics.ascii. 2106 2057 In this file the maximum value of $C_u$, $C_v$, and $C_w$ are printed at each timestep along with the coordinates of … … 2110 2061 The maximum values from the run are also copied to the ocean.output file. 2111 2062 2112 % ================================================================ 2113 2114 \biblio 2115 2116 \pindex 2063 \onlyinsubfile{\input{../../global/epilogue}} 2117 2064 2118 2065 \end{document}
Note: See TracChangeset
for help on using the changeset viewer.