NCEPLIBS-bufr  12.0.0
conwin.f File Reference

Search consecutive subset buffer segments for an element identified in the user string as a conditional node. More...

Go to the source code of this file.

Functions/Subroutines

subroutine conwin (LUN, INC1, INC2)
 This subroutine searches consecutive subset buffer segments for an element identified in the user string as a conditional node. More...
 

Detailed Description

Search consecutive subset buffer segments for an element identified in the user string as a conditional node.

Author
Woollen
Date
1994-01-06

Definition in file conwin.f.

Function/Subroutine Documentation

◆ conwin()

subroutine conwin (   LUN,
  INC1,
  INC2 
)

This subroutine searches consecutive subset buffer segments for an element identified in the user string as a conditional node.

A conditional node is an element which must meet a condition in order to be read from or written to a data subset. If a conditional element is found and it conforms to the condition, then the internal subset buffer indices of the "window" (see below remarks) are returned to the caller for processing.

The four conditions which can be exercised are:

  • '<' - less than
  • '>' - greater than
  • '=' - equal
  • '!' - not equal

Each condition in a string is applied to one element, and all conditions are 'and'ed to evaluate an outcome. For example, if the condition string is: "POB<500 TOB>30 TQM<4" then the only levels of data read or written are those with pressure lt 500 mb, temperature gt 30 deg, and temperature quality mark < 4.

See getwin() for an explanation of "windows" within the context of a BUFR data subset.

Function conwin() works with function invcon() to identify subset buffer segments which conform to the set of conditions.

Parameters
[in]LUNinteger I/O stream index into internal memory arrays.
[out]INC1integer subset buffer start index
[in,out]INC2integer subset buffer ending index
Author
Woollen
Date
1994-01-06

Definition at line 37 of file conwin.f.

References getwin(), invcon(), and moda_usrint::nval.

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