<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='DATELEN'><A href='../../html_code/bufr/datelen.f.html#DATELEN' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
SUBROUTINE DATELEN(LEN) 12,3
C$$$ SUBPROGRAM DOCUMENTATION BLOCK
C
C SUBPROGRAM: DATELEN
C PRGMMR: WOOLLEN ORG: NP20 DATE: 1998-07-08
C
C ABSTRACT: THIS SUBROUTINE IS USED TO SPECIFY THE LENGTH OF DATE-TIME
C VALUES THAT WILL BE OUTPUT BY FUTURE CALLS TO ANY OF THE BUFR
C ARCHIVE LIBRARY SUBROUTINES WHICH READ BUFR MESSAGES (E.G. READMG,
C READERME, ETC.). POSSIBLE VALUES ARE "8" (WHICH IS THE DEFAULT)
C AND "10".
C
C PROGRAM HISTORY LOG:
C 1998-07-08 J. WOOLLEN -- ORIGINAL AUTHOR (ENTRY POINT IN READMG)
C 2002-05-14 J. WOOLLEN -- CHANGED FROM AN ENTRY POINT TO INCREASE
C PORTABILITY TO OTHER PLATFORMS
C 2003-11-04 J. ATOR -- ADDED DOCUMENTATION
C 2003-11-04 S. BENDER -- ADDED REMARKS/BUFRLIB ROUTINE
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED HISTORY
C DOCUMENTATION; OUTPUTS MORE COMPLETE
C DIAGNOSTIC INFO WHEN ROUTINE TERMINATES
C ABNORMALLY
C 2004-12-20 D. KEYSER -- CALLS WRDLEN TO INITIALIZE LOCAL MACHINE
C INFORMATION (IN CASE IT HAS NOT YET BEEN
C CALLED), THIS ROUTINE DOES NOT REQUIRE IT
C BUT IT MAY SOMEDAY CALL OTHER ROUTINES THAT
C DO REQUIRE IT
C
C USAGE: CALL DATELEN
(LEN)
C INPUT ARGUMENT LIST:
C LEN - INTEGER: LENGTH OF DATE-TIME VALUES TO BE OUTPUT BY
C READ SUBROUTINES: *
C 8 = YYMMDDHH (2-digit year)
C 10 = YYYYMMDDHH (4-digit year)
C
C REMARKS:
C THIS ROUTINE CALLS: BORT WRDLEN
C THIS ROUTINE IS CALLED BY: None
C Normally called only by application
C programs.
C
C ATTRIBUTES:
C LANGUAGE: FORTRAN 77
C MACHINE: PORTABLE TO ALL PLATFORMS
C
C$$$
COMMON /DATELN/ LENDAT
CHARACTER*128 BORT_STR
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
C CALL SUBROUTINE WRDLEN TO INITIALIZE SOME IMPORTANT INFORMATION
C ABOUT THE LOCAL MACHINE (IN CASE IT HAS NOT YET BEEN CALLED)
C ---------------------------------------------------------------
CALL WRDLEN
IF(LEN.NE.8 .AND. LEN.NE.10) GOTO 900
LENDAT = LEN
C EXITS
C -----
RETURN
900 WRITE(BORT_STR,'("BUFRLIB: DATELEN - INPUT ARGUMENT IS",I4," - '//
. 'IT MUST BE EITHER 8 OR 10")') LEN
CALL BORT
(BORT_STR)
END