get_subconfig Function

public function get_subconfig(hconfig, keystring, rc) result(subconfig)

Arguments

Type IntentOptional Attributes Name
type(ESMF_HConfig), intent(in) :: hconfig
character(len=*), intent(in) :: keystring
integer, intent(out), optional :: rc

Return Value type(ESMF_HConfig)


Calls

proc~~get_subconfig~~CallsGraph proc~get_subconfig get_subconfig esmf_hconfigcreateat esmf_hconfigcreateat proc~get_subconfig->esmf_hconfigcreateat esmf_hconfigisdefined esmf_hconfigisdefined proc~get_subconfig->esmf_hconfigisdefined esmf_hconfigismap esmf_hconfigismap proc~get_subconfig->esmf_hconfigismap interface~mapl_assert MAPL_Assert proc~get_subconfig->interface~mapl_assert proc~mapl_return MAPL_Return proc~get_subconfig->proc~mapl_return proc~mapl_verify MAPL_Verify proc~get_subconfig->proc~mapl_verify at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Called by

proc~~get_subconfig~~CalledByGraph proc~get_subconfig get_subconfig proc~make_child_hconfig make_child_hconfig proc~make_child_hconfig->proc~get_subconfig proc~setservices~12 setServices proc~setservices~12->proc~make_child_hconfig proc~test_make_child_hconfig test_make_child_hconfig proc~test_make_child_hconfig->proc~make_child_hconfig proc~setservices~13 setServices proc~setservices~13->proc~setservices~12

Source Code

   function get_subconfig(hconfig, keyString, rc) result(subconfig)
      type(ESMF_HConfig) :: subconfig
      type(ESMF_HConfig), intent(in) :: hconfig
      character(*), intent(in) :: keystring
      integer, optional, intent(out) :: rc
      
      integer :: status
      logical :: has_key
      logical :: is_map
      
      has_key = ESMF_HConfigIsDefined(hconfig, keyString=keyString, _RC)
      _ASSERT(has_key, 'Hconfig is expected to have '//keyString//' but does not.')

      is_map = ESMF_HConfigIsMap(hconfig, keyString=keyString, _RC)
      _ASSERT(is_map, 'HConfig expected a YAML mapping for '//keyString//'but does not.')
      
      subconfig = ESMF_HConfigCreateAt(hconfig, keyString=keystring, _RC)
      
      _RETURN(_SUCCESS)
   end function get_subconfig