NCEPLIBS-bufr  12.0.0
gets1loc.f File Reference

Get the location of a specified value within Section 1 of a BUFR message. More...

Go to the source code of this file.

Functions/Subroutines

recursive subroutine gets1loc (S1MNEM, IBEN, ISBYT, IWID, IRET)
 This subroutine returns the location of a specified value within Section 1 of a BUFR message. More...
 

Detailed Description

Get the location of a specified value within Section 1 of a BUFR message.

Author
J. Ator
Date
2005-11-29

Definition in file gets1loc.f.

Function/Subroutine Documentation

◆ gets1loc()

recursive subroutine gets1loc ( character*(*)  S1MNEM,
  IBEN,
  ISBYT,
  IWID,
  IRET 
)

This subroutine returns the location of a specified value within Section 1 of a BUFR message.

The location and availability of any particular value within Section 1 of a BUFR message can vary depending on the edition number used to encode the message. This subroutine will work for BUFR edition 2, 3, or 4.

Parameters
[in]S1MNEM– character*(*): Value whose location within Section 1 is to be determined:
  • 'LEN1' = Length (in bytes) of Section 1
  • 'BMT' = BUFR master table
  • 'OGCE' = Originating center
  • 'GSES' = Originating subcenter
  • 'USN' = Update sequence number
  • 'ISC2' = Flag indicating absence/presence of (optional) Section 2 in BUFR message:
    • 0 = Section 2 absent
    • 1 = Section 2 present
  • 'MTYP' = Data category
  • 'MSBTI' = Data subcategory (international)
  • 'MSBT' = Data subcategory (local)
  • 'MTV' = Version number of master table
  • 'MTVL' = Version number of local tables
  • 'YCEN' = Year of century (1-100)
  • 'CENT' = Century (e.g., 20 for years 1901-2000, 21 for years 2001-2100)
  • 'YEAR' = Year (4-digit)
  • 'MNTH' = Month
  • 'DAYS' = Day
  • 'HOUR' = Hour
  • 'MINU' = Minute
  • 'SECO' = Second
[in]IBEN– integer: BUFR edition number
[out]ISBYT– integer: Number of starting byte within Section 1 which contains value corresponding to S1MNEM
[out]IWID– integer: Width (in bits) of value corresponding to S1MNEM, counting from the first bit of the byte pointed to by ISBYT
[out]IRET– integer: Return code:
  • 0 = normal return
  • -1 = S1MNEM is invalid for BUFR edition IBEN
Remarks
  • S1MNEM = 'GSES' is only valid for IBEN = 3 or 4.
  • S1MNEM = 'YCEN' or 'CENT' is only valid for IBEN = 2 or 3.
  • S1MNEM = 'YEAR', 'SECO', or 'MSBTI' is only valid for IBEN = 4.
Author
J. Ator
Date
2005-11-29

Definition at line 56 of file gets1loc.f.

References modv_im8b::im8b, x48(), and x84().

Referenced by iupbs01(), and pkbs1().