output_operators_base Module


Uses

  • module~~output_operators_base~~UsesGraph module~output_operators_base output_operators_base module~field_manager field_manager module~output_operators_base->module~field_manager yaml_types yaml_types module~output_operators_base->yaml_types module~output_manager_core output_manager_core module~output_operators_base->module~output_manager_core iso_fortran_env iso_fortran_env module~field_manager->iso_fortran_env module~output_manager_core->module~field_manager module~output_manager_core->iso_fortran_env yaml_settings yaml_settings module~output_manager_core->yaml_settings

Used by

  • module~~output_operators_base~~UsedByGraph module~output_operators_base output_operators_base module~output_operators_library output_operators_library module~output_operators_library->module~output_operators_base module~output_operators_time_average output_operators_time_average module~output_operators_library->module~output_operators_time_average module~output_operators_slice output_operators_slice module~output_operators_library->module~output_operators_slice module~output_operators_interp output_operators_interp module~output_operators_library->module~output_operators_interp module~output_operators_time_average->module~output_operators_base module~output_operators_slice->module~output_operators_base module~output_operators_interp->module~output_operators_base module~output_manager output_manager module~output_manager->module~output_operators_library module~output_manager->module~output_operators_time_average module~output_manager->module~output_operators_slice

Contents


Derived Types

type, public, extends(type_base_output_field) :: type_operator_result

Components

TypeVisibility AttributesNameInitial
class(type_output_variable_settings), public, pointer:: settings=> null()
character(len=string_length), public :: output_name =''
logical, public :: is_coordinate =.false.
type(type_nd_data_pointer), public :: data
type(type_output_field_pointer), public, allocatable:: coordinates(:)
class(type_base_output_field), public, pointer:: next=> null()
class(type_base_operator), public, pointer:: operator=> null()
class(type_base_output_field), public, pointer:: source=> null()
real(kind=rk), public :: result_0d
real(kind=rk), public, allocatable:: result_1d(:)
real(kind=rk), public, allocatable:: result_2d(:,:)
real(kind=rk), public, allocatable:: result_3d(:,:,:)
type(type_dimension_pointer), public, allocatable:: dimensions(:)

Type-Bound Procedures

procedure, public :: new_data
procedure, public :: before_save
procedure, public :: get_metadata
procedure, public :: flag_as_required
procedure, public :: fill
procedure, public :: get_field

Components

TypeVisibility AttributesNameInitial
class(type_output_variable_settings), public, pointer:: settings=> null()
character(len=string_length), public :: output_name =''
logical, public :: is_coordinate =.false.
type(type_nd_data_pointer), public :: data
type(type_output_field_pointer), public, allocatable:: coordinates(:)
class(type_base_output_field), public, pointer:: next=> null()
class(type_base_operator), public, pointer:: operator=> null()
class(type_base_output_field), public, pointer:: source=> null()
real(kind=rk), public :: result_0d
real(kind=rk), public, allocatable:: result_1d(:)
real(kind=rk), public, allocatable:: result_2d(:,:)
real(kind=rk), public, allocatable:: result_3d(:,:,:)
type(type_dimension_pointer), public, allocatable:: dimensions(:)

Type-Bound Procedures

procedure, public :: new_data
procedure, public :: before_save
procedure, public :: get_metadata
procedure, public :: flag_as_required
procedure, public :: fill
procedure, public :: get_field => universal_get_field

Functions

private recursive function get_field(self, field) result(output_field)

Arguments

Type IntentOptional AttributesName
class(type_operator_result), intent(in) :: self
type(type_field), target:: field

Return Value class(type_base_output_field), pointer

private recursive function universal_get_field(self, field) result(output_field)

Arguments

Type IntentOptional AttributesName
class(type_universal_operator_result), intent(in) :: self
type(type_field), target:: field

Return Value class(type_base_output_field), pointer


Subroutines

private recursive subroutine new_data(self)

Arguments

Type IntentOptional AttributesName
class(type_operator_result), intent(inout) :: self

private recursive subroutine before_save(self)

Arguments

Type IntentOptional AttributesName
class(type_operator_result), intent(inout) :: self

private recursive subroutine get_metadata(self, long_name, units, dimensions, minimum, maximum, fill_value, standard_name, path, attributes)

Arguments

Type IntentOptional AttributesName
class(type_operator_result), intent(in) :: self
character(len=:), intent(out), optional allocatable:: long_name
character(len=:), intent(out), optional allocatable:: units
type(type_dimension_pointer), intent(out), optional allocatable:: dimensions(:)
real(kind=rk), intent(out), optional :: minimum
real(kind=rk), intent(out), optional :: maximum
real(kind=rk), intent(out), optional :: fill_value
character(len=:), intent(out), optional allocatable:: standard_name
character(len=:), intent(out), optional allocatable:: path
type(type_attributes), intent(out), optional :: attributes

private recursive subroutine flag_as_required(self, required)

Arguments

Type IntentOptional AttributesName
class(type_operator_result), intent(inout) :: self
logical, intent(in) :: required

private subroutine fill(self, value)

Arguments

Type IntentOptional AttributesName
class(type_operator_result), intent(inout) :: self
real(kind=rk), intent(in) :: value