NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
gets1loc.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine gets1loc (S1MNEM, IBEN, ISBYT, IWID, IRET)
 THIS SUBROUTINE RETURNS THE LOCATION (I.E. More...
 

Detailed Description

Author
ATOR
Date
2005-11-29

Definition in file gets1loc.f.

Function/Subroutine Documentation

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

THIS SUBROUTINE RETURNS THE LOCATION (I.E.

STARTING BYTE AND BIT WIDTH) OF A SPECIFIED VALUE WITHIN SECTION 1 OF A BUFR MESSAGE ENCODED ACCORDING TO A SPECIFIED BUFR EDITION. IT WILL WORK ON ANY MESSAGE ENCODED USING BUFR EDITION 2, 3 OR 4. THE VALUE FOR WHICH THE LOCATION IS TO BE DETERMINED IS SPECIFIED VIA THE MNEMONIC S1MNEM, AS EXPLAINED IN FURTHER DETAIL BELOW.

PROGRAM HISTORY LOG: 2005-11-29 J. ATOR – ORIGINAL AUTHOR 2006-04-14 D. KEYSER – ADDED OPTIONS FOR 'YCEN' AND 'CENT'

USAGE: GETS1LOC ( S1MNEM, IBEN, ISBYT, IWID, IRET ) INPUT ARGUMENT LIST: S1MNEM - CHARACTER*(*): MNEMONIC SPECIFYING 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 (NOTE: THIS VALUE IS PRESENT ONLY IN BUFR EDITION 3 OR 4 MESSAGES!) '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) (NOTE: THIS VALUE IS PRESENT ONLY IN BUFR EDITION 4 MESSAGES!) 'MSBT' = DATA SUBCATEGORY (LOCAL) 'MTV' = VERSION NUMBER OF MASTER TABLE 'MTVL' = VERSION NUMBER OF LOCAL TABLES 'YCEN' = YEAR OF CENTURY (1-100) (NOTE: THIS VALUE IS PRESENT ONLY IN BUFR EDITION 2 AND 3 MESSAGES!) 'CENT' = CENTURY (I.E., 20 FOR YEARS 1901-2000, 21 FOR YEARS 2001-2100) (NOTE: THIS VALUE MAY BE PRESENT IN BUFR EDITION 2 AND 3 MESSAGES, BUT IT IS NEVER PRESENT IN ANY BUFR EDITION 4 MESSAGES!) 'YEAR' = YEAR (4-DIGIT) (NOTE: THIS VALUE IS PRESENT ONLY IN BUFR EDITION 4 MESSAGES!) 'MNTH' = MONTH 'DAYS' = DAY 'HOUR' = HOUR 'MINU' = MINUTE 'SECO' = SECOND (NOTE: THIS VALUE IS PRESENT ONLY IN BUFR EDITION 4 MESSAGES!) IBEN - INTEGER: BUFR EDITION NUMBER

OUTPUT ARGUMENT LIST: ISBYT - INTEGER: NUMBER OF STARTING BYTE WITHIN SECTION 1 WHICH CONTAINS VALUE CORRESPONDING TO S1MNEM (NOTE: ISBYT IS ALWAYS RETURNED AS 18 WHENEVER S1MNEM = 'CENT' AND IBEN = 2 OR 3; IN SUCH CASES IT IS THEN UP TO THE CALLING ROUTINE TO DETERMINE WHETHER THIS LOCATION ACTUALLY CONTAINS A VALID CENTURY VALUE!) IWID - INTEGER: WIDTH (IN BITS) OF VALUE CORRESPONDING TO S1MNEM IRET - INTEGER: RETURN CODE 0 = NORMAL RETURN -1 = THE INPUT S1MNEM MNEMONIC IS INVALID FOR BUFR EDITION IBEN

REMARKS: THIS ROUTINE CALLS: None THIS ROUTINE IS CALLED BY: CRBMG IUPBS01 PKBS1 Normally not called by any application programs.

Definition at line 80 of file gets1loc.f.

Referenced by crbmg(), iupbs01(), and pkbs1().