ufrgs-gnss-lab / atm-interf-dev Goto Github PK
View Code? Open in Web Editor NEWInterferometric atmospheric delay in closed form.
License: BSD 2-Clause "Simplified" License
Interferometric atmospheric delay in closed form.
License: BSD 2-Clause "Simplified" License
# atm-interf Interferometric atmospheric delay and altimetry correction in closed form. * get_atm_interf_gen: generic * get_atm_interf_pol: using polynomial atmospheric model * get_atm_interf_met: using in-situ meteorological data * get_atm_interf_gpt: using GPT atmospheric model * get_atm_interf_rtr: using raytracer atmospheric output
early versions of the IEEE preprint included a derivation of the elevation angle correction
Originally posted by @fgnievinski in #1 (comment)
could you compare this nominal case to ray-tracing (for a horizontal surface and atmosphere), please?
you can reuse the scripts previously used here:
https://github.com/ufrgs-gnss-lab/atm-interf-rtr-dev/issues/3
here is the updated m library:
https://drive.google.com/file/d/1Gf6lLfnzvEMppD0XAAW_e_-UeeqDK1OW/view?usp=sharing
https://drive.google.com/file/d/1E6UQ14sHqTEVRH0KZBTNsS7plK6x5DYZ/view?usp=sharing
PS: refractivity for the nominal case should be taken from the RTR results.
early versions of the IEEE preprint included a derivation of the propagation of uncertainty, from input
after #2
m=500; e = linspace(10, 90, m)';
[dt0, ~, ~, Ht0] = get_atm_interf_met (e, H);
[dt1, ~, ~, Ht1] = get_atm_interf_met (e, H, [], [], [], [], struct('der_aided',true));
%fpk e [dt1, dt0, dt1-dt0]
fpk e [Ht1, Ht0, Ht1-Ht0]
fpk e [Ht1-Ht0]
the impact is sub-mm for H=10m and 500 points between 0<e<90deg; it should be worse for larger heights and fewer points.
the discrepancy here is mainly due to the differences in elevation bending and its rate of change:
Bennet:
P = PaToMbar(P);
T = KelvinToCelsius(T);
num = (P - 80)./930;
den = 1 + 8e-5.*(Rm + 39).*(T - 10);
k = num./den;
R = k.*Rm; % Bennet (1982), p.258
dkr = (num./den.^2).*(-1).*(0+8e-5.*(1+0).*(T-10)); % dk/de
dRr = dkr.*Rm + k.*Rmr; % dR/de
de = R./60;
der = dRr./60;
nominal:
tmp = sqrt((1+N).^2 - cose.^2);
dt = 2*H.*(tmp - sine);
Ht = -der.*H;
general:
dt = (1+N).*Dip - Di;
Ht = H.*(1-(1+N).*cosep_cose.*(1+der));
using the same nominal elevation bending de
:
ep = acosd(cose./n); % e': "refracted or apparent elevation", "e-prime"
de = ep - e; % de=e'-e: "elevation bending"
possibly also the same bending rate der
:
tmp = sqrt(n.^2 - cose.^2);
epr = sine./tmp; % de'/de: "e-prime-rate"
der = epr - 1; % dde/de=de'/de-de/de: "delta-e-rate"
either nominal analytical der
as above or nominal numerical der
,
provide components only optionally:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.