00001 /** 00002 \file troposphere.h 00003 \brief GNSS core 'c' function library: GPS tropospheric calculations 00004 \author Glenn D. MacGougan (GDM) 00005 \date 2007-11-29 00006 \since 2005-08-22 00007 00008 \b REFERENCES \n 00009 - RTCA, 2001. MINIMUM OPERATIONAL PERFORMANCE STANDARDS FOR GLOBAL POSITIONING SYSTEM/WIDE AREA 00010 AUGMENTATION SYSTEM AIRBORNE EQUIPMENT. RTCA/DO-229C. Prepared by SC-159. November 28, 2001. 00011 Supersedes DO-229B. Available at http://www.rtca.org/doclist.asp . pp. 338-340 of 586 in PDF. \n 00012 - Guo, J. and R. B. Langely 2003. A New Tropospheric Propagation Delay Mapping Function for 00013 Elevation Angles Down to 2 degrees. ION GPS 2003, 9-12 Sept. 2003, Portland OR. \n 00014 - Parkinson, B. and J. J. Spilker (1996). Global Positioning System: Theory And 00015 Applications Volume 1. American Institute of Aeronautics and Astronautics, Inc., 00016 Washinton D.C. \n 00017 00018 \b "LICENSE INFORMATION" \n 00019 Copyright (c) 2007, refer to 'author' doxygen tags \n 00020 All rights reserved. \n 00021 00022 Redistribution and use in source and binary forms, with or without 00023 modification, are permitted provided the following conditions are met: \n 00024 00025 - Redistributions of source code must retain the above copyright 00026 notice, this list of conditions and the following disclaimer. \n 00027 - Redistributions in binary form must reproduce the above copyright 00028 notice, this list of conditions and the following disclaimer in the 00029 documentation and/or other materials provided with the distribution. \n 00030 - The name(s) of the contributor(s) may not be used to endorse or promote 00031 products derived from this software without specific prior written 00032 permission. \n 00033 00034 THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS 00035 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00036 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00037 DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 00038 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00039 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00040 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00041 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00042 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00043 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00044 SUCH DAMAGE. 00045 */ 00046 00047 #ifndef _C_TROPOSPHERE_H 00048 #define _C_TROPOSPHERE_H 00049 00050 #ifdef __cplusplus 00051 extern "C" { 00052 #endif 00053 00054 00055 /// Computes the dry and wet mapping function values based on the UNBabc 00056 /// model in the reference below. 00057 /// 00058 /// \author Glenn D. MacGougan (GDM) 00059 /// \date 2005-08-22 00060 /// \since 2005-08-22 00061 /// 00062 /// \b REFERENCES \n 00063 /// [1] Guo, J. and R. B. Langely 2003. A New Tropospheric Propagation Delay Mapping Function for 00064 /// Elevation Angles Down to 2 degrees. ION GPS 2003, 9-12 Sept. 2003, Portland OR 00065 /// 00066 void TROPOSPHERE_GetDayAndWetMappingValues_UsingThe_UNBabc_Model( 00067 const double elevation, //!< satellite elevation angle [rad] 00068 const double latitude, //!< user latitude [rad] 00069 const double height, //!< user height (orthometric, ie above sea level) [m] 00070 double* drymap, //!< dry delay scale factor [] 00071 double* wetmap //!< wet delay scale factor [] 00072 ); 00073 00074 00075 /// Computes the dry and wet zenith delays based on the WAAS model in the reference below. 00076 /// 00077 /// \author Glenn D. MacGougan (GDM) 00078 /// \date 2005-08-22 00079 /// \since 2005-08-22 00080 /// 00081 /// \b REFERENCES \n 00082 /// [1] RTCA, 2001. MINIMUM OPERATIONAL PERFORMANCE STANDARDS FOR GLOBAL POSITIONING SYSTEM/WIDE AREA 00083 /// AUGMENTATION SYSTEM AIRBORNE EQUIPMENT. RTCA/DO-229C. Prepared by SC-159. November 28, 2001. 00084 /// Supersedes DO-229B. Available at http://www.rtca.org/doclist.asp . pp. 338-340 of 586 in PDF 00085 /// 00086 void TROPOSPHERE_DetermineZenithDelayValues_WAAS_Model( 00087 const double latitude, //!< user latitude [rad] 00088 const double height, //!< user height [m] 00089 const unsigned short dayofyear, //!< day of year (1-366) [days] 00090 double* zenith_dry_delay, //!< dry zenith delay [m] 00091 double* zenith_wet_delay //!< wet zenith delay [m] 00092 ); 00093 00094 00095 /// Computes the dry and wet delays given the delay zenith values using the UNBabc 00096 /// Mapping function, described in [1], which requires elevation angle, latitude and height. 00097 /// 00098 /// \author Glenn D. MacGougan (GDM) 00099 /// \date 2005-08-22 00100 /// \since 2005-08-22 00101 /// 00102 /// \b REFERENCES \n 00103 /// [1] Guo, J. and R. B. Langely 2003. A New Tropospheric Propagation Delay Mapping Function for 00104 /// Elevation Angles Down to 2 degrees. ION GPS 2003, 9-12 Sept. 2003, Portland OR 00105 /// 00106 void TROPOSPHERE_GetDryAndWetDelay_UsingThe_UNBabc_MappingFunction( 00107 const double zenith_dry_delay, //!< dry zenith delay [m] 00108 const double zenith_wet_delay, //!< wet zenith delay [m] 00109 const double elevation, //!< satellite elevation angle (must be >= 2 deg) [rad] 00110 const double latitude, //!< user latitude [rad] 00111 const double height, //!< user height (orthometric, ie above sea level) [m] 00112 double* drydelay, //!< dry delay mapped to this elevation angle [m] 00113 double* wetdelay //!< wet delay mapped to this elevation angle [m] 00114 ); 00115 00116 #ifdef __cplusplus 00117 } 00118 #endif 00119 00120 #endif // _C_TROPOSPHERE_H_