<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='IGETDATE'><A href='../../html_code/bufr/igetdate.f.html#IGETDATE' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION IGETDATE(MBAY,IYR,IMO,IDY,IHR) 4,4
C$$$ SUBPROGRAM DOCUMENTATION BLOCK
C
C SUBPROGRAM: IGETDATE
C PRGMMR: ATOR ORG: NP12 DATE: 2005-11-29
C
C ABSTRACT: THIS FUNCTION UNPACKS AND RETURNS THE SECTION 1 DATE-TIME
C FROM THE BUFR MESSAGE STORED IN ARRAY MBAY. IT WILL WORK ON ANY
C MESSAGE ENCODED USING BUFR EDITION 2, 3 OR 4. THE START OF THE
C BUFR MESSAGE, (I.E. THE STRING "BUFR") MUST BE ALIGNED ON THE FIRST
C FOUR BYTES OF MBAY.
C
C PROGRAM HISTORY LOG:
C 2005-11-29 J. ATOR -- ORIGINAL AUTHOR
C
C USAGE: IGETDATE (MBAY, IYR, IMO, IDY, IHR)
C INPUT ARGUMENT LIST:
C MBAY - INTEGER: *-WORD PACKED BINARY ARRAY CONTAINING
C BUFR MESSAGE
C
C OUTPUT ARGUMENT LIST:
C IYR - INTEGER: SECTION 1 YEAR (YYYY OR YY, DEPENDING ON
C DATELEN() VALUE)
C IMO - INTEGER: SECTION 1 MONTH (MM)
C IDY - INTEGER: SECTION 1 DAY (DD)
C IHR - INTEGER: SECTION 1 HOUR (HH)
C IGETDATE - INTEGER: SECTION 1 DATE-TIME (YYYYMMDDHH OR YYMMDDHH,
C DEPENDING ON DATELEN() VALUE)
C
C REMARKS:
C THIS ROUTINE CALLS: IUPBS01
C THIS ROUTINE IS CALLED BY: CKTABA DATEBF DUMPBF
C Normally not called by application
C programs but it could be.
C
C ATTRIBUTES:
C LANGUAGE: FORTRAN 77
C MACHINE: PORTABLE TO ALL PLATFORMS
C
C$$$
COMMON /DATELN/ LENDAT
DIMENSION MBAY(*)
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
IYR = IUPBS01
(MBAY,'YEAR')
IMO = IUPBS01
(MBAY,'MNTH')
IDY = IUPBS01
(MBAY,'DAYS')
IHR = IUPBS01
(MBAY,'HOUR')
IF(LENDAT.NE.10) THEN
IYR = MOD(IYR,100)
ENDIF
IGETDATE = (IYR*1000000) + (IMO*10000) + (IDY*100) + IHR
RETURN
END