tropo.c
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2012 Swift Navigation Inc.
00003  * Contact: Fergus Noble <fergus@swift-nav.com>
00004  *
00005  * This source is subject to the license found in the file 'LICENSE' which must
00006  * be be distributed together with this source. All other rights reserved.
00007  *
00008  * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
00009  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
00010  * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
00011  */
00012 
00013 #include <math.h>
00014 
00015 /* Simple Black model, inspired by GPSTk SimpleTropModel class. */
00016 
00017 double dry_zenith_delay(void)
00018 {
00019   return 2.235486646978727;
00020 }
00021 
00022 double dry_mapping_function(double elevation)
00023 {
00024   double d = cos(elevation);
00025   d /= 1.001012704615527;
00026   return (1.0 / sqrt(1.0 - d*d));
00027 }
00028 
00029 double wet_zenith_delay(void)
00030 {
00031   return 0.122382715318184;
00032 }
00033 
00034 double wet_mapping_function(double elevation)
00035 {
00036   double d = cos(elevation);
00037   d /= 1.000282213715744;
00038   return (1.0 / sqrt(1.0 - d*d));
00039 }
00040 
00041 double tropo_correction(double elevation)
00042 {
00043   if (elevation < 0)
00044     return 0;
00045 
00046   return (dry_zenith_delay() * dry_mapping_function(elevation)
00047         + wet_zenith_delay() * wet_mapping_function(elevation));
00048 }
00049 


enu
Author(s): Mike Purvis
autogenerated on Sun Oct 5 2014 23:44:53