Binary Combined Solution Package - Version History Donald H. Gudehus April, 1986 - Initial version March, 1994 - Revised program to read standard binary star file, and handle several possible combined solution cases (15). January, 1995 - Allowed for astrometrically determined parallax to be corrected by a predetermined correction factor which represents the effect of the finite distance of the standard stars. May, 1995 - Various bug fixes for plotting spectroscopic secondary. June, 1995 - Added capability to solve for spectroscopic subcomponents. October, 1998 - Added printout of descriptions of each plot. In printout of residuals, changed from ratio of residual to sigma in file, to ratio of residual to mean error of an observation of average weight of solution. October, 1999 - Added capability to write the residuals of the visual binary solution to a standard file for later analysis. October 13, 1999 - Modified program to work under Unix. November 24, 1999 - Fixed bug in concatenated string in call to MESSAGE. November 25, 1999 - Fixed bug where residuals of spectroscopic component files were being displayed when not asked for. Fixed bug where incorrect index was being displayed for projected velocity amplitude of primary or secondary subcomponent secondary. Increased number of points to 5000. December 16, 1999 - Added ability to exclude various ranges of phase from spectroscopic data so as to test for line blending. Also added calculation of period in days, and distance in parsecs. February 21, 2000 - Added ability to redo solution, excluding points which deviate by more than a given factor times the mean error. February 22, 25, 2000 - Added ability to solve for apsidal motion (binary.for, binary_header.for, binary_indexes.for, binary_ltt_cor.for, editbinary.for, get_binary_header.for, nlfun3.for, nlder3.for, print_binary_header.for, write_binary_header.for). July 23, 2000 - Fixed bug where check for SIGMA equal to 9999.99999 was not working in the Unix version but was in the OpenVMS version. April 27, 2001 - Incorported call to new version of parallaxfactors.for Made WEIGHT_SCALE for X and Y two-dimensional. May 2, 2001 - Meaning of proper motion acceleration is now true acceleration rather than coefficient of the quadratic factor. August 23, 2001 - Fixed bug in binary.for where the residual vectors were not being drawn for the primary when both primary and secondary visual binary data were being considered. Fixed bug where the average of initial estimates of the semimajor axis for a primary and secondary spectroscopic binary was being calculated when it shouldn't have been. Changed calculation of covariance matrix in nonlinfit1.for to allow for cases where some dimensions have too few points to give a nonzero meanerror. September 24, 2001 - Added ability to calculate apsidal motion for the subcomponents (binary.for, binary_indexes.for, editbinary.for, nlfun3.for, and nlder3.for). Added INDX to COMMON block so that values appropriate to the solution, and therefore PARAMETRS, can be used when plotting. October 8, 2001 - Fixed bugs in editbinary.for where ratio of photocentric to true semimajor axis wasn't getting passed to nlfun3, and where the parallax factors were not being calculated in certain cases. October 16, 2001 - Added ability for program to be run from a "save" file with alterable parameters. September 21, 2002 - Increased size of array in common block bkey in save.for, strkey.for, and usrinp.for to allow for variables with large dimensions. November 25, 2002 - Added plotting of errorbars and increased number of points for data and plotting to 10000. December 22, 2002 - Added calculation of mass function and sum of masses for the spectroscopic cases. Fixed bug in nel.for where occassional NaN (not a number) situations from user entered data would cause an incorrect count of parameters in usrinp.for. Fixed the logic in binary_indexes.for for determining when the parallax could be solved for. This had caused an error in the case of a combined solution with data from a visual secondary with relative coordinates, and a spectroscopic secondary. January 1, 2003 - Fixed bug in optional output of residuals where the ratio of rms average of residual to mean error, for the case of a visual secondary with measurements in units of theta and rho was not being done correctly. Also fixed calls to errorbar.for and line_symbl.for in xyplot.for which had not yet incorporated X_INTRVLS_OFF and Y_INTRVLS_OFF. January 3-6, 2003 - Added new header line "Relative orbit, Equator is constant" and corresponding TYPE='r' to cover nonstandard case. Improved code for calculation of mean error in section where residuals are requested to be viewed and some parameters are optionally held constant in the solution. Added separate plots of primary and secondary in addition to the combined plot for visual binaries when both files are available. Replaced call to NEL with INEL in Unix version which hadn't yet been done. January 12, 2003 - Added ability to scale weights in the Theta-Rho domain. January 14, 2003 - Added a symbol marking the location of the primary in a relative plot. July 20, 2003 - Fixed a typo where MASS_FUNC was misspelled as MASS_FUNCT in the calculation of the mean error of the mass function. The corrected value is smaller by about a part in 500. The typo was pointed out by Larry Wasserman. February 27, 2004 - Introduced a new key value for the period which simplifies solving for planetary orbits about single stars. Improved the boundary checking for subcomponent elements. Improved the searching logic in nonlinfit.for. Improved the writing of logical values to the save files. March 30, 2004 - Updated plotting software. September 4, 2004 - Improved automatic axis scaling in plots when errorbars are present. September 10, 2004 - Fixed plotting problem for case where primary with no secondary data, included parallax information, and the observed-to-true parallax was substantially less than one. November 6, 2004 - Added calculation of a(AU) and a(AU)sin(i) under "Additional Information" for certain combined solution cases. March 7, 2005 - Added support in editbinry.exe for creating and editing files containing one-dimensional interferometric data consisting of baseline angle projected on the sky, and projected binary star separation. Created the application one2two.exe, which can fit a cosine curve to files containing one-dimensional data, and solve for the true position angle and separation. Created another demo program for the nonlinear least squares subroutine, nonlinfit. The new program, nl_demo_3.exe fits a circle through points in a plane. In contrast to nl_demo_2.exe, which fits an ellipse to points in a plane, no angle is associated with the points. April 5, 2005 - Various improvements and port to Mac OS X May 16, 2005 - Fixed bug in conversion between Besselian years and Julian date. The problem was noted by Keivan Stassun. May 19, 2005 - Following a suggestion by Keivan Stassun, epochs of possible eclipses for spectroscopic binaries were added to the output. October 25, 2005 - Improved eclipse calculation to cover negative a*sin(i). Corrected formatting problem in Mac OS version. March 2, 2008 - Fixed two minor bugs: 1) When creating a file of spectroscopic binary data with command CS in editbinary.exe, the header lines for the "System radial velocity" and "Sine of inclination times semimajor axis in AU" were being duplicated 2) When plotting spectroscopic binary data over phase, if the sigmas for the data were zero, and error bars were asked for, extraneous error bars were produced. March 22, 2008 - An input file that is sent with Apple's mail utility to a Linux system, will have s inserted near the end of each line. This caused a problem when the header was read by binary.exe. Now, all control characters are filtered out as the header is read. The programs that read ascii files and plotted the results, have been combined into one program, xyplot_ascii.exe, and a new feature added. One can now read several files, each with a different number of lines and columns of data, and plot the results. April 2, 2009 - Fixed bug in xyplot.for where interactive command "v" was not working properly. April 14, 2009 - Fixed bug in sao_vect.for which was introduced in a previous upgrade. May 19, 2009 - Fixed bug in apple.for which didn't allow plots to be correctly oriented when more than 2 plots were written to a plot file. November 12, 2013 - Added support for Mac OS X on Intel (64-bits) July 31, 2014 - The version compiled for Mac 64-bit architecture did not handle a "save" file correctly, did not initialize correctly, and sometimes did not plot correctly. A workaround involving a special keyword in the save file did not work on all versions of Mac OS X. Compiling for 32-bit architecture solved the problems.