1
2      SUBROUTINE SET_DATES
3!***********************************************************************
4!                 SET_DATES Module of ISC3 Short Term Model
5!
6!        PURPOSE: Sets the date variables for current hour
7!
8!        PROGRAMMER: ROGER BRODE
9!
10!        DATE:    May 12, 1999
11!
12!        INPUTS:  Meteorological Variables for One Hour
13!
14!        OUTPUTS: Meteorological Data Error and Status Switches
15!
16!        CALLED FROM:   SET_METDATA
17!***********************************************************************
18
19!     Variable Declarations
20      USE MAIN1
21      IMPLICIT NONE
22      CHARACTER MODNAM*12
23
24      SAVE
25
26!     Variable Initializations
27      MODNAM = 'SET_DATES'                                              !   4320
28
29!     Determine The Current Julian Day and Calculate Current Gregorian Date
30!     First Convert Year to 4-Digit Value
31      IF ( IYEAR.GE.ISTRT_WIND .AND. IYEAR.LE.99 ) THEN
32         IYR = ISTRT_CENT*100 + IYEAR                                   !   4320
33      ELSEIF ( IYEAR.LT.ISTRT_WIND ) THEN
34         IYR = (ISTRT_CENT+1)*100 + IYEAR                               !      0
35      ELSE
36!        Input IYEAR must be 4-digit:  Save to IYR and convert to 2-digit
37         IYR = IYEAR                                                    !      0
38         IYEAR = IYR - 100*(IYR/100)
39      ENDIF
40
41!     Determine Julian Day (Day of Year) Number, JDAY    ---   CALL JULIAN
42      CALL JULIAN(IYR,IMONTH,IDAY,JDAY)                                 !   4320
43
44!     Calculate 8-digit Integer Variable for Current Date/Hour, KURDAT
45!     and 10-digit Integer Variable (with 4-digit year), FULLDATE
46      KURDAT = IYEAR*1000000 + IMONTH*10000 + IDAY*100 + IHOUR
47      IF ( IYR.GE.2148 ) THEN
48!        Write Error Message:  Input Year is > 2147.
49         WRITE (DUMMY,'("YR= ",I4)') IYR                                !      0
50         CALL ERRHDL(PATH,MODNAM,'E','365',DUMMY)
51         RUNERR = .TRUE.
52         FULLDATE = 2147123124
53      ELSE
54         FULLDATE = IYR*1000000 + IMONTH*10000 + IDAY*100 + IHOUR       !   4320
55      ENDIF
56
57!     Check for 4-digit year input for profile data
58      IF ( KYEAR.GE.100 ) KYEAR = KYEAR - 100*(KYEAR/100)               !   4320
59      KURPFL = KYEAR*1000000 + KMONTH*10000 + KDAY*100 + KHOUR
60
61      CONTINUE
62      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