C+ C NAME: C Time2EclipticHeliographic C PURPOSE: C Converts ecliptic coordinates into heliographic coordinates or v.v. C CATEGORY: C Math: coordinate transformation C CALLING SEQUENCE: subroutine Time2EclipticHeliographic(id,tt,phi,lat) C INPUTS: C id integer id=0: ecliptic ---> heliographic C id=1: heliographic ---> ecliptic C tt(2) integer 2-element standard time of current date C phi double precision ecliptic/heliographic longitude for equinox of current date/ C lat double precision ecliptic/heliographic latitude for equinox of current date/ C OUTPUTS: C phi double precision heliographic/ecliptic longitude C lat double precision heliographic/ecliptic latitude C INCLUDE: include 'sun.h' C CALLS: C Time2Doy, Time2Day8, Time2JD, Time2Delta, rotated C SIDE EFFECTS: C ALFA -90 deg. plus ecliptic longitude of ascending node of solar C equator on ecliptic C BETA inclination of solar equator with respect to ecliptic C GAMMA 90 deg. plus angle from ascending node to heliographic prime C meridian C PROCEDURE: C See R. Green, Spherical Astronomy, Cambridge UP, 1985, Section 17.7, C p. 430. C MODIFICATION HISTORY: C Paul Hick (MPAE,UCSD/CASS; pphick@ucsd.edu) C- integer id integer tt(2) double precision phi double precision lat double precision alfa double precision beta double precision gamma integer u0(2) /2398220,0/ integer u (2) integer yr call Time2YDoy(0,tt,yr,u) call Time2Day8(0,u,alfa) alfa = -16.333333d0+0.5025d0*(dble(yr-1850)+(alfa-1d0)/365.25d0)/36.0d0 beta = SUN__I ! Euler angles call Time2JD(1,u0,u) call Time2Delta(tt,u,u) call Time2Day8(0,u,gamma) gamma = 0.25d0+(gamma-SUN__SiderealP*int(gamma/SUN__SiderealP))/SUN__SiderealP gamma = 360.0d0*(gamma-int(gamma)) if (id .eq. 0) then call rotated( alfa, beta, gamma,phi,lat) ! To heliographic system else call rotated(-gamma,-beta,-alfa,phi,lat) ! To ecliptic system end if return end