Changes between Version 14 and Version 15 of Users/ModelInterfacing/InputsOutputs
- Timestamp:
- 2017-05-13T02:44:15+02:00 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Users/ModelInterfacing/InputsOutputs
v14 v15 4 4 Last edition: '''[[Wikinfo(changed_ts)]]''' by '''[[Wikinfo(changed_by)]]''' 5 5 6 Output of diagnostics in NEMO is usually done using XIOS. This is an efficient way of writing diagnostics because the time averaging, file writing and even some simple arithmetic or regridding is carried out in parallel to the NEMO model run. This page gives a basic introduction to using XIOS with NEMO. Much more information is available from the XIOS homepage above and from the NEMO reference manual. 6 Output of diagnostics in NEMO is usually done using XIOS. This is an efficient way of writing diagnostics because the time averaging, file writing and even some simple arithmetic or regridding is carried out in parallel to the NEMO model run.\\ 7 This page gives a basic introduction to using XIOS with NEMO. Much more information is available from the XIOS homepage above and from the [/doxygen/index.html?doc=NEMO NEMO reference manual]. 7 8 8 Use of XIOS for diagnostics is activated using the pre-compiler key key_iomput. In nemo_v3_6_STABLE the default version of XIOS is XIOS1.0 but XIOS2.0 can be used by activating key_xios2. '''NB: Due to a change in the XIOS1.0 branch NEMO v3.6 STABLE will only work up to revision 703 of the XIOS1.0 branch without modifying the code manually.''' At the head of the NEMO trunk only XIOS2.0 can be used (XIOS2.0 is the XIOS trunk) and key_xios2 is not required. 9 Use of XIOS for diagnostics is activated using the pre-compiler key key_iomput. In nemo_v3_6_STABLE the default version of XIOS is XIOS1.0 but XIOS2.0 can be used by activating key_xios2. At the head of the NEMO trunk only XIOS2.0 can be used (XIOS2.0 is the XIOS trunk) and key_xios2 is not required. 10 11 '''NB: Due to a change in the XIOS1.0 branch, NEMO v3.6 STABLE will only work up to revision 703 of the XIOS1.0 branch without modifying the code manually.''' 9 12 10 13 == Extracting and installing XIOS. 11 1) Install the NetCDF4 library. If you want to use single file output you will need to compile the hdf & netcdflibraries to allow parallel IO.14 1) Install the NetCDF4 library. If you want to use single file output you will need to compile the HDF & NetCDF libraries to allow parallel IO. 12 15 13 16 2) Download the version of XIOS that you wish to use. The recommended version is now XIOS2.0: 14 {{{ 17 {{{#!sh 15 18 svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk xios-2.0 16 19 }}} 17 and follow the instructions here (http://forge.ipsl.jussieu.fr/ioserver/wiki/documentation)to compile it. The latest revision tested by the NEMO systems team is 990 although later revisions should also work correctly.20 and follow the instructions in [//ioserver/wiki/documentation XIOS documentation] to compile it. The latest revision tested by the NEMO systems team is 990 although later revisions should also work correctly. 18 21 19 [[BR]] 22 == Namelists 20 23 21 == XIOS namelists22 24 XIOS is controlled using xml input files that should be copied to your model run directory before running the model. The exact setup differs slightly between XIOS1.0 and XIOS2.0. 23 25 24 26 === XIOS1.0 27 25 28 Examples of these files can be found in the reference configurations (`NEMOGCM/CONFIG`) in the nemo_v3_6_STABLE branch. The XIOS executable expects to find a file called `iodef.xml` in the model run directory. In NEMO we have made the decision to use include statements in the `iodef.xml` file to include `field_def.xml` and `domain_def.xml` from the `NEMOGCM/CONFIG/SHARED` directory. Most users will not need to modify `domain_def.xml` or `field_def.xml` unless they want to add new diagnostics to the NEMO code (see below). 26 29 27 30 === XIOS2.0 31 28 32 An `iodef.xml` file is still required in the run directory. For XIOS2.0 the `field_def.xml` file has been further split into `field_def-opa.xml` (for physics), `field_def-lim.xml` (for ice) and `field_def-bgc.xml` (for biogeochemistry). Also the definition of the output files has been moved from the `iodef.xml` file into separate `file_definition.xml` files which are included in the `iodef.xml` file. Note that the `domain_def.xml` file is also different for XIOS2.0. Examples of these files can be found in the trunk under `NEMOGCM/CONFIG/GYRE_XIOS` in the nemo_v3_6_STABLE branch or in the trunk under `NEMOGCM/CONFIG`. 29 33 30 [[BR]] 34 == Modes 31 35 32 == XIOS modes33 36 === Detached Mode 37 34 38 In detached mode the XIOS executable is executed on separate cores from the NEMO model. This is the recommended method for using XIOS for realistic model runs. To use this mode set `using_server` to `true` at 35 39 the bottom of the `iodef.xml` file: 36 {{{ 40 {{{#!xml 37 41 <variable id="using_server" type="boolean">true</variable> 38 42 }}} … … 40 44 41 45 === Attached Mode 46 42 47 In attached mode XIOS runs on each of the cores used by NEMO. This method is less efficient than the detached mode but can be more convenient for testing or with small configurations. To activate this mode simply set `using_server` to false in the `iodef.xml` file 43 {{{ 48 {{{#!xml 44 49 <variable id="using_server" type="boolean">true</variable> 45 50 }}} 46 51 and don't allocate any cores to XIOS. Note that due to the different domain decompositions between XIOS and NEMO if the total number of cores is larger than the number of grid points in the j direction then the model run will fail. 47 48 [[BR]]49 50 51 52 52 53 == Adding new diagnostics to NEMO