This PR reworks the XIOS setup workflow in preparation for farming much of it off to happen automatically via nextSIM-DG. For example, when ModelArray::setDimension is called with ModelArray::Dimension::X, we can have the XIOS handler set the local and global X sizes correspondingly.
Main changes:
Use xy_domain and z_axis consistently in XIOS read and write demos.
Reorder operations in XIOS read and write demos, with TODOs planning out how the setup steps will be automated via nextSIM-DG.
Automatically create an XIOS Grid grid_2D upon creating an XIOS Domain with the special name xy_domain.
Automatically create an XIOS Grid grid_3D upon creating XIOS Domain and Axis with the special names xy_domain and z_axis, respectively.
Other minor changes:
Finish moving from initialising strings with {} to =.
Add a check to ensure local and global sizes match for Z dimension because we only MPI parallelise in the horizontal.
Prepare for setting XIOS up via nextSIM-DG
Partially addresses #633.
This PR reworks the XIOS setup workflow in preparation for farming much of it off to happen automatically via nextSIM-DG. For example, when
ModelArray::setDimension
is called withModelArray::Dimension::X
, we can have the XIOS handler set the local and global X sizes correspondingly.Main changes:
xy_domain
andz_axis
consistently in XIOS read and write demos.grid_2D
upon creating an XIOS Domain with the special namexy_domain
.grid_3D
upon creating XIOS Domain and Axis with the special namesxy_domain
andz_axis
, respectively.Other minor changes:
{}
to=
.Z
dimension because we only MPI parallelise in the horizontal.