ExtDataConfig Derived Type

type, public :: ExtDataConfig


Inherits

type~~extdataconfig~~InheritsGraph type~extdataconfig ExtDataConfig type~extdataderivedmap ExtDataDerivedMap type~extdataconfig->type~extdataderivedmap derived_map type~extdatafilestreammap ExtDataFileStreamMap type~extdataconfig->type~extdatafilestreammap file_stream_map type~extdatarulemap ExtDataRuleMap type~extdataconfig->type~extdatarulemap rule_map type~extdatatimesamplemap ExtDataTimeSampleMap type~extdataconfig->type~extdatatimesamplemap sample_map type~set2~18 set2 type~extdataderivedmap->type~set2~18 tree type~set2~20 set2 type~extdatafilestreammap->type~set2~20 tree type~set2~12 set2 type~extdatarulemap->type~set2~12 tree type~set2~6 set2 type~extdatatimesamplemap->type~set2~6 tree type~ivector~11 iVector type~set2~12->type~ivector~11 parents, lefts, rights, heights type~tvector~11 tVector type~set2~12->type~tvector~11 items type~ivector~17 iVector type~set2~18->type~ivector~17 parents, lefts, rights, heights type~tvector~17 tVector type~set2~18->type~tvector~17 items type~ivector~19 iVector type~set2~20->type~ivector~19 parents, lefts, rights, heights type~tvector~19 tVector type~set2~20->type~tvector~19 items type~ivector~5 iVector type~set2~6->type~ivector~5 parents, lefts, rights, heights type~tvector~5 tVector type~set2~6->type~tvector~5 items type~pair~11 pair type~tvector~11->type~pair~11 elements type~pair~17 pair type~tvector~17->type~pair~17 elements type~pair~19 pair type~tvector~19->type~pair~19 elements type~pair~5 pair type~tvector~5->type~pair~5 elements

Inherited by

type~~extdataconfig~~InheritedByGraph type~extdataconfig ExtDataConfig type~extdataoldtypescreator ExtDataOldTypesCreator type~extdataoldtypescreator->type~extdataconfig

Components

Type Visibility Attributes Name Initial
integer, public :: debug
type(ExtDataDerivedMap), public :: derived_map
type(ExtDataFileStreamMap), public :: file_stream_map
type(ExtDataRuleMap), public :: rule_map
type(ExtDataTimeSampleMap), public :: sample_map

Type-Bound Procedures

procedure, public :: add_new_rule

  • private subroutine add_new_rule(this, key, export_rule, multi_rule, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataConfig), intent(inout) :: this
    character(len=*), intent(in) :: key
    type(ESMF_HConfig), intent(in) :: export_rule
    logical, intent(in), optional :: multi_rule
    integer, intent(out), optional :: rc

procedure, public :: count_rules_for_item

  • private function count_rules_for_item(this, item_name, rc) result(number_of_rules)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataConfig), intent(in), target :: this
    character(len=*), intent(in) :: item_name
    integer, intent(out), optional :: rc

    Return Value integer

procedure, public :: get_extra_derived_items

  • private function get_extra_derived_items(this, primary_items, derived_items, rc) result(needed_vars)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataConfig), intent(inout) :: this
    type(StringVector), intent(in) :: primary_items
    type(StringVector), intent(in) :: derived_items
    integer, intent(out), optional :: rc

    Return Value type(StringVector)

procedure, public :: get_item_type

  • private function get_item_type(this, item_name, unusable, rc) result(item_type)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataConfig), intent(inout), target :: this
    character(len=*), intent(in) :: item_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value integer

procedure, public :: get_time_range

  • private function get_time_range(this, item_name, rc) result(time_range)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataConfig), intent(in), target :: this
    character(len=*), intent(in) :: item_name
    integer, intent(out), optional :: rc

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

procedure, public :: has_rule_for

  • private function has_rule_for(This, base_name, rc) result(found_rule)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataConfig), intent(inout) :: This
    character(len=*), intent(in) :: base_name
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: new_ExtDataConfig_from_yaml

  • private recursive subroutine new_ExtDataConfig_from_yaml(ext_config, config_file, current_time, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataConfig), intent(inout), target :: ext_config
    character(len=*), intent(in) :: config_file
    type(ESMF_Time), intent(in) :: current_time
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc