cable_output_define_smod Submodule

Implementation of procedures for defining netCDF files for CABLE output streams.


Uses

  • module~~cable_output_define_smod~~UsesGraph module~cable_output_define_smod cable_output_define_smod module~cable_common_module cable_common_module module~cable_output_define_smod->module~cable_common_module module~cable_def_types_mod cable_def_types_mod module~cable_output_define_smod->module~cable_def_types_mod module~cable_io_vars_module cable_IO_vars_module module~cable_output_define_smod->module~cable_io_vars_module module~cable_netcdf_mod cable_netcdf_mod module~cable_output_define_smod->module~cable_netcdf_mod module~cable_output_common_smod cable_output_common_smod module~cable_output_define_smod->module~cable_output_common_smod module~cable_runtime_opts_mod cable_runtime_opts_mod module~cable_common_module->module~cable_runtime_opts_mod module~aggregator_mod aggregator_mod module~cable_def_types_mod->module~aggregator_mod module~cable_climate_type_mod cable_climate_type_mod module~cable_def_types_mod->module~cable_climate_type_mod module~cable_io_vars_module->module~cable_def_types_mod iso_fortran_env iso_fortran_env module~cable_netcdf_mod->iso_fortran_env module~cable_error_handler_mod cable_error_handler_mod module~cable_netcdf_mod->module~cable_error_handler_mod module~cable_mpi_mod cable_mpi_mod module~cable_netcdf_mod->module~cable_mpi_mod module~cable_output_common_smod->module~cable_io_vars_module module~cable_output_common_smod->module~cable_netcdf_mod module~cable_output_common_smod->module~aggregator_mod module~cable_checks_module cable_checks_module module~cable_output_common_smod->module~cable_checks_module module~cable_output_common_smod->module~cable_error_handler_mod module~cable_output_mod cable_output_mod module~cable_output_common_smod->module~cable_output_mod module~aggregator_mod->iso_fortran_env module~aggregator_mod->module~cable_error_handler_mod module~cable_checks_module->module~cable_common_module module~cable_checks_module->module~cable_def_types_mod module~cable_checks_module->module~cable_io_vars_module module~cable_abort_module cable_abort_module module~cable_checks_module->module~cable_abort_module module~cable_error_handler_base_mod cable_error_handler_base_mod module~cable_error_handler_mod->module~cable_error_handler_base_mod module~cable_mpi_mod->iso_fortran_env module~cable_mpi_mod->module~cable_error_handler_mod module~cable_mpi_stub_types_mod cable_mpi_stub_types_mod module~cable_mpi_mod->module~cable_mpi_stub_types_mod mpi_f08 mpi_f08 module~cable_mpi_mod->mpi_f08 module~cable_output_mod->module~cable_def_types_mod module~cable_output_mod->module~cable_io_vars_module module~cable_output_mod->module~cable_netcdf_mod module~cable_output_mod->iso_fortran_env module~cable_output_mod->module~aggregator_mod module~cable_output_mod->module~cable_error_handler_mod module~cable_abort_module->module~cable_io_vars_module module~cable_error_handler_base_mod->iso_fortran_env

Functions

function netcdf_var_type(output_variable, use_native_type)

Infers the appropriate netCDF variable type for a given output variable.

Arguments

Type IntentOptional Attributes Name
type(cable_output_variable_t), intent(in) :: output_variable

The output variable for which to infer the netCDF variable type.

logical, intent(in), optional :: use_native_type

Whether to use the native variable type of the output variable. Set to .false. by default.

Return Value integer

function infer_netcdf_dimensions(output_stream, output_variable, time_axis) result(netcdf_dimensions)

Infers the appropriate netCDF dimensions for a given output variable based on its data shape and the grid type of the output stream.

Arguments

Type IntentOptional Attributes Name
type(cable_output_stream_t), intent(in) :: output_stream

The output stream for which to infer the netCDF dimensions.

type(cable_output_variable_t), intent(in) :: output_variable

The output variable for which to infer the netCDF dimensions.

logical, intent(in), optional :: time_axis

Whether to include the time axis as a dimension. By default, the time axis will not be included.

Return Value type(cable_output_dim_t), allocatable, (:)


Subroutines

subroutine set_global_attributes(output_stream)

Sets the global attributes for a given output stream.

Arguments

Type IntentOptional Attributes Name
type(cable_output_stream_t), intent(inout) :: output_stream

The output stream for which to set the global attributes.


Module Subroutines

module subroutine cable_output_define_stream(output_stream, restart)

Defines all variables, dimensions and attributes for a given output stream.

Arguments

Type IntentOptional Attributes Name
type(cable_output_stream_t), intent(inout) :: output_stream

The output stream to define.

logical, intent(in), optional :: restart

Whether this is a restart stream definition.