mom_io_file module reference

This module contains the MOM file handler types.

More…

Data Types

mom_axis

Handle for axis in MOM file.

axis_list_infra

Linked list of framework axes.

axis_node_infra

Framework axis linked list node.

axis_list_nc

Linked list of framework axes.

axis_node_nc

Framework axis linked list node.

mom_field

Handle for field in MOM file.

field_list_infra

Linked list of framework fields.

field_node_infra

Framework field linked list node.

field_list_nc

Linked list of framework fields.

field_node_nc

Framework field linked list node.

mom_file

Generic MOM file abstraction for common operations.

mom_infra_file

MOM file from the supporting framework ("infra") layer.

mom_netcdf_file

MOM file using netCDF backend.

Functions/Subroutines

initialize_axis_list_infra()

Initialize the linked list of framework axes.

append_axis_list_infra()

Append a new axis to the list.

get_axis_list_infra()

Get axis based on label.

finalize_axis_list_infra()

Deallocate axes of list.

initialize_axis_list_nc()

Initialize the linked list of framework axes.

append_axis_list_nc()

Append a new axis to the list.

get_axis_list_nc()

Get axis based on label.

finalize_axis_list_nc()

Deallocate axes of list.

initialize_field_list_infra()

Initialize the linked list of framework axes.

append_field_list_infra()

Append a new field to the list.

get_field_list_infra()

Get axis based on label.

finalize_field_list_infra()

Deallocate fields of list.

initialize_field_list_nc()

Initialize the linked list of framework axes.

append_field_list_nc()

Append a new field to the list.

get_field_list_nc()

Get axis based on label.

finalize_field_list_nc()

Deallocate fields of list.

open_file_infra()

Open a MOM framework file.

close_file_infra()

Close a MOM framework file.

flush_file_infra()

Flush the buffer of a MOM framework file.

register_axis_infra()

Register an axis to the MOM framework file.

register_field_infra()

Register a field to the MOM framework file.

write_field_4d_infra()

Write a 4D field to the MOM framework file.

write_field_3d_infra()

Write a 3D field to the MOM framework file.

write_field_2d_infra()

Write a 2D field to the MOM framework file.

write_field_1d_infra()

Write a 1D field to the MOM framework file.

write_field_0d_infra()

Write a 0D field to the MOM framework file.

write_field_axis_infra()

Write an axis field to the MOM framework file.

write_attribute_infra()

Write global metadata to the MOM framework file.

file_is_open_infra()

True if the framework file has been opened.

get_file_info_infra()

Return number of dimensions, variables, or time levels in a MOM infra file.

get_file_fields_infra()

Return the field metadata associated with a MOM framework file.

get_file_times_infra()

Get time levels of a MOM framework file.

get_field_atts_infra()

Get attributes from a field.

read_field_chksum_infra()

Interface to read_field_chksum.

get_file_fieldtypes()

Get the native (fieldtype) fields of a MOM framework file.

open_file_nc()

Open a MOM netCDF file.

close_file_nc()

Close a MOM netCDF file.

flush_file_nc()

Flush the buffer of a MOM netCDF file.

register_axis_nc()

Register an axis to the MOM netcdf file.

register_field_nc()

Register a field to the MOM netcdf file.

write_attribute_nc()

Write global metadata to the MOM netcdf file.

write_field_4d_nc()

Write a 4D field to the MOM netcdf file.

write_field_3d_nc()

Write a 3D field to the MOM netcdf file.

write_field_2d_nc()

Write a 2D field to the MOM netcdf file.

write_field_1d_nc()

Write a 1D field to the MOM netcdf file.

write_field_0d_nc()

Write a 0D field to the MOM netcdf file.

write_field_axis_nc()

Write an axis field to the MOM netcdf file.

file_is_open_nc()

True if the framework file has been opened.

get_file_info_nc()

Return number of dimensions, variables, or time levels in a MOM netcdf file.

update_file_contents_nc()

Update the axes and fields descriptors of a MOM netCDF file.

get_file_fields_nc()

Return the field descriptors of a MOM netCDF file.

get_field_atts_nc()

Get attributes from a netCDF field.

read_field_chksum_nc()

Interface to read_field_chksum.

get_field_nc()

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.

[source]

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.

[source]

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.

[source]

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.

[source]

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.

[source]

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].

[source]

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.

[source]

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.

[source]

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.

[source]

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.

[source]

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.

[source]

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.

[source]

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.

[source]

Function/Subroutine Documentation

subroutine mom_io_file/initialize_axis_list_infra(list)

Initialize the linked list of framework axes.

[source]

subroutine mom_io_file/append_axis_list_infra(list, axis, label)

Append a new axis to the list.

[source]

function  mom_io_file/get_axis_list_infra(list, label)

Get axis based on label.

[source]

subroutine mom_io_file/finalize_axis_list_infra(list)

Deallocate axes of list.

[source]

subroutine mom_io_file/initialize_axis_list_nc(list)

Initialize the linked list of framework axes.

[source]

subroutine mom_io_file/append_axis_list_nc(list, axis, label)

Append a new axis to the list.

[source]

function  mom_io_file/get_axis_list_nc(list, label)

Get axis based on label.

[source]

subroutine mom_io_file/finalize_axis_list_nc(list)

Deallocate axes of list.

[source]

subroutine mom_io_file/initialize_field_list_infra(list)

Initialize the linked list of framework axes.

[source]

subroutine mom_io_file/append_field_list_infra(list, field, label)

Append a new field to the list.

[source]

function  mom_io_file/get_field_list_infra(list, label)

Get axis based on label.

[source]

subroutine mom_io_file/finalize_field_list_infra(list)

Deallocate fields of list.

[source]

subroutine mom_io_file/initialize_field_list_nc(list)

Initialize the linked list of framework axes.

[source]

subroutine mom_io_file/append_field_list_nc(list, field, label)

Append a new field to the list.

[source]

function  mom_io_file/get_field_list_nc(list, label)

Get axis based on label.

[source]

subroutine mom_io_file/finalize_field_list_nc(list)

Deallocate fields of list.

[source]

subroutine mom_io_file/open_file_infra(handle, filename, action, MOM_domain, threading, fileset)

Open a MOM framework file.

[source]

subroutine mom_io_file/close_file_infra(handle)

Close a MOM framework file.

[source]

subroutine mom_io_file/flush_file_infra(handle)

Flush the buffer of a MOM framework file.

[source]

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 writing

  • label :: label [in] The name in the file of this axis

  • units :: units [in] The units of this axis

  • longname :: longname [in] The long description of this axis

  • cartesian :: 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 axis

  • data :: data [in] The coordinate values of the points on this axis

  • edge_axis :: edge_axis [in] If true, this axis marks an edge of the tracer cells

  • calendar :: calendar [in] The name of the calendar used with a time axis

Return:

undefined :: The axis type where this information is stored

[source]

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 writing

  • axes :: axes [in] Handles for the axis used for this variable

  • label :: label [in] The name in the file of this variable

  • units :: units [in] The units of this variable

  • longname :: longname [in] The long description of this variable

  • pack :: 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 variable

  • checksum :: 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

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • mom_domain :: [in] The MOM_Domain that describes the decomposition

  • field :: field [inout] Field to write

  • tstamp :: tstamp [in] Model time of this field

  • tile_count :: tile_count [in] PEs per tile (default: 1)

  • fill_value :: fill_value [in] Missing data fill value

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • mom_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 field

  • tile_count :: tile_count [in] PEs per tile (default: 1)

  • fill_value :: fill_value [in] Missing data fill value

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • mom_domain :: [in] The MOM_Domain that describes the decomposition

  • field :: field [inout] Field to write

  • tstamp :: tstamp [in] Model time of this field

  • tile_count :: tile_count [in] PEs per tile (default: 1)

  • fill_value :: fill_value [in] Missing data fill value

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • field :: field [in] Field to write

  • tstamp :: tstamp [in] Model time of this field

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • field :: field [in] Field to write

  • tstamp :: tstamp [in] Model time of this field

[source]

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 writing

  • axis :: axis [in] An axis type variable with information to write

[source]

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 writing

  • name :: name [in] The name in the file of this global attribute

  • attribute :: attribute [in] The value of this attribute

[source]

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

[source]

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/O

  • ndim :: ndim [out] The number of dimensions in the file

  • nvar :: nvar [out] The number of variables in the file

  • ntime :: ntime [out] The number of time levels in the file

[source]

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/O

  • fields :: fields [inout] Field-type descriptions of all of the variables in a file.

[source]

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/O

  • time_values :: time_values [inout] The real times for the records in file.

  • ntime :: ntime [out] The number of time levels in the file

[source]

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 stored

  • field :: field [in] The field to extract information from

  • name :: name [out] The variable name

  • units :: units [out] The units of the variable

  • longname :: longname [out] The long name of the variable

  • checksum :: checksum [out] The checksums of the variable in a file

[source]

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 stored

  • field :: field [in] The field whose checksum attribute is to be read

  • chksum :: chksum [out] The checksum for the field.

  • valid_chksum :: valid_chksum [out] If true, chksum has been successfully read

[source]

subroutine mom_io_file/get_file_fieldtypes(handle, fields)

Get the native (fieldtype) fields of a MOM framework file.

[source]

subroutine mom_io_file/open_file_nc(handle, filename, action, MOM_domain, threading, fileset)

Open a MOM netCDF file.

Call to:

mom_hor_index::hor_index_init

[source]

subroutine mom_io_file/close_file_nc(handle)

Close a MOM netCDF file.

[source]

subroutine mom_io_file/flush_file_nc(handle)

Flush the buffer of a MOM netCDF file.

[source]

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 writing

  • label :: label [in] The name in the file of this axis

  • units :: units [in] The units of this axis

  • longname :: longname [in] The long description of this axis

  • cartesian :: 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 axis

  • data :: data [in] The coordinate values of the points on this axis

  • edge_axis :: edge_axis [in] If true, this axis marks an edge of the tracer cells

  • calendar :: calendar [in] The name of the calendar used with a time axis

[source]

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 writing

  • axes :: axes [in] Handles for the axis used for this variable

  • label :: label [in] The name in the file of this variable

  • units :: units [in] The units of this variable

  • longname :: longname [in] The long description of this variable

  • pack :: 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 variable

  • checksum :: 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]

[source]

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 writing

  • name :: name [in] The name in the file of this global attribute

  • attribute :: attribute [in] The value of this attribute

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • mom_domain :: [in] The MOM_Domain that describes the decomposition

  • field :: field [inout] Field to write

  • tstamp :: tstamp [in] Model time of this field

  • tile_count :: tile_count [in] PEs per tile (default: 1)

  • fill_value :: fill_value [in] Missing data fill value

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • mom_domain :: [in] The MOM_Domain that describes the decomposition

  • field :: field [inout] Field to write

  • tstamp :: tstamp [in] Model time of this field

  • tile_count :: tile_count [in] PEs per tile (default: 1)

  • fill_value :: fill_value [in] Missing data fill value

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • mom_domain :: [in] The MOM_Domain that describes the decomposition

  • field :: field [inout] Field to write

  • tstamp :: tstamp [in] Model time of this field

  • tile_count :: tile_count [in] PEs per tile (default: 1)

  • fill_value :: fill_value [in] Missing data fill value

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • field :: field [in] Field to write

  • tstamp :: tstamp [in] Model time of this field

[source]

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 writing

  • field_md :: field_md [in] Field type with metadata

  • field :: field [in] Field to write

  • tstamp :: tstamp [in] Model time of this field

[source]

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 writing

  • axis :: axis [in] An axis type variable with information to write

[source]

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

[source]

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/O

  • ndim :: ndim [out] The number of dimensions in the file

  • nvar :: nvar [out] The number of variables in the file

  • ntime :: ntime [out] The number of time levels in the file

[source]

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

[source]

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/O

  • fields :: fields [inout] Field-type descriptions of all of the variables in a file.

[source]

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 stored

  • field :: field [in] The field to extract information from

  • name :: name [out] The variable name

  • units :: units [out] The units of the variable

  • longname :: longname [out] The long name of the variable

  • checksum :: checksum [out] The checksums of the variable in a file

[source]

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 stored

  • field :: field [in] The field whose checksum attribute is to be read

  • chksum :: chksum [out] The checksum for the field.

  • valid_chksum :: valid_chksum [out] If true, chksum has been successfully read

[source]

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 read

  • label :: label [in] Field variable name

  • values :: 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:

mom_netcdf::read_netcdf_field

[source]

[source]