C ===================================================================== C pgm: SHGCAL .. Get frm jul-dt, cal-dt (get mo, da) C C use: CALL SHGCAL(JUL,LYR,LMO,LDA) C C in: JUL ...... day of year (001-366) - INT C in: LYR ...... year number (1753-2199) - INT C out: LMO ...... month number (01-12) - INT C out: (note, if output is 13, then JUL was too large) C out: LDA ...... day number (01-31) - INT C ===================================================================== SUBROUTINE SHGCAL(JUL,LYR,LMO,LDA) INTEGER JUL,LYR,LMO,LDA,II,JULT,LYRT,LMOT,LDAT C C ================================= RCS keyword statements ========== CHARACTER*68 RCSKW1,RCSKW2 DATA RCSKW1,RCSKW2 / ' .$Source: /fs/hseb/ob5/rfc/ofs/src/shefpars_driv/RCS/shgcal.f,v $ . $', ' .$Id: shgcal.f,v 1.3 1998/04/07 19:12:44 page Exp $ . $' / C =================================================================== C JULT = JUL LYRT = LYR II = 1+(LYRT+3)/4-LYRT/4 IF( LYRT .EQ. 1900 ) II = II+1 IF( LYRT .EQ. 1800 ) II = II+1 IF( LYRT .EQ. 2100 ) II = II+1 IF( JULT .GT. (61-II) ) JULT = JULT+II LMOT = (JULT*67+2012)/2048 LDAT = JULT-(LMOT*489)/16+30 LMO = LMOT LDA = LDAT RETURN END