;+ ; NAME: ; BZero ; PURPOSE: ; ; CALLING SEQUENCE: FUNCTION BZero, T, degrees=degrees, lzero=L0 ; INPUTS: ; T array; type: standard time structure ; times where B0 angle is requested ; OPTIONAL INPUT PARAMETERS: ; /degrees if set, output angles BZero and L0 are in degrees ; (default: radians) ; OUTPUTS: ; Result heliographic latitude of the sub-Earth point (center ; of the disk) ; OPTIONAL OUTPUT PARAMETERS: ; L0 heliographic longitude of the sub-Earth point ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; big_eph, jpl_body, SyncDims ; PROCEDURE: ; > For time T the heliocentric ecliptic longitude of the sub-Earth ; point is L=180+(geocentric ecliptic longitude Sun); the ; heliocentric latitude is D=-(geocentric latitude). ; The heliographic latitude of the sub-Earth point follows by ; converting L,D at time T. ; ; 1971, doy 1.0 : B0 = -3.00629, L0 = 129.631 ; B0 = -3.01 , L0 = 129.62 (Nautical Almanac) ; ; > using the /Precision keyword in NewcombSun produces worse results ; MODIFICATION HISTORY: ; JUN-1993, Paul Hick (UCSD/CASS) ; FEB-1998, Paul Hick (UCSD/CASS) ; Replaced /radians keyword by /degrees keyword ; OCT-2006, Paul Hick (UCSD/.CASS; pphick@ucsd.edu) ; Replaced NewcombSun by big_eph call ;- L0 = big_eph( T, $ body = jpl_body(/earth,/string) , $ /to_heliographic, $ /to_sphere , $ /precess , $ degrees=degrees , $ /onebody , $ /silent ) B0 = float(L0[1,*]) ; Heliographic latitude L0 = float(L0[0,*]) ; Heliographic longitude SyncDims, B0, sizeinfo=size(T) SyncDims, L0, sizeinfo=size(T) RETURN, B0 & END