3 !$$$ SUBPROGRAM DOCUMENTATION BLOCK
6 ! PRGMMR: GILBERT ORG: NP11 DATE: 2003-11-04
8 ! ABSTRACT: THIS FUNCTION COPIES A BIT STRING FROM A CHARACTER*1
9 ! VARIABLE TO AN INTEGER VARIABLE. IT IS INTENDED TO REPLACE THE
10 ! FORTRAN INTRINSIC FUNCTION ICHAR, WHICH ONLY SUPPORTS VALUES OF
11 ! ICHAR(A) BETWEEN ZERO AND 127, INCLUSIVE ON SOME PLATFORMS (E.G.,
12 ! THE NCEP IBM SP). IF "A" IS GREATER THAN 127 IN THE COLLATING
13 ! SEQUENCE, ICHAR(A) DOES NOT RETURN THE EXPECTED BIT VALUE. THIS
14 ! FUNCTION CAN BE USED FOR ALL VALUES OF ICHAR(A) BETWEEN ZERO AND
15 ! 255. SINCE THIS FUNCTION IS PRESENT IN THE W3 LIBRARIES (IN C
16 ! LANGUAGE), AND SINCE IT IS NO LONGER CALLED BY ANY BUFR ARCHIVE
17 ! LIBRARY ROUTINES, IT MAY BE REMOVED FROM THE BUFR ARCHIVE LIBRARY
18 ! IN A FUTURE VERSION. USERS SHOULD MIGRATE TO MOVA2I IN THE W3
19 ! LIBRARIES WHICH IS USED IN THE SAME WAY AS MOVA2I IS USED HERE.
21 ! PROGRAM HISTORY LOG:
22 ! 2003-11-04 S. GILBERT -- ORIGINAL AUTHOR
23 ! 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF
24 ! 2005-11-29 D. KEYSER -- MARKED AS OBSOLETE AND ADDED PRINT
27 ! USAGE: CALL MOVA2I (A)
28 ! INPUT ARGUMENT LIST:
29 ! A - CHARACTER*1: VARIABLE THAT HOLDS THE BITSTRING TO
32 ! OUTPUT ARGUMENT LIST:
33 ! MOVA2I - INTEGER: VALUE OF THE BITSTRING IN CHARACTER A
36 ! THIS ROUTINE CALLS: None
37 ! THIS ROUTINE IS CALLED BY: None
38 ! Possibly called by application
42 ! LANGUAGE: FORTRAN 77
43 ! MACHINE: PORTABLE TO ALL PLATFORMS
53 EQUIVALENCE (CTEMP, ITEMP)
62 PRINT * , '+++++++++++++++++BUFR ARCHIVE LIBRARY++++++++++++++++++&
65 101 FORMAT(' BUFRLIB: MOVA2I - THIS SUBROUTINE IS NOW OBSOLETE; ', &
66 & 'USE IDENTICAL SUBROUTINE MOVA2I IN W3 LIBRARIES INSTEAD')
67 PRINT * , '+++++++++++++++++BUFR ARCHIVE LIBRARY++++++++++++++++++&
76 MOVA2I = IAND (ITEMP, FF)