wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / var / external / bufr / datelen.inc
blob4c4cb46b6613c312c277e32fda035da932a30559
1       SUBROUTINE DATELEN(LEN)
3 !$$$  SUBPROGRAM DOCUMENTATION BLOCK
5 ! SUBPROGRAM:    DATELEN
6 !   PRGMMR: WOOLLEN          ORG: NP20       DATE: 1998-07-08
8 ! ABSTRACT: THIS SUBROUTINE IS USED TO SPECIFY THE LENGTH OF DATE-TIME
9 !   VALUES THAT WILL BE OUTPUT BY FUTURE CALLS TO ANY OF THE BUFR
10 !   ARCHIVE LIBRARY SUBROUTINES WHICH READ BUFR MESSAGES (E.G. READMG,
11 !   READERME, ETC.).  POSSIBLE VALUES ARE "8" (WHICH IS THE DEFAULT)
12 !   AND "10".
14 ! PROGRAM HISTORY LOG:
15 ! 1998-07-08  J. WOOLLEN -- ORIGINAL AUTHOR (ENTRY POINT IN READMG)
16 ! 2002-05-14  J. WOOLLEN -- CHANGED FROM AN ENTRY POINT TO INCREASE
17 !                           PORTABILITY TO OTHER PLATFORMS
18 ! 2003-11-04  J. ATOR    -- ADDED DOCUMENTATION
19 ! 2003-11-04  S. BENDER  -- ADDED REMARKS/BUFRLIB ROUTINE
20 !                           INTERDEPENDENCIES
21 ! 2003-11-04  D. KEYSER  -- UNIFIED/PORTABLE FOR WRF; ADDED HISTORY
22 !                           DOCUMENTATION; OUTPUTS MORE COMPLETE
23 !                           DIAGNOSTIC INFO WHEN ROUTINE TERMINATES
24 !                           ABNORMALLY
25 ! 2004-12-20  D. KEYSER  -- CALLS WRDLEN TO INITIALIZE LOCAL MACHINE
26 !                           INFORMATION (IN CASE IT HAS NOT YET BEEN
27 !                           CALLED), THIS ROUTINE DOES NOT REQUIRE IT
28 !                           BUT IT MAY SOMEDAY CALL OTHER ROUTINES THAT
29 !                           DO REQUIRE IT
31 ! USAGE:    CALL DATELEN (LEN)
32 !   INPUT ARGUMENT LIST:
33 !     LEN      - INTEGER: LENGTH OF DATE-TIME VALUES TO BE OUTPUT BY
34 !                READ SUBROUTINES:  *
35 !                       8 =   YYMMDDHH (2-digit year)
36 !                      10 = YYYYMMDDHH (4-digit year)
38 ! REMARKS:
39 !    THIS ROUTINE CALLS:        BORT     WRDLEN
40 !    THIS ROUTINE IS CALLED BY: None
41 !                               Normally called only by application
42 !                               programs.
44 ! ATTRIBUTES:
45 !   LANGUAGE: FORTRAN 77
46 !   MACHINE:  PORTABLE TO ALL PLATFORMS
48 !$$$
50       COMMON /DATELN/ LENDAT
52       CHARACTER*128 BORT_STR
54 !-----------------------------------------------------------------------
55 !-----------------------------------------------------------------------
57 !  CALL SUBROUTINE WRDLEN TO INITIALIZE SOME IMPORTANT INFORMATION
58 !  ABOUT THE LOCAL MACHINE (IN CASE IT HAS NOT YET BEEN CALLED)
59 !  ---------------------------------------------------------------
61       CALL WRDLEN
63       IF(LEN.NE.8 .AND. LEN.NE.10) GOTO 900
64       LENDAT = LEN
66 !  EXITS
67 !  -----
69       RETURN
70 900   WRITE(BORT_STR,'("BUFRLIB: DATELEN - INPUT ARGUMENT IS",I4," - '// &
71        'IT MUST BE EITHER 8 OR 10")') LEN
72       CALL BORT(BORT_STR)
73       END SUBROUTINE DATELEN