Tweaks and Updates to US National Geodetic Survey NADCON5
Tool. Used to calculate transformation between various US Datums, including: US Standard Datum (USSD
) used prior to NAD27
, North American Datum of 1927 (NAD27
), and various realizations of the North American Datum of 1983 NAD83
Build the dataset with one command
make
Link To Doxygen Documentation Website Link To the Python Library Documentation
The intent of this project is to adapt the existing tool to be accessible to more users, through the implementation of additional interfaces and workflows on top of the existing NADCON5 Code Base and Data
NOTE: This project is a private project that is not in any way affiliated with the US Government, NOAA, or the National Geodetic Survey
Derivative Work: Additions and Modifications to NADCON5 code, documentation source files, and the source code of nc5ng-core
python package are released explicitly into Public Domain where applicable, with no rights reserved in perpetuity. However, certain published outputs associated with this project, e.g. builds and compiled documentation may be release under other licenses, Please see Licensing Section below.
This project is new, feature requests and development will be driven through issues filed in github.
At the time of this README was updated, the following was true
- GNU Make Pipeline: The existing processing pipeline has been offloaded to GNU Make to eliminate in-source builds
- Documentation: Documentation generation via Doxygen is functioning
- Doxygen was bootstrapped on top of the NADCON5 code to create compiled documentation
- Fortran source files were modified, superficially, to export documentation in a doxygen format
- hosted online at url: https://docs.nc5ng.org/latest
- Python package: Initial Framework for a python glue library
- Functioning f2py submodules and functions
- Data Inspection library and bundled source data
- install with
pip install nc5ng-core
(Requirements:gfortran
) - Rudimentary GMT/Python integration
- Plotting NADCON5 input and output data directly through python wrapper
On the Immediate Roadmap
- Remove build dependence on proprietary Oracle Fortran
f95
- Requires mapping build options to
gfortran
and correcting where necessary - Biggest issue is compiler specific handling of I/O and certain convenience extensions, not the math
n5ng-core
already uses gfortran forf2py
- Take over the "batch" programs (e.g. makework() , makeplotfiles01 , etc.) so that individual conversions can be done as needed, through Make or
nc5ng-core
The Following Information is Reproduced from the NADCON5 Webpage from NGS
NADCON 5.0 performs three-dimensional (latitude, longitude, ellipsoid height) coordinate transformations for a wide range of datums and regions in the National Spatial Reference System. NADCON 5.0 is the replacement for all previous versions of the following tools:
- NADCON, which transformed coordinates between the North American Datum of 1927 (NAD 27) and early realizations of the North American Datum of 1983 (NAD 83), and
- GEOCON, which transformed coordinates between various latter realizations of NAD 83.
NADCON 5.0 is functionally implemented in NGS’s Coordinate Conversion and Transformation Tool. Unlike earlier versions of NADCON and GEOCON, NADCON 5.0 is not a stand-alone tool.
Visit the NADCON 5.0 Digital Archive to access raw transformation data that make up NADCON 5.0 (e.g., grids, images, software).
NOAA Technical Report NOS NGS 63 (PDF, 17 MB) provides detailed information on NADCON 5.0, and the digital archive includes plots and data.
Build simply with
make
Which will build the initial tools and generate conversion output and images for the configured conversion
-
Generic Mapping Tools
**GMT**
- Tested with 5.2.1
- Install on Debian Systems with
sudo apt-get install gmt gmt-dcw gmt-gshhg
-
Oracle Fortran (
f95
) available for free (as in money, but not freedom) in Oracle Developer Studio- Set
f95
path with environment variableFC
(Per GNU Conventions)
- Set
-
GNU Make
The configurable options for the build steps are
OLD_DATUM
- source datum (default:ussd
)NEW_DATUM
- target datum (default:nad27
)REGION
- geographical region (default:conus
)GRIDSPACING
- Grid Spacing in arc-seconds (default:900
)MAP_LEVEL
- Map Resolution Flag (default:0
)
These can be set as environment variables or directly on the command line
export OLD_DATUM=nad27
export NEW_DATUM=nad83
make
# Equivalent
OLD_DATUM=ussd NEW_DATUM=nad27 make
# Third Option
make OLD_DATUM=ussd NEW_DATUM=nad27
The Upstream build sequence can be simulated by using the targets doit
doit2
doit3
doit4
, as in
make doit
make doit2
make doit3
make doit4
This can be useful to compare results from the vanilla NADCON
Additionally, for the intermediate scripts gmtbat0X
convenience targets are provided to manually step through the asset compilation
make gmtbat01
make gmtbat02
make gmtbat03
make gmtbat04
make gmtbat05
make gmtbat06
make gmtbat07
Cleaning up is easy
Delete only the current configured build
make clean
Delete all compiled output (deletes build directory)
make mrclean
A work of the US Government, the original NADCON5 Source Code and Data is considered in the public domain within the United States of America. Elsewhere, the US Government may reserve copyright and license this material. The licensing status of the NADCON5.0
source material outside of the US is not clear to the authors of NADCON5-ng
. The authors and contributors cannot offer advice in this regard.
The licenses governing the derivative works provided by nc5ng.org
and its contributors are enumerated below.
New contributions, including:
- Any modifications to National Geodetic Survey
NADCON5.0
source code or data bync5ng
contributors - Makefile and build system
- Documentation files and new documentation embedded in source files
- Source code for python packages
nc5ng.core
andnc5ng.nc5data
Are released explicitly into the public domain in the United States and internationally as much as is allowed by law. The license file LICENSE states the terms of the Creative-Commons CC0 public domain disclaimer.
The fallback MIT License should be used in all cases where public domain release is not recognized or not applicable. A copy is provided with the distribution in the file LICENSE-MIT
Compiled assets are published works generated using NADCON5-ng
or in association with the project and usually published seperately from the public domain source code. For example, to promote the project or support the user base.
Compiled works are occasionally released in association with this project, This includes:
- Pre-compiled HTML and PDF documentation and live webpages
- Printed documentation provided by
nc5ng.org
- Pre-compiled and pre-processed output data provided by
nc5ng.org
- Websites, bug reports, project planning pages, and related project pages.
Compiled assets published by nc5ng.org
are provided with rights reserved and will default to a Creative Commons Attribution 4.0 International License, unless a different license is specified in the work.