cable_netcdf_mod Module


Used by


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: CABLE_NETCDF_MAX_STR_LEN_FILE = 200
integer, public, parameter :: CABLE_NETCDF_MAX_STR_LEN_VAR = 80
integer, public, parameter :: CABLE_NETCDF_MAX_STR_LEN_DIM = 20
integer, public, parameter :: CABLE_NETCDF_UNLIMITED = -1
integer, public, parameter :: CABLE_NETCDF_MAX_RANK = 3
class(cable_netcdf_io_t), private, allocatable :: cable_netcdf_io_handler

Enumerations

enum, bind(c)

Enumerators

enumerator:: CABLE_NETCDF_INT = 0
enumerator:: CABLE_NETCDF_FLOAT = 1
enumerator:: CABLE_NETCDF_DOUBLE = 2

enum, bind(c)

Enumerators

enumerator:: CABLE_NETCDF_IOTYPE_CLASSIC = 0
enumerator:: CABLE_NETCDF_IOTYPE_NETCDF4C = 1
enumerator:: CABLE_NETCDF_IOTYPE_NETCDF4P = 2

enum, bind(c)

Enumerators

enumerator:: CABLE_NETCDF_MODE_CLOBBER = 0
enumerator:: CABLE_NETCDF_MODE_NOCLOBBER = 1
enumerator:: CABLE_NETCDF_MODE_WRITE = 2
enumerator:: CABLE_NETCDF_MODE_NOWRITE = 3

Interfaces

interface

  • public module function cable_netcdf_create_file(path, iotype, mode) result(file)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: path
    integer, intent(in) :: iotype
    integer, intent(in), optional :: mode

    Return Value class(cable_netcdf_file_t), allocatable

interface

  • public module function cable_netcdf_open_file(path, iotype, mode) result(file)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: path
    integer, intent(in) :: iotype
    integer, intent(in), optional :: mode

    Return Value class(cable_netcdf_file_t), allocatable

interface

  • public module function cable_netcdf_create_decomp(compmap, dims, type) result(decomp)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: compmap(:)
    integer, intent(in) :: dims(:)
    integer, intent(in) :: type

    Return Value class(cable_netcdf_decomp_t), allocatable

interface

  • public module subroutine cable_netcdf_mod_init(mpi_grp)

    Arguments

    Type IntentOptional Attributes Name
    type(mpi_grp_t), intent(in) :: mpi_grp

interface


Abstract Interfaces

abstract interface

  • private subroutine cable_netcdf_file_close(this)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_end_def(this)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_redef(this)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_sync(this)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_def_dims(this, dim_names, dim_lens)

    Arguments

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

abstract interface

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

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_put_att_global_string(this, att_name, att_value)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_put_att_global_int32(this, att_name, att_value)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_put_att_global_real32(this, att_name, att_value)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_put_att_global_real64(this, att_name, att_value)

    Arguments

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

abstract interface

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

    Arguments

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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: att_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(in) :: att_value

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: att_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(in) :: att_value

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: att_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(in) :: att_value

abstract interface

  • private subroutine cable_netcdf_file_get_att_global_string(this, att_name, att_value)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_file_get_att_global_int32(this, att_name, att_value)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: att_value

abstract interface

  • private subroutine cable_netcdf_file_get_att_global_real32(this, att_name, att_value)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: att_value

abstract interface

  • private subroutine cable_netcdf_file_get_att_global_real64(this, att_name, att_value)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: att_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: att_value

abstract interface

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

    Arguments

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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: att_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: att_value

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: att_name
    real(kind=CABLE_NETCDF_REAL32_KIND), intent(out) :: att_value

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: att_name
    real(kind=CABLE_NETCDF_REAL64_KIND), intent(out) :: att_value

abstract interface

  • private subroutine cable_netcdf_file_inq_dim_len(this, dim_name, dim_len)

    Arguments

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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_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(:)

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    integer, intent(in), optional :: frame

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    integer, intent(in), optional :: frame

abstract interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_file_t), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    integer(kind=CABLE_NETCDF_INT32_KIND), intent(out) :: values(:,:,:)
    class(cable_netcdf_decomp_t), intent(inout) :: decomp
    integer, intent(in), optional :: frame

abstract interface

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

    Arguments

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

abstract interface

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

    Arguments

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

abstract interface

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

    Arguments

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

abstract interface

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

    Arguments

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

abstract interface

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

    Arguments

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

abstract interface

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

    Arguments

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

abstract interface

  • private function cable_netcdf_io_create_file(this, path, iotype, mode) result(file)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_io_t), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(in) :: iotype
    integer, intent(in), optional :: mode

    Return Value class(cable_netcdf_file_t), allocatable

abstract interface

  • private function cable_netcdf_io_open_file(this, path, iotype, mode) result(file)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_io_t), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(in) :: iotype
    integer, intent(in), optional :: mode

    Return Value class(cable_netcdf_file_t), allocatable

abstract interface

  • private function cable_netcdf_io_create_decomp(this, compmap, dims, type) result(decomp)

    Arguments

    Type IntentOptional Attributes Name
    class(cable_netcdf_io_t), intent(inout) :: this
    integer, intent(in) :: compmap(:)
    integer, intent(in) :: dims(:)
    integer, intent(in) :: type

    Return Value class(cable_netcdf_decomp_t), allocatable

abstract interface

  • private subroutine cable_netcdf_io_init(this)

    Arguments

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

abstract interface

  • private subroutine cable_netcdf_io_finalise(this)

    Arguments

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

Derived Types

type, public ::  cable_netcdf_decomp_t

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: compmap(:)
integer, public, allocatable :: dims(:)
integer, public :: type

type, public, abstract ::  cable_netcdf_file_t

Type-Bound Procedures

procedure(cable_netcdf_file_close), public, deferred :: close
procedure(cable_netcdf_file_end_def), public, deferred :: end_def
procedure(cable_netcdf_file_redef), public, deferred :: redef
procedure(cable_netcdf_file_sync), public, deferred :: sync
procedure(cable_netcdf_file_def_dims), public, deferred :: def_dims
procedure(cable_netcdf_file_def_var), public, deferred :: def_var
procedure(cable_netcdf_file_put_att_global_string), public, deferred :: put_att_global_string
procedure(cable_netcdf_file_put_att_global_int32), public, deferred :: put_att_global_int32
procedure(cable_netcdf_file_put_att_global_real32), public, deferred :: put_att_global_real32
procedure(cable_netcdf_file_put_att_global_real64), public, deferred :: put_att_global_real64
procedure(cable_netcdf_file_put_att_var_string), public, deferred :: put_att_var_string
procedure(cable_netcdf_file_put_att_var_int32), public, deferred :: put_att_var_int32
procedure(cable_netcdf_file_put_att_var_real32), public, deferred :: put_att_var_real32
procedure(cable_netcdf_file_put_att_var_real64), public, deferred :: put_att_var_real64
generic, public :: put_att => put_att_global_string, put_att_global_int32, put_att_global_real32, put_att_global_real64, put_att_var_string, put_att_var_int32, put_att_var_real32, put_att_var_real64
procedure(cable_netcdf_file_get_att_global_string), public, deferred :: get_att_global_string
procedure(cable_netcdf_file_get_att_global_int32), public, deferred :: get_att_global_int32
procedure(cable_netcdf_file_get_att_global_real32), public, deferred :: get_att_global_real32
procedure(cable_netcdf_file_get_att_global_real64), public, deferred :: get_att_global_real64
procedure(cable_netcdf_file_get_att_var_string), public, deferred :: get_att_var_string
procedure(cable_netcdf_file_get_att_var_int32), public, deferred :: get_att_var_int32
procedure(cable_netcdf_file_get_att_var_real32), public, deferred :: get_att_var_real32
procedure(cable_netcdf_file_get_att_var_real64), public, deferred :: get_att_var_real64
generic, public :: get_att => get_att_global_string, get_att_global_int32, get_att_global_real32, get_att_global_real64, get_att_var_string, get_att_var_int32, get_att_var_real32, get_att_var_real64
procedure(cable_netcdf_file_inq_dim_len), public, deferred :: inq_dim_len
procedure(cable_netcdf_file_put_var_int32_0d), public, deferred :: put_var_int32_0d
procedure(cable_netcdf_file_put_var_int32_1d), public, deferred :: put_var_int32_1d
procedure(cable_netcdf_file_put_var_int32_2d), public, deferred :: put_var_int32_2d
procedure(cable_netcdf_file_put_var_int32_3d), public, deferred :: put_var_int32_3d
procedure(cable_netcdf_file_put_var_real32_0d), public, deferred :: put_var_real32_0d
procedure(cable_netcdf_file_put_var_real32_1d), public, deferred :: put_var_real32_1d
procedure(cable_netcdf_file_put_var_real32_2d), public, deferred :: put_var_real32_2d
procedure(cable_netcdf_file_put_var_real32_3d), public, deferred :: put_var_real32_3d
procedure(cable_netcdf_file_put_var_real64_0d), public, deferred :: put_var_real64_0d
procedure(cable_netcdf_file_put_var_real64_1d), public, deferred :: put_var_real64_1d
procedure(cable_netcdf_file_put_var_real64_2d), public, deferred :: put_var_real64_2d
procedure(cable_netcdf_file_put_var_real64_3d), public, deferred :: put_var_real64_3d
generic, public :: put_var => put_var_int32_0d, put_var_int32_1d, put_var_int32_2d, put_var_int32_3d, put_var_real32_0d, put_var_real32_1d, put_var_real32_2d, put_var_real32_3d, put_var_real64_0d, put_var_real64_1d, put_var_real64_2d, put_var_real64_3d
procedure(cable_netcdf_file_write_darray_int32_1d), public, deferred :: write_darray_int32_1d
procedure(cable_netcdf_file_write_darray_int32_2d), public, deferred :: write_darray_int32_2d
procedure(cable_netcdf_file_write_darray_int32_3d), public, deferred :: write_darray_int32_3d
procedure(cable_netcdf_file_write_darray_real32_1d), public, deferred :: write_darray_real32_1d
procedure(cable_netcdf_file_write_darray_real32_2d), public, deferred :: write_darray_real32_2d
procedure(cable_netcdf_file_write_darray_real32_3d), public, deferred :: write_darray_real32_3d
procedure(cable_netcdf_file_write_darray_real64_1d), public, deferred :: write_darray_real64_1d
procedure(cable_netcdf_file_write_darray_real64_2d), public, deferred :: write_darray_real64_2d
procedure(cable_netcdf_file_write_darray_real64_3d), public, deferred :: write_darray_real64_3d
generic, public :: write_darray => write_darray_int32_1d, write_darray_int32_2d, write_darray_int32_3d, write_darray_real32_1d, write_darray_real32_2d, write_darray_real32_3d, write_darray_real64_1d, write_darray_real64_2d, write_darray_real64_3d
procedure(cable_netcdf_file_get_var_int32_0d), public, deferred :: get_var_int32_0d
procedure(cable_netcdf_file_get_var_int32_1d), public, deferred :: get_var_int32_1d
procedure(cable_netcdf_file_get_var_int32_2d), public, deferred :: get_var_int32_2d
procedure(cable_netcdf_file_get_var_int32_3d), public, deferred :: get_var_int32_3d
procedure(cable_netcdf_file_get_var_real32_0d), public, deferred :: get_var_real32_0d
procedure(cable_netcdf_file_get_var_real32_1d), public, deferred :: get_var_real32_1d
procedure(cable_netcdf_file_get_var_real32_2d), public, deferred :: get_var_real32_2d
procedure(cable_netcdf_file_get_var_real32_3d), public, deferred :: get_var_real32_3d
procedure(cable_netcdf_file_get_var_real64_0d), public, deferred :: get_var_real64_0d
procedure(cable_netcdf_file_get_var_real64_1d), public, deferred :: get_var_real64_1d
procedure(cable_netcdf_file_get_var_real64_2d), public, deferred :: get_var_real64_2d
procedure(cable_netcdf_file_get_var_real64_3d), public, deferred :: get_var_real64_3d
generic, public :: get_var => get_var_int32_0d, get_var_int32_1d, get_var_int32_2d, get_var_int32_3d, get_var_real32_0d, get_var_real32_1d, get_var_real32_2d, get_var_real32_3d, get_var_real64_0d, get_var_real64_1d, get_var_real64_2d, get_var_real64_3d
procedure(cable_netcdf_file_read_darray_int32_1d), public, deferred :: read_darray_int32_1d
procedure(cable_netcdf_file_read_darray_int32_2d), public, deferred :: read_darray_int32_2d
procedure(cable_netcdf_file_read_darray_int32_3d), public, deferred :: read_darray_int32_3d
procedure(cable_netcdf_file_read_darray_real32_1d), public, deferred :: read_darray_real32_1d
procedure(cable_netcdf_file_read_darray_real32_2d), public, deferred :: read_darray_real32_2d
procedure(cable_netcdf_file_read_darray_real32_3d), public, deferred :: read_darray_real32_3d
procedure(cable_netcdf_file_read_darray_real64_1d), public, deferred :: read_darray_real64_1d
procedure(cable_netcdf_file_read_darray_real64_2d), public, deferred :: read_darray_real64_2d
procedure(cable_netcdf_file_read_darray_real64_3d), public, deferred :: read_darray_real64_3d
generic, public :: read_darray => read_darray_int32_1d, read_darray_int32_2d, read_darray_int32_3d, read_darray_real32_1d, read_darray_real32_2d, read_darray_real32_3d, read_darray_real64_1d, read_darray_real64_2d, read_darray_real64_3d

type, public, abstract ::  cable_netcdf_io_t

Type-Bound Procedures

procedure(cable_netcdf_io_init), public, deferred :: init
procedure(cable_netcdf_io_finalise), public, deferred :: finalise
procedure(cable_netcdf_io_create_file), public, deferred :: create_file
procedure(cable_netcdf_io_open_file), public, deferred :: open_file
procedure(cable_netcdf_io_create_decomp), public, deferred :: create_decomp