Abstract type defining the interface for netCDF I/O handlers. This allows for different implementations (e.g. NetCDF, ParallelIO) to be used interchangeably within the CABLE code
Initialise the netcdf I/O handler. This procedure is called during module initialization and can be used to set up any necessary state or resources for the I/O handler.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cable_netcdf_io_t), | intent(inout) | :: | this |
Finalise the netcdf I/O handler. This procedure is called during module finalization and can be used to clean up any resources allocated by the I/O handler.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cable_netcdf_io_t), | intent(inout) | :: | this |
Create a new netCDF file with the specified path and I/O type.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cable_netcdf_io_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | path |
Path to the netCDF file to create. |
||
| integer, | intent(in) | :: | iotype |
I/O type to use for the file using the |
||
| integer, | intent(in), | optional | :: | mode |
Optional mode flags for file creation using the |
Open an existing netCDF file with the specified path and I/O type.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cable_netcdf_io_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | path |
Path to the netCDF file to open. |
||
| integer, | intent(in) | :: | iotype |
I/O type to use for the file using the |
||
| integer, | intent(in), | optional | :: | mode |
Optional mode flags for file opening using the |
Create a new decomposition for parallel I/O. This follows the degree of freedom approach for specifying I/O decompositions as described in Denis et al. (2011) [10.1177/1094342011428143].
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cable_netcdf_io_t), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | compmap(:) |
An array of data offsets describing where each element of the in-memory array is located in the netCDF variable data on disk. |
||
| integer, | intent(in) | :: | dims(:) |
An array of the global dimensions used to describe the shape of the data in the netCDF file |
||
| integer, | intent(in) | :: | type |
The data type of the in-memory array using the |