21 REAL*8 FUNCTION ups(IVAL,NODE)
33 ups = ( ival +
irf(node) ) * ten**(-
isc(node))
35 IF (
nnrv .GT. 0 )
THEN
41 IF ( node .EQ.
inodnrv(jj) )
THEN
47 imask = 2_8**(
ibt(node)-1)
48 IF ( iand(ival,imask) .GT. 0 )
THEN
49 nrv(jj) = (-1) * ( ival - imask )
55 ELSE IF ( (
tag(node)(1:8) .EQ.
tagnrv(jj) ) .AND.
56 . ( node .GE.
isnrv(jj) ) .AND.
57 . ( node .LE.
ienrv(jj) ) )
THEN
62 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, dimension(:), allocatable ienrv
End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
character *8, dimension(:), allocatable tagnrv
Table B mnemonic to which the corresponding new reference value in nrv applies.
integer, dimension(:), allocatable isnrv
Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
integer nnrv
Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV...
integer *8, dimension(:), allocatable nrv
New reference values corresponding to inodnrv.
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
This module contains array and variable declarations used to store the internal jump/link table.
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
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.
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...