NCEPLIBS-bufr  12.0.0
getwin.f File Reference

Look for a window containing a specified node within the internal jump/link table. More...

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...
 

Detailed Description

Look for a window containing a specified node within the internal jump/link table.

Author
Woollen
Date
1994-01-06

Definition in file getwin.f.

Function/Subroutine Documentation

◆ getwin()

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.

Note
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.
Parameters
[in]NODE- integer: jump/link table index of mnemonic to look for.
[in]LUN- integer: i/o stream index into internal memory arrays.
[out]IWIN- integer: starting index of the current window iteration which contains node
  • 0 = not found or no more iterations available.
[out]JWIN- integer: ending index of the current window iteration which contains node.
Author
Woollen
Date
1994-01-06

Definition at line 47 of file getwin.f.

References bort(), invwin(), lstjpb(), moda_usrint::nval, and moda_usrint::val.

Referenced by conwin(), ufbevn(), ufbin3(), and ufbrw().