anchor.diff:  module vallado
  +! based on http://www.smad.com/vallado/
   
   use, intrinsic:: iso_fortran_env, only: dp=>real64, sp=>real32
   implicit none
  
positive.code: 
  
  elemental real(wp) FUNCTION toGST(JD) result(GST)
  ! julian2sidereal(100000) = 2.9310980581630943
  
  
    real(wp), intent(in) :: JD
  
negative.code: END function toLST
        
  
  elemental real(wp) function toJulian(Year,Mon,Day,Hr,Mint,Sec) result(jd)
  
    INTEGER,intent(in) :: Year, Mon, Day, Hr, Mint
    real(wp), intent(in) :: sec
    real(wp) :: B, y, m
    
    y = year
    m = mon
  
    IF ( M <= 2 ) THEN
      Y = y - 1
      M = m + 12
    ENDIF
      
    B = 2 - INT(Y*0.01_wp) + INT(INT(Y*0.01_wp)*0.25_wp)
    
    JD= INT( 365.25_wp*(Y + 4716) ) + &
        INT( 30.6001_wp*(M+1) ) + &
  