3.8.0 * Post DiFX 2.8 * New function DifxInputGetMaxDatastreamsPerAntenna() * Add all VLA pads to antenna list * Add antenna memberships (not complete) and membership test functions 3.7.0 * Post DiFX 2.6 * Add new column to antenna database: ivsName: the name used by IVS * Add more antennas to antenna database (input from Goddard) * Use libc time routines rather than ad hoc in mjd2date() * C++ protectors in antenna_db.h * antenna_db.c: allow search by "IVS Name", and fix diameter of Arecibo * convert python to python3 * replace @lbo.us with @nrao.edu email addresses * difxcopy and mvdifxhere no longer live in difxio; look in misc_utils * file name ending in %now.vdif% gets replaced with "%d_%05d.vdif" % (mjd, sec) (simplifies VLITE file naming) * fix incorrect FITS PCal tone freq due rounding error in >1 MHz spacing cases, found by L.Petrov * tabulatedelays: allow backing out axis offset effects, allow external file to provide list of MJDs * tabulatedelays: option added to print the antenna coordinates as comments in the output * tabulatedelays: fix print formatting (missing new lines) * tabulatedelays: in mjdfile mode, allow (by default) printing values between scans, if neighboring scans are on the same source and the model is valid. * read and write J2000 station position polynomials; option in tabulatedelays to evaluate * new utility: difxfilelist: read through .input file(s) and list files to be read, data format, ... * capture ephemeris file and object number in .calc file * new function: DifxInputGetSourceId() * when checking equality of antennas, verify mount type is the same * remove polxy2hv from DifxInput structure -- this was effectively a difx2fits private variable that slipped in. * increase observation code string length to 24 * write FREQ table frequencies only to 1 Hz resolution when it is clear that no additional precision is needed to avoid numerical issues * Version for DiFX-2.8, Nov 4, 2022 3.6.0 * Post DiFX 2.5 * Remove unneeded source file * New functions: evaluateDifxInputUVW, getDifxDatastreamBandPol, getDifxDatastreamBandFreqIdAndPol * Adding built-in catalog of some VLBI station information -- will be useful for setting antenna diameters and mount types in FITS-IDI files, and may have other uses long term. * Infrastructure for introspection into reason for splitting FITS files * tabulatedelays: add option to print one line at the center of each integration time * tabulatedelays: add option to add clock model to delay * tabulatedelays: add option to simply print the clock model * print BW and FREQ with more significant digits * Version for DiFX-2.6, Mar 4, 2019 3.5.0 * Post DiFX 2.4 * Consider equality of EOP values when merging jobs * Implement EOP merging modes. Currently this will be set automatically based total number of days spanned by EOPs. - Relaxed means merge EOPs if they are consistent, with a resulting maximum of 6 days of values - Strict means only merge if EOPs cover the same days - In either case, refuse to merge if the EOPs are different on any day * Replaced string with enums for three parameter names - Note: this breaks API compatibility. Be sure to recompile all dependent code after updating difxio. * Fix merging of tables containing model extensions when different scans have different subsets of antennas * New utility: tabulatedelays. Will make a list of evaluated delay polynomials every 24 seconds (on the usual grid of model points). Delays and rates are printed. * New utility: reducepoly. Will reduce the order of the delay model polynomial. [Needs GSL] * New function: evaluateDifxAntennaClock * Write Parallactic Angle and/or Refraction Corrected Elevation to .im file if they are populated * Support MARK6 data source * Improved precision on some output values * Improved sanity checking on many internal functions * Some merging from the RadioAstron branch - James Anderson to fill in details here - Some new capabilities commented out with "#ifdef RA_MERGED .. #endif" constructs, awaiting changes in mpifxcorr * New utility: avgDiFX: program to average two .difx/DIFX... files and their parent filesets. * Make DataSourceNone a legitimate (non-default) source of data. DataSourceUnspecified now takes the role of an uninitialized value. * Remove ill-conceived function: DifxInputGetDatastreamId * Fixed function DifxConfigRecBand2FreqPol to be compatible with multiple data streams * Add parameter to track delay model program to use (stored in .calc file) * API-breaking changes: - merging and checking compatibility: leaves much more room for expansion in the future - Removal of flawed function DifxConfigCalculateDoPolar - Separation of "FITS IF" information from DifxConfig into DifxFreqSet - This to allow for "Union mode merging", desired for GMVA, RadioAstron * new utility mvdifxhere: changes the internal paths of .calc and .input files to the current working directory. Does not actually move the files. * new utility computetotals (not yet tested): compute total delay given input filesets and table of residual delays * Version for DiFX-2.5, May 16, 2017 3.4.0 * Fix X/Y polarization issue * Change internal representation of networkPort from integer to string to accomodate ethernet device names * Fix polarization detection in cases where antennas have heterogeneous polarization needs * Add psrflag utility -- looks at fringe rates beating against pulsar period with full pulsar gate as a window function * Psrflag utility updated to allow user-settable threshold * Change reference frequency, used by difx2fits, to be the bottom edge of the first AIPS IF * Version for DiFX-2.4, Nov 04, 2014 3.3.0 * Allow ".input" portion of input file to be optional * Version for DiFX-2.3, Dec 20, 2013 3.2.0 * Now the DifxIF structures are _always_ set to be USB. This will break compatibility with earlier versions of difx2fits and maybe difx2mark4. * Add DIFX LABEL to .calc file * Tcal requests will now return values outside sampled range, but will cause warning at end of processing. * Support RX NAME parameter in FREQ table * Experimental support for TLE spacecraft ephemerides * Some segfault protecting in model writing (CJP+WFB) * Experimental support for polarization dependent delay and phase offsets (CJP) * Version for DiFX-2.2, May 31, 2013 3.1.0 * Rename from 3.0.2 prior to DiFX-2.1 * Version for DiFX-2.1, May 4, 2012 3.0.2 * Post DiFX-2.0.1 * Infrastructure for az, el, parallactic angle in model added * Tcal managing structures and functions added * Bug fix: simplifyDifxRules: allow number of rules to go to zero * Version for DiFX-2.1, May 4, 2012 3.0.1 * Post DiFX-2.0.0 * All string parameters of difx_input have parameterized lengths * Get rid of strcpy and strncpy in favor of more friendly snprintf * Add optional VEX FILE parameter to .calc file * Introduce new enum SamplingType * Add infrastructure for tcalFrequency * Add DifxStringArray, which will be used for storing scan names and source names in DifxRule blocks * Clean up, a little bit, the low level writing routines * Considerable fixes to zoom band support * Add Remap[] arrays inside DifxJob to account for pre-merged array indices * Add some accessor functions to return a list of datastreams associated with an antenna. This will be used to allow multiple datastreams per antenna. * Add infrastructure to make redhat .rpm file * Three fixes for ephemeris driven objects: EARTH -> EARTH BARYCENTER to match changed spice nomenclature, move to linear interpolation, and actually link to spacecraft table from source table * Version for DiFX-2.0.1, Jun 10, 2011 / updated June 16 3.0 * Includes the following changes merged (hopefully correctly) from the DiFX-1.5 branch; - Merge fixes from trunk - Add network table infrastructure - Load > 1 pulsar polynomial from a file - Move flags to DifxJob so combinig multiple subarrays results in accurate application of flags. NOTE: This breaks the API - Infrastructure for writing for file-based correlation - When sorting antennas, update the scan table (nAntenna, im and model) - Fix and simplify DifxInputGetScanIdByAntennaId - Fix for parsing of .flag file. - Start some infrastructure for supporting proper flagging in cases of partially overlapping scans - Add difxcalculator under utils. This is an implementation of http://cira.ivec.org/dokuwiki/lib/exe/fetch.php/difx/difx_calculator.xls as a stand-alone program * Allows support of multiple phase centres in input/calc/im files * Allows support of zoom bands * Replaces blockspersend with subintNS * Shifts numchannels/oversample/decimation etc from Configuration to Freq * Allows use of Rule table in input file * Adds support for LO offsets * Fix memory leak (need to free baseline array) * Print all spacecraft entries, not just for the first spacecraft * Prevent merging of jobs that have incompatible clocks * Change to polynomial-based clock model (up to 5th order) * Move all data source information to DifxDatastream where it should be * Respect and track all filenames rather than assume systematically named files * rename all recChan variables to recBand for better uniformity * remove baselineFreq2IF array which was complex and wrong and not needed * RCFreqId was used with two meanings (that usually gave the same value). The true usage is now used everywhere. (Thanks to Randall Wayth for helping find this in DiFX 1.5!) * Precision in source positions increased by two digits, now matches the 1.5 branch * Rounding error fixed when mjdStart/Stop manually specified * Track vex filename * free rule array when deleting difxinput objects * don't write out unused rules to input file * bugfix preventing crash during job concatenation when number of antennas changes downwards * Version for DiFX-2.0.0 2.11 * Post DiFX-1.5 * Implement profile mode (with mode=profile at the global level) * Add writeDifxLineBoolean and use it for writing TRUE/FALSE values 2.10 * Deallocation option of function DifxBaselineAllocPolProds() - needed for more flexible frequency selection in vex2difx * Consider antenna reordering when concattenating scans * use same mjd rounding for .calc and .input files * Version for DiFX-1.5 2.9 * Initial support for calculation of spacecraft positions via SPICE 2.8 * Version bump for slight API change * padDifxScans added to allow extra non-correlation scans to be inserted 2.7 * Version bump for slight API change * a few important bug fixes * Add simplify functions for freqs, datastreams, baselines and configs * separate out internal deallocation from table destructors and force to 0 deallocated arrays 2.6 * Version bump. Slight change to internal API. This version is needed for pulsar support in vex2difx. 2.5 * Version bump. This version required now by vex2difx. 2.4 * Post NRAO-DiFX 1.1 developments * Ability to write .calc and .input files * Mass renaming of .c source files * Determine nPolar smartly -- don't assume based on config name 2.3 * Support new keywords : ABERRATION CORR (.im) and DIFX VERSION (.calc) * Fix mapping of autocorrelation frequency ids * Revamp antenna indexing * support for different ordering of telescopes in the input files * make summary versions of printing functions * make fprintf versions of all printing functions * This is the version for NRAO-DiFX 1.1 2.2 * partial write support. So far: delay, uvw, rate and im files 2.1 * a possible bug fix * support for sorting antennas into alpha order 2.0 * some changes needed for difx2fits 2.0. * implement fits source ids * bug fixes around the board * finish initial pulsar support 1.6 * Add support for spacecraft. Much cleanup of code 1.5 * Add top level parameters to DifxInput that are used specifically for FITS 1.4 * DifxInputGetAntennaId() 1.3 * Load in flag file * use calloc where appropriate * support generalized DATA FORMAT 1.2 * Fixed array indexing issue 1.1 * Improved auto*, changed library name a little 1.0 * Initial version