Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
SUBROUTINE CALDAT(JULIAN,MM,ID,IYYY)!!C ROUTINE CONVERTS JULIAN DAY TO MONTH, DAY, & YEAR.!C THIS CODE IS LIFTED FROM THE BOOK:!C W.H. PRESS ET AL., NUMERICAL RECIPES, CAMBRIDGE UNIV. PRESS, 1986.!C THE ONLY MODIFICATION IS THAT REAL ARITHMETIC IS DONE IN R*8.!C!C THE ROUTINE OUTPUTS THE MONTH, DAY, AND YEAR ON WHICH THE!C SPECIFIED JULIAN DAY STARTED AT NOON.!C!C TO CONVERT MODIFIED JULIAN DAY, CALL THIS ROUTINE WITH!C JULIAN = MJD + 2400001!Cinteger(INT64)JULIANinteger IGREGinteger JALPHA,JA,JB,JC,JD,JE,ID,MM,IYYYPARAMETER(IGREG=2299161)IF(JULIAN.GE.IGREG)THENJALPHA=INT((DBLE(JULIAN-1867216)-0.25D0)/36524.25D0)JA=JULIAN+1+JALPHA-INT(0.25D0*DBLE(JALPHA))ELSEJA=JULIANENDIFJB=JA+1524JC=INT(6680.D0+(DBLE(JB-2439870)-122.1D0)/365.25D0)JD=365*JC+INT(0.25D0*DBLE(JC))JE=INT(DBLE(JB-JD)/30.6001D0)ID=JB-JD-INT(30.6001D0*DBLE(JE))MM=JE-1IF(MM.GT.12)MM=MM-12IYYY=JC-4715IF(MM.GT.2)IYYY=IYYY-1IF(IYYY.LE.0)IYYY=IYYY-1RETURN END subroutine CALDAT