pro cdf_leap_second_init,reset=reset,no_download=no_download,no_update=no_update,no_clobber=no_clobber,force_download=force_download
compile_opt idl2,hidden
defsysv,'!CDF_LEAP_SECONDS',exists=exists
if ~keyword_set(exists) then begin
tmp_struct=file_retrieve(/structure_format)
str_element,tmp_struct,'preserve_tt2000',0,/add
defsysv,'!CDF_LEAP_SECONDS',tmp_struct
endif
if keyword_set(reset) then !cdf_leap_seconds.init=0
if !cdf_leap_seconds.init ne 0 then return
tmp_struct = file_retrieve(/structure_format)
str_element,tmp_struct,'preserve_tt2000',0,/add
!cdf_leap_seconds=tmp_struct
ftest = tt2000_read_config()
If(size(ftest, /type) Eq 8) Then Begin
!cdf_leap_seconds.local_data_dir = ftest.local_data_dir
!cdf_leap_seconds.remote_data_dir = ftest.remote_data_dir
!cdf_leap_seconds.no_download = ftest.no_download
!cdf_leap_seconds.no_update = ftest.no_update
!cdf_leap_seconds.downloadonly = ftest.downloadonly
!cdf_leap_seconds.verbose = ftest.verbose
!cdf_leap_seconds.preserve_tt2000=!cdf_leap_seconds.preserve_tt2000
Endif
if keyword_set(no_download) then begin
!cdf_leap_seconds.no_download=1
endif
if keyword_set(no_update) then begin
!cdf_leap_seconds.no_update=1
endif
if keyword_set(no_clobber) then begin
!cdf_leap_seconds.no_clobber=1
endif
if keyword_set(force_download) then begin
!cdf_leap_seconds.force_download=1
endif
cdf_lib_info,version=v,subincrement=si,release=r,increment=i,copyright=c
cdf_version = string(format="(i0,'.',i0,'.',i0,a)",v,r,i,si)
cdf_version_min = '3.4.0'
if cdf_version lt cdf_version_min then begin
print,'Warning: Your version of the CDF library ('+cdf_version+') is unable to read TT2000 times.'
print,'Please go to the following url to learn how to patch your system:'
print,'http://cdf.gsfc.nasa.gov/html/cdf_patch_for_idl6x_new3400.html'
endif
if ~keyword_set(exists) or keyword_set(reset) then begin
!cdf_leap_seconds=tmp_struct
!cdf_leap_seconds.remote_data_dir = 'http://cdf.gsfc.nasa.gov/html/'
!cdf_leap_seconds.local_data_dir = root_data_dir() + 'misc/'
endif
SETENV,'CDF_LEAPSECONDSTABLE='+!cdf_leap_seconds.local_data_dir+'CDFLeapSeconds.txt'
leapsecond_table = file_retrieve('CDFLeapSeconds.txt',_extra=!cdf_leap_seconds)
!cdf_leap_seconds.init=1
end