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

Read data descriptors from Section 3 of a BUFR message. More...

Go to the source code of this file.

Functions/Subroutines

subroutine upds3 (MBAY, LCDS3, CDS3, NDS3)
 This subroutine returns the sequence of data descriptors contained within Section 3 of a BUFR message. More...
 

Detailed Description

Read data descriptors from Section 3 of a BUFR message.

Definition in file upds3.f.

Function/Subroutine Documentation

subroutine upds3 ( dimension(*)  MBAY,
  LCDS3,
character*6, dimension(*)  CDS3,
  NDS3 
)

This subroutine returns the sequence of data descriptors contained within Section 3 of a BUFR message.

Author
J. Ator
Date
2003-11-04
Parameters
[in]MBAY- integer(*): BUFR message
[in]LCDS3- integer: Dimensioned size of CDS3; used by the subroutine to ensure that it doesn't overflow the CDS3 array
[out]CDS3- character*6(*): Data descriptor sequence within Section 3 of MBAY
[out]NDS3- integer: Number of data descriptors in CDS3
Remarks
  • The start of the BUFR message (i.e. the string 'BUFR') must be aligned on the first 4 bytes of MBAY.
  • This subroutine does not recursively resolve any Table D descriptors from within Section 3; rather, what is returned in CDS3 is the exact list of data descriptors as it appears within Section 3 of MBAY.

Program history log:

  • 2003-11-04 J. Ator – Original author
  • 2004-08-18 J. Ator – Removed IFIRST check, since wrdlen() now keeps track of whether it has been called
  • 2005-11-29 J. Ator – Use getlens()
  • 2009-03-23 J. Ator – Added LCDS3 argument and check

Definition at line 33 of file upds3.f.

References adn30(), bort(), getlens(), iupb(), and wrdlen().

Referenced by fdebufr(), ireadmt(), and reads3().