DynAdjust Versions Save

Least squares adjustment software

v1.2.7

1 year ago

Overview

This release addresses several defects and introduces new enhancements across all applications and documentation, including:

  • A major overhaul of the way database ids are handled and thereby fixes a lingering defect (see issue #203)
  • New functionality to add Type b uncertainties to the estimated station uncertainties after an adjustment has been completed
  • New support for ITRF2020 (see https://itrf.ign.fr/en/solutions/ITRF2020), including transformations to GDA2020 and previous ITRFs
  • Several improvements to the command line interface help
  • Address inconsistencies and shortcomings in the User's Guide (incorporating fixes and improvements listed above).

v1.2.6

1 year ago

Overview

This release addresses a defect, incorporates code enhancements, and closes an issue relating to ignored measurements.

  • When exporting an adjustment to SINEX, adjust incorrectly labelled the exported *.snx file with the default reference frame (GDA2020) instead of the user-supplied reference frame. Several changes have been introduced to use the reference frame supplied to import or reftran.
  • Add changes to close #171, and introduce additional checks for verifying direction sets and clusters
  • Detect and throw an exception for unrecognised file types in *.msr files.
  • Update version to 1.2.6
  • Add a new CMake find_package call to CMakeLists.txt to improve detection and linking of OpenMP on build.
  • Update the User's Guide with notes on the behaviour to be expected when importing direction sets that contain one or more ignored directions

v1.2.5

2 years ago

Overview

This pull request addresses a bug, and incorporates several code enhancements. These include:

  • Add changes to fix #179, by also assessing the n-statistic for each measurement
  • Upgrade to boost 1.78
  • Upgrade the visual studio solution and project files to VS2022
  • Finalise transition to Intel® oneAPI MKL. This includes:
  • Transition from Microsoft.Cpp.x64.user property pages to a new dynadjust.props file to manage paths for boost and xsd/xerces-c headers and libraries
  • Address several compiler warnings across all files from VS2022 and gcc 11.2
  • Fix an issue relating to the gcc compiler flag for openmp
  • Add resource files (resource.h and dynadjust.rc) to assist with managing versioning and copyright information in Windows binary builds
  • Move instructions for Windows builds from PDF to the Windows only build instructions

v1.2.4

2 years ago

Overview

This release contains various code enhancements that address issue #24. Specifically, this release provides support for handling the WGS 84 ensemble and six specific WGS 84 realisations, including WGS 84 (Transit), WGS 84 (G730), WGS 84 (G873), WGS 84 (G1150), WGS 84 (G1674), WGS 84 (G1762), and WGS 84 (G2139).

The DynAdjust binaries attached to this release are for Windows 10 (x64) and have been built using Intel® oneAPI version 2022.1.3.

General

Several code changes and enhancements effecting multiple programs include:

  • New epsg codes and datum labels for the WGS 84 ensemble and WGS 84 (xxxx), including: wgs84 | wgs84 (transit) | wgs84 (g730) | wgs84 (g873) | wgs84 (g1150) | wgs84 (g1674) | wgs84 (g1762) | wgs84 (g2139)
  • wgs84 is taken to mean the WGS 84 ensemble, whereas wgs84 (xxxx) is taken to mean any one of the specific WGS 84 realisations (e.g. wgs84 (g2139)).
  • wgs84 is synonymous with wgs 84, and both are interpreted case-insensitively.
  • Exception handling updated to permit use of the WGS 84 ensemble and WGS 84 (xxxx).

Enhancements to import

  • Permit the use of any one of the WGS 84 datum labels in input DNA and DynaML files, and for the default reference frame (via the command line option --reference-frame).
  • Provide a warning if wgs84 (i.e. the WGS 84 ensemble) is supplied as the default reference frame.
  • Data may be supplied in either the WGS 84 ensemble or WGS 84 (xxxx) with or without an epoch.

Enhancements to reftran

  • Added hard coded substitutions for WGS 84 (xxxx) to ITRFxxxx to facilitate transformation of WGS 84 data to other reference frames. All substitutions are performed prior to undertaking a reference frame transformation.
  • Station coordinate and/or measurement data aligned to WGS 84 without an epoch will cause reftran to terminate prematurely. Data aligned to WGS 84 (xxxx) without an epoch, will cause the associated epoch to be set to the date at which the WGS 84 (xxxx) frame realisation was adopted.
  • Any attempt to transform station coordinates and measurements to WGS 84 will cause reftran to terminate prematurely.

DynAdjust User's Guide

Several changes have been made to reflect the new behaviour, including:

  • 3.3.1 Reference frame receives a general overhaul and a new section entitled "Handling data aligned to WGS 84"
  • Chapter 4 sees various improvements throughout, including
    • Revised epsg codes, and new epsg codes for WGS 84 (xxxx) and WGS 84 ensemble.
    • Updated 4.6.2 Relationship between ITRF, IGS and WGS 84 reference frames.
    • Updated 4.7.1 Progress reporting and import log.

Windows installation

DynAdjust v1.2.4 has been built using Intel® oneAPI version 2022.1.3. In order to successfully run DynAdjust v1.2.4 binaries, users will need to upgrade to the latest version of Intel® oneAPI (see https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html). The specific dll dependencies are:

  • libiomp5md.dll
  • mkl_avx2.2.dll
  • mkl_core.2.dll
  • mkl_def.2.dll
  • mkl_intel_thread.2.dll

Acknowledgements

Special thanks to Joel Haasdyk for his help in shaping the preferred behaviour for handling WGS 84 data.

v1.2.3

2 years ago

Overview

This release contains various code enhancements and bug fixes addressing issues #167, #169, #170 and #173.

General code enhancements

  • See #172 for changes to MS Visual Studio 2017 .vcxproj files (for all projects) to permit use of Intel OneAPI for MKL libraries and header files (issue #167).
  • See #174 for changes to several files to permit the handling of epoch for terrestrial measurements (issue #173). This means that terrestrial measurements can now be supplied with an epoch (or date) of observation as shown below (i.e. <Epoch>...</Epoch>) and imported/exported/simulated accordingly. With a date of observation and the introduction of a discontinuity file on import (via --discontinuity-file), terrestrial measurements connected to sites with known discontinuities will be updated with renamed station names (addressing issue #170). XML
    <!--Type E Ellipsoidal Distance -->
    <DnaMeasurement>
      <Type>E</Type>
      <Source></Source>
      <Epoch>01.01.1900</Epoch>
      <Ignore/>
      <First>TID1</First>
      <Second>TS7276</Second>
      <Value>218.8460</Value>
      <StdDev>0.0055</StdDev>
      <MeasurementID>203049279</MeasurementID>
    </DnaMeasurement>
    
    DNA MSR
    E TID1                TS7276                                        218.8460                  0.005                                 01.01.1900 203049279
    

Enhancements to adjust

  • See #172 for a fix to a bug (issue #169) relating to printing adjusted measurement precisions for GNSS measurements propagated to the local reference frame.

DynAdjust User's Guide

  • See #174 for updates to the User's Guide.

Windows installation

Due to a change in the way Intel distributes its Math kernel Library (MKL), users of the DynAdjust Windows binaries (from v1.2.3 onwards) will need to install the Intel® oneAPI Math Kernel Library from https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html. The specific dll dependencies are:

  • libiomp5md.dll
  • mkl_avx2.1.dll
  • mkl_core.1.dll
  • mkl_def.1.dll
  • mkl_intel_thread.1.dll

Acknowledgements

Special thanks to @ibaran73 and @nicgowans for their contributions to tracking issues and supplying sample datasets.

v1.2.2

2 years ago

Overview

This release contains several code enhancements and bug fixes, and addresses issues #15, #30, #78, #81, #80, #82, #85, #150 and #160. The following summarises the related (major) pull requests associated with these code changes.

General code enhancements

Numerous (too many to list) code enhancements have been applied to address issues identified by Codacy, Coveralls and Codecov. New (GitHub Actions) CI/CD scripts have been developed to invoke automated workflows on code push/pull request events:

  • build a Ubuntu docker image
  • build and test DynAdjust on Linux using cmake (debug and release variants).
  • prepare for build on Windows using msbuild. This workflow is incomplete due to the complexities associated with building Intel MKL within a GitHub Actions workflow.

Installation scripts

  • See #162 for a fix in FindXercesC.cmake, where installation failed to find a pre-existing installation of xerces-c in /opt/xerces-c/3.1.4.
  • See #163 for code enhancements to make_dynadjust_gcc.sh, to streamline build behaviour across clone and no-clone options, and install_dynadjust_prerequisites.sh, which now cleans up any temporary folders created when downloading prerequisites.

Enhancements and bug fixes for import

  • See #87 for changes to permit the sorting of measurements in *.m2s files.
  • See #98 for enhancements to the application of a GNSS baseline scalars file.
  • In relation to extending discontinuity renaming (#15):
    • See #88 for the initial changes to import to address this issue.
    • See #147 for final changes to import and adjust to complete the work.
    • Note that the changes applied in #147 change the structure of information written to the binary station file, meaning that *.bst files created by earlier versions of import cannot be reused by this or future versions of DynAdjust.
    • See #162 for a fix relating to the renaming of sites with discontinuities and every occurrence of a discontinuity site in the imported measurements (identified by @harry093 in discussion #149).
    • See #163 for further work to address a lingering renaming issue, to ensure that SNX sites are renamed using the start of the observation window defining the period up to which a discontinuity has been identified, rather than the date of the first SNX solution (which may vary depending on GNSS analyis).
  • Address a DynaML station name parsing issue caused when two different station names (e.g. station-name-a and station-name-b) are provided within the one <DnaStation> record, as shown below. Whilst not strictly an import defect, parsing the second name (permissible by the schema) resulted in replacing the first name and thereby led to malformed station-to-measurement associations.
    <DnaStation>
      <Name>station-name-a</Name>
      <StationCoord>
        <Name>station-name-b</Name>
        ...
      <StationCoord>
    </DnaStation>
    

Enhancements and bug fixes for geoid

  • See #89, #90, #94, #108, #109 and #146 for code changes, bug fixes and test data.

Enhancements to adjust

  • See #83 for enhancements to address column overrun identified in issue #78.
  • See #84 for a fix to incorrect iteration count identified in #82.
  • See #86 for changes to prevent output of unused stations to the adjusted stations file, addressing #85.
  • See #87 for changes to permit the sorting of the measurements to station table by measurement count.
  • See #92 for changes to provide a capability to export adjusted station coordinates and uncertainties as a GNSS Y cluser.
  • See #99 for an enhancement that prints memory consumption to the .adj and .dbg files on verbose execution.
  • See #107 for a fix to a defect in the way adjusted measurements are printed on each iteration in staged mode
  • See comments above in import (#147).
  • See #162 for a fix addressing issue #160 and update corresponding formula in DynAdjust User's Guide.
  • See #162 for a fix relating to archiving the estimated station uncertainties for simultaneous adjustments to *-rva.mtx. This defect led to strange values for SD(e), SD(n) and SD(up) in *simult.adj files when executing adjust in report results mode (i.e. --report-results).

Enhancements to plot and upgrade to GMT6

  • See #137 for a fix to a defect in plotting single blocks.
  • See #139 for code changes addressing #30.

DynAdjust User's Guide

  • See #80, #138, #146, #160 and #162 for the updates applied to the User's Guide.

Acknowledgements

Special thanks to @harry093, @BatchelorJ, @nicgowans, @wapayze, @jameslevershadelwp, @stratiform and @tekwan for their contributions to tracking issues, reviewing algorithms and testing the release candidates.

v1.2.1

2 years ago

Overview

This beta release contains several code enhancements and bug fixes, and addresses issues #15, #30, #78, #81, #82, #85 and #160. The following summarises the related (major) pull requests associated with these code changes.

General code enhancements

Numerous (too many to list) code enhancements have been applied to address issues identified by Codacy, Coveralls and Codecov. New (GitHub Actions) CI/CD scripts have been developed to invoke automated workflows on code push/pull request events:

  • build a Ubuntu docker image
  • build and test DynAdjust on Linux using cmake (debug and release variants)
  • prepare for build on Windows using msbuild. This workflow is incomplete due to the complexities associated with building Intel MKL.

Installation scripts

  • See #162 for a fix in FindXercesC.cmake, where installation failed to find a pre-existing installation of xerces-c in /opt/xerces-c/3.1.4

Enhancements and bug fixes for import

  • See #87 for changes to permit the sorting of measurements in the m2s file
  • See #98 for enhancements to the application of a GNSS baseline scalars file
  • In relation to extending discontinuity renaming (#15):
    • See #88 for the initial changes to import to address this issue
    • See #147 for final changes to import and adjust to complete the work.
    • Note that the changes applied in #147 change the structure of information written to the binary station file, meaning that *.bst files created by earlier versions of import cannot be reused by this or future versions of DynAdjust.
    • See #162 for a fix relating to the renaming of sites with discontinuities and every occurrence of a discontinuity site in the imported measurements (identified by @harry093 in discussion #149).

Enhancements and bug fixes for geoid

  • See #89, #90, #94, #108, #109 and #146 for code changes, bug fixes and test data

Enhancements to adjust

  • See #83 for enhancements to address column overrun identified in issue #78
  • See #84 for a fix to incorrect iteration count identified in #82
  • See #86 for changes to prevent output of unused stations to the adjusted stations file, addressing #85
  • See #87 for changes to permit the sorting of the measurements to station table by measurement count
  • See #92 for changes to provide a capability to export adjusted station coordinates and uncertainties as a GNSS Y cluser
  • See #99 for an enhancement that prints memory consumption to the .adj and .dbg files on verbose execution
  • See #107 for a fix to a defect in the way adjusted measurements are printed on each iteration in staged mode
  • See comments above in import (#147)
  • See #162 for a fix addressing issue #160 and update corresponding formula in DynAdjust User's Guide
  • See #162 for a fix relating to archiving the estimated station uncertainties for simultaneous adjustments to *-rva.mtx. This defect led to strange values for SD(e), SD(n) and SD(up) in *simult.adj files when executing adjust in report results mode (i.e. --report-results)

Enhancements to plot and upgrade to GMT6

  • See #137 for a fix to a defect in plotting single blocks
  • See #139 for code changes addressing #30

DynAdjust User's Guide

  • See #138, #146, #160 and #162 for the updates applied to the User's Guide

v1.2-beta.0

2 years ago

Overview

This beta release contains several code enhancements and bug fixes, and addresses issues #15, #30, #78, #81, #82, and #85. The following summarises the related (major) pull requests associated with these code changes.

Please provide feedback or comments on issues experienced with this beta release in the discussion (rather than creating a new issue).

General code enhancements

  • Numerous (too many to list) code enhancements have been applied to address issues identified by Codacy and code coverage identified by Coveralls and Codecov.

Enhancements and bug fixes for import

  • See #87 for changes to permit the sorting of measurements in the m2s file
  • See #98 for enhancements to the application of a GNSS baseline scalars file
  • In relation to extending discontinuity renaming (#15):
    • See #88 for the initial changes to import to address this issue
    • See #147 for final changes to import and adjust to complete the work.
    • Note that the changes applied in #147 change the structure of information written to the binary station file, meaning that *.bst files created by earlier versions of import cannot be reused by this or future versions of DynAdjust.

Enhancements and bug fixes for geoid

  • See #89, #90, #94, #108, #109 and #146 for code changes, bug fixes and test data

Enhancements to adjust

  • See #83 for enhancements to address column overrun identified in issue #78
  • See #84 for a fix to incorrect iteration count identified in #82
  • See #86 for changes to prevent output of unused stations to the adjusted stations file, addressing #85
  • See #87 for changes to permit the sorting of the measurements to station table by measurement count
  • See #92 for changes to provide a capability to export adjusted station coordinates and uncertainties as a GNSS Y cluser
  • See #99 for an enhancement that prints memory consumption to the .adj and .dbg files on verbose execution
  • See #107 for a fix to a defect in the way adjusted measurements are printed on each iteration in staged mode
  • See comments above in import (#147)

Enhancements to plot and upgrade to GMT6

  • See #137 for a fix to a defect in plotting single blocks
  • See #139 for code changes addressing #30

DynAdjust User's Guide

  • See #138 and #146 for the updates applied to the User's Guide

v1.1.0

3 years ago

This release contains code enhancements relating to a new feature that resolves #53. Specifically, this includes:

  • New reftran option to select whether to use the Australian plate motion model (default) or to determine which plate motion model parameters to apply according to station location, via --plate-model-option arg: 0: Assume all stations are on the Australian plate (default) 1: Interpolate plate motion model parameters from a defined set of global tectonic plates. For this option, a global tectonic plate boundary file and corresponding Euler plate motion parameters file must be provided.
  • New reftran options to permit user entry of file locations for:
    • Global tectonic plate boundaries (via --plate-boundary-file arg), and
    • Euler pole parameters corresponding to the global tectonic plate boundaries (via --plate-pole-file arg).
  • Sample plate boundaries and motion model files, added to sampleData folder:
    1. PB2002 defined by Peter Bird, 2003. This is a plate motion model relative to the Pacific (PA) plate.
      • PB2002_plates.dig: List of plate boundaries
      • PB2002_poles.dat: List of Euler pole parameters corresponding to the plates in PB2002_plates.dig.
    2. NNR-MORVEL56 defined by Argus et al., 2011. This is a plate motion model relative to the absolute, no-net-rotation (NNR) reference frame.
      • MORVEL56_plates.dig: List of plate boundaries
      • NNR-MORVEL56_poles.dat: List of Euler pole parameters corresponding to the plates in MORVEL56_plates.dig.
  • Test data sets
    • TEST_ITRF05.SNX: Test SINEX file aligned to ITRF2005 @ 25 October 2017.
    • apr.ITRF2008.04.06.2020.stn/msr: Test DNA files aligned to ITRF2008 @ 04 June 2020
    • apr.ITRF2008.01.01.2021.stn.expected: Test DNA file aligned to ITRF2008 @ 01 January 2021
  • Creation of a reftran log file (<network-name>.rft). Depending on verbose level (via --verbose-level arg), output can include information about calculated transformation parameters from Euler pole parameters; sequence of steps involved in reference frame transformations; and reduced Helmert parameters and time duration.
  • Updated DynAdjust User's Guide with new documentation on plate motion model functions, usage and how to import data. See sections 4.3.1 and 4.6.3.
  • Updated the version number to 1.1

v1.0.3

3 years ago

This release contains several code enhancements, fixes and updates, including:

adjust

  • Previously, database IDs were not printed to the output adjustment file (via --output-database-ids) when adjusted measurements were sorted on criteria (e.g. correction, n-statistic, etc.) other than the default sort order (original input file order). This release enables database IDs to be printed irrespective of adjusted measurement sort order.
  • When sorting adjusted measurements according to n-statistic (via --sort-adj-msr-field 7), GNSS baselines are now sorted using the maximum of the 3 n-statistic components, whereas previously the sorting of GNSS baselines was based upon the magnitude of 3 (x, y, z) n-statistic components.
  • Version 1.0.2 provided a capability to print ignored measurements for simultaneous adjustments only (see #39). This version provides a capability to print ignored measurements for phased adjustments. In addition, this change also prevents ignored measurements connected to unused stations from being printed. Unused stations are those which are not connected to any measurements or are only connected to ignored measurements, and are therefore not estimated by least squares adjustment.

General enhancements

  • Minor revisions to the User's Guide to reflect the changes to printing ignored measurements for phased adjustments
  • Code enhancements addressing various compiler warnings
  • Remove old prerequisite installation and build scripts
  • Add debug launch handlers for gdb in vs code