cable_netcdf_file_t Derived Type

type, public, abstract :: cable_netcdf_file_t

Abstract type for netCDF file handling. This type defines the interface for operations on netCDF files, such as defining dimensions and variables, writing and reading data, and managing attributes.


Type-Bound Procedures

procedure(cable_netcdf_file_close), public, deferred :: close

  • subroutine cable_netcdf_file_close(this) Prototype

    Close the netCDF file and release any associated resources.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this

procedure(cable_netcdf_file_end_def), public, deferred :: end_def

  • subroutine cable_netcdf_file_end_def(this) Prototype

    End the definition mode of the netCDF file, allowing data to be written.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this

procedure(cable_netcdf_file_redef), public, deferred :: redef

  • subroutine cable_netcdf_file_redef(this) Prototype

    Re-enter definition mode for the netCDF file, allowing dimensions and variables to be defined.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this

procedure(cable_netcdf_file_sync), public, deferred :: sync

  • subroutine cable_netcdf_file_sync(this) Prototype

    Synchronize the netCDF file, ensuring that all data is written to disk and visible to other processes.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this

procedure(cable_netcdf_file_def_dims), public, deferred :: def_dims

  • subroutine cable_netcdf_file_def_dims(this, dim_names, dim_lens) Prototype

    Define dimensions in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: dim_names(:)

    Array of dimension names to define.

    integer, intent(in) :: dim_lens(:)

    Array of dimension lengths corresponding to dim_names. Use CABLE_NETCDF_UNLIMITED for unlimited dimensions.

procedure(cable_netcdf_file_def_var), public, deferred :: def_var

  • subroutine cable_netcdf_file_def_var(this, var_name, type, dim_names) Prototype

    Define a variable in the netCDF file with the specified name, dimensions, and type.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to define.

    integer, intent(in) :: type

    Data type of the variable, using the CABLE_NETCDF_* constants (e.g., CABLE_NETCDF_INT, CABLE_NETCDF_REAL32).

    character(len=*), intent(in), optional :: dim_names(:)

    Array of dimension names for the variable. If not provided, the variable will be defined as a scalar.

procedure(cable_netcdf_file_put_att_global_string), public, deferred :: put_att_global_string

  • subroutine cable_netcdf_file_put_att_global_string(this, att_name, att_value) Prototype

    Define a global attribute with a string value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to define.

    character(len=*), intent(in) :: att_value

    Value of the global attribute to define.

procedure(cable_netcdf_file_put_att_global_int32), public, deferred :: put_att_global_int32

  • subroutine cable_netcdf_file_put_att_global_int32(this, att_name, att_value) Prototype

    Define a global attribute with an 32-bit integer value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to define.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: att_value

    Value of the global attribute to define.

procedure(cable_netcdf_file_put_att_global_real32), public, deferred :: put_att_global_real32

  • subroutine cable_netcdf_file_put_att_global_real32(this, att_name, att_value) Prototype

    Define a global attribute with a 32-bit real value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to define.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: att_value

    Value of the global attribute to define.

procedure(cable_netcdf_file_put_att_global_real64), public, deferred :: put_att_global_real64

  • subroutine cable_netcdf_file_put_att_global_real64(this, att_name, att_value) Prototype

    Define a global attribute with a 64-bit real value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to define.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: att_value

    Value of the global attribute to define.

procedure(cable_netcdf_file_put_att_var_string), public, deferred :: put_att_var_string

  • subroutine cable_netcdf_file_put_att_var_string(this, var_name, att_name, att_value) Prototype

    Define a variable attribute with a string value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to define the attribute for.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to define.

    character(len=*), intent(in) :: att_value

    Value of the variable attribute to define.

procedure(cable_netcdf_file_put_att_var_int32), public, deferred :: put_att_var_int32

  • subroutine cable_netcdf_file_put_att_var_int32(this, var_name, att_name, att_value) Prototype

    Define a variable attribute with an 32-bit integer value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to define the attribute for.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to define.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: att_value

    Value of the variable attribute to define.

procedure(cable_netcdf_file_put_att_var_real32), public, deferred :: put_att_var_real32

  • subroutine cable_netcdf_file_put_att_var_real32(this, var_name, att_name, att_value) Prototype

    Define a variable attribute with a 32-bit real value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to define the attribute for.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to define.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: att_value

    Value of the variable attribute to define.

procedure(cable_netcdf_file_put_att_var_real64), public, deferred :: put_att_var_real64

  • subroutine cable_netcdf_file_put_att_var_real64(this, var_name, att_name, att_value) Prototype

    Define a variable attribute with a 64-bit real value in the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to define the attribute for.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to define.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: att_value

    Value of the variable attribute to define.

procedure(cable_netcdf_file_get_att_global_string), public, deferred :: get_att_global_string

  • subroutine cable_netcdf_file_get_att_global_string(this, att_name, att_value) Prototype

    Read a global attribute with a string value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to read.

    character(len=*), intent(out) :: att_value

    Value of the global attribute read.

procedure(cable_netcdf_file_get_att_global_int32), public, deferred :: get_att_global_int32

  • subroutine cable_netcdf_file_get_att_global_int32(this, att_name, att_value) Prototype

    Read a global attribute with an 32-bit integer value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to read.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: att_value

    Value of the global attribute read.

procedure(cable_netcdf_file_get_att_global_real32), public, deferred :: get_att_global_real32

  • subroutine cable_netcdf_file_get_att_global_real32(this, att_name, att_value) Prototype

    Read a global attribute with a 32-bit real value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to read.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: att_value

    Value of the global attribute read.

procedure(cable_netcdf_file_get_att_global_real64), public, deferred :: get_att_global_real64

  • subroutine cable_netcdf_file_get_att_global_real64(this, att_name, att_value) Prototype

    Read a global attribute with a 64-bit real value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name

    Name of the global attribute to read.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: att_value

    Value of the global attribute read.

procedure(cable_netcdf_file_get_att_var_string), public, deferred :: get_att_var_string

  • subroutine cable_netcdf_file_get_att_var_string(this, var_name, att_name, att_value) Prototype

    Read a variable attribute with a string value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read the attribute from.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to read.

    character(len=*), intent(out) :: att_value

    Value of the variable attribute read.

procedure(cable_netcdf_file_get_att_var_int32), public, deferred :: get_att_var_int32

  • subroutine cable_netcdf_file_get_att_var_int32(this, var_name, att_name, att_value) Prototype

    Read a variable attribute with an 32-bit integer value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read the attribute from.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to read.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: att_value

    Value of the variable attribute read.

procedure(cable_netcdf_file_get_att_var_real32), public, deferred :: get_att_var_real32

  • subroutine cable_netcdf_file_get_att_var_real32(this, var_name, att_name, att_value) Prototype

    Read a variable attribute with a 32-bit real value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read the attribute from.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to read.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: att_value

    Value of the variable attribute read.

procedure(cable_netcdf_file_get_att_var_real64), public, deferred :: get_att_var_real64

  • subroutine cable_netcdf_file_get_att_var_real64(this, var_name, att_name, att_value) Prototype

    Read a variable attribute with a 64-bit real value from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read the attribute from.

    character(len=*), intent(in) :: att_name

    Name of the variable attribute to read.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: att_value

    Value of the variable attribute read.

procedure(cable_netcdf_file_inq_dim_len), public, deferred :: inq_dim_len

  • subroutine cable_netcdf_file_inq_dim_len(this, dim_name, dim_len) Prototype

    Inquire the length of a dimension in the netCDF file by its name.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: dim_name

    Name of the dimension to inquire.

    integer, intent(out) :: dim_len

    Length of the dimension returned. For unlimited dimensions, the number of records will be returned.

procedure(cable_netcdf_file_inq_var_ndims), public, deferred :: inq_var_ndims

  • subroutine cable_netcdf_file_inq_var_ndims(this, var_name, ndims) Prototype

    Inquire the number of dimensions of a variable in the netCDF file by its name.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to inquire.

    integer, intent(out) :: ndims

    Number of dimensions of the variable returned.

procedure(cable_netcdf_file_put_var_int32_0d), public, deferred :: put_var_int32_0d

  • subroutine cable_netcdf_file_put_var_int32_0d(this, var_name, values, start, count) Prototype

    Write a 0-dimensional (scalar) 32-bit integer variable to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values

    Value to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_int32_1d), public, deferred :: put_var_int32_1d

  • subroutine cable_netcdf_file_put_var_int32_1d(this, var_name, values, start, count) Prototype

    Write a 1-dimensional array of 32-bit integers to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:)

    Array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_int32_2d), public, deferred :: put_var_int32_2d

  • subroutine cable_netcdf_file_put_var_int32_2d(this, var_name, values, start, count) Prototype

    Write a 2-dimensional array of 32-bit integers to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:)

    2-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_int32_3d), public, deferred :: put_var_int32_3d

  • subroutine cable_netcdf_file_put_var_int32_3d(this, var_name, values, start, count) Prototype

    Write a 3-dimensional array of 32-bit integers to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:,:)

    3-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real32_0d), public, deferred :: put_var_real32_0d

  • subroutine cable_netcdf_file_put_var_real32_0d(this, var_name, values, start, count) Prototype

    Write a 0-dimensional (scalar) 32-bit real variable to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values

    Scalar value to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real32_1d), public, deferred :: put_var_real32_1d

  • subroutine cable_netcdf_file_put_var_real32_1d(this, var_name, values, start, count) Prototype

    Write a 1-dimensional array of 32-bit real values to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:)

    1-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real32_2d), public, deferred :: put_var_real32_2d

  • subroutine cable_netcdf_file_put_var_real32_2d(this, var_name, values, start, count) Prototype

    Write a 2-dimensional array of 32-bit real values to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:)

    2-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real32_3d), public, deferred :: put_var_real32_3d

  • subroutine cable_netcdf_file_put_var_real32_3d(this, var_name, values, start, count) Prototype

    Write a 3-dimensional array of 32-bit real values to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:,:)

    3-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real64_0d), public, deferred :: put_var_real64_0d

  • subroutine cable_netcdf_file_put_var_real64_0d(this, var_name, values, start, count) Prototype

    Write a 0-dimensional (scalar) 64-bit real variable to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values

    The scalar value to write.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real64_1d), public, deferred :: put_var_real64_1d

  • subroutine cable_netcdf_file_put_var_real64_1d(this, var_name, values, start, count) Prototype

    Write a 1-dimensional array of 64-bit real values to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:)

    1-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real64_2d), public, deferred :: put_var_real64_2d

  • subroutine cable_netcdf_file_put_var_real64_2d(this, var_name, values, start, count) Prototype

    Write a 2-dimensional array of 64-bit real values to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:)

    2-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

procedure(cable_netcdf_file_put_var_real64_3d), public, deferred :: put_var_real64_3d

  • subroutine cable_netcdf_file_put_var_real64_3d(this, var_name, values, start, count) Prototype

    Write a 3-dimensional array of 64-bit real values to the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:,:)

    3-dimensional array of values to write to the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for writing the variable. If not provided, writing will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to write for each dimension. If not provided, the entire variable will be written.

  • private subroutine cable_netcdf_stub_file_put_var_int32_0d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_int32_1d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_int32_2d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_int32_3d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real32_0d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real32_1d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real32_2d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real32_3d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real64_0d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real64_1d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real64_2d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_put_var_real64_3d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)

procedure(cable_netcdf_file_write_darray_int32_1d), public, deferred :: write_darray_int32_1d

  • subroutine cable_netcdf_file_write_darray_int32_1d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 1-dimensional array of 32-bit integers to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:)

    1-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_int32_2d), public, deferred :: write_darray_int32_2d

  • subroutine cable_netcdf_file_write_darray_int32_2d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 2-dimensional array of 32-bit integers to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:)

    2-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_int32_3d), public, deferred :: write_darray_int32_3d

  • subroutine cable_netcdf_file_write_darray_int32_3d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 3-dimensional array of 32-bit integers to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:,:)

    3-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_real32_1d), public, deferred :: write_darray_real32_1d

  • subroutine cable_netcdf_file_write_darray_real32_1d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 1-dimensional array of 32-bit real values to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:)

    1-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_real32_2d), public, deferred :: write_darray_real32_2d

  • subroutine cable_netcdf_file_write_darray_real32_2d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 2-dimensional array of 32-bit real values to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:)

    2-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_real32_3d), public, deferred :: write_darray_real32_3d

  • subroutine cable_netcdf_file_write_darray_real32_3d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 3-dimensional array of 32-bit real values to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:,:)

    3-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_real64_1d), public, deferred :: write_darray_real64_1d

  • subroutine cable_netcdf_file_write_darray_real64_1d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 2-dimensional array of 32-bit real values to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:)

    1-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_real64_2d), public, deferred :: write_darray_real64_2d

  • subroutine cable_netcdf_file_write_darray_real64_2d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 2-dimensional array of 32-bit real values to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:)

    2-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_write_darray_real64_3d), public, deferred :: write_darray_real64_3d

  • subroutine cable_netcdf_file_write_darray_real64_3d(this, var_name, values, decomp, fill_value, frame) Prototype

    Write a 3-dimensional array of 32-bit real values to the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to write to.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:,:)

    3-dimensional array of values to write to the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in), optional :: fill_value

    Fill value to use for any missing data. If not provided, the default fill value for the variable's type will be used.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be written to the specified frame along the unlimited dimension.

  • private subroutine cable_netcdf_stub_file_write_darray_int32_1d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_int32_2d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_int32_3d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: values(:,:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_real32_1d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_real32_2d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_real32_3d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: values(:,:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_real64_1d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_real64_2d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame
  • private subroutine cable_netcdf_stub_file_write_darray_real64_3d(this, var_name, values, decomp, fill_value, frame)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: values(:,:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in), optional :: fill_value
    integer, intent(in), optional :: frame

procedure(cable_netcdf_file_get_var_int32_0d), public, deferred :: get_var_int32_0d

  • subroutine cable_netcdf_file_get_var_int32_0d(this, var_name, values, start, count) Prototype

    Read a 0-dimensional (scalar) 32-bit integer variable from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values

    The scalar value read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_int32_1d), public, deferred :: get_var_int32_1d

  • subroutine cable_netcdf_file_get_var_int32_1d(this, var_name, values, start, count) Prototype

    Read a 1-dimensional array of 32-bit integers from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:)

    1-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will

procedure(cable_netcdf_file_get_var_int32_2d), public, deferred :: get_var_int32_2d

  • subroutine cable_netcdf_file_get_var_int32_2d(this, var_name, values, start, count) Prototype

    Read a 2-dimensional array of 32-bit integers from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:)

    2-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_int32_3d), public, deferred :: get_var_int32_3d

  • subroutine cable_netcdf_file_get_var_int32_3d(this, var_name, values, start, count) Prototype

    Read a 3-dimensional array of 32-bit integers from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:,:)

    3-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real32_0d), public, deferred :: get_var_real32_0d

  • subroutine cable_netcdf_file_get_var_real32_0d(this, var_name, values, start, count) Prototype

    Read a 0-dimensional (scalar) 32-bit real variable from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values

    Scalar value to store the value read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real32_1d), public, deferred :: get_var_real32_1d

  • subroutine cable_netcdf_file_get_var_real32_1d(this, var_name, values, start, count) Prototype

    Read a 1-dimensional array of 32-bit real values from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:)

    1-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real32_2d), public, deferred :: get_var_real32_2d

  • subroutine cable_netcdf_file_get_var_real32_2d(this, var_name, values, start, count) Prototype

    Read a 2-dimensional array of 32-bit real values from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:,:)

    2-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real32_3d), public, deferred :: get_var_real32_3d

  • subroutine cable_netcdf_file_get_var_real32_3d(this, var_name, values, start, count) Prototype

    Read a 3-dimensional array of 32-bit real values from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:,:,:)

    3-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real64_0d), public, deferred :: get_var_real64_0d

  • subroutine cable_netcdf_file_get_var_real64_0d(this, var_name, values, start, count) Prototype

    Read a 0-dimensional (scalar) 64-bit real variable from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values

    Scalar value to store the value read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real64_1d), public, deferred :: get_var_real64_1d

  • subroutine cable_netcdf_file_get_var_real64_1d(this, var_name, values, start, count) Prototype

    Read a 1-dimensional array of 64-bit real values from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:)

    1-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real64_2d), public, deferred :: get_var_real64_2d

  • subroutine cable_netcdf_file_get_var_real64_2d(this, var_name, values, start, count) Prototype

    Read a 2-dimensional array of 64-bit real values from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:,:)

    2-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

procedure(cable_netcdf_file_get_var_real64_3d), public, deferred :: get_var_real64_3d

  • subroutine cable_netcdf_file_get_var_real64_3d(this, var_name, values, start, count) Prototype

    Read a 3-dimensional array of 64-bit real values from the netCDF file.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:,:,:)

    3-dimensional array to store the values read from the variable.

    integer, intent(in), optional :: start(:)

    Starting indices for reading the variable. If not provided, reading will start at the beginning of the variable.

    integer, intent(in), optional :: count(:)

    Count of elements to read for each dimension. If not provided, the entire variable will be read.

  • private subroutine cable_netcdf_stub_file_get_var_int32_0d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_int32_1d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_int32_2d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_int32_3d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real32_0d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real32_1d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real32_2d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real32_3d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:,:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real64_0d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real64_1d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real64_2d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)
  • private subroutine cable_netcdf_stub_file_get_var_real64_3d(this, var_name, values, start, count)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_stub_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:,:,:)
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: count(:)

procedure(cable_netcdf_file_read_darray_int32_1d), public, deferred :: read_darray_int32_1d

  • subroutine cable_netcdf_file_read_darray_int32_1d(this, var_name, values, decomp, frame) Prototype

    Read a 1-dimensional array of 32-bit integers from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:)

    1-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_int32_2d), public, deferred :: read_darray_int32_2d

  • subroutine cable_netcdf_file_read_darray_int32_2d(this, var_name, values, decomp, frame) Prototype

    Read a 2-dimensional array of 32-bit integers from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:)

    2-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_int32_3d), public, deferred :: read_darray_int32_3d

  • subroutine cable_netcdf_file_read_darray_int32_3d(this, var_name, values, decomp, frame) Prototype

    Read a 3-dimensional array of 32-bit integers from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:,:)

    3-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_real32_1d), public, deferred :: read_darray_real32_1d

  • subroutine cable_netcdf_file_read_darray_real32_1d(this, var_name, values, decomp, frame) Prototype

    Read a 1-dimensional array of 32-bit real values from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:)

    1-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_real32_2d), public, deferred :: read_darray_real32_2d

  • subroutine cable_netcdf_file_read_darray_real32_2d(this, var_name, values, decomp, frame) Prototype

    Read a 2-dimensional array of 32-bit real values from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:,:)

    2-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_real32_3d), public, deferred :: read_darray_real32_3d

  • subroutine cable_netcdf_file_read_darray_real32_3d(this, var_name, values, decomp, frame) Prototype

    Read a 3-dimensional array of 32-bit real values from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: values(:,:,:)

    3-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_real64_1d), public, deferred :: read_darray_real64_1d

  • subroutine cable_netcdf_file_read_darray_real64_1d(this, var_name, values, decomp, frame) Prototype

    Read a 1-dimensional array of 64-bit real values from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:)

    1-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_real64_2d), public, deferred :: read_darray_real64_2d

  • subroutine cable_netcdf_file_read_darray_real64_2d(this, var_name, values, decomp, frame) Prototype

    Read a 2-dimensional array of 64-bit real values from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:,:)

    2-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.

procedure(cable_netcdf_file_read_darray_real64_3d), public, deferred :: read_darray_real64_3d

  • subroutine cable_netcdf_file_read_darray_real64_3d(this, var_name, values, decomp, frame) Prototype

    Read a 3-dimensional array of 64-bit real values from the netCDF file using decomposition information for parallel I/O.

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name

    Name of the variable to read from.

    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: values(:,:,:)

    3-dimensional array to store the values read from the variable.

    class(cable_netcdf_decomp_t), intent(inout) :: decomp

    Decomposition information for parallel I/O.

    integer, intent(in), optional :: frame

    Optional frame index for record variables. If provided, the data will be read from the specified frame along the unlimited dimension.