32 REAL*8 FUNCTION ups(IVAL,NODE)
44 ups = ( ival +
irf(node) ) * ten**(-
isc(node))
46 IF (
nnrv .GT. 0 )
THEN
52 IF ( node .EQ.
inodnrv(jj) )
THEN
58 imask = 2_8**(
ibt(node)-1)
59 IF ( iand(ival,imask) .GT. 0 )
THEN
60 nrv(jj) = (-1) * ( ival - imask )
66 ELSE IF ( (
tag(node)(1:8) .EQ.
tagnrv(jj) ) .AND.
67 . ( node .GE.
isnrv(jj) ) .AND.
68 . ( node .LE.
ienrv(jj) ) )
THEN
73 ups = ( ival +
nrv(jj) ) * ten**(-
isc(node))
This module contains array and variable declarations for use with any 2-03-YYY (change reference valu...
integer nnrv
Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV...
integer, dimension(:), allocatable ienrv
End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
integer, dimension(:), allocatable isnrv
Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
integer *8, dimension(:), allocatable nrv
New reference values corresponding to inodnrv.
character *8, dimension(:), allocatable tagnrv
Table B mnemonic to which the corresponding new reference value in nrv applies.
This module contains array and variable declarations used to store the internal jump/link table.
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
real *8 function ups(IVAL, NODE)
THIS FUNCTION UNPACKS A REAL*8 USER VALUE FROM A PACKED BUFR INTEGER BY APPLYING THE PROPER SCALE AND...