ESMF_ConfigSetCurrentAttrUsed Subroutine

private subroutine ESMF_ConfigSetCurrentAttrUsed(config, used, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Config), intent(inout) :: config
logical, intent(in) :: used
integer, intent(out), optional :: rc

Calls

proc~~esmf_configsetcurrentattrused~~CallsGraph proc~esmf_configsetcurrentattrused ESMF_ConfigSetCurrentAttrUsed proc~esmf_configgetinit ESMF_ConfigGetInit proc~esmf_configsetcurrentattrused->proc~esmf_configgetinit proc~esmf_imerr ESMF_IMErr proc~esmf_configsetcurrentattrused->proc~esmf_imerr proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_configsetcurrentattrused->proc~esmf_utilarray2string proc~esmf_initcheckdeep ESMF_InitCheckDeep proc~esmf_imerr->proc~esmf_initcheckdeep proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_imerr->proc~esmf_logfounderror esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfounderror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logfounderror->proc~esmf_logwrite c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array

Called by

proc~~esmf_configsetcurrentattrused~~CalledByGraph proc~esmf_configsetcurrentattrused ESMF_ConfigSetCurrentAttrUsed proc~esmf_configgetchar ESMF_ConfigGetChar proc~esmf_configgetchar->proc~esmf_configsetcurrentattrused proc~esmf_configgetfloatr4 ESMF_ConfigGetFloatR4 proc~esmf_configgetfloatr4->proc~esmf_configsetcurrentattrused proc~esmf_configgetfloatr8 ESMF_ConfigGetFloatR8 proc~esmf_configgetfloatr8->proc~esmf_configsetcurrentattrused proc~esmf_configgetinti4 ESMF_ConfigGetIntI4 proc~esmf_configgetinti4->proc~esmf_configsetcurrentattrused proc~esmf_configgetinti8 ESMF_ConfigGetIntI8 proc~esmf_configgetinti8->proc~esmf_configsetcurrentattrused proc~esmf_configgetlogical ESMF_ConfigGetLogical proc~esmf_configgetlogical->proc~esmf_configsetcurrentattrused interface~esmf_configgetattribute ESMF_ConfigGetAttribute interface~esmf_configgetattribute->proc~esmf_configgetfloatr4 interface~esmf_configgetattribute->proc~esmf_configgetfloatr8 interface~esmf_configgetattribute->proc~esmf_configgetinti4 interface~esmf_configgetattribute->proc~esmf_configgetinti8 interface~esmf_configgetattribute->proc~esmf_configgetlogical proc~esmf_configgetfloatsr4 ESMF_ConfigGetFloatsR4 proc~esmf_configgetfloatsr4->proc~esmf_configgetfloatr4 proc~esmf_configgetfloatsr8 ESMF_ConfigGetFloatsR8 proc~esmf_configgetfloatsr8->proc~esmf_configgetfloatr8 proc~esmf_configgetintsi4 ESMF_ConfigGetIntsI4 proc~esmf_configgetintsi4->proc~esmf_configgetinti4 proc~esmf_configgetintsi8 ESMF_ConfigGetIntsI8 proc~esmf_configgetintsi8->proc~esmf_configgetinti8 proc~esmf_configgetlogicals ESMF_ConfigGetLogicals proc~esmf_configgetlogicals->proc~esmf_configgetlogical proc~singlepar SinglePar proc~singlepar->proc~esmf_configgetchar

Source Code

    subroutine ESMF_ConfigSetCurrentAttrUsed( config, used, rc )


      implicit none

      type(ESMF_Config), intent(inout)         :: config ! ESMF Configuration
      logical,           intent(in)            :: used     ! used flag
      integer,           intent(out), optional :: rc       ! Error return code
!
! !DESCRIPTION: Set the given config's current attribute's used flag
!
!EOPI -------------------------------------------------------------------
      integer :: i

      ! Initialize return code; assume routine not implemented
      if ( present (rc) ) then
        rc = ESMF_RC_NOT_IMPL
      endif

      !check variables
      ESMF_INIT_CHECK_DEEP(ESMF_ConfigGetInit,config,rc)


      ! find attr label and set its used flag to given value
      !  TODO:  pre-sort and use binary search, or use hash function
      do i = 1, NATT_MAX
        if (associated (config%cptr%attr_used(i)%label)) then
          if (trim(config%cptr%current_attr) == ESMF_UtilArray2String (config%cptr%attr_used(i)%label)) then
            config%cptr%attr_used(i)%used = used
            exit
          end if
        endif
      enddo

      if (present(rc)) rc = ESMF_SUCCESS

      return

    end subroutine ESMF_ConfigSetCurrentAttrUsed