cable_output_variable_constructor Function

private function cable_output_variable_constructor(field_name, aggregator, netcdf_name, accumulation_frequency, reduction_method, aggregation_method, active, parameter, distributed, restart, patchout, var_type, scale_by, divide_by, offset_by, range, data_shape, metadata) result(this)

Custom constructor for cable_output_variable_t.

This is a work-around for older gfortran compilers < 14 which require allocating polymorphic components, like aggregator, before assignment, which prevents the use of the default constructor for cable_output_variable_t with the aggregator argument.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: field_name
class(aggregator_t), intent(in) :: aggregator
character(len=*), intent(in), optional :: netcdf_name
character(len=*), intent(in), optional :: accumulation_frequency
character(len=*), intent(in), optional :: reduction_method
character(len=*), intent(in), optional :: aggregation_method
logical, intent(in), optional :: active
logical, intent(in), optional :: parameter
logical, intent(in), optional :: distributed
logical, intent(in), optional :: restart
logical, intent(in), optional :: patchout
integer, intent(in), optional :: var_type
real, intent(in), optional :: scale_by
real, intent(in), optional :: divide_by
real, intent(in), optional :: offset_by
real, intent(in), optional :: range(:)
type(cable_output_dim_t), intent(in), optional :: data_shape(:)
type(cable_output_attribute_t), intent(in), optional :: metadata(:)

Return Value type(cable_output_variable_t)