ExtDataOldTypesCreator Derived Type

type, public, extends(ExtDataConfig) :: ExtDataOldTypesCreator


Inherits

type~~extdataoldtypescreator~~InheritsGraph type~extdataoldtypescreator ExtDataOldTypesCreator type~extdataconfig ExtDataConfig type~extdataoldtypescreator->type~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~16 set2 type~extdataderivedmap->type~set2~16 tree type~set2~18 set2 type~extdatafilestreammap->type~set2~18 tree type~set2~11 set2 type~extdatarulemap->type~set2~11 tree type~set2~6 set2 type~extdatatimesamplemap->type~set2~6 tree type~ivector~10 iVector type~set2~11->type~ivector~10 parents, lefts, rights, heights type~tvector~10 tVector type~set2~11->type~tvector~10 items type~ivector~15 iVector type~set2~16->type~ivector~15 parents, lefts, rights, heights type~tvector~15 tVector type~set2~16->type~tvector~15 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~5 iVector type~set2~6->type~ivector~5 parents, lefts, rights, heights type~tvector~5 tVector type~set2~6->type~tvector~5 items

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), target :: 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 :: fillin_derived

  • public subroutine fillin_derived(this, item_name, derived_item, time, clock, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataOldTypesCreator), intent(inout), target :: this
    character(len=*), intent(in) :: item_name
    type(DerivedExport), intent(inout) :: derived_item
    type(ESMF_Time), intent(inout) :: time
    type(ESMF_Clock), intent(inout) :: clock
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: fillin_primary

  • public subroutine fillin_primary(this, item_name, base_name, primary_item, time, clock, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataOldTypesCreator), intent(inout), target :: this
    character(len=*), intent(in) :: item_name
    character(len=*), intent(in) :: base_name
    type(PrimaryExport), intent(inout) :: primary_item
    type(ESMF_Time), intent(inout) :: time
    type(ESMF_Clock), intent(inout) :: clock
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

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), target :: 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), target :: 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

Source Code

   type, extends(ExtDataConfig) :: ExtDataOldTypesCreator
      private
      contains
         procedure :: fillin_primary
         procedure :: fillin_derived
   end type ExtDataOldTypesCreator