C+ C NAME: C smei_orbit_info2 C PURPOSE: C Return start times of SMEI orbits C CALLING SEQUENCE: subroutine smei_orbit_info2(norbit_max,orbit0,norbit,torbit) C OUTPUTS: C orbit0 integer Coriolis orbit number C this number added to the array index of torbit C gives the corresponding orbit number C norbit integer number of orbits for which start times are C available C torbit(2,*) integer start times C INCLUDE: include 'dirspec.h' include 'filparts.h' include 'openfile.h' C CALLS: C iFilePath, bOpenFile, Say, Time2Split, iFreeLun C PROCEDURE: C Reads data base file $EPHEM/smei/smei_sgp4_orbits.txt C MODIFICATION HISTORY: C JAN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C- integer orbit0 integer norbit integer torbit(2,*) character cSay*16 /'smei_orbit_info2'/ character ctime*20 character cfile*(FIL__LENGTH) logical bOpenFile i = iFilePath(cEnvi(:iEnvi)//'EPHEM',1,'smei','smei_sgp4_orbits.txt',cfile) irecl = 0 if (.not. bOpenFile(OPN__REOPEN+OPN__TEXT+OPN__NOMESSAGE,iu,cfile,irecl)) call Say(cSay,'E','stop','open error') norbit = 0 read (iu,'(I6,2X,A18)',iostat=iostat) orbit0, ctime orbit0 = orbit0-1 do while (iostat .eq. 0) norbit = norbit+1 if (norbit .gt. norbit_max) call Say(cSay,'E','PAR_TOO_SMALL','not enough room for all TLMs') call Time2Split('YYYY_DOY_hhmmssfff',ctime,torbit(1,norbit)) read (iu,'(I6,2X,A18)',iostat=iostat) i, ctime end do iu = iFreeLun(iu) return end