ESMF_UtilStringLowerCase Function

public function ESMF_UtilStringLowerCase(string, keywordEnforcer, rc)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
integer, intent(out), optional :: rc

Return Value character(len=len(string))


Called by

proc~~esmf_utilstringlowercase~~CalledByGraph proc~esmf_utilstringlowercase ESMF_UtilStringLowerCase proc~esmf_compsetvmmaxpes ESMF_CompSetVMMaxPEs proc~esmf_compsetvmmaxpes->proc~esmf_utilstringlowercase proc~esmf_configgetlogical ESMF_ConfigGetLogical proc~esmf_configgetlogical->proc~esmf_utilstringlowercase proc~esmf_configloadfile ESMF_ConfigLoadFile proc~esmf_configloadfile->proc~esmf_utilstringlowercase proc~fieldbundlecplstore FieldBundleCplStore proc~fieldbundlecplstore->proc~esmf_utilstringlowercase interface~esmf_configgetattribute ESMF_ConfigGetAttribute interface~esmf_configgetattribute->proc~esmf_configgetlogical proc~complianceinitialize ComplianceInitialize proc~complianceinitialize->proc~esmf_configloadfile proc~esmf_compconstruct ESMF_CompConstruct proc~esmf_compconstruct->proc~esmf_configloadfile proc~esmf_compset ESMF_CompSet proc~esmf_compset->proc~esmf_configloadfile proc~esmf_configgetlogicals ESMF_ConfigGetLogicals proc~esmf_configgetlogicals->proc~esmf_configgetlogical proc~esmf_cplcompsetvmmaxpes ESMF_CplCompSetVMMaxPEs proc~esmf_cplcompsetvmmaxpes->proc~esmf_compsetvmmaxpes proc~esmf_frameworkinternalinit ESMF_FrameworkInternalInit proc~esmf_frameworkinternalinit->proc~esmf_configloadfile proc~esmf_gridcompsetvmmaxpes ESMF_GridCompSetVMMaxPEs proc~esmf_gridcompsetvmmaxpes->proc~esmf_compsetvmmaxpes proc~f_esmf_configloadfile f_esmf_configloadfile proc~f_esmf_configloadfile->proc~esmf_configloadfile proc~initialization Initialization proc~initialization->proc~esmf_configloadfile proc~initializeipdv05p6b InitializeIPDv05p6b proc~initializeipdv05p6b->proc~fieldbundlecplstore proc~read_descriptor_files read_descriptor_files proc~read_descriptor_files->proc~esmf_configloadfile proc~read_dist_specification read_dist_specification proc~read_dist_specification->proc~esmf_configloadfile proc~read_grid_specification read_grid_specification proc~read_grid_specification->proc~esmf_configloadfile proc~read_redistribution_grid read_redistribution_grid proc~read_redistribution_grid->proc~esmf_configloadfile proc~read_regridding_grid read_regridding_grid proc~read_regridding_grid->proc~esmf_configloadfile proc~read_testharness_config Read_TestHarness_Config proc~read_testharness_config->proc~esmf_configloadfile program~esmf_appdriver ESMF_AppDriver program~esmf_appdriver->proc~esmf_configloadfile program~esmf_configoverviewex ESMF_ConfigOverviewEx program~esmf_configoverviewex->proc~esmf_configloadfile program~esmf_hconfigex ESMF_HConfigEx program~esmf_hconfigex->proc~esmf_configloadfile program~esmf_hconfigutest ESMF_HConfigUTest program~esmf_hconfigutest->proc~esmf_configloadfile

Source Code

    function ESMF_UtilStringLowerCase(string, keywordEnforcer, rc) 
!
! !ARGUMENTS:
      character(len=*), intent(in) :: string
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
      integer, intent(out), optional  :: rc  
! !RETURN VALUE:
      character(len (string)) :: ESMF_UtilStringLowerCase

!
! !DESCRIPTION:
!   Converts given string to lowercase.
!
!     The arguments are:
!     \begin{description}
!     \item[string]
!       A character string.
!     \item[{[rc]}]
!       Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!     \end{description}
!
!
!EOP

      integer :: i
      character(len=1) :: c
      integer, parameter :: shift = ichar('a') - ichar('A')

      do i = 1, len(string)
        c = string(i:i)
        if(c >= 'A' .and. c <= 'Z') then
          c = char(ichar(c) + shift)
        endif
        ESMF_UtilStringLowerCase(i:i) = c
      enddo

      if (present(rc)) rc = ESMF_SUCCESS

      end function ESMF_UtilStringLowerCase