1
2      SUBROUTINE CHKDAT
3!***********************************************************************
4!                 CHKDAT Module of the AMS/EPA Regulatory Model - AERMOD
5!
6!        PURPOSE: Checks Meteorological Data for Record Out of Sequence
7!
8!        PROGRAMMER: Roger Brode
9!
10!        DATE:    March 2, 1992
11!
12!        MODIFIED:   To remove support for unformatted meteorological
13!                    data files.
14!                    R.W. Brode, PES, Inc., 4/10/2000
15!
16!        MODIFIED:   To incorporate modifications to date processing
17!                    for Y2K compliance.  Specifically, allow for
18!                    transition from KURDAT=99123124 to KURDAT=00010101
19!                    for new century.
20!                    R.W. Brode, PES, Inc., 5/12/99
21!
22!        INPUTS:  Date Variable
23!
24!        OUTPUTS: Date Error Messages
25!
26!        CALLED FROM:   METCHK
27!***********************************************************************
28
29!     Variable Declarations
30      USE MAIN1
31      IMPLICIT NONE
32      CHARACTER MODNAM*12
33
34      SAVE
35
36!     Variable Initializations
37      MODNAM = 'CHKDAT'                                                 !   4320
38
39!     Check for Record Out of Sequence
40      IF ( IPDATE.NE.0 ) THEN
41         IF ( KURDAT.LE.IPDATE ) THEN                                   !   4318
42!           Check for date crossing century mark.
43            IF ( KURDAT.NE.10101 .OR. IPDATE.NE.99123124 ) THEN         !      0
44!              WRITE Error Message - Record Out of Sequence
45               WRITE (DUMMY,'(I8.8)') KURDAT                            !      0
46               CALL ERRHDL(PATH,MODNAM,'E','450',DUMMY)
47               RUNERR = .TRUE.
48            ENDIF
49         ELSEIF ( IHOUR.NE.1 .AND. (KURDAT-IPDATE).NE.1 ) THEN
50!           WRITE Error Message - Record Out of Sequence
51            WRITE (DUMMY,'(I8.8)') KURDAT                               !      0
52            CALL ERRHDL(PATH,MODNAM,'E','450',DUMMY)
53            RUNERR = .TRUE.
54         ELSEIF ( IHOUR.EQ.1 .AND. IPHOUR.NE.24 ) THEN
55!           WRITE Error Message - Record Out of Sequence
56            WRITE (DUMMY,'(I8.8)') KURDAT                               !      0
57            CALL ERRHDL(PATH,MODNAM,'E','450',DUMMY)
58            RUNERR = .TRUE.
59         ENDIF
60      ENDIF
61
62      CONTINUE                                                          !   4320
63      END


HyperKWIC - Version 1.00DD executed at 20:00 on 1 Mar 2018 | Personal or Academic or Evaluation User | Free for Non-Commercial, Non-Government Use