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, private] :: Identifier 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, private] :: Head of axis linked list.%tail[type( axis_node_infra ),pointer, private] :: Tail of axis linked list.%init[procedure,private] :: Initialize the framework axis list.%append[procedure,private] :: Append a new axis to the framework axis list.%get[procedure,private] :: Get an axis from the framework axis list.%finalize[procedure,private] :: Deallocate the framework axis list.
-
type
mom_io_file/axis_node_infra¶ Framework axis linked list node.
- Type fields:
%label[character (len=:),allocatable, private] :: Axis identifier.%next[type( axis_node_infra ),pointer, private] :: Pointer to next axis node.%axis[type(axistype),private] :: Axis node contents.
-
type
mom_io_file/axis_list_nc¶ Linked list of framework axes.
- Type fields:
%head[type( axis_node_nc ),pointer, private] :: Head of axis linked list.%tail[type( axis_node_nc ),pointer, private] :: Tail of axis linked list.%init[procedure,private] :: Initialize the netCDF axis list.%append[procedure,private] :: Append a new axis to the netCDF axis list.%get[procedure,private] :: Get an axis from the netCDF axis list.%finalize[procedure,private] :: Deallocate the netCDF axis list.
-
type
mom_io_file/axis_node_nc¶ Framework axis linked list node.
- Type fields:
%label[character (len=:),allocatable, private] :: Axis identifier.%next[type( axis_node_nc ),pointer, private] :: Pointer to next axis node.%axis[type( netcdf_axis ),private] :: Axis node contents.
-
type
mom_io_file/mom_field¶ Handle for field in MOM file.
- Type fields:
%label[character (len=:),allocatable, private] :: Identifier for the field in the handle’s list.%conversion[real,private] :: A 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, private] :: Head of field linked list.%tail[type( field_node_infra ),pointer, private] :: Tail of field linked list.%init[procedure,private] :: Initialize the framework field list.%append[procedure,private] :: Append a new axis to the framework field list.%get[procedure,private] :: Get an axis from the framework field list.%finalize[procedure,private] :: Deallocate the framework field list.
-
type
mom_io_file/field_node_infra¶ Framework field linked list node.
- Type fields:
%label[character (len=:),allocatable, private] :: Field identifier.%field[type(fieldtype),private] :: Field node contents.%next[type( field_node_infra ),pointer, private] :: Pointer to next field node.
-
type
mom_io_file/field_list_nc¶ Linked list of framework fields.
- Type fields:
%head[type( field_node_nc ),pointer, private] :: Head of field linked list.%tail[type( field_node_nc ),pointer, private] :: Tail of field linked list.%init[procedure,private] :: Initialize the netCDF field list.%append[procedure,private] :: Append a new axis to the netCDF field list.%get[procedure,private] :: Get an axis from the netCDF field list.%finalize[procedure,private] :: Deallocate the netCDF field list.
-
type
mom_io_file/field_node_nc¶ Framework field linked list node.
- Type fields:
%label[character (len=:),allocatable, private] :: Field identifier.%field[type( netcdf_field ),private] :: Field node contents.%next[type( field_node_nc ),pointer, private] :: Pointer 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, private] :: Open a file and connect to the MOM_file object.%close[procedure( i_close_file ),deferred, private] :: Close the MOM file.%flush[procedure( i_flush_file ),deferred, private] :: Flush buffered output to the MOM file.%register_axis[procedure( i_register_axis ),deferred, private] :: Register an axis to the MOM file.%register_field[procedure( i_register_field ),deferred, private] :: Register a field to the MOM file.%write_attribute[procedure( i_write_attribute ),deferred, private] :: Write metadata to the MOM file.%write_field[generic,private] :: Write field to a MOM file.%write_field_4d[procedure( i_write_field_4d ),deferred, private] :: Write a 4D field to the MOM file.%write_field_3d[procedure( i_write_field_3d ),deferred, private] :: Write a 3D field to the MOM file.%write_field_2d[procedure( i_write_field_2d ),deferred, private] :: Write a 2D field to the MOM file.%write_field_1d[procedure( i_write_field_1d ),deferred, private] :: Write a 1D field to the MOM file.%write_field_0d[procedure( i_write_field_0d ),deferred, private] :: Write a 0D field to the MOM file.%write_field_axis[procedure( i_write_field_axis ),deferred, private] :: Write an axis field to the MOM file.%file_is_open[procedure( i_file_is_open ),deferred, private] :: Return true if MOM file has been opened.%get_file_info[procedure( i_get_file_info ),deferred, private] :: Return number of dimensions, variables, or time levels in a MOM file.%get_file_fields[procedure( i_get_file_fields ),deferred, private] :: Get field objects from a MOM file.%get_field_atts[procedure( i_get_field_atts ),deferred, private] :: Get attributes from a field.%read_field_chksum[procedure( i_read_field_chksum ),deferred, private] :: Get 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, public] :: Internal domain used for single-file IO.%handle_infra[type(file_type),public] :: Framework-specific file handler content.%axes[type( axis_list_infra ),private] :: List of axes in file.%fields[type( field_list_infra ),private] :: List of fields in file.%open[procedure,private] :: Open a framework file and connect to the MOM_file object.%close[procedure,private] :: Close the MOM framework file.%flush[procedure,private] :: Flush buffered output to the MOM framework file.%register_axis[procedure,private] :: Register an axis to the MOM framework file.%register_field[procedure,private] :: Register a field to the MOM framework file.%write_attribute[procedure,private] :: Write global metadata to the MOM framework file.%write_field_4d[procedure,private] :: Write a 4D field to the MOM framework file.%write_field_3d[procedure,private] :: Write a 3D field to the MOM framework file.%write_field_2d[procedure,private] :: Write a 2D field to the MOM framework file.%write_field_1d[procedure,private] :: Write a 1D field to the MOM framework file.%write_field_0d[procedure,private] :: Write a 0D field to the MOM framework file.%write_field_axis[procedure,private] :: Write an axis field to the MOM framework file.%file_is_open[procedure,private] :: Return true if MOM infra file has been opened.%get_file_info[procedure,private] :: Return number of dimensions, variables, or time levels in a MOM infra file.%get_file_fields[procedure,private] :: Get field metadata from a MOM infra file.%get_field_atts[procedure,private] :: Get attributes from a field.%read_field_chksum[procedure,private] :: Get checksum from a field.%get_file_times[procedure,private] :: Get time levels of a MOM framework file.%get_file_fieldtypes[procedure,private] :: Get 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 ),private] :: Framework-specific file handler content.%axes[type( axis_list_nc ),private] :: List of netCDF axes.%fields[type( field_list_nc ),private] :: List of netCDF fields.%is_open[logical,private] :: True if the file has been opened.%domain_decomposed[logical,private] :: True if I/O content is domain-decomposed.%hi[type( hor_index_type ),private] :: True if I/O content is domain-decomposed.%open[procedure,private] :: Open a framework file and connect to the MOM_netcdf_file object.%close[procedure,private] :: Close the MOM netcdf file.%flush[procedure,private] :: Flush buffered output to the MOM netcdf file.%register_axis[procedure,private] :: Register an axis to the MOM netcdf file.%register_field[procedure,private] :: Register a field to the MOM netcdf file.%write_attribute[procedure,private] :: Write global metadata to the MOM netcdf file.%write_field_4d[procedure,private] :: Write a 4D field to the MOM netcdf file.%write_field_3d[procedure,private] :: Write a 3D field to the MOM netcdf file.%write_field_2d[procedure,private] :: Write a 2D field to the MOM netcdf file.%write_field_1d[procedure,private] :: Write a 1D field to the MOM netcdf file.%write_field_0d[procedure,private] :: Write a 0D field to the MOM netcdf file.%write_field_axis[procedure,private] :: Write an axis field to the MOM netcdf file.%file_is_open[procedure,private] :: Return true if MOM netcdf file has been opened.%get_file_info[procedure,private] :: Return number of dimensions, variables, or time levels in a MOM netcdf file.%get_file_fields[procedure,private] :: Get field metadata from a MOM netcdf file.%get_field_atts[procedure,private] :: Get attributes from a netCDF field.%read_field_chksum[procedure,private] :: Get checksum from a netCDF field.%read[procedure,private] :: Read the values of a netCDF field.%update[procedure,private] :: Update 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.
-
function
mom_io_file/get_axis_list_infra(list, label) [type(axistype)]¶ Get axis based on label.
-
subroutine
mom_io_file/finalize_axis_list_infra(list)¶ Deallocate axes of 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.
-
function
mom_io_file/get_axis_list_nc(list, label) [type(netcdf_axis)]¶ Get axis based on label.
-
subroutine
mom_io_file/finalize_axis_list_nc(list)¶ Deallocate axes of 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.
-
function
mom_io_file/get_field_list_infra(list, label) [type(fieldtype)]¶ Get axis based on label.
-
subroutine
mom_io_file/finalize_field_list_infra(list)¶ Deallocate fields of 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.
-
function
mom_io_file/get_field_list_nc(list, label) [type(netcdf_field)]¶ Get axis based on label.
-
subroutine
mom_io_file/finalize_field_list_nc(list)¶ Deallocate fields of list.
-
subroutine
mom_io_file/open_file_infra(handle, filename, action, MOM_domain, threading, fileset)¶ Open a MOM framework file.
-
subroutine
mom_io_file/close_file_infra(handle)¶ Close a MOM framework file.
-
subroutine
mom_io_file/flush_file_infra(handle)¶ Flush the buffer of a MOM framework file.
-
function
mom_io_file/register_axis_infra(handle, label, units, longname, cartesian, sense, domain, data, edge_axis, calendar) [type(mom_axis)]¶ Register an axis to the MOM framework file.
- Parameters:
handle :: [inout] Handle for a file that is open for writing
label :: [in] The name in the file of this axis
units :: [in] The units of this axis
longname :: [in] The long description of this axis
cartesian :: [in] A variable indicating which direction this axis corresponds with. Valid values include ‘X’, ‘Y’, ‘Z’, ‘T’, and ‘N’ for none.
sense :: [in] This is 1 for axes whose values increase upward, or -1 if they increase downward.
domain :: [in] The domain decomposion for this axis
data :: [in] The coordinate values of the points on this axis
edge_axis :: [in] If true, this axis marks an edge of the tracer cells
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) [type(mom_field)]¶ Register a field to the MOM framework file.
- Parameters:
handle :: [inout] Handle for a file that is open for writing
axes :: [in] Handles for the axis used for this variable
label :: [in] The name in the file of this variable
units :: [in] The units of this variable
longname :: [in] The long description of this variable
pack :: [in] A precision reduction factor with which the variable. The default, 1, has no reduction, but 2 is not uncommon.
standard_name :: [in] The standard (e.g., CMOR) name for this variable
checksum :: [in] Checksum values that can be used to verify reads.
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
mom_domain :: [in] The MOM_Domain that describes the decomposition
field :: [inout] Field to write
tstamp :: [in] Model time of this field
tile_count :: [in] PEs per tile (default: 1)
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
mom_domain :: [in] The MOM_Domain that describes the decomposition
field :: [inout] Field to write, perhaps in arbitrary rescaled units [A ~> a]
tstamp :: [in] Model time of this field
tile_count :: [in] PEs per tile (default: 1)
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
mom_domain :: [in] The MOM_Domain that describes the decomposition
field :: [inout] Field to write
tstamp :: [in] Model time of this field
tile_count :: [in] PEs per tile (default: 1)
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
field :: [in] Field to write
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
field :: [in] Field to write
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 :: [inout] Handle for a file that is open for writing
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 :: [in] Handle for a file that is open for writing
name :: [in] The name in the file of this global attribute
attribute :: [in] The value of this attribute
-
function
mom_io_file/file_is_open_infra(handle) [logical]¶ True if the framework file has been opened.
- Parameters:
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 :: [in] Handle for a file that is open for I/O
ndim :: [out] The number of dimensions in the file
nvar :: [out] The number of variables in the file
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 :: [inout] Handle for a file that is open for I/O
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 :: [in] Handle for a file that is open for I/O
time_values :: [inout] The real times for the records in file.
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 :: [in] File where field is stored
field :: [in] The field to extract information from
name :: [out] The variable name
units :: [out] The units of the variable
longname :: [out] The long name of the variable
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 :: [in] File where field is stored
field :: [in] The field whose checksum attribute is to be read
chksum :: [out] The checksum for the field.
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:
-
subroutine
mom_io_file/close_file_nc(handle)¶ Close a MOM netCDF file.
-
subroutine
mom_io_file/flush_file_nc(handle)¶ Flush the buffer of a MOM netCDF file.
-
function
mom_io_file/register_axis_nc(handle, label, units, longname, cartesian, sense, domain, data, edge_axis, calendar) [type(mom_axis)]¶ Register an axis to the MOM netcdf file.
- Parameters:
handle :: [inout] Handle for a netCDF file that is open for writing
label :: [in] The name in the file of this axis
units :: [in] The units of this axis
longname :: [in] The long description of this axis
cartesian :: [in] A variable indicating which direction this axis corresponds with. Valid values include ‘X’, ‘Y’, ‘Z’, ‘T’, and ‘N’ for none.
sense :: [in] This is 1 for axes whose values increase upward, or -1 if they increase downward.
domain :: [in] The domain decomposion for this axis
data :: [in] The coordinate values of the points on this axis
edge_axis :: [in] If true, this axis marks an edge of the tracer cells
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) [type(mom_field)]¶ Register a field to the MOM netcdf file.
- Parameters:
handle :: [inout] Handle for a file that is open for writing
axes :: [in] Handles for the axis used for this variable
label :: [in] The name in the file of this variable
units :: [in] The units of this variable
longname :: [in] The long description of this variable
pack :: [in] A precision reduction factor with which the variable. The default, 1, has no reduction, but 2 is not uncommon.
standard_name :: [in] The standard (e.g., CMOR) name for this variable
checksum :: [in] Checksum values that can be used to verify reads.
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 :: [in] Handle for a file that is open for writing
name :: [in] The name in the file of this global attribute
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
mom_domain :: [in] The MOM_Domain that describes the decomposition
field :: [inout] Field to write
tstamp :: [in] Model time of this field
tile_count :: [in] PEs per tile (default: 1)
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
mom_domain :: [in] The MOM_Domain that describes the decomposition
field :: [inout] Field to write
tstamp :: [in] Model time of this field
tile_count :: [in] PEs per tile (default: 1)
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
mom_domain :: [in] The MOM_Domain that describes the decomposition
field :: [inout] Field to write
tstamp :: [in] Model time of this field
tile_count :: [in] PEs per tile (default: 1)
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
field :: [in] Field to write
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 :: [inout] Handle for a file that is open for writing
field_md :: [in] Field type with metadata
field :: [in] Field to write
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 :: [inout] Handle for a file that is open for writing
axis :: [in] An axis type variable with information to write
-
function
mom_io_file/file_is_open_nc(handle) [logical]¶ True if the framework file has been opened.
- Parameters:
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 :: [in] Handle for a file that is open for I/O
ndim :: [out] The number of dimensions in the file
nvar :: [out] The number of variables in the file
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 :: [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 :: [inout] Handle for a file that is open for I/O
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 :: [in] File where field is stored
field :: [in] The field to extract information from
name :: [out] The variable name
units :: [out] The units of the variable
longname :: [out] The long name of the variable
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 :: [in] File where field is stored
field :: [in] The field whose checksum attribute is to be read
chksum :: [out] The checksum for the field.
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 :: [in] Handle of netCDF file to be read
label :: [in] Field variable name
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 :: [in] A multiplicative rescaling factor for the values that are read. Omitting this is the same as setting it to 1.
- Call to: