- Timestamp:
- 2019-07-05T11:19:53+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/doc/latex/NEMO/subfiles/chap_DIA.tex
r11179 r11218 25 25 the same run performed in one step. 26 26 It should be noted that this requires that the restart file contains two consecutive time steps for 27 all the prognostic variables, and that it is saved in the same binary format as the one used by the computer that 28 is to read it (in particular, 32 bits binary IEEE format must not be used for this file). 27 all the prognostic variables. 29 28 30 29 The output listing and file(s) are predefined but should be checked and eventually adapted to the user's needs. … … 38 37 the writing work is distributed over the processors in massively parallel computing. 39 38 A complete description of the use of this I/O server is presented in the next section. 40 41 By default, \key{iomput} is not defined,42 NEMO produces NetCDF with the old IOIPSL library which has been kept for compatibility and its easy installation.43 However, the IOIPSL library is quite inefficient on parallel machines and, since version 3.2,44 many diagnostic options have been added presuming the use of \key{iomput}.45 The usefulness of the default IOIPSL-based option is expected to reduce with each new release.46 If \key{iomput} is not defined, output files and content are defined in the \mdl{diawri} module and47 contain mean (or instantaneous if \key{diainstant} is defined) values over a regular period of48 nn\_write time-steps (namelist parameter).49 39 50 40 %\gmcomment{ % start of gmcomment … … 91 81 in a very easy way. 92 82 All details of iomput functionalities are listed in the following subsections. 93 Examples of the XML files that control the outputs can be found in: \path{NEMOGCM/CONFIG/ORCA2_LIM/EXP00/iodef.xml}, 94 \path{NEMOGCM/CONFIG/SHARED/field_def.xml} and \path{NEMOGCM/CONFIG/SHARED/domain_def.xml}. \\ 83 Examples of the XML files that control the outputs can be found in: 84 \path{cfgs/ORCA2_ICE_PISCES/EXPREF/iodef.xml}, 85 \path{cfgs/SHARED/field_def_nemo-oce.xml}, 86 \path{cfgs/SHARED/field_def_nemo-pisces.xml}, 87 \path{cfgs/SHARED/field_def_nemo-ice.xml} and \path{cfgs/SHARED/domain_def_nemo.xml}. \\ 95 88 96 89 The second functionality targets output performance when running in parallel (\key{mpp\_mpi}). … … 101 94 102 95 In version 3.6, the iom\_put interface depends on 103 an external code called \href{https://forge.ipsl.jussieu.fr/ioserver/browser/XIOS/branchs/xios- 1.0}{XIOS-1.0}96 an external code called \href{https://forge.ipsl.jussieu.fr/ioserver/browser/XIOS/branchs/xios-2.5}{XIOS-2.5} 104 97 (use of revision 618 or higher is required). 105 98 This new IO server can take advantage of the parallel I/O functionality of NetCDF4 to … … 257 250 See the installation guide on the \href{http://forge.ipsl.jussieu.fr/ioserver/wiki}{XIOS} wiki for help and guidance. 258 251 NEMO will need to link to the compiled XIOS library. 259 The \href{https://forge.ipsl.jussieu.fr/nemo/ wiki/Users/ModelInterfacing/InputsOutputs#Inputs-OutputsusingXIOS}260 { XIOS with NEMO} guide provides an example illustration of how this can be achieved.252 The \href{https://forge.ipsl.jussieu.fr/nemo/chrome/site/doc/NEMO/guide/html/install.html#extract-and-install-xios} 253 {Extract and install XIOS} guide provides an example illustration of how this can be achieved. 261 254 262 255 \subsubsection{Add your own outputs} … … 269 262 \begin{enumerate} 270 263 \item[1.] 271 in NEMO code, add a \forcode{CALL iom \_put( 'identifier', array )} where you want to output a 2D or 3D array.264 in NEMO code, add a \forcode{CALL iom_put( 'identifier', array )} where you want to output a 2D or 3D array. 272 265 \item[2.] 273 266 If necessary, add \forcode{USE iom ! I/O manager library} to the list of used modules in … … 442 435 \xmlline|<context src="./nemo_def.xml" />| 443 436 444 \noindent In NEMO, by default, the field and domain definition is done in 2 separate files: 445 \path{NEMOGCM/CONFIG/SHARED/field_def.xml} and \path{NEMOGCM/CONFIG/SHARED/domain_def.xml} that 437 \noindent In NEMO, by default, the field definition is done in 3 separate files ( 438 \path{cfgs/SHARED/field_def_nemo-oce.xml}, 439 \path{cfgs/SHARED/field_def_nemo-pisces.xml} and 440 \path{cfgs/SHARED/field_def_nemo-ice.xml} ) and the domain definition is done in another file ( \path{cfgs/SHARED/domain_def_nemo.xml} ) 441 that 446 442 are included in the main iodef.xml file through the following commands: 447 443 \begin{xmllines} 448 <field_definition src="./field_def.xml" /> 449 <domain_definition src="./domain_def.xml" /> 444 <context id="nemo" src="./context_nemo.xml"/> 450 445 \end{xmllines} 451 446 … … 508 503 509 504 Secondly, the group can be used to replace a list of elements. 510 Several examples of groups of fields are proposed at the end of the file \path{CONFIG/SHARED/field_def.xml}. 505 Several examples of groups of fields are proposed at the end of the XML field files ( 506 \path{cfgs/SHARED/field_def_nemo-oce.xml}, 507 \path{cfgs/SHARED/field_def_nemo-pisces.xml} and 508 \path{cfgs/SHARED/field_def_nemo-ice.xml} ) . 511 509 For example, a short list of the usual variables related to the U grid: 512 510 … … 514 512 <field_group id="groupU" > 515 513 <field field_ref="uoce" /> 516 <field field_ref="s uoce" />514 <field field_ref="ssu" /> 517 515 <field field_ref="utau" /> 518 516 </field_group> … … 538 536 the tag family domain. 539 537 It must therefore be done in the domain part of the XML file. 540 For example, in \path{ CONFIG/SHARED/domain_def.xml}, we provide the following example of a definition of538 For example, in \path{cfgs/SHARED/domain_def.xml}, we provide the following example of a definition of 541 539 a 5 by 5 box with the bottom left corner at point (10,10). 542 540 543 541 \begin{xmllines} 544 <domain _group id="grid_T">545 < domain id="myzoom" zoom_ibegin="10" zoom_jbegin="10" zoom_ni="5" zoom_nj="5" />542 <domain id="myzoomT" domain_ref="grid_T"> 543 <zoom_domain ibegin="10" jbegin="10" ni="5" nj="5" /> 546 544 \end{xmllines} 547 545 … … 551 549 \begin{xmllines} 552 550 <file id="myfile_vzoom" output_freq="1d" > 553 <field field_ref="toce" domain_ref="myzoom "/>551 <field field_ref="toce" domain_ref="myzoomT"/> 554 552 </file> 555 553 \end{xmllines} … … 576 574 \subsubsection{Define vertical zooms} 577 575 578 Vertical zooms are defined through the attributs zoom\_begin and zoom\_ endof the tag family axis.576 Vertical zooms are defined through the attributs zoom\_begin and zoom\_n of the tag family axis. 579 577 It must therefore be done in the axis part of the XML file. 580 For example, in \path{NEMOGCM/CONFIG/ORCA2_LIM/iodef_demo.xml}, we provide the following example: 581 582 \begin{xmllines} 583 <axis_group id="deptht" long_name="Vertical T levels" unit="m" positive="down" > 584 <axis id="deptht" /> 585 <axis id="deptht_myzoom" zoom_begin="1" zoom_end="10" /> 578 For example, in \path{cfgs/ORCA2_ICE_PISCES/EXPREF/iodef_demo.xml}, we provide the following example: 579 580 \begin{xmllines} 581 <axis_definition> 582 <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 583 <axis id="deptht_zoom" azix_ref="deptht" > 584 <zoom_axis zoom_begin="1" zoom_n="10" /> 585 </axis> 586 586 \end{xmllines} 587 587 … … 765 765 \end{xmllines} 766 766 767 Note that, then the code is crashing, writting real4 variables forces a numerical conve ction from767 Note that, then the code is crashing, writting real4 variables forces a numerical conversion from 768 768 real8 to real4 which will create an internal error in NetCDF and will avoid the creation of the output files. 769 769 Forcing double precision outputs with prec="8" (for example in the field\_definition) will avoid this problem. … … 1318 1318 \subsection{CF metadata standard compliance} 1319 1319 1320 Output from the XIOS -1.0IO server is compliant with1320 Output from the XIOS IO server is compliant with 1321 1321 \href{http://cfconventions.org/Data/cf-conventions/cf-conventions-1.5/build/cf-conventions.html}{version 1.5} of 1322 1322 the CF metadata standard. … … 1341 1341 Chunking and compression can lead to significant reductions in file sizes for a small runtime overhead. 1342 1342 For a fuller discussion on chunking and other performance issues the reader is referred to 1343 the NetCDF4 documentation found \href{http ://www.unidata.ucar.edu/software/netcdf/docs/netcdf.html#Chunking}{here}.1343 the NetCDF4 documentation found \href{https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_perf_chunking.html}{here}. 1344 1344 1345 1345 The new features are only available when the code has been linked with a NetCDF4 library … … 1464 1464 (\ie at the end of each $dyn\cdots.F90$ and/or $tra\cdots.F90$ routines). 1465 1465 This capability is controlled by options offered in \ngn{namtrd} namelist. 1466 Note that the output are done with xIOS, and therefore the \key{IOM} is required.1466 Note that the output are done with XIOS, and therefore the \key{iomput} is required. 1467 1467 1468 1468 What is done depends on the \ngn{namtrd} logical set to \forcode{.true.}: … … 1490 1490 1491 1491 Note that the mixed layer tendency diagnostic can also be used on biogeochemical models via 1492 the \key{trdtrc} and \key{trdm ld\_trc} CPP keys.1492 the \key{trdtrc} and \key{trdmxl\_trc} CPP keys. 1493 1493 1494 1494 \textbf{Note that} in the current version (v3.6), many changes has been introduced but not fully tested. … … 1509 1509 The on-line computation of floats advected either by the three dimensional velocity field or constraint to 1510 1510 remain at a given depth ($w = 0$ in the computation) have been introduced in the system during the CLIPPER project. 1511 Options are defined by \ngn{namflo} namelis variables.1511 Options are defined by \ngn{namflo} namelist variables. 1512 1512 The algorithm used is based either on the work of \cite{blanke.raynaud_JPO97} (default option), 1513 1513 or on a $4^th$ Runge-Hutta algorithm (\np{ln\_flork4}\forcode{ = .true.}). … … 1522 1522 In case of Ariane convention, input filename is \np{init\_float\_ariane}. 1523 1523 Its format is: \\ 1524 {\scriptsize \texttt{I J K nisobfl itrash itrash}}1524 {\scriptsize \texttt{I J K nisobfl itrash}} 1525 1525 1526 1526 \noindent with: … … 1580 1580 In that case, output filename is trajec\_float. 1581 1581 1582 Another possiblity of writing format is Netcdf (\np{ln\_flo\_ascii}\forcode{ = .false.}). 1583 There are 2 possibilities: 1584 1585 - if (\key{iomput}) is used, outputs are selected in iodef.xml. 1582 Another possiblity of writing format is Netcdf (\np{ln\_flo\_ascii}\forcode{ = .false.}) with 1583 \key{iomput} and outputs selected in iodef.xml. 1586 1584 Here it is an example of specification to put in files description section: 1587 1585 … … 1600 1598 \end{xmllines} 1601 1599 1602 - if (\key{iomput}) is not used, a file called \ifile{trajec\_float} will be created by IOIPSL library.1603 1604 See also \href{http://stockage.univ-brest.fr/~grima/Ariane/}{here} the web site describing the off-line use of1605 this marvellous diagnostic tool.1606 1600 1607 1601 % ------------------------------------------------------------------------------------------------------------- … … 1612 1606 \label{sec:DIA_diag_harm} 1613 1607 1614 %------------------------------------------nam dia_harm----------------------------------------------------1608 %------------------------------------------nam_diaharm---------------------------------------------------- 1615 1609 % 1616 1610 \nlst{nam_diaharm} … … 1620 1614 This on-line Harmonic analysis is actived with \key{diaharm}. 1621 1615 1622 Some parameters are available in namelist \ngn{nam dia\_harm}:1616 Some parameters are available in namelist \ngn{nam\_diaharm}: 1623 1617 1624 1618 - \np{nit000\_han} is the first time step used for harmonic analysis … … 1669 1663 1670 1664 Each section is defined by the coordinates of its 2 extremities. 1671 The pathways between them are contructed using tools which can be found in \texttt{ NEMOGCM/TOOLS/SECTIONS\_DIADCT}1672 and are written in a binary file \texttt{section\_ijglobal.diadct \_ORCA2\_LIM} which is later read in by1665 The pathways between them are contructed using tools which can be found in \texttt{tools/SECTIONS\_DIADCT} 1666 and are written in a binary file \texttt{section\_ijglobal.diadct} which is later read in by 1673 1667 NEMO to compute on-line transports. 1674 1668 … … 1689 1683 \subsubsection{Creating a binary file containing the pathway of each section} 1690 1684 1691 In \texttt{ NEMOGCM/TOOLS/SECTIONS\_DIADCT/run},1685 In \texttt{tools/SECTIONS\_DIADCT/run}, 1692 1686 the file \textit{ {list\_sections.ascii\_global}} contains a list of all the sections that are to be computed 1693 1687 (this list of sections is based on MERSEA project metrics). … … 1738 1732 1739 1733 The script \texttt{job.ksh} computes the pathway for each section and creates a binary file 1740 \texttt{section\_ijglobal.diadct \_ORCA2\_LIM} which is read by NEMO. \\1734 \texttt{section\_ijglobal.diadct} which is read by NEMO. \\ 1741 1735 1742 1736 It is possible to use this tools for new configuations: \texttt{job.ksh} has to be updated with
Note: See TracChangeset
for help on using the changeset viewer.