NCEPLIBS-bufr 11.7.1
drstpl.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine drstpl (INOD, LUN, INV1, INV2, INVN)
 THIS SUBROUTINE IS CALLED BY BUFR ARCHIVE LIBRARY SUBROUTINE UFBRW WHENEVER IT CAN'T FIND A MNEMONIC IT WANTS TO WRITE WITHIN THE CURRENT SUBSET BUFFER. More...
 

Detailed Description

Author
WOOLLEN
Date
1994-01-06

Definition in file drstpl.f.

Function/Subroutine Documentation

◆ drstpl()

subroutine drstpl (   INOD,
  LUN,
  INV1,
  INV2,
  INVN 
)

THIS SUBROUTINE IS CALLED BY BUFR ARCHIVE LIBRARY SUBROUTINE UFBRW WHENEVER IT CAN'T FIND A MNEMONIC IT WANTS TO WRITE WITHIN THE CURRENT SUBSET BUFFER.

IT LOOKS FOR THE MNEMONIC WITHIN ANY UNEXPANDED "DRS" (STACK) OR "DRB" (1-BIT DELAYED REPLICATION) SEQUENCES INSIDE OF THE PORTION OF THE SUBSET BUFFER BOUNDED BY THE INDICES INV1 AND INV2. IF FOUND, IT EXPANDS THE APPLICABLE "DRS" OR "DRB" SEQUENCE TO THE POINT WHERE THE MNEMONIC IN QUESTION NOW APPEARS IN THE SUBSET BUFFER, AND IN DOING SO IT WILL ALSO RETURN A NEW VALUE FOR INV2.

PROGRAM HISTORY LOG: 1994-01-06 J. WOOLLEN – ORIGINAL AUTHOR 1998-07-08 J. WOOLLEN – REPLACED CALL TO CRAY LIBRARY ROUTINE "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB ROUTINE "BORT" (LATER REMOVED, UNKNOWN WHEN) 2002-05-14 J. WOOLLEN – REMOVED OLD CRAY COMPILER DIRECTIVES 2003-11-04 S. BENDER – ADDED REMARKS/BUFRLIB ROUTINE INTERDEPENDENCIES 2003-11-04 D. KEYSER – MAXJL (MAXIMUM NUMBER OF JUMP/LINK ENTRIES) INCREASED FROM 15000 TO 16000 (WAS IN VERIFICATION VERSION); UNIFIED/PORTABLE FOR WRF; ADDED DOCUMENTATION (INCLUDING HISTORY) 2009-03-31 J. WOOLLEN – ADDED ADDITIONAL DOCUMENTATION 2014-12-10 J. ATOR – USE MODULES INSTEAD OF COMMON BLOCKS

USAGE: CALL DRSTPL (INOD, LUN, INV1, INV2, INVN)

INPUT ARGUMENT LIST: INOD - INTEGER: JUMP/LINK TABLE INDEX OF MNEMONIC TO LOOK FOR LUN - INTEGER: I/O STREAM INDEX INTO INTERNAL MEMORY ARRAYS INV1 - INTEGER: STARTING INDEX OF THE PORTION OF THE SUBSET BUFFER CURRENTLY BEING PROCESSED BY UFBRW INV2 - INTEGER: ENDING INDEX OF THE PORTION OF THE SUBSET BUFFER CURRENTLY BEING PROCESSED BY UFBRW

OUTPUT ARGUMENT LIST: INVN - INTEGER: LOCATION INDEX OF INOD WITHIN SUBSET BUFFER: 0 = NOT FOUND INV2 - INTEGER: IF INVN = 0, THEN INV2 IS UNCHANGED FROM ITS INPUT VALUE. OTHERWISE, IT CONTAINS THE REDEFINED ENDING INDEX OF THE PORTION OF THE SUBSET BUFFER CURRENTLY BEING PROCESSED BY UFBRW, SINCE EXPANDING A DELAYED REPLICATION SEQUENCE WILL HAVE NECESSARILY INCREASED THE SIZE OF THIS BUFFER.

REMARKS: THIS ROUTINE CALLS: INVWIN NEWWIN USRTPL THIS ROUTINE IS CALLED BY: UFBRW Normally not called by any application programs.

Definition at line 57 of file drstpl.f.

References invwin(), moda_tables::jmpb, newwin(), moda_tables::typ, and usrtpl().

Referenced by ufbrw().