mom_io_file module reference
This module contains the MOM file handler types.
Data Types
Handle for axis in MOM file. |
|
Linked list of framework axes. |
|
Framework axis linked list node. |
|
Linked list of framework axes. |
|
Framework axis linked list node. |
|
Handle for field in MOM file. |
|
Linked list of framework fields. |
|
Framework field linked list node. |
|
Linked list of framework fields. |
|
Framework field linked list node. |
|
Generic MOM file abstraction for common operations. |
|
MOM file from the supporting framework ("infra") layer. |
|
MOM file using netCDF backend. |
Functions/Subroutines
Initialize the linked list of framework axes. |
|
Append a new axis to the list. |
|
Get axis based on label. |
|
Deallocate axes of list. |
|
Initialize the linked list of framework axes. |
|
Append a new axis to the list. |
|
Get axis based on label. |
|
Deallocate axes of list. |
|
Initialize the linked list of framework axes. |
|
Append a new field to the list. |
|
Get axis based on label. |
|
Deallocate fields of list. |
|
Initialize the linked list of framework axes. |
|
Append a new field to the list. |
|
Get axis based on label. |
|
Deallocate fields of list. |
|
Open a MOM framework file. |
|
Close a MOM framework file. |
|
Flush the buffer of a MOM framework file. |
|
Register an axis to the MOM framework file. |
|
Register a field to the MOM framework file. |
|
Write a 4D field to the MOM framework file. |
|
Write a 3D field to the MOM framework file. |
|
Write a 2D field to the MOM framework file. |
|
Write a 1D field to the MOM framework file. |
|
Write a 0D field to the MOM framework file. |
|
Write an axis field to the MOM framework file. |
|
Write global metadata to the MOM framework file. |
|
True if the framework file has been opened. |
|
Return number of dimensions, variables, or time levels in a MOM infra file. |
|
Return the field metadata associated with a MOM framework file. |
|
Get time levels of a MOM framework file. |
|
Get attributes from a field. |
|
Interface to read_field_chksum. |
|
Get the native (fieldtype) fields of a MOM framework file. |
|
Open a MOM netCDF file. |
|
Close a MOM netCDF file. |
|
Flush the buffer of a MOM netCDF file. |
|
Register an axis to the MOM netcdf file. |
|
Register a field to the MOM netcdf file. |
|
Write global metadata to the MOM netcdf file. |
|
Write a 4D field to the MOM netcdf file. |
|
Write a 3D field to the MOM netcdf file. |
|
Write a 2D field to the MOM netcdf file. |
|
Write a 1D field to the MOM netcdf file. |
|
Write a 0D field to the MOM netcdf file. |
|
Write an axis field to the MOM netcdf file. |
|
True if the framework file has been opened. |
|
Return number of dimensions, variables, or time levels in a MOM netcdf file. |
|
Update the axes and fields descriptors of a MOM netCDF file. |
|
Return the field descriptors of a MOM netCDF file. |
|
Get attributes from a netCDF field. |
|
Interface to read_field_chksum. |
|
Read the values of a netCDF field into an array that might have halos. |
Detailed Description
This module contains the MOM file handler types.
Type Documentation
- type mom_io_file/mom_axis
Handle for axis in MOM file.
- Type fields:
% label ::
character(len=:), allocatable, privateIdentifier for the axis in handle’s list.
- type mom_io_file/axis_list_infra
Linked list of framework axes.
- Type fields:
% head ::
type(axis_node_infra), pointer, privateHead of axis linked list.% tail ::
type(axis_node_infra), pointer, privateTail of axis linked list.% init ::
procedure, privateInitialize the framework axis list.% append ::
procedure, privateAppend a new axis to the framework axis list.% get ::
procedure, privateGet an axis from the framework axis list.% finalize ::
procedure, privateDeallocate the framework axis list.
- type mom_io_file/axis_node_infra
Framework axis linked list node.
- Type fields:
% label ::
character(len=:), allocatable, privateAxis identifier.% next ::
type(axis_node_infra), pointer, privatePointer to next axis node.% axis ::
type(axistype), privateAxis node contents.
- type mom_io_file/axis_list_nc
Linked list of framework axes.
- Type fields:
% head ::
type(axis_node_nc), pointer, privateHead of axis linked list.% tail ::
type(axis_node_nc), pointer, privateTail of axis linked list.% init ::
procedure, privateInitialize the netCDF axis list.% append ::
procedure, privateAppend a new axis to the netCDF axis list.% get ::
procedure, privateGet an axis from the netCDF axis list.% finalize ::
procedure, privateDeallocate the netCDF axis list.
- type mom_io_file/axis_node_nc
Framework axis linked list node.
- Type fields:
% label ::
character(len=:), allocatable, privateAxis identifier.% next ::
type(axis_node_nc), pointer, privatePointer to next axis node.% axis ::
type(netcdf_axis), privateAxis node contents.
- type mom_io_file/mom_field
Handle for field in MOM file.
- Type fields:
% label ::
character(len=:), allocatable, privateIdentifier for the field in the handle’s list.% conversion ::
real, privateA factor to use to rescale the field before output [a A-1 ~> 1].
- type mom_io_file/field_list_infra
Linked list of framework fields.
- Type fields:
% head ::
type(field_node_infra), pointer, privateHead of field linked list.% tail ::
type(field_node_infra), pointer, privateTail of field linked list.% init ::
procedure, privateInitialize the framework field list.% append ::
procedure, privateAppend a new axis to the framework field list.% get ::
procedure, privateGet an axis from the framework field list.% finalize ::
procedure, privateDeallocate the framework field list.
- type mom_io_file/field_node_infra
Framework field linked list node.
- Type fields:
% label ::
character(len=:), allocatable, privateField identifier.% field ::
type(fieldtype), privateField node contents.% next ::
type(field_node_infra), pointer, privatePointer to next field node.
- type mom_io_file/field_list_nc
Linked list of framework fields.
- Type fields:
% head ::
type(field_node_nc), pointer, privateHead of field linked list.% tail ::
type(field_node_nc), pointer, privateTail of field linked list.% init ::
procedure, privateInitialize the netCDF field list.% append ::
procedure, privateAppend a new axis to the netCDF field list.% get ::
procedure, privateGet an axis from the netCDF field list.% finalize ::
procedure, privateDeallocate the netCDF field list.
- type mom_io_file/field_node_nc
Framework field linked list node.
- Type fields:
% label ::
character(len=:), allocatable, privateField identifier.% field ::
type(netcdf_field), privateField node contents.% next ::
type(field_node_nc), pointer, privatePointer to next field node.
- type mom_io_file/mom_file
Generic MOM file abstraction for common operations.
- Type fields:
% open ::
procedure(i_open_file), deferred, privateOpen a file and connect to the MOM_file object.% close ::
procedure(i_close_file), deferred, privateClose the MOM file.% flush ::
procedure(i_flush_file), deferred, privateFlush buffered output to the MOM file.% register_axis ::
procedure(i_register_axis), deferred, privateRegister an axis to the MOM file.% register_field ::
procedure(i_register_field), deferred, privateRegister a field to the MOM file.% write_attribute ::
procedure(i_write_attribute), deferred, privateWrite metadata to the MOM file.% write_field ::
generic, privateWrite field to a MOM file.% write_field_4d ::
procedure(i_write_field_4d), deferred, privateWrite a 4D field to the MOM file.% write_field_3d ::
procedure(i_write_field_3d), deferred, privateWrite a 3D field to the MOM file.% write_field_2d ::
procedure(i_write_field_2d), deferred, privateWrite a 2D field to the MOM file.% write_field_1d ::
procedure(i_write_field_1d), deferred, privateWrite a 1D field to the MOM file.% write_field_0d ::
procedure(i_write_field_0d), deferred, privateWrite a 0D field to the MOM file.% write_field_axis ::
procedure(i_write_field_axis), deferred, privateWrite an axis field to the MOM file.% file_is_open ::
procedure(i_file_is_open), deferred, privateReturn true if MOM file has been opened.% get_file_info ::
procedure(i_get_file_info), deferred, privateReturn number of dimensions, variables, or time levels in a MOM file.% get_file_fields ::
procedure(i_get_file_fields), deferred, privateGet field objects from a MOM file.% get_field_atts ::
procedure(i_get_field_atts), deferred, privateGet attributes from a field.% read_field_chksum ::
procedure(i_read_field_chksum), deferred, privateGet checksum from a field.
- type mom_io_file/mom_infra_file
MOM file from the supporting framework (“infra”) layer.
- Type fields:
% domain ::
type(mom_domain_type), pointer, publicInternal domain used for single-file IO.% handle_infra ::
type(file_type), publicFramework-specific file handler content.% axes ::
type(axis_list_infra), privateList of axes in file.% fields ::
type(field_list_infra), privateList of fields in file.% open ::
procedure, privateOpen a framework file and connect to the MOM_file object.% close ::
procedure, privateClose the MOM framework file.% flush ::
procedure, privateFlush buffered output to the MOM framework file.% register_axis ::
procedure, privateRegister an axis to the MOM framework file.% register_field ::
procedure, privateRegister a field to the MOM framework file.% write_attribute ::
procedure, privateWrite global metadata to the MOM framework file.% write_field_4d ::
procedure, privateWrite a 4D field to the MOM framework file.% write_field_3d ::
procedure, privateWrite a 3D field to the MOM framework file.% write_field_2d ::
procedure, privateWrite a 2D field to the MOM framework file.% write_field_1d ::
procedure, privateWrite a 1D field to the MOM framework file.% write_field_0d ::
procedure, privateWrite a 0D field to the MOM framework file.% write_field_axis ::
procedure, privateWrite an axis field to the MOM framework file.% file_is_open ::
procedure, privateReturn true if MOM infra file has been opened.% get_file_info ::
procedure, privateReturn number of dimensions, variables, or time levels in a MOM infra file.% get_file_fields ::
procedure, privateGet field metadata from a MOM infra file.% get_field_atts ::
procedure, privateGet attributes from a field.% read_field_chksum ::
procedure, privateGet checksum from a field.% get_file_times ::
procedure, privateGet time levels of a MOM framework file.% get_file_fieldtypes ::
procedure, privateGet the fields as fieldtypes from a file.
- type mom_io_file/mom_netcdf_file
MOM file using netCDF backend.
- Type fields:
% handle_nc ::
type(netcdf_file_type), privateFramework-specific file handler content.% axes ::
type(axis_list_nc), privateList of netCDF axes.% fields ::
type(field_list_nc), privateList of netCDF fields.% is_open ::
logical, privateTrue if the file has been opened.% domain_decomposed ::
logical, privateTrue if I/O content is domain-decomposed.% hi ::
type(hor_index_type), privateTrue if I/O content is domain-decomposed.% open ::
procedure, privateOpen a framework file and connect to the MOM_netcdf_file object.% close ::
procedure, privateClose the MOM netcdf file.% flush ::
procedure, privateFlush buffered output to the MOM netcdf file.% register_axis ::
procedure, privateRegister an axis to the MOM netcdf file.% register_field ::
procedure, privateRegister a field to the MOM netcdf file.% write_attribute ::
procedure, privateWrite global metadata to the MOM netcdf file.% write_field_4d ::
procedure, privateWrite a 4D field to the MOM netcdf file.% write_field_3d ::
procedure, privateWrite a 3D field to the MOM netcdf file.% write_field_2d ::
procedure, privateWrite a 2D field to the MOM netcdf file.% write_field_1d ::
procedure, privateWrite a 1D field to the MOM netcdf file.% write_field_0d ::
procedure, privateWrite a 0D field to the MOM netcdf file.% write_field_axis ::
procedure, privateWrite an axis field to the MOM netcdf file.% file_is_open ::
procedure, privateReturn true if MOM netcdf file has been opened.% get_file_info ::
procedure, privateReturn number of dimensions, variables, or time levels in a MOM netcdf file.% get_file_fields ::
procedure, privateGet field metadata from a MOM netcdf file.% get_field_atts ::
procedure, privateGet attributes from a netCDF field.% read_field_chksum ::
procedure, privateGet checksum from a netCDF field.% read ::
procedure, privateRead the values of a netCDF field.% update ::
procedure, privateUpdate the axes and fields descriptors of a MOM netCDF file.
Function/Subroutine Documentation
- subroutine mom_io_file/initialize_axis_list_infra(list)
Initialize the linked list of framework axes.
- subroutine mom_io_file/append_axis_list_infra(list, axis, label)
Append a new axis to the list.
- subroutine mom_io_file/initialize_axis_list_nc(list)
Initialize the linked list of framework axes.
- subroutine mom_io_file/append_axis_list_nc(list, axis, label)
Append a new axis to the list.
- subroutine mom_io_file/initialize_field_list_infra(list)
Initialize the linked list of framework axes.
- subroutine mom_io_file/append_field_list_infra(list, field, label)
Append a new field to the list.
- subroutine mom_io_file/initialize_field_list_nc(list)
Initialize the linked list of framework axes.
- subroutine mom_io_file/append_field_list_nc(list, field, label)
Append a new field to the list.
- subroutine mom_io_file/open_file_infra(handle, filename, action, MOM_domain, threading, fileset)
Open a MOM framework file.
- function mom_io_file/register_axis_infra(handle, label, units, longname, cartesian, sense, domain, data, edge_axis, calendar)
Register an axis to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writinglabel ::
label[in] The name in the file of this axisunits ::
units[in] The units of this axislongname ::
longname[in] The long description of this axiscartesian ::
cartesian[in] A variable indicating which direction this axis corresponds with. Valid values include ‘X’, ‘Y’, ‘Z’, ‘T’, and ‘N’ for none.sense ::
sense[in] This is 1 for axes whose values increase upward, or -1 if they increase downward.domain ::
domain[in] The domain decomposion for this axisdata ::
data[in] The coordinate values of the points on this axisedge_axis ::
edge_axis[in] If true, this axis marks an edge of the tracer cellscalendar ::
calendar[in] The name of the calendar used with a time axis
- Return:
undefined :: The axis type where this information is stored
- function mom_io_file/register_field_infra(handle, axes, label, units, longname, pack, standard_name, checksum, conversion)
Register a field to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingaxes ::
axes[in] Handles for the axis used for this variablelabel ::
label[in] The name in the file of this variableunits ::
units[in] The units of this variablelongname ::
longname[in] The long description of this variablepack ::
pack[in] A precision reduction factor with which the variable. The default, 1, has no reduction, but 2 is not uncommon.standard_name ::
standard_name[in] The standard (e.g., CMOR) name for this variablechecksum ::
checksum[in] Checksum values that can be used to verify reads.conversion ::
conversion[in] A factor to use to rescale the field before output [a A-1 ~> 1]
- Return:
undefined :: The field type where this information is stored
- subroutine mom_io_file/write_field_4d_infra(handle, field_md, MOM_domain, field, tstamp, tile_count, fill_value)
Write a 4D field to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatamom_domain :: [in] The MOM_Domain that describes the decomposition
field ::
field[inout] Field to writetstamp ::
tstamp[in] Model time of this fieldtile_count ::
tile_count[in] PEs per tile (default: 1)fill_value ::
fill_value[in] Missing data fill value
- subroutine mom_io_file/write_field_3d_infra(handle, field_md, MOM_domain, field, tstamp, tile_count, fill_value)
Write a 3D field to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatamom_domain :: [in] The MOM_Domain that describes the decomposition
field ::
field[inout] Field to write, perhaps in arbitrary rescaled units [A ~> a]tstamp ::
tstamp[in] Model time of this fieldtile_count ::
tile_count[in] PEs per tile (default: 1)fill_value ::
fill_value[in] Missing data fill value
- subroutine mom_io_file/write_field_2d_infra(handle, field_md, MOM_domain, field, tstamp, tile_count, fill_value)
Write a 2D field to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatamom_domain :: [in] The MOM_Domain that describes the decomposition
field ::
field[inout] Field to writetstamp ::
tstamp[in] Model time of this fieldtile_count ::
tile_count[in] PEs per tile (default: 1)fill_value ::
fill_value[in] Missing data fill value
- subroutine mom_io_file/write_field_1d_infra(handle, field_md, field, tstamp)
Write a 1D field to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatafield ::
field[in] Field to writetstamp ::
tstamp[in] Model time of this field
- subroutine mom_io_file/write_field_0d_infra(handle, field_md, field, tstamp)
Write a 0D field to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatafield ::
field[in] Field to writetstamp ::
tstamp[in] Model time of this field
- subroutine mom_io_file/write_field_axis_infra(handle, axis)
Write an axis field to the MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingaxis ::
axis[in] An axis type variable with information to write
- subroutine mom_io_file/write_attribute_infra(handle, name, attribute)
Write global metadata to the MOM framework file.
- Parameters:
handle ::
handle[in] Handle for a file that is open for writingname ::
name[in] The name in the file of this global attributeattribute ::
attribute[in] The value of this attribute
- function mom_io_file/file_is_open_infra(handle)
True if the framework file has been opened.
- Parameters:
handle ::
handle[in] Handle to a file to inquire about
- subroutine mom_io_file/get_file_info_infra(handle, ndim, nvar, ntime)
Return number of dimensions, variables, or time levels in a MOM infra file.
- Parameters:
handle ::
handle[in] Handle for a file that is open for I/Ondim ::
ndim[out] The number of dimensions in the filenvar ::
nvar[out] The number of variables in the filentime ::
ntime[out] The number of time levels in the file
- subroutine mom_io_file/get_file_fields_infra(handle, fields)
Return the field metadata associated with a MOM framework file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for I/Ofields ::
fields[inout] Field-type descriptions of all of the variables in a file.
- subroutine mom_io_file/get_file_times_infra(handle, time_values, ntime)
Get time levels of a MOM framework file.
- Parameters:
handle ::
handle[in] Handle for a file that is open for I/Otime_values ::
time_values[inout] The real times for the records in file.ntime ::
ntime[out] The number of time levels in the file
- subroutine mom_io_file/get_field_atts_infra(handle, field, name, units, longname, checksum)
Get attributes from a field.
- Parameters:
handle ::
handle[in] File where field is storedfield ::
field[in] The field to extract information fromname ::
name[out] The variable nameunits ::
units[out] The units of the variablelongname ::
longname[out] The long name of the variablechecksum ::
checksum[out] The checksums of the variable in a file
- subroutine mom_io_file/read_field_chksum_infra(handle, field, chksum, valid_chksum)
Interface to read_field_chksum.
- Parameters:
handle ::
handle[in] File where field is storedfield ::
field[in] The field whose checksum attribute is to be readchksum ::
chksum[out] The checksum for the field.valid_chksum ::
valid_chksum[out] If true, chksum has been successfully read
- subroutine mom_io_file/get_file_fieldtypes(handle, fields)
Get the native (fieldtype) fields of a MOM framework file.
- subroutine mom_io_file/open_file_nc(handle, filename, action, MOM_domain, threading, fileset)
Open a MOM netCDF file.
- Call to:
- function mom_io_file/register_axis_nc(handle, label, units, longname, cartesian, sense, domain, data, edge_axis, calendar)
Register an axis to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a netCDF file that is open for writinglabel ::
label[in] The name in the file of this axisunits ::
units[in] The units of this axislongname ::
longname[in] The long description of this axiscartesian ::
cartesian[in] A variable indicating which direction this axis corresponds with. Valid values include ‘X’, ‘Y’, ‘Z’, ‘T’, and ‘N’ for none.sense ::
sense[in] This is 1 for axes whose values increase upward, or -1 if they increase downward.domain ::
domain[in] The domain decomposion for this axisdata ::
data[in] The coordinate values of the points on this axisedge_axis ::
edge_axis[in] If true, this axis marks an edge of the tracer cellscalendar ::
calendar[in] The name of the calendar used with a time axis
- function mom_io_file/register_field_nc(handle, axes, label, units, longname, pack, standard_name, checksum, conversion)
Register a field to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingaxes ::
axes[in] Handles for the axis used for this variablelabel ::
label[in] The name in the file of this variableunits ::
units[in] The units of this variablelongname ::
longname[in] The long description of this variablepack ::
pack[in] A precision reduction factor with which the variable. The default, 1, has no reduction, but 2 is not uncommon.standard_name ::
standard_name[in] The standard (e.g., CMOR) name for this variablechecksum ::
checksum[in] Checksum values that can be used to verify reads.conversion ::
conversion[in] A factor to use to rescale the field before output [a A-1 ~> 1]
- subroutine mom_io_file/write_attribute_nc(handle, name, attribute)
Write global metadata to the MOM netcdf file.
- Parameters:
handle ::
handle[in] Handle for a file that is open for writingname ::
name[in] The name in the file of this global attributeattribute ::
attribute[in] The value of this attribute
- subroutine mom_io_file/write_field_4d_nc(handle, field_md, MOM_domain, field, tstamp, tile_count, fill_value)
Write a 4D field to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatamom_domain :: [in] The MOM_Domain that describes the decomposition
field ::
field[inout] Field to writetstamp ::
tstamp[in] Model time of this fieldtile_count ::
tile_count[in] PEs per tile (default: 1)fill_value ::
fill_value[in] Missing data fill value
- subroutine mom_io_file/write_field_3d_nc(handle, field_md, MOM_domain, field, tstamp, tile_count, fill_value)
Write a 3D field to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatamom_domain :: [in] The MOM_Domain that describes the decomposition
field ::
field[inout] Field to writetstamp ::
tstamp[in] Model time of this fieldtile_count ::
tile_count[in] PEs per tile (default: 1)fill_value ::
fill_value[in] Missing data fill value
- subroutine mom_io_file/write_field_2d_nc(handle, field_md, MOM_domain, field, tstamp, tile_count, fill_value)
Write a 2D field to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatamom_domain :: [in] The MOM_Domain that describes the decomposition
field ::
field[inout] Field to writetstamp ::
tstamp[in] Model time of this fieldtile_count ::
tile_count[in] PEs per tile (default: 1)fill_value ::
fill_value[in] Missing data fill value
- subroutine mom_io_file/write_field_1d_nc(handle, field_md, field, tstamp)
Write a 1D field to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatafield ::
field[in] Field to writetstamp ::
tstamp[in] Model time of this field
- subroutine mom_io_file/write_field_0d_nc(handle, field_md, field, tstamp)
Write a 0D field to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingfield_md ::
field_md[in] Field type with metadatafield ::
field[in] Field to writetstamp ::
tstamp[in] Model time of this field
- subroutine mom_io_file/write_field_axis_nc(handle, axis)
Write an axis field to the MOM netcdf file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for writingaxis ::
axis[in] An axis type variable with information to write
- function mom_io_file/file_is_open_nc(handle)
True if the framework file has been opened.
- Parameters:
handle ::
handle[in] Handle to a file to inquire about
- subroutine mom_io_file/get_file_info_nc(handle, ndim, nvar, ntime)
Return number of dimensions, variables, or time levels in a MOM netcdf file.
- Parameters:
handle ::
handle[in] Handle for a file that is open for I/Ondim ::
ndim[out] The number of dimensions in the filenvar ::
nvar[out] The number of variables in the filentime ::
ntime[out] The number of time levels in the file
- subroutine mom_io_file/update_file_contents_nc(handle)
Update the axes and fields descriptors of a MOM netCDF file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for I/O
- subroutine mom_io_file/get_file_fields_nc(handle, fields)
Return the field descriptors of a MOM netCDF file.
- Parameters:
handle ::
handle[inout] Handle for a file that is open for I/Ofields ::
fields[inout] Field-type descriptions of all of the variables in a file.
- subroutine mom_io_file/get_field_atts_nc(handle, field, name, units, longname, checksum)
Get attributes from a netCDF field.
- Parameters:
handle ::
handle[in] File where field is storedfield ::
field[in] The field to extract information fromname ::
name[out] The variable nameunits ::
units[out] The units of the variablelongname ::
longname[out] The long name of the variablechecksum ::
checksum[out] The checksums of the variable in a file
- subroutine mom_io_file/read_field_chksum_nc(handle, field, chksum, valid_chksum)
Interface to read_field_chksum.
- Parameters:
handle ::
handle[in] File where field is storedfield ::
field[in] The field whose checksum attribute is to be readchksum ::
chksum[out] The checksum for the field.valid_chksum ::
valid_chksum[out] If true, chksum has been successfully read
- subroutine mom_io_file/get_field_nc(handle, label, values, rescale)
Read the values of a netCDF field into an array that might have halos.
- Parameters:
handle ::
handle[in] Handle of netCDF file to be readlabel ::
label[in] Field variable namevalues ::
values[inout] Field values read from the file. It would be intent(out) but for the need to preserve any initialized values in the halo regions.rescale ::
rescale[in] A multiplicative rescaling factor for the values that are read. Omitting this is the same as setting it to 1.
- Call to: