Merge pull request #22 from wirc-sjsu/develop-w21
[WRF-Fire-merge.git] / share / module_string_tools.F
blob786d93697779400f8d0f5495e15534c0335f4077
1 MODULE module_string_tools
3 CONTAINS
5     FUNCTION capitalize(str) RESULT(capStr)
6 !<DESCRIPTION>
8 ! Returns a copy of 'str' in which all lower-case letters have been converted
9 ! to upper-case letters.
11 !</DESCRIPTION>
13         CHARACTER(LEN=*), INTENT(IN) :: str
14         CHARACTER(LEN=LEN(str)) :: capStr
16         INTEGER :: i
17         INTEGER, PARAMETER :: offset = (IACHAR('a') - IACHAR('A'))
20         DO i=1,LEN(str)
21             IF ( ( IACHAR(str(i:i)) >= IACHAR('a') ) .AND. ( IACHAR(str(i:i)) <= IACHAR('z') ) ) THEN
22                capStr(i:i) = ACHAR(IACHAR(str(i:i)) - offset)
23             ELSE
24                capStr(i:i) = str(i:i)
25             END IF
26         END Do
28     END FUNCTION capitalize
30 END MODULE module_string_tools