NCEPLIBS-bufr
11.6.0
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | getwin (NODE, LUN, IWIN, JWIN) |
GIVEN A NODE INDEX WITHIN THE INTERNAL JUMP/LINK TABLE, THIS SUBROUTINE LOOKS WITHIN THE CURRENT SUBSET BUFFER FOR A "WINDOW" (SEE BELOW REMARKS) WHICH CONTAINS THIS NODE. More... | |
Definition in file getwin.f.
subroutine getwin | ( | NODE, | |
LUN, | |||
IWIN, | |||
JWIN | |||
) |
GIVEN A NODE INDEX WITHIN THE INTERNAL JUMP/LINK TABLE, THIS SUBROUTINE LOOKS WITHIN THE CURRENT SUBSET BUFFER FOR A "WINDOW" (SEE BELOW REMARKS) WHICH CONTAINS THIS NODE.
IF FOUND, IT RETURNS THE STARTING AND ENDING INDICES OF THIS WINDOW WITHIN THE CURRENT SUBSET BUFFER. FOR EXAMPLE, IF THE NODE IS FOUND WITHIN THE SUBSET BUT IS NOT PART OF A DELAYED REPLICATION SEQUENCE, THEN THE RETURNED INDICES DEFINE THE START AND END OF THE ENTIRE SUBSET BUFFER. OTHERWISE, THE RETURNED INDICES DEFINE THE START AND END OF THE NEXT AVAILABLE DELAYED REPLICATION SEQUENCE ITERATION WHICH CONTAINS THE NODE. IF NO FURTHER ITERATIONS OF THE SEQUENCE CAN BE FOUND, THEN THE STARTING INDEX IS RETURNED WITH A VALUE OF ZERO.
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" 1999-11-18 J. WOOLLEN – THE NUMBER OF BUFR FILES WHICH CAN BE OPENED AT ONE TIME INCREASED FROM 10 TO 32 (NECESSARY IN ORDER TO PROCESS MULTIPLE BUFR FILES UNDER THE MPI) 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) (INCOMPLETE); OUTPUTS MORE COMPLETE DIAGNOSTIC INFO WHEN ROUTINE TERMINATES ABNORMALLY 2009-03-31 J. WOOLLEN – ADDED ADDITIONAL DOCUMENTATION 2009-05-07 J. ATOR – USE LSTJPB INSTEAD OF LSTRPC 2014-12-10 J. ATOR – USE MODULES INSTEAD OF COMMON BLOCKS
USAGE: CALL GETWIN (NODE, LUN, IWIN, JWIN) INPUT ARGUMENT LIST: NODE - INTEGER: JUMP/LINK TABLE INDEX OF MNEMONIC TO LOOK FOR LUN - INTEGER: I/O STREAM INDEX INTO INTERNAL MEMORY ARRAYS JWIN - INTEGER: ENDING INDEX OF THE PREVIOUS WINDOW ITERATION WHICH CONTAINED NODE
OUTPUT ARGUMENT LIST: IWIN - INTEGER: STARTING INDEX OF THE CURRENT WINDOW ITERATION WHICH CONTAINS NODE 0 = NOT FOUND OR NO MORE ITERATIONS AVAILABLE JWIN - INTEGER: ENDING INDEX OF THE CURRENT WINDOW ITERATION WHICH CONTAINS NODE
REMARKS:
THIS IS ONE OF A NUMBER OF SUBROUTINES WHICH OPERATE ON "WINDOWS" (I.E. CONTIGUOUS PORTIONS) OF THE INTERNAL SUBSET BUFFER. THE SUBSET BUFFER IS AN ARRAY OF VALUES ARRANGED ACCORDING TO THE OVERALL TEMPLATE DEFINITION FOR A SUBSET. A WINDOW CAN BE ANY CONTIGUOUS PORTION OF THE SUBSET BUFFER UP TO AND INCLUDING THE ENTIRE SUBSET BUFFER ITSELF. FOR THE PURPOSES OF THESE "WINDOW OPERATOR" SUBROUTINES, A WINDOW ESSENTIALLY CONSISTS OF ALL OF THE ELEMENTS WITHIN A PARTICULAR DELAYED REPLICATION GROUP, SINCE SUCH GROUPS EFFECTIVELY DEFINE THE DIMENSIONS WITHIN A BUFR SUBSET FOR THE BUFR ARCHIVE LIBRARY SUBROUTINES SUCH AS UFBINT, UFBIN3, ETC. WHICH READ/WRITE INDIVIDUAL DATA VALUES. A BUFR SUBSET WITH NO DELAYED REPLICATION GROUPS IS CONSIDERED TO HAVE ONLY ONE DIMENSION, AND THEREFORE ONLY ONE "WINDOW" WHICH SPANS THE ENTIRE SUBSET. ON THE OTHER HAND, EACH DELAYED REPLICATION SEQUENCE WITHIN A BUFR SUBSET CONSISTS OF SOME NUMBER OF "WINDOWS", WHICH ARE A DE-FACTO SECOND DIMENSION OF THE SUBSET AND WHERE THE NUMBER OF WINDOWS IS THE DELAYED DESCRIPTOR REPLICATION FACTOR (I.E. THE NUMBER OF ITERATIONS) OF THE SEQUENCE. IF NESTED DELAYED REPLICATION IS USED, THEN THERE MAY BE THREE OR MORE DIMENSIONS WITHIN THE SUBSET.
THIS ROUTINE CALLS: BORT INVWIN LSTJPB THIS ROUTINE IS CALLED BY: CONWIN UFBEVN UFBIN3 UFBRW Normally not called by any application programs.
Definition at line 81 of file getwin.f.