50 RECURSIVE SUBROUTINE drfini(LUNIT,MDRF,NDRF,DRFTAG)
56 parameter( mxdrf = 2000 )
59 CHARACTER*128 bort_str
60 dimension mdrf(*),lunit(*),ndrf(*)
61 dimension my_mdrf(mxdrf),my_lunit(1),my_ndrf(1)
72 CALL x84(lunit,my_lunit,1)
73 CALL x84(ndrf,my_ndrf,1)
74 CALL x84(mdrf,my_mdrf,my_ndrf(1))
75 CALL drfini(my_lunit,my_mdrf,my_ndrf,drftag)
81 IF(ndrf(1).GT.mxdrf)
GOTO 900
83 CALL status(lunit,lun,il,im)
93 IF(
itp(node).EQ.1 .AND.
tag(node).EQ.drftag)
THEN
104 900
WRITE(bort_str,
'("BUFRLIB: DRFINI - THE NUMBER OF DELAYED '//
105 .
'REPLICATION FACTORS (",I5,") EXCEEDS THE LIMIT (",I5,")")')
subroutine bort(STR)
Log one error message and abort application program.
recursive subroutine drfini(LUNIT, MDRF, NDRF, DRFTAG)
Initialize replication factors for delayed replication sequences.
This module contains array and variable declarations used to store the internal jump/link table.
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
This module contains declarations for arrays used to store data values and associated metadata for th...
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
This module declares and initializes the IM8B variable.
logical, public im8b
Status indicator to keep track of whether all future calls to BUFRLIB subroutines and functions from ...
recursive subroutine status(LUNIT, LUN, IL, IM)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
subroutine usrtpl(LUN, INVN, NBMP)
Store the subset template into internal arrays.
subroutine x84(IIN8, IOUT4, NVAL)
Encode one or more 8-byte integer values as 4-byte integer values.