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