NCEPLIBS-bufr
11.5.0
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | upc (CHR, NCHR, IBAY, IBIT, CNVNULL) |
THIS SUBROUTINE UNPACKS AND RETURNS A CHARACTER STRING OF LENGTH NCHR CONTAINED WITHIN NCHR BYTES OF IBAY, STARTING WITH BIT (IBIT+1). More... | |
Definition in file upc.f.
subroutine upc | ( | character*(*) | CHR, |
NCHR, | |||
dimension(*) | IBAY, | ||
IBIT, | |||
logical | CNVNULL | ||
) |
THIS SUBROUTINE UNPACKS AND RETURNS A CHARACTER STRING OF LENGTH NCHR CONTAINED WITHIN NCHR BYTES OF IBAY, STARTING WITH BIT (IBIT+1).
ON OUTPUT, IBIT IS UPDATED TO POINT TO THE LAST BIT THAT WAS UNPACKED. NOTE THAT THE STRING TO BE UNPACKED DOES NOT NECESSARILY NEED TO BE ALIGNED ON A BYTE BOUNDARY WITHIN IBAY.
PROGRAM HISTORY LOG: 1994-01-06 J. WOOLLEN – ORIGINAL AUTHOR 2003-11-04 J. ATOR – ADDED DOCUMENTATION 2003-11-04 S. BENDER – ADDED REMARKS/BUFRLIB ROUTINE INTERDEPENDENCIES 2003-11-04 D. KEYSER – UNIFIED/PORTABLE FOR WRF; ADDED HISTORY DOCUMENTATION 2009-03-23 J. ATOR – TREAT NULL CHARACTERS AS BLANKS; PREVENT OVERFLOW OF CHR 2014-11-19 J. ATOR – ADD CNVNULL ARGUMENT
USAGE: CALL UPC (CHR, NCHR, IBAY, IBIT, CNVNULL) INPUT ARGUMENT LIST: NCHR - INTEGER: NUMBER OF BYTES OF IBAY WITHIN WHICH TO UNPACK CHR (I,E, THE NUMBER OF CHARACTERS IN CHR) IBAY - INTEGER: *-WORD PACKED BINARY ARRAY CONTAINING PACKED CHR IBIT - INTEGER: BIT POINTER WITHIN IBAY INDICATING BIT AFTER WHICH TO START UNPACKING CNVNULL - LOGICAL: .TRUE. IF NULL CHARACTERS SHOULD BE CONVERTED TO BLANKS
OUTPUT ARGUMENT LIST: CHR - CHARACTER*(*): UNPACKED CHARACTER STRING OF LENGTH NCHR IBIT - INTEGER: BIT POINTER WITHIN IBAY INDICATING LAST BIT THAT WAS UNPACKED
REMARKS: THIS SUBROUTINE IS THE INVERSE OF BUFR ARCHIVE LIBRARY ROUTINE PKC.
THIS ROUTINE CALLS: IPKM IUPM UPB THIS ROUTINE IS CALLED BY: RDCMPS RDTREE READLC STBFDX STNDRD UFBGET UFBTAB UFBTAM WRCMPS Normally not called by any application programs.
Definition at line 49 of file upc.f.
References ipkm(), iupm(), and upb().
Referenced by rdcmps(), rdtree(), readlc(), stbfdx(), stndrd(), ufbget(), ufbtab(), ufbtam(), and wrcmps().