NEPHELESENSING SYSTEMS
Open twin

Nephele Weather-Sensing Mathematical Model Sheet

Version: 2026-07-14 Scope: LEO/GNSS-to-ground geometry, atmospheric propagation, complex RF reception, multilayer weather attribution, and 3-D/4-D reconstruction.

This is the governing-math reference for the Nephele weather-sensing goal. It connects the current interactive digital twin to the phase-accurate scientific model required for calibrated field measurements.

0. Scientific interpretation and status labels

Nephele presently combines public catalog orbits, public numerical-weather-model fields, explicit RF assumptions, and synthetic tomographic observations. It is a physically informed simulator, not yet a live atmospheric retrieval instrument.

  • [Implemented] Equation is evaluated in the current application.
  • [Approximation] Useful engineering or visualization model, but not a calibrated observable.
  • [Scientific target] Required for phase-accurate field measurements or defensible retrievals.
  • [Measured input required] Cannot be inferred from public orbit/weather catalogs alone.

The end-to-end chain is

orbit + clocks + attitude + 4-D atmosphereray geometryH(f,t)I/Q[n]{A,ϕ,fD,τ}x^(x,y,z,t)\boxed{ \text{orbit + clocks + attitude + 4-D atmosphere} \rightarrow \text{ray geometry} \rightarrow H(f,t) \rightarrow I/Q[n] \rightarrow \{A,\phi,f_D,\tau\} \rightarrow \hat{\mathbf x}(x,y,z,t) }

where the recovered atmospheric state may include water vapor, liquid water, ice, rain, and wind, together with posterior uncertainty.

Quick equation index

QuantityCore equation
Pair geometryR=rsrgR=\|\mathbf r_s-\mathbf r_g\|, R˙=ρ^T(vsvg)\dot R=\hat{\boldsymbol\rho}^{T}(\mathbf v_s-\mathbf v_g)
Free-space lossLFS=20log10(4πR/λ)L_{FS}=20\log_{10}(4\pi R/\lambda)
Received powerPr=PtGtGr(λ/4πR)210Aatm/10P_r=P_tG_tG_r(\lambda/4\pi R)^2\,10^{-A_{atm}/10}
Propagation phaseϕ=2πf(R+ΔLϕ)/c\phi=-2\pi f(R+\Delta L_\phi)/c
Geometric DopplerfD,geom=(f/c)R˙f_{D,geom}=-(f/c)\dot R
Medium DopplerfD,medium=(f/c)dΔLϕ,medium/dtf_{D,medium}=-(f/c)d\Delta L_{\phi,medium}/dt
Neutral refractivityN=77.6P/T5.6e/T+3.75×105e/T2N=77.6P/T-5.6e/T+3.75\times10^5e/T^2
Cloud attenuationAcloud=Kl(f,T)MdsA_{cloud}=\int K_l(f,T)M\,ds
Cloud phaseΔϕcloud=(2π/λ)(neffnclear)ds\Delta\phi_{cloud}=-(2\pi/\lambda)\int(n'_{eff}-n'_{clear})ds
Rain attenuationAR=kRrαdsA_R=\int kR_r^\alpha ds
IonosphereΔLg,ϕ=±40.3TEC/f2\Delta L_{g,\phi}=\pm40.3\,TEC/f^2
One-link samplesyi=Γix(r,ti)ds+ϵiy_i=\int_{\Gamma_i}x(\mathbf r,t_i)ds+\epsilon_i
3-D tomographyy=Ax+ϵ\mathbf y=\mathbf A\mathbf x+\boldsymbol\epsilon
MAP reconstructionx^=argminyh(x)R12+priors\hat{\mathbf x}=\arg\min\|\mathbf y-\mathbf h(\mathbf x)\|_{\mathbf R^{-1}}^2+\text{priors}
Posterior covarianceCpost(JTR1J+B1)1\mathbf C_{post}\approx(\mathbf J^T\mathbf R^{-1}\mathbf J+\mathbf B^{-1})^{-1}

1. Symbols, units, and sign convention

Nephele should use SI units internally except where an ITU recommendation explicitly uses GHz, km, hPa, mm/h, or g/m3^3.

SymbolMeaningUnit
ccSpeed of light in vacuum, 299792458299\,792\,458m/s
ff, fcf_cRF frequency, carrier frequencyHz
fGHzf_{\mathrm{GHz}}Frequency divided by 10910^9GHz
λ=c/f\lambda=c/fWavelengthm
k0=2π/λk_0=2\pi/\lambdaVacuum wavenumberrad/m
ttx,trxt_{tx},t_{rx}Transmit and receive times
rs,vs\mathbf r_s,\mathbf v_sSatellite position and velocitym, m/s
rg,vg\mathbf r_g,\mathbf v_gGround antenna position and velocitym, m/s
RRGeometric slant rangem
R˙\dot ROne-way range rate; positive when separatingm/s
E,AzE,AzGround look elevation and azimuthrad or deg
P,T,eP,T,eTotal pressure, temperature, water-vapor partial pressurehPa, K, hPa
NNNeutral radio refractivity, (n1)106(n-1)10^6N-units
MM or ρl\rho_lCloud liquid-water content (LWC)g/m3^3
LWPLWPVertically integrated liquid waterkg/m2^2
RrR_rRain ratemm/h
NeN_e, TECElectron density and slant total electron contente^-/m3^3, e^-/m2^2
AAPower attenuationdB
ϕ\phiUnwrapped carrier phaserad
fDf_DFrequency offset/DopplerHz
A\mathbf ARay-to-voxel path matrixusually km
x\mathbf xAtmospheric voxel statestate-dependent
y\mathbf yLink observationsstate-dependent

Phasor convention

Use

xRF(t)={xbb(t)ej2πfct},n~=njκ,  κ0,x_{RF}(t)=\Re\{x_{bb}(t)e^{j2\pi f_ct}\}, \qquad \tilde n=n'-j\kappa,\;\kappa\ge0,

with propagation factor ejk0n~Le^{-jk_0\tilde n L}. Then positive excess path produces negative phase and positive κ\kappa produces attenuation:

ejk0(njκ)L=ejk0nLek0κL.e^{-jk_0(n'-j\kappa)L} =e^{-jk_0n'L}e^{-k_0\kappa L}.

For a loss AA stated in power dB,

PoutPin=10A/10,EoutEin=10A/20.\frac{P_{out}}{P_{in}}=10^{-A/10}, \qquad \left|\frac{E_{out}}{E_{in}}\right|=10^{-A/20}.

Do not mix field-amplitude and power ratios.


2. Orbit, Earth, station, and line-of-sight geometry

2.1 Catalog-orbit propagation

[Implemented] For a catalog OMM/TLE record,

(rTEME(t),vTEME(t))=SGP4(mean elements,t).(\mathbf r_{TEME}(t),\mathbf v_{TEME}(t)) =\operatorname{SGP4}(\text{mean elements},t).

Nephele uses satellite.js, converts the propagated state to Earth-fixed coordinates, and interpolates between orbit anchor samples spaced by 5 s. The globe can animate every display frame, but this does not mean that a satellite is newly observed every frame. Catalog elements are a propagated estimate and are not phase-grade ephemerides.

[Scientific target] Use precise orbit, clock, attitude, antenna phase-center, and Earth-orientation products. Solve light time rather than using same-epoch Euclidean positions:

ttx=trxτ,τ=1crrx(trx)rtx(ttx)+Δτmedia+Δτrel.t_{tx}=t_{rx}-\tau, \qquad \tau=\frac{1}{c} \left\|\mathbf r_{rx}(t_{rx})-\mathbf r_{tx}(t_{tx})\right\| +\Delta\tau_{media}+\Delta\tau_{rel}.

Iterate until ttxt_{tx} and τ\tau converge. Earth rotation/Sagnac and relativistic terms must use one consistent reference-frame convention.

2.2 WGS-84 geodetic coordinates to ECEF

For geodetic latitude φ\varphi, longitude \ell, and ellipsoidal height hh,

a=6378137 m,fE=1298.257223563,eE2=fE(2fE),a=6\,378\,137\ \mathrm{m},\qquad f_E=\frac{1}{298.257223563},\qquad e_E^2=f_E(2-f_E), Nφ=a1eE2sin2φ,N_\varphi=\frac{a}{\sqrt{1-e_E^2\sin^2\varphi}}, rECEF=[(Nφ+h)cosφcos(Nφ+h)cosφsin(Nφ(1eE2)+h)sinφ].\mathbf r_{ECEF}= \begin{bmatrix} (N_\varphi+h)\cos\varphi\cos\ell\\ (N_\varphi+h)\cos\varphi\sin\ell\\ (N_\varphi(1-e_E^2)+h)\sin\varphi \end{bmatrix}.

A nominally fixed ground station has vg=0\mathbf v_g=0 in ECEF, but in an inertial frame

vgECI=ωE×rgECI\mathbf v_g^{ECI}=\boldsymbol\omega_E\times\mathbf r_g^{ECI}

before loading, tides, and tectonic velocity are added.

2.3 Range, range rate, elevation, and azimuth

In a common frame,

ρ=rsrg,R=ρ,ρ^=ρR,\boldsymbol\rho=\mathbf r_s-\mathbf r_g, \qquad R=\|\boldsymbol\rho\|, \qquad \hat{\boldsymbol\rho}=\frac{\boldsymbol\rho}{R}, R˙=ρ^T(vsvg).\dot R=\hat{\boldsymbol\rho}^{T}(\mathbf v_s-\mathbf v_g).

[Implemented] The current twin estimates R˙\dot R by a centered finite difference of Earth-fixed range.

The ECEF-to-local-ENU rotation at the station is

[EaNaUa]=[sincos0sinφcossinφsincosφcosφcoscosφsinsinφ]ρ.\begin{bmatrix}E_a\\N_a\\U_a\end{bmatrix} = \begin{bmatrix} -\sin\ell&\cos\ell&0\\ -\sin\varphi\cos\ell&-\sin\varphi\sin\ell&\cos\varphi\\ \cos\varphi\cos\ell&\cos\varphi\sin\ell&\sin\varphi \end{bmatrix} \boldsymbol\rho. Az=atan2(Ea,Na),E=atan2 ⁣(Ua,Ea2+Na2).Az=\operatorname{atan2}(E_a,N_a), \qquad E=\operatorname{atan2}\!\left(U_a,\sqrt{E_a^2+N_a^2}\right).

The geometric line of sight is above the ideal horizon when E>0E>0. A practical station also needs a terrain/building horizon mask and a link-budget threshold.

2.4 Satellite and ground antenna orientation

Let b^t\hat{\mathbf b}_t and b^r\hat{\mathbf b}_r be transmitter and receiver boresights. For the propagation directions u^t\hat{\mathbf u}_t and u^r\hat{\mathbf u}_r,

θt=cos1(b^tTu^t),θr=cos1(b^rTu^r).\theta_t=\cos^{-1}(\hat{\mathbf b}_t^T\hat{\mathbf u}_t), \qquad \theta_r=\cos^{-1}(\hat{\mathbf b}_r^T\hat{\mathbf u}_r).

[Approximation, implemented] Nephele uses the smooth reference pattern

GdBi(θ)=G0,dBimin[30, 12(θθBW)2].G_{dBi}(\theta)=G_{0,dBi} -\min\left[30,\ 12\left(\frac{\theta}{\theta_{BW}}\right)^2\right].

This is 3 dB down at half the stated full beamwidth and has a 30 dB floor. Replace it with measured, frequency-dependent, polarized patterns when available.

For polarization vectors et\mathbf e_t and er\mathbf e_r,

ηpol=erHet2,Lpol,dB=10log10ηpol.\eta_{pol}=|\mathbf e_r^H\mathbf e_t|^2, \qquad L_{pol,dB}=-10\log_{10}\eta_{pol}.

The simple linear-polarization case is ηpol=cos2ψ\eta_{pol}=\cos^2\psi.

2.5 Ray/shell and ray/voxel intersections

For a straight ray

r(s)=r0+su^,0sR,\mathbf r(s)=\mathbf r_0+s\hat{\mathbf u},\qquad 0\le s\le R,

the crossing of a spherical height shell rh=RE+hr_h=R_E+h satisfies

s2+2(r0Tu^)s+r02rh2=0.s^2+2(\mathbf r_0^T\hat{\mathbf u})s +\|\mathbf r_0\|^2-r_h^2=0.

The physical root inside [0,R][0,R] gives the shell pierce point. Intersections with the lower and upper shells give each layer's slant length LkL_k.

For a locally horizontal slab and elevation EE,

LkΔhksinE.L_k\simeq\frac{\Delta h_k}{\sin E}.

[Implemented] The selected-link gas, rain, and cloud models use the exact straight-ray distance between spherical height shells. The 3-D array operator clips each straight local-ENU ray against every crossed voxel and stores exact intersection lengths in sparse CSR form. The LOCAL_ENU approximation is separate from the intersection algorithm: production inversion quantifies corner curvature and rejects domains above its declared 500 m tangent-plane tolerance; the coarse browser OSSE allows at most 1,100 m and displays the actual sag.

2.6 Refracted ray

[Scientific target] In a spatially varying refractive index, the geometric-optics ray obeys

dds(n(r)drds)=n(r).\frac{d}{ds}\left(n(\mathbf r)\frac{d\mathbf r}{ds}\right)=\nabla n(\mathbf r).

At low elevation, use a bent-ray shooting solution through the 3-D refractivity field. Straight rays become increasingly biased near strong boundary-layer gradients, ducting, terrain, and multipath.


3. Unified complex RF channel

3.1 Direct one-way channel

For one direct path, the complex baseband voltage transfer is

h0(f,t)=λ4πRGt(θt,f)Gr(θr,f)ηpol  10Aatm(f,t)/20exp[jk0(R+ΔLϕ)]ejϕhw.h_0(f,t)= \frac{\lambda}{4\pi R} \sqrt{G_t(\theta_t,f)G_r(\theta_r,f)\eta_{pol}} \;10^{-A_{atm}(f,t)/20} \exp\left[-jk_0\left(R+\Delta L_\phi\right)\right] e^{j\phi_{hw}}.

Therefore

Pr=Pth02,P_r=P_t|h_0|^2,

or in dB,

Pr,dBW=Pt,dBW+Gt,dBi+Gr,dBiLFSAgasAcloudArainLpolLpointLmisc.P_{r,dBW}=P_{t,dBW}+G_{t,dBi}+G_{r,dBi} -L_{FS}-A_{gas}-A_{cloud}-A_{rain} -L_{pol}-L_{point}-L_{misc}.

The free-space path loss is

LFS=20log10(4πRλ),L_{FS}=20\log_{10}\left(\frac{4\pi R}{\lambda}\right),

equivalently, for ff in GHz and RR in km,

LFS,dB=92.45+20log10fGHz+20log10Rkm.L_{FS,dB}=92.45+20\log_{10}f_{GHz}+20\log_{10}R_{km}.

3.2 Multipath and wideband channel

For resolved paths pp,

H(f,t)=pap(f,t)exp[j2πfτp(t)+jϕp(f,t)].H(f,t)=\sum_p a_p(f,t) \exp[-j2\pi f\tau_p(t)+j\phi_p(f,t)].

The channel impulse response is

h(τ,t)=Ff1{H(f,t)}.h(\tau,t)=\mathcal F_f^{-1}\{H(f,t)\}.

A single scalar phase is insufficient for a wideband OFDM signal near dispersive gas lines or in the ionosphere. Evaluate H(f,t)H(f,t) on the actual pilot/subcarrier frequencies.

3.3 Atmospheric amplitude and phase along one ray

Write the total power attenuation and excess phase path as

Aatm=Γ(γgas+γcloud+γrain+γice)ds,A_{atm}=\int_\Gamma \left(\gamma_{gas}+\gamma_{cloud}+\gamma_{rain}+\gamma_{ice}\right)ds, ΔLϕ=Γ[nϕ(f,r,t)1]ds+ΔLiono,ϕ.\Delta L_\phi =\int_\Gamma\left[n_\phi'(f,\mathbf r,t)-1\right]ds +\Delta L_{iono,\phi}.

The unwrapped propagation phase is

ϕprop(f,t)=2πfc[R(t)+ΔLϕ(f,t)].\phi_{prop}(f,t)=-\frac{2\pi f}{c} \left[R(t)+\Delta L_\phi(f,t)\right].

For phase/group index nϕn_\phi and group index ngn_g,

ng=nϕ+ωnϕω,τg=1cΓngds.n_g=n_\phi+\omega\frac{\partial n_\phi}{\partial\omega}, \qquad \tau_g=\frac{1}{c}\int_\Gamma n_g\,ds.

Phase delay and group delay are not interchangeable in dispersive media.


4. Neutral atmosphere: humidity, refractivity, gas, and bending

4.1 Relative humidity to vapor pressure

Let tCt_C be temperature in degrees Celsius and RHRH in percent. Nephele implements the ITU-R P.453 phase-specific saturation-vapor-pressure form

es=EF  asexp[(bstCds)tCtC+cs],e=RH100es,e_s=EF\;a_s \exp\left[\left(b_s-\frac{t_C}{d_s}\right) \frac{t_C}{t_C+c_s}\right], \qquad e=\frac{RH}{100}e_s, EF=1+104(q0+qPP+qTtC2).EF=1+10^{-4}\left(q_0+q_P P+q_Tt_C^2\right).
PhaseValid tCt_Casa_sbsb_scsc_sdsd_sq0q_0qPq_PqTq_T
Water40-40 to 5050^\circC6.112118.678257.14234.57.20.0325.9×1065.9\times10^{-6}
Ice80-80 to 00^\circC6.111523.036279.82333.72.20.03836.4×1066.4\times10^{-6}

Pressure and ese_s are in hPa.

4.2 Neutral radio refractivity

[Implemented] ITU-R P.453-14 gives

N=77.6PT5.6eT+3.75×105eT2,n=1+106N.N=\frac{77.6P}{T}-\frac{5.6e}{T} +\frac{3.75\times10^5e}{T^2}, \qquad n=1+10^{-6}N.

The neutral excess path is

ΔLneutral=106ΓN(r,t)ds.\Delta L_{neutral}=10^{-6}\int_\Gamma N(\mathbf r,t)\,ds.

Nephele requests up to 44 public NOAA weather-model pressure surfaces from 1000 to 10 hPa and derives NN only where the returned thermodynamic inputs are valid. The usable count and ceiling depend on model and location. These are model samples, not direct soundings or independent observed degrees of freedom.

4.3 Gaseous absorption and dispersion

[Implemented in the offline research estimator] The ITU-R P.676-13 line-by-line oxygen and water-vapor attenuation model gives

γgas=0.1820fGHz[NO2(f,P,T)+NH2O(f,P,T,e)]dB/km,\gamma_{gas}=0.1820 f_{GHz} \left[N''_{O_2}(f,P,T)+N''_{H_2O}(f,P,T,e)\right] \quad\mathrm{dB/km}, Agas=Γγgasds.A_{gas}=\int_\Gamma\gamma_{gas}\,ds.

satrf/src/satrf/spectroscopy.py implements the complete P.676-13 oxygen/water-vapor line tables, line strengths, widths, continua, and attenuation equations. Its numerical output was independently checked against ITU-Rpy 0.4.0. The nonlinear joint estimator combines this attenuation with P.453 neutral delay and P.840-9 liquid absorption.

[Implemented in the additive high-fidelity Python path] The piecewise WGS-84 ray and frozen-ray array inverse use the real dispersive part of P.676 under one phase/group convention, with P.453/P.840, curved-ray bending, attenuation, antenna/hardware outputs, and explicit rank/DOFS abstention. It accepts either calibrated medium-only quantities or raw resolved carrier phase, group ToF, and RSSI after full-covariance whitening and exact cross-link clock/gain nullspace projection. The latter is differential-only: wrapped phase, unresolved integer ambiguity, static-state Doppler assimilation, absolute nuisance recovery, and atmospheric emission/brightness temperature remain scientific targets. See HIGH_FIDELITY_REFRACTION.md.

[Implemented in the interactive path] lib/atmospheric-propagation.ts evaluates the complete P.676-13 oxygen and water-vapour line tables and continua for every supplied pressure-level state. It converts total pressure, temperature, and relative humidity with P.453-14, then integrates gas loss and neutral excess path over caller-supplied spherical-shell segment lengths. Repository float64 golden vectors cover scalar kernels and complete column integrals. The public NWP column requests 44 pressure surfaces but retains only the usable fields returned by the explicit HRRR or GFS model, so the UI labels its actual ceiling and never treats the requested layer count as independent observational resolution.


5. Liquid cloud, multiple cloud layers, rain, ice, and sky noise

5.1 ITU liquid-cloud attenuation

For small liquid droplets under the Rayleigh approximation, ITU-R P.840-9 gives

γcloud(f,T,r)=Kl(f,T)M(r)dB/km,\gamma_{cloud}(f,T,\mathbf r)=K_l(f,T)M(\mathbf r) \quad\mathrm{dB/km}, Acloud=Γcloudγcloudds.A_{cloud}=\int_{\Gamma\cap cloud}\gamma_{cloud}\,ds.

Here MM is LWC in g/m3^3 and KlK_l has units (dB/km)/(g/m3)(\mathrm{dB/km})/(\mathrm{g/m^3}). The small-droplet model is specified for liquid cloud/fog over 1--200 GHz; it is not an ice-cloud model.

5.2 Double-Debye water coefficient used by Nephele

[Implemented] With ff in GHz, 233T303233\le T\le303 K, and

θ=300T1,\theta=\frac{300}{T}-1, ϵ0=77.66+103.3θ,ϵ1=0.0671ϵ0,ϵ2=3.52,\epsilon_0=77.66+103.3\theta, \quad \epsilon_1=0.0671\epsilon_0, \quad \epsilon_2=3.52, fp=20.2146θ+316θ2,fs=39.8fp,f_p=20.2-146\theta+316\theta^2, \qquad f_s=39.8f_p, ϵ=f(ϵ0ϵ1)fp[1+(f/fp)2]+f(ϵ1ϵ2)fs[1+(f/fs)2],\epsilon''= \frac{f(\epsilon_0-\epsilon_1)}{f_p[1+(f/f_p)^2]} +\frac{f(\epsilon_1-\epsilon_2)}{f_s[1+(f/f_s)^2]}, ϵ=ϵ0ϵ11+(f/fp)2+ϵ1ϵ21+(f/fs)2+ϵ2,\epsilon'=\frac{\epsilon_0-\epsilon_1}{1+(f/f_p)^2} +\frac{\epsilon_1-\epsilon_2}{1+(f/f_s)^2}+\epsilon_2, η=2+ϵϵ,Kl=0.819fϵ(1+η2).\eta=\frac{2+\epsilon'}{\epsilon''}, \qquad K_l=\frac{0.819f}{\epsilon''(1+\eta^2)}.

For layer kk,

Acloud,k=Kl(f,Tk)MkLk,Acloud=kAcloud,k.A_{cloud,k}=K_l(f,T_k)M_kL_k, \qquad A_{cloud}=\sum_k A_{cloud,k}.

5.3 Cloud carrier-phase model

P.840 standardizes attenuation; it does not alone provide a complete coherent cloud phase observable. A consistent dilute-droplet extension uses complex Maxwell-Garnett mixing.

Let the liquid volume fraction be

v=Mρw,ρw106 g/m3,v=\frac{M}{\rho_w}, \qquad \rho_w\simeq10^6\ \mathrm{g/m^3},

and

q=ϵ~wϵairϵ~w+2ϵair.q=\frac{\tilde\epsilon_w-\epsilon_{air}} {\tilde\epsilon_w+2\epsilon_{air}}.

Then

ϵ~eff=ϵair(1+3vq1vq),n~eff=ϵ~eff.\tilde\epsilon_{eff} =\epsilon_{air}\left(1+\frac{3vq}{1-vq}\right), \qquad \tilde n_{eff}=\sqrt{\tilde\epsilon_{eff}}.

The complex cloud-only field ratio is

EafterEbefore=exp[k0(κeffκclear)ds]exp[jk0(neffnclear)ds].\frac{E_{after}}{E_{before}} =\exp\left[-k_0\int\left(\kappa_{eff}-\kappa_{clear}\right)ds\right] \exp\left[-jk_0\int\left(n'_{eff}-n'_{clear}\right)ds\right].

Thus layer kk contributes

ΔLcloud,k=Γk(neff,knclear,k)ds,\Delta L_{cloud,k}=\int_{\Gamma_k} (n'_{eff,k}-n'_{clear,k})ds, Δϕcloud,k=2πλΔLcloud,k,Δϕcloud=kΔϕcloud,k.\Delta\phi_{cloud,k}=-\frac{2\pi}{\lambda}\Delta L_{cloud,k}, \qquad \Delta\phi_{cloud}=\sum_k\Delta\phi_{cloud,k}.

[Approximation, implemented] The current display uses the real, first-order dilute form

ϵeff,k1+3vk(ϵw1)ϵw+2,\epsilon_{eff,k}\approx1+ \frac{3v_k(\epsilon'_w-1)}{\epsilon'_w+2}, ΔLcloud,k(ϵeff,k1)Lk.\Delta L_{cloud,k}\approx (\sqrt{\epsilon_{eff,k}}-1)L_k.

It wraps displayed phase into [180,180)[-180^\circ,180^\circ), although inversion must retain unwrapped phase and cycle-slip flags.

5.4 Current public-weather cloud-layer construction

[Approximation, implemented] The public pressure-level feed supplies cloud cover, temperature, height, and wind but not LWC on those levels. Nephele therefore creates no more than four scenario slabs from levels whose cover Ck12%C_k\ge12\%.

Layer boundaries are midpoints between adjacent pressure-level heights, with thickness clipped to 0.25--3 km. Scenario LWC is

Mk=clip[M0(0.25+0.75Ck100)exp(max(0,zk1.5)7),0.005,1.2] g/m3.M_k=\operatorname{clip}\left[ M_0\left(0.25+0.75\frac{C_k}{100}\right) \exp\left(-\frac{\max(0,z_k-1.5)}{7}\right), 0.005,1.2\right]\ \mathrm{g/m^3}.

This creates separately inspectable layers but does not make their water contents observed. A field system should ingest cloud liquid/ice mixing ratios, radar/radiometer constraints, or retrieve them from calibrated RF observables.

5.5 Rain attenuation

ITU-R P.838-3 gives

γR=kRrαdB/km,AR=ΓγRds.\gamma_R=kR_r^\alpha\quad\mathrm{dB/km}, \qquad A_R=\int_\Gamma\gamma_R\,ds.

For horizontal/vertical coefficients kH,kV,αH,αVk_H,k_V,\alpha_H,\alpha_V, path elevation EE, and polarization tilt τ\tau,

k=kH+kV+(kHkV)cos2Ecos2τ2,k=\frac{k_H+k_V+(k_H-k_V)\cos^2E\cos2\tau}{2}, α=kHαH+kVαV+(kHαHkVαV)cos2Ecos2τ2k.\alpha= \frac{k_H\alpha_H+k_V\alpha_V +(k_H\alpha_H-k_V\alpha_V)\cos^2E\cos2\tau}{2k}.

[Implemented] Nephele evaluates the P.838-3 coefficient fits. For an instantaneous grid rain rate, it forms a declared scenario column from the instantaneous pressure-level 0 °C isotherm plus 0.36 km and integrates AR=γRLRA_R=\gamma_RL_R through that curved-Earth column. That instantaneous height is not labeled P.839 climatology. P.839 rain-height and P.618 effective-path attribution are available only when the caller explicitly supplies both a climatological rain height and the R0.01R_{0.01} rate. Missing rain rate, unbracketed freezing level, unresolved station MSL height, or below-horizon geometry returns unavailable rather than dry weather.

P.838 does not define a complete coherent rain phase, particle-size distribution, depolarization, or Doppler spectrum. [Scientific target] Use a complex forward-scattering model driven by drop-size distribution, temperature, shape, canting, and polarization; its extinction must be checked against P.838.

5.6 Ice, snow, hail, and mixed phase

[Scientific target] Ice response depends on ice-water content, particle size distribution, habit, density, orientation, aggregation, melting, and frequency. Use documented scattering databases or T-matrix/discrete-dipole models. Do not apply the liquid P.840 coefficient to ice. Until constrained, ice/mixed-phase layers must carry an explicit model-error term.

Polarimetric differential phase is

ΦDP=ϕHϕV=2ΓKDP(r)ds,\Phi_{DP}=\phi_H-\phi_V =2\int_\Gamma K_{DP}(\mathbf r)\,ds,

under the common weather-radar convention for one-way specific differential phase KDPK_{DP}. The exact factor and sign must match the adopted PRO/radar convention. Differential phase can suppress common geometry/clock terms and is substantially more diagnostic of oriented nonspherical hydrometeors than a single scalar carrier phase.

5.7 Atmospheric emission and sky noise

Attenuating atmosphere is also emissive. A useful equivalent-sky approximation is

Tsky=Tmr(110A/10)+2.710A/10 K.T_{sky}=T_{mr}(1-10^{-A/10})+2.7\,10^{-A/10}\ \mathrm{K}.

The receiver should propagate this through system noise temperature/G/T rather than showing attenuation alone.


6. Phase and Doppler decomposition

6.1 Total received phase

The tracked carrier phase can be written

ϕrx(t)=phitx,clock(ttx)ϕrx,clock(trx)2πfcc[R+ΔLneutral+ΔLcloud+ΔLrain,ϕ+ΔLiono,ϕ]+ϕantenna+ϕcable+ϕmultipath+ϕPLL+2πNamb.\begin{aligned} \phi_{rx}(t)={}&phi_{tx,clock}(t_{tx})-\phi_{rx,clock}(t_{rx})\\ &-\frac{2\pi f_c}{c} \left[R+\Delta L_{neutral}+\Delta L_{cloud} +\Delta L_{rain,\phi}+\Delta L_{iono,\phi}\right]\\ &+\phi_{antenna}+\phi_{cable}+\phi_{multipath}+\phi_{PLL}+2\pi N_{amb}. \end{aligned}

NambN_{amb} is the integer-cycle ambiguity. Absolute cloud phase is not recoverable until clocks, geometry, hardware, ambiguity, and non-cloud media are estimated or differenced.

6.2 One-way geometric Doppler

The instantaneous residual frequency is

fD=12πdϕrxdt.f_D=\frac{1}{2\pi}\frac{d\phi_{rx}}{dt}.

The first-order geometric term is

fD,geom=fccR˙.f_{D,geom}=-\frac{f_c}{c}\dot R.

[Implemented] Nephele evaluates this term for every selected satellite/station pair.

6.3 Neutral/cloud excess Doppler

For any phase excess path,

fD,medium=fccdΔLϕ,mediumdt.f_{D,medium}=-\frac{f_c}{c}\frac{d\Delta L_{\phi,medium}}{dt}.

For a moving ray parameterized by x(ξ,t)\mathbf x(\xi,t),

I(t)=01q(x(ξ,t),t)xξdξ,I(t)=\int_0^1q(\mathbf x(\xi,t),t) \left\|\frac{\partial\mathbf x}{\partial\xi}\right\|d\xi, dIdt=01(qt+qxt)Jdξ+01qJtdξ,J=xξ.\frac{dI}{dt}=\int_0^1 \left(\frac{\partial q}{\partial t} +\nabla q\cdot\frac{\partial\mathbf x}{\partial t}\right)J\,d\xi +\int_0^1q\frac{\partial J}{\partial t}d\xi, \quad J=\left\|\frac{\partial\mathbf x}{\partial\xi}\right\|.

This separates medium evolution/advection from the rapidly moving LEO ray footprint.

[Approximation, implemented] The displayed cloud-motion scenario uses

v,k=vkcos(Aztoward,kAzray),v_{\parallel,k}=v_k\cos(Az_{toward,k}-Az_{ray}), dΔLkdtΔLkgϕv,k,gϕ=8×104 m1,\frac{d\Delta L_k}{dt} \approx \Delta L_k\,g_\phi\,v_{\parallel,k}, \qquad g_\phi=8\times10^{-4}\ \mathrm{m^{-1}}, fD,cloud,k=fccdΔLkdt.f_{D,cloud,k}=-\frac{f_c}{c} \frac{d\Delta L_k}{dt}.

This is an exploratory frozen-flow phase-screen sensitivity, not a retrieved wind product.

6.4 Moving-scatterer Doppler

Let k^in\hat{\mathbf k}_{in} point from transmitter to scatterer and k^out\hat{\mathbf k}_{out} from scatterer to receiver. A moving hydrometeor/scatterer contributes approximately

fD,scat=1λvscatT(k^outk^in).f_{D,scat}=\frac{1}{\lambda} \mathbf v_{scat}^{T}(\hat{\mathbf k}_{out}-\hat{\mathbf k}_{in}).

Its magnitude approaches 2vr/λ2|v_r|/\lambda for monostatic backscatter and approaches zero for direct forward propagation. Therefore direct transparent-cloud Doppler is not equivalent to weather-radar Doppler.

[Implemented simulation] The array mode now places a synthetic rain-scattering cell inside the dominant modeled cloud layer and generates a delay-gated bistatic Doppler observation for every usable satellite--station pair. A weighted least-squares inverse estimates the local east, north, and upward hydrometeor-velocity components from the scattering vectors only. The truth generator combines scenario horizontal wind, vertical air motion, and terminal fall speed; those truth values are withheld from the inverse and used solely to report vector error. Rank-deficient geometries and fewer than four informative observations are rejected. This is a proof-of-concept observing-system simulation, not a claim that an unmodified communications receiver exposes range-resolved precipitation echoes.

6.5 Ionospheric phase and Doppler

For slant TEC,

TEC=ΓNeds,TEC=\int_\Gamma N_e\,ds,

the first-order group and carrier-phase paths are

ΔLiono,g=+40.3TECf2,ΔLiono,ϕ=40.3TECf2.\Delta L_{iono,g}=+\frac{40.3\,TEC}{f^2}, \qquad \Delta L_{iono,\phi}=-\frac{40.3\,TEC}{f^2}.

Thus

fD,iono=+40.3cfdTECdt.f_{D,iono}=+\frac{40.3}{cf}\frac{dTEC}{dt}.

Dual/multi-frequency observations separate the leading f2f^{-2} ionosphere from approximately nondispersive neutral delay away from absorption lines.

6.6 Error propagation from orbit knowledge

Range and range-rate errors directly contaminate weather phase and Doppler:

σϕ2πλσR,σfDfccσR˙.\sigma_\phi\simeq\frac{2\pi}{\lambda}\sigma_R, \qquad \sigma_{f_D}\simeq\frac{f_c}{c}\sigma_{\dot R}.

At 12 GHz, a 1 m/s range-rate error is about 40 Hz. A 1 Hz geometric-Doppler residual requires roughly 2.5 cm/s range-rate knowledge before clock, oscillator, and hardware errors are considered.


7. RF-to-digital receiver emulation

7.1 RF, downconversion, and complex samples

For transmitted complex waveform x(t)x(t),

rRF(t)={[h(t)x(t)]ej2πfct}+nRF(t).r_{RF}(t)=\Re\{[h(t)*x(t)]e^{j2\pi f_ct}\}+n_{RF}(t).

Mixing with local oscillator fLOf_{LO} and low-pass filtering gives

z(t)=LPF{2rRF(t)ej2πfLOt}h(t)x(t)ej2πΔft+w(t),z(t)=\operatorname{LPF}\{2r_{RF}(t)e^{-j2\pi f_{LO}t}\} \approx h(t)*x(t)e^{j2\pi\Delta f t}+w(t), z[n]=z(n/fs)+q[n],z[n]=z(n/f_s)+q[n],

where Δf=fc+fDfLO\Delta f=f_c+f_D-f_{LO} and q[n]q[n] is quantization error.

The receiver should first wipe off predicted geometric Doppler, then estimate residual carrier/phase on known pilots:

zwipe[n]=z[n]exp[j2πmnf^D,geom[m]fs].z_{wipe}[n]=z[n] \exp\left[-j2\pi\sum_{m\le n}\frac{\hat f_{D,geom}[m]}{f_s}\right].

7.2 Noise, SNR, C/N0C/N_0, and quantization

At approximately 290 K,

NdBm174+10log10B+NF.N_{dBm}\approx-174+10\log_{10}B+NF. SNRdB=Pr,dBmNdBm,CN0dBHz=Pr,dBW10log10(kBTsys).SNR_{dB}=P_{r,dBm}-N_{dBm}, \qquad \frac{C}{N_0}_{dBHz}=P_{r,dBW}-10\log_{10}(k_BT_{sys}).

For an ideal bb-bit ADC driven near full scale,

SNRq,dB6.02b+1.76.SNR_{q,dB}\approx6.02b+1.76.

[Implemented] Nephele combines thermal and quantization SNR as

SNReff,lin=(SNRthermal,lin1+SNRq,lin1)1.SNR_{eff,lin}= \left(SNR_{thermal,lin}^{-1}+SNR_{q,lin}^{-1}\right)^{-1}.

For bit rate RbR_b,

(EbN0)dB=SNReff,dB+10log10BRb.\left(\frac{E_b}{N_0}\right)_{dB} =SNR_{eff,dB}+10\log_{10}\frac{B}{R_b}.

7.3 QPSK decode model

[Approximation, implemented] Nephele assumes Gray-coded coherent QPSK with Rb=2RsR_b=2R_s and

PbQ(2Eb/N0)=12erfc(Eb/N0).P_b\approx Q\left(\sqrt{2E_b/N_0}\right) =\frac12\operatorname{erfc}\left(\sqrt{E_b/N_0}\right).

The demonstration decoder declares lock if line of sight exists,

Eb/N04 dB,fres<0.05Rs.E_b/N_0\ge4\ \mathrm{dB}, \qquad |f_{res}|<0.05R_s.

Its output bytes are synthetic. A real system needs the actual waveform, pilots, coding, AGC state, sample clock, phase-noise model, beam/handover metadata, and raw calibrated I/Q.


At observation time tit_i, a direct link generally measures a path integral:

yi=Γix(r,ti)ds+ϵijijxj+ϵi.y_i=\int_{\Gamma_i}x(\mathbf r,t_i)ds+\epsilon_i \simeq\sum_j\ell_{ij}x_j+\epsilon_i.

For horizontally uniform layers with thicknesses Δhj\Delta h_j,

ij=ΔhjsinEi,\ell_{ij}=\frac{\Delta h_j}{\sin E_i},

so every matrix row is a scalar multiple of the same thickness vector:

ai=1sinEi[Δh1,,ΔhK].\mathbf a_i=\frac{1}{\sin E_i} [\Delta h_1,\ldots,\Delta h_K].

Therefore rank(A)=1\operatorname{rank}(\mathbf A)=1 in the ideal plane-parallel case. A single direct channel can robustly constrain a total column or total attenuation, but it cannot uniquely separate multiple vertical layers merely by taking many closely related samples.

The moving LEO nevertheless provides useful samples

ti=t0+iΔt,{Ai,ϕi,fD,i,Azi,Ei},t_i=t_0+i\Delta t, \qquad \{A_i,\phi_i,f_{D,i},Az_i,E_i\},

which can show changing integrated weather along the pass. A 2-D along-track curtain becomes possible if the cloud field is horizontally structured and a frozen-flow/advection prior is credible. Unique 3-D vertical attribution still requires crossing rays, frequency/polarization diversity, external priors, or occultation geometry.

The sample interval should satisfy both receiver dynamics and atmospheric evolution. If the highest residual fluctuation of interest is fmaxf_{max},

Δt12fmax,\Delta t\le\frac{1}{2f_{max}},

while a tomography window TwT_w should keep evolution error below the measurement error:

x(t+Tw)MTwx(t)σmodel.\|\mathbf x(t+T_w)-\mathcal M_{T_w}\mathbf x(t)\| \lesssim\sigma_{model}.

More display samples do not create more independent atmospheric information if the rows of the observation Jacobian remain collinear.


9. Multiple satellites, stations, layers, and 3-D/4-D tomography

9.1 Linear ray-to-voxel model

For ray mm and voxel vv, let Amv=mvA_{mv}=\ell_{mv} be the in-voxel path length. Then

y=Ax+ϵ.\mathbf y=\mathbf A\mathbf x+\boldsymbol\epsilon.

For slant water vapor (SWV), xvx_v is water-vapor density. For cloud attenuation at one frequency,

ymcloud(f)=vmvKl(f,Tv)Mv+bm+ϵm.y_m^{cloud}(f)=\sum_v \ell_{mv}K_l(f,T_v)M_v+b_m+\epsilon_m.

For several physical mechanisms,

ymA(f)=vmv[γgas,v(f)+Kl(f,Tv)Mv+k(f,pol)Rr,vα(f,pol)+γice,v(f)]+bmA+ϵmA,\begin{aligned} y_m^{A}(f)={}&\sum_v\ell_{mv}\big[ \gamma_{gas,v}(f)+K_l(f,T_v)M_v\\ &+k(f,pol)R_{r,v}^{\alpha(f,pol)} +\gamma_{ice,v}(f)\big]+b_m^A+\epsilon_m^A, \end{aligned} ymϕ(f)=2πfcvmvΔnv(f)+bmϕ+ϵmϕ,y_m^{\phi}(f)=-\frac{2\pi f}{c} \sum_v\ell_{mv}\Delta n'_{v}(f) +b_m^\phi+\epsilon_m^\phi, ymD(f)=12πdymϕdt+bmD+ϵmD.y_m^{D}(f)=\frac{1}{2\pi}\frac{d y_m^\phi}{dt} +b_m^D+\epsilon_m^D.

This joint multi-frequency/polarization problem is nonlinear when rain microphysics, ice, clocks, and wind are unknown.

9.2 Multilayer contribution accounting

For known layer geometry, every ray's modeled contributions can be kept separate:

Atot,m=kAm,k,Δϕtot,m=kΔϕm,k,fD,tot,m=kfD,m,k.A_{tot,m}=\sum_k A_{m,k}, \qquad \Delta\phi_{tot,m}=\sum_k\Delta\phi_{m,k}, \qquad f_{D,tot,m}=\sum_k f_{D,m,k}.

This answers “how much did each modeled layer contribute?” It does not prove that the measured total uniquely determines each term. Measured layer separation requires an adequately ranked Jacobian

J=h(x)x,\mathbf J=\frac{\partial\mathbf h(\mathbf x)}{\partial\mathbf x},

with independent elevation, azimuth, time, frequency, polarization, and/or external constraints.

9.3 Current synthetic cloud truth

[Implemented, synthetic] Nephele constructs an advected multilayer LWC field for testing. For voxel vv and layer kk,

Mv=clip[kMkΔzvkΔzv(0.12+0.88ervk2/2σk2)(0.2+0.8Ck100),0,1.5].M_v=\operatorname{clip}\left[ \sum_k M_k\frac{\Delta z_{vk}}{\Delta z_v} \left(0.12+0.88e^{-r_{vk}^2/2\sigma_k^2}\right) \left(0.2+0.8\frac{C_k}{100}\right),0,1.5\right].

Each Gaussian center is translated using the layer wind. The synthetic observation is

y=Axtruth\mathbf y=\mathbf A\mathbf x_{truth}

with a deterministic grid-relative perturbation. The browser OSSE offsets paths by as much as 20% of the smallest horizontal cell and 15% of a vertical cell, plus a declared 2% gain bias. The inversion never receives xtruth\mathbf x_{truth} directly.

9.4 ART

For ray row aiT\mathbf a_i^T, non-negative algebraic reconstruction is

x(q+1)=Pi+[x(q)+lambdayiaiTx(q)ai22ai].\mathbf x^{(q+1)}=Pi_+\left[ \mathbf x^{(q)}+lambda \frac{y_i-\mathbf a_i^T\mathbf x^{(q)}} {\|\mathbf a_i\|_2^2}\mathbf a_i\right].

[Implemented] Nephele uses λ=0.72\lambda=0.72, then applies either neighbor smoothing or a smoothed total-variation step.

9.5 SIRT

Define

ri=yijAijxjjAij,cj=iAij.r_i=\frac{y_i-\sum_jA_{ij}x_j}{\sum_j|A_{ij}|}, \qquad c_j=\sum_i|A_{ij}|.

[Implemented] The update is

xjΠ+[xj+0.92iAijricj].x_j\leftarrow\Pi_+\left[x_j+ 0.92\frac{\sum_iA_{ij}r_i}{c_j}\right].

9.6 MART

[Implemented] For row prediction y^i=aiTx\hat y_i=\mathbf a_i^T\mathbf x and si=jAijs_i=\sum_jA_{ij},

xjmax(108,xj[clip(yiy^i,0.1,10)]0.42Aij/si).x_j\leftarrow\max\left(10^{-8}, x_j\left[\operatorname{clip}\left(\frac{y_i}{\hat y_i},0.1,10\right)\right]^{0.42A_{ij}/s_i}\right).

9.7 MAP/regularized scientific inversion

[Implemented offline research estimator; reduced form shown] Estimate the atmospheric and nuisance state by

x^=argminx0,βyh(x,β)R12+xxbB12+λsLsx22+λTVTV(x)+λtxt+1M(xt)22.\hat{\mathbf x}=\arg\min_{\mathbf x\ge0,\boldsymbol\beta} \left\|\mathbf y-\mathbf h(\mathbf x,\boldsymbol\beta)\right\|_{\mathbf R^{-1}}^2 +\left\|\mathbf x-\mathbf x_b\right\|_{\mathbf B^{-1}}^2 +\lambda_s\|\mathbf L_s\mathbf x\|_2^2 +\lambda_{TV}\operatorname{TV}(\mathbf x) +\lambda_t\|\mathbf x_{t+1}-\mathcal M(\mathbf x_t)\|_2^2.

β\boldsymbol\beta contains satellite/station clocks, EIRP and gain offsets, beam state, wet-antenna loss, multipath, and other nuisance parameters. The implemented OSSE instantiates clock/path, receiver-gain, and beam/handover states. Wet-antenna and sparse multipath terms remain model-discrepancy stresses, not estimated state blocks.

9.8 4-D advection/evolution

An atmospheric scalar xx may evolve as

xt+ux=(Dx)+SL.\frac{\partial x}{\partial t} +\mathbf u\cdot\nabla x =\nabla\cdot(D\nabla x)+S-L.

The simplest frozen-flow model is

x(r,t+Δt)x(ruΔt,t).x(\mathbf r,t+\Delta t) \approx x(\mathbf r-\mathbf u\Delta t,t).

[Implemented in both paths, with different roles] The browser uses horizontal semi-Lagrangian back-tracing and bilinear interpolation as a prior to each independent display solve. The offline research estimator places the same operator inside one weak-constraint six-epoch optimization. Formation, dissipation, vertical motion, turbulence, phase changes, and precipitation are model error, not captured by pure translation.

9.9 Implemented nonlinear joint thermodynamic, multi-epoch inverse

The original joint_4d.py wet-refractivity/ liquid-water inverse remains a precursor and regression benchmark. The active research estimator is thermodynamic_4d.py. At epoch tt it estimates 4×4×44\times4\times4 trilinear control fields for temperature TT, relative humidity HH, and cloud liquid MM, mapped to a 5×5×45\times5\times4 reporting grid. A deterministic ISA-like dry-pressure profile pd(z)p_d(z) is a declared structural model, not a measured or historical weather input.

P.453 closes RH, vapor density, and refractivity through

e=H100es(T,pd+e),ρv=216.7eT,N=77.6pdT+72eT+3.75×105eT2.e=\frac{H}{100}e_s(T,p_d+e),\qquad \rho_v=216.7\frac{e}{T},\qquad N=77.6\frac{p_d}{T}+72\frac eT+3.75\times10^5\frac e{T^2}.

The first equation is solved by a fixed-point iteration because the P.453 enhancement factor uses total pressure while P.676 separates dry and vapor pressure. Each frequency has

γf=0.1820f(NO2+NH2O)+Kl(f,T)M,\gamma_f=0.1820f\left(N''_{O_2}+N''_{H_2O}\right)+K_l(f,T)M,

using exact P.676-13 and P.840-9 coefficients. With ray-length vector ait\mathbf a_{it} in km and line-of-sight unit vector l^it\hat{\mathbf l}_{it},

yitL=103aitTBNt+cr(i)tr+cs(i)ts+l^itTδrs(i)ts+ϵitL,yiftA=aitTBγft+gr(i)tr+gb(i)b+ϵiftA.\begin{aligned} y^L_{it}&=10^{-3}\mathbf a_{it}^T\mathbf B\mathbf N_t +c^r_{r(i)t}+c^s_{s(i)t} +\hat{\mathbf l}_{it}^T\delta\mathbf r^s_{s(i)t}+\epsilon^L_{it},\\ y^A_{ift}&=\mathbf a_{it}^T\mathbf B\boldsymbol\gamma_{ft} +g^r_{r(i)t}+g^b_{b(i)}+\epsilon^A_{ift}. \end{aligned}

The signed nuisance state therefore contains receiver/satellite path-equivalent clocks, three-axis satellite orbit error, receiver gain, and beam/handover gain. Bounds enforce 0H1000\le H\le100, M0M\ge0, and temperature within 15 K of the structural profile. A physically scaled sparse Gauss--Newton solve minimizes the nonlinear RF likelihood plus absolute-profile, spatial, semi-Lagrangian dynamic, and nuisance random-walk penalties. It receives no prior weather measurement.

Six epochs, 768 paths, and one delay plus six attenuation channels at 12/22.235/30/40/50/54 GHz produce 5,376 observations. On untouched seeds 904--905, mean RMSE is 0.620 deg C, 2.829 RH percentage points, and 0.406 mm PWV; liquid RMSE is 0.0062 g/m3. A no-RF standard profile gives 1.307 deg C, 5.814 points, and 3.499 mm. The likelihood Jacobian is full column rank on seed 904 (1,152/1,152) but has condition number 2.04×1072.04\times10^7: bounds and regularization are essential, and output voxels are not independently resolved.

A staged post-freeze audit adds unchanged base-model seeds 917--924 and 925--928. Across all 14 base trials (including 904--905), temperature/RH/PWV RMSE is 0.679±0.1030.679\pm0.103 deg C, 3.203±0.4323.203\pm0.432 points, and 0.433±0.0560.433\pm0.056 mm; 13/14 trials pass all three gates. Seed 921 is the single failure at 4.039 RH points. A subsequent physics-only E-optimal screen selected 175 GHz under a 40 dB/10-km loss constraint, but paired untouched seeds 925--928 reject it: PWV improves from 0.423 to 0.212 mm while temperature/RH degrade from 0.636/3.003 to 0.883/4.642, all-gate passes fall from 4/4 to 1/4, and mean solve time rises from 44 to 130 s. The active model therefore retains the six-band design. Local Jacobian rank and singular values are necessary diagnostics, not sufficient model-selection criteria for the global nonlinear weak-constraint inverse.

The seed-906 ablation gives 2.613 deg C/15.385 points/2.438 mm without nuisance estimation, 0.671/3.533/0.368 for joint static, 0.629/3.300/0.388 for joint 4D, and 0.503/3.250/0.388 for an oracle-calibrated dynamic solve. Temporal coupling improves temperature, RH, and liquid over joint static, but not PWV on this one ablation seed.

[Implemented robust cycle] For a same-link group GlG_l containing delay and all six attenuation bands, the standardized residual magnitude and group-Huber weight are

ql=1GliGlri2,wl=max(wmin,min[1,δql]).q_l=\sqrt{\frac{1}{|G_l|}\sum_{i\in G_l}r_i^2}, \qquad w_l=\max\left(w_{min},\min\left[1,\frac{\delta}{q_l}\right]\right).

All rows in GlG_l receive wl\sqrt{w_l}. The frozen cycle uses δ=1.5\delta=1.5 and wmin=0.05w_{min}=0.05; robust serving requires weighted reduced χ23\chi^2\le3, at most 10% flagged links, and at least 75% effective weight. Under 5% coherent bursts, the Gaussian solve fails at 1.364 deg C/6.602 points/0.700 mm, while robust weighting recovers 0.591/3.224/0.373, with 94.7% flag precision and 100% recall. Thirty-percent link loss, doubled nuisance, wrong wind, and the combined robust stress also remain below the three requested gates. See the frozen thermodynamic_4d_robustness.json.

9.10 Posterior uncertainty, resolution, and observability

For a locally linear model with prior covariance B\mathbf B and observation covariance R\mathbf R,

Cpost(JTR1J+B1)1.\mathbf C_{post}\approx (\mathbf J^T\mathbf R^{-1}\mathbf J+\mathbf B^{-1})^{-1}.

The averaging/resolution matrix is

K=CpostJTR1J,\mathbf K=\mathbf C_{post}\mathbf J^T\mathbf R^{-1}\mathbf J,

and degrees of freedom for signal are

DFS=tr(K).DFS=\operatorname{tr}(\mathbf K).

Use singular values, condition number, vertical/horizontal averaging kernels, posterior correlation length, and DFSDFS to report actual resolving power. Voxel size alone is not resolution.

A network-design objective can maximize incremental information,

ΔI=12logdet(I+B1/2JTR1JB1/2),\Delta\mathcal I=\frac12\log\det \left(\mathbf I+\mathbf B^{1/2}\mathbf J^T \mathbf R^{-1}\mathbf J\mathbf B^{1/2}\right),

subject to active beams, elevation masks, link margin, receiver availability, calibration, and latency.

[Diagnostic, implemented in the browser OSSE] Relative ray-path exposure is

sv=mAmv,cv=sv/maxvsv,s_v=\sum_m|A_{mv}|, \qquad c_v=s_v/\max_v s_v,

The browser uses this quantity only for opacity and coverage; it is never called confidence. Its OSSE display-error proxy is explicitly not a posterior standard deviation and is never shown with sigma notation. The production iterative inverse reports exact path exposure, a Fisher-information diagonal, effective rank, and a condition-number diagnostic, but does not manufacture a posterior covariance. The thermodynamic estimator forms the full atmospheric--nuisance Laplace covariance, including cross-correlations, and propagates it to voxel TT/RH/MM and column PWV. Raw 95% coverage on seeds 915--916 is 66.3%/81.8%/84.0%/74.3%; split-conformal multipliers fitted only on seeds 913--914 raise marginal coverage to 96.8%/94.9%/98.5%/96.7%. These are synthetic marginal intervals, not simultaneous-field or field-calibrated coverage, and they do not relabel the browser proxy as posterior uncertainty.

9.11 Reconstruction metrics

The normalized measurement residual is

rnorm=100yAx^2y2 %.r_{norm}=100 \frac{\|\mathbf y-\mathbf A\hat{\mathbf x}\|_2} {\|\mathbf y\|_2}\ \%.

For synthetic truth,

NRMSE=100x^xtruth2xtruth2 %.NRMSE=100 \frac{\|\hat{\mathbf x}-\mathbf x_{truth}\|_2} {\|\mathbf x_{truth}\|_2}\ \%.

The browser OSSE groups observations by station and withholds complete station groups for its validation residual. Hidden-truth measurements are synthesized with independently perturbed endpoints, path geometry, and gain. Geometry offsets scale with the grid (20% of the smallest horizontal cell and 15% of a vertical cell), so the stress cannot collapse into a negligible sub-cell nudge when resolution changes. Measurements are then inverted with the nominal operator. This removes the former same-operator/every-fifth-ray inverse crime, but remains synthetic evidence. The offline estimator instead freezes disjoint validation, test, and robustness seed sets. Real evaluation must withhold storms, stations, terminal versions, seasons, and independent instruments.


10. Satellite/ground arrays and 3-D reconstruction

10.1 Spatial steering vector

For array element position pm\mathbf p_m relative to the array reference and propagation direction u^\hat{\mathbf u},

am(u^,f)=gm(f,u^)exp[jk0pmTu^].a_m(\hat{\mathbf u},f)=g_m(f,\hat{\mathbf u}) \exp[-jk_0\mathbf p_m^T\hat{\mathbf u}].

For weights w\mathbf w,

yb(t)=wHy(t),Gb(u^)=wHa(u^)2.y_b(t)=\mathbf w^H\mathbf y(t), \qquad G_b(\hat{\mathbf u})=|\mathbf w^H\mathbf a(\hat{\mathbf u})|^2.

The interferometric phase on baseline b=p2p1\mathbf b=\mathbf p_2-\mathbf p_1 is

Δϕb=2πλbTu^+Δϕhw+2πn.\Delta\phi_b=-\frac{2\pi}{\lambda}\mathbf b^T\hat{\mathbf u} +\Delta\phi_{hw}+2\pi n.

Calibrated arrays improve direction-of-arrival, multipath rejection, polarization, and phase precision.

10.2 MIMO/bistatic channel

For transmitter element nn, receiver element mm, and paths pp,

Hmn(f,t)=pαp(f,t)ej2πfτp(t)ar,m(u^r,p)at,n(u^t,p).H_{mn}(f,t)=\sum_p\alpha_p(f,t) e^{-j2\pi f\tau_p(t)} a_{r,m}(\hat{\mathbf u}_{r,p}) a_{t,n}^*(\hat{\mathbf u}_{t,p}).

Multiple satellite/ground pairs create the crossing line integrals needed for tomography. Element arrays add angular information to each endpoint, but they do not by themselves localize a transparent medium along one direct ray.

10.3 Fundamental resolution scales

For aperture diameter DD,

ΔθλD.\Delta\theta\sim\frac{\lambda}{D}.

For a one-way wideband channel, delay-path resolution is approximately

ΔLcB.\Delta L\sim\frac{c}{B}.

For monostatic radar range, the round-trip factor gives

ΔRc2B.\Delta R\sim\frac{c}{2B}.

Direct communication links normally identify the integrated direct path; they do not range-resolve every transparent cloud layer unless the layers create resolvable scattered/multipath components. Tomographic localization comes from intersecting rays and priors.


11. Calibration and identifiable observables

11.1 Amplitude calibration

For link m=(s,g,b)m=(s,g,b) containing satellite, ground station, and beam state,

Pobs,m=Pweather,m+bsEIRP+bggain+bbbeam+bgwet antenna+ϵmP_{obs,m}=P_{weather,m} +b_s^{EIRP}+b_g^{gain}+b_b^{beam} +b_g^{wet\ antenna}+\epsilon_m

in dB. A useful weather residual is

ΔAm=Aobs,mAclear,pred,m,\Delta A_m=A_{obs,m}-A_{clear,pred,m},

but only after EIRP, antenna scan loss, polarization, AGC, coding/power control, obstruction, and handover states are removed or jointly estimated.

11.2 Phase and Doppler residuals

Δϕm=unwrap(ϕobsϕgeomϕclockϕhardwareϕionoϕclear neutral),\Delta\phi_m=\operatorname{unwrap} (\phi_{obs}-\phi_{geom}-\phi_{clock}-\phi_{hardware} -\phi_{iono}-\phi_{clear\ neutral}), Δfm=fobsfgeomfclockfhardwarefiono.\Delta f_m=f_{obs}-f_{geom}-f_{clock}-f_{hardware}-f_{iono}.

Never interpolate through a carrier cycle slip, PLL loss, or undocumented beam/satellite handover.

11.3 Differencing

Simultaneous common-view receivers a,ba,b can suppress transmitter clock:

Δϕab=ϕs,aϕs,b.\Delta\phi_{ab}=\phi_{s,a}-\phi_{s,b}.

Double differences between satellites s1,s2s_1,s_2 and receivers a,ba,b suppress common transmitter and receiver terms:

Δϕ=(ϕs1,aϕs1,b)(ϕs2,aϕs2,b).\nabla\Delta\phi =(\phi_{s_1,a}-\phi_{s_1,b}) -(\phi_{s_2,a}-\phi_{s_2,b}).

The remaining weather signal is also differenced, so the geometry of the reference paths must be modeled.

11.4 Minimum real-data record

[Measured input required] A defensible sample should contain at least

{t,satellite ID,station ID,f,beam ID,direction,I/Q,AGC,EIRP,attitude,orbit/clock,Tsys,calibration flags}.\{t,\text{satellite ID},\text{station ID},f,\text{beam ID}, \text{direction},I/Q,AGC,EIRP,\text{attitude},\text{orbit/clock}, T_{sys},\text{calibration flags}\}.

Public catalog positions, public ground-station maps, throughput tests, and weather APIs do not provide this complete record.


12. Validation ladder and pass/fail quantities

12.1 Equation tests

  1. Vacuum Friis amplitude and kR-kR phase versus analytic range.
  2. Finite-difference phase rate versus fR˙/c-f\dot R/c Doppler.
  3. P.453 refractivity and saturation-vapor-pressure reference cases.
  4. P.676 gas attenuation/dispersion and layer integration.
  5. P.838 rain and P.840 liquid-cloud attenuation reference cases.
  6. P.531 dual-frequency TEC group delay and carrier phase.
  7. Bistatic Doppler: zero in the forward limit and 2vr/λ2v_r/\lambda magnitude in monostatic backscatter.
  8. Complex-material passivity and one fixed phasor sign convention.

12.2 Component measurements

  • Clear-sky calibrated beacon passes for orbit/clock/hardware residuals.
  • Co-located microwave radiometer, ceilometer/cloud radar, disdrometer, rain gauge, GNSS meteorology, and Doppler weather radar.
  • Antenna pattern, radome wetting, cable delay, receiver linearity, AGC-off raw-I/Q, and clock stability.

12.3 End-to-end metrics

Report at least amplitude error (dB), unwrapped phase/path error (rad or mm), Doppler error (Hz), cycle-slip rate, timing error, calibration drift, LWC/LWP/rain/TEC retrieval error, posterior uncertainty calibration, spatial averaging kernels, and latency.

The decisive scientific comparison is the incremental posterior/forecast value of LEO observations relative to strong GNSS + NWP + radar/radiometer baselines.


13. Current Nephele implementation map

CapabilityCurrent math/statusSource
Orbit propagationOMM/TLE + SGP4; 5 s anchor samples with visual interpolationworkers/orbit.worker.ts, components/EarthScene.tsx
Pair geometryECEF range, finite-difference range rate, azimuth/elevation, off-nadir anglecomponents/EarthScene.tsx
Public weather cadenceBrowser refresh target 5 min; source fields retain their own model valid time and resolutioncomponents/WeatherTwin.tsx, app/api/weather/route.ts
Link budgetFriis/FSPL, reference gains, pointing, polarization, gas/cloud/rain losslib/signal.ts
Neutral atmosphereP.453 vapor pressure and refractivity on up to 44 usable NOAA pressure levels from a requested 1000-to-10 hPa stacklib/atmosphere.ts
Cloud layersUp to four pressure-level slabs; LWC is a labeled scenario derived from public cover + UI statelib/cloud-layers.ts
Cloud attenuationP.840-9 double-Debye KlMLK_lM Llib/signal.ts
Cloud phaseDefault-off dilute effective-permittivity scenario; wrapped only when explicitly enabledlib/signal.ts
Cloud DopplerExploratory frozen-flow phase-gradient projection, not wind retrieval; missing temperature/wind quality abstainslib/signal.ts
RainP.838 coefficients; instantaneous NWP-height scenario separated from explicit P.839 climatology/P.618 R0.01R_{0.01}lib/rain-propagation.ts
Rain velocitySynthetic delay-gated bistatic Doppler with 3-D ENU weighted least-squares inversion, geometry rejection, uncertainty and truth errorlib/rain-velocity.ts, components/EarthScene.tsx
RF-to-digitalGeneric reference QPSK chain; GNSS is a receive-only BPSK(1)/C/A-code reference with BER/lock/payload claims disabledlib/signal.ts
3-D raysExact local-ENU ray/voxel intersections in bounded sparse CSR; curvature quantifiedlib/tomography.ts
ReconstructionProduction external Observation[] boundary with a required bounded analysis epoch/window plus separate perturbed-operator OSSE; uncertainty-weighted ART, SIRT, MART, TV-ART; grouped holdout and advected priorlib/tomography-observations.ts, lib/tomography-osse.ts
DiagnosticsRelative path exposure, Fisher diagonal, conditioning/effective rank, and standardized residuals; no posterior covariance claimlib/tomography.ts
Linear joint 4-D precursorSix-epoch wet-refractivity/liquid state plus signed path/gain/beam nuisance; retained as a regression baselinesatrf/src/satrf/joint_4d.py
Nonlinear thermodynamic joint 4-D inverseP.453 RH/vapor/refractivity + P.676-13 gas + P.840-9 liquid; TT/RH/L and receiver/satellite clock, 3-D orbit, receiver gain, and beam gain in one bounded sparse solvesatrf/src/satrf/thermodynamic_4d.py, satrf/src/satrf/spectroscopy.py
Joint 4-D uncertaintyFull joint Laplace covariance plus split-conformal marginal calibration on disjoint seeds; not simultaneous-field or field-calibrated coveragesatrf/src/satrf/thermodynamic_4d.py, data/satrf/reports
Robust joint 4-D cycleSeven-row same-link group-Huber IRLS with flagged-link/effective-weight budgets and frozen burst/link-loss/nuisance/wind casessatrf/src/satrf/thermodynamic_4d.py, data/satrf/reports/thermodynamic_4d_robustness.json
Post-freeze frequency auditPhysics-only E-optimal 175 GHz proposal rejected by paired untouched end-to-end tests; frozen six-band model retainedsatrf/src/satrf/thermodynamic_4d.py, data/satrf/reports/thermodynamic_frequency_augmentation_925_928.json
Real coherent RF ingestNot connectedRequired next
Precise orbit/clock/attitudeNot connected; catalog orbit is not phase gradeRequired next
P.676-13 gas attenuationExact interactive and offline line-by-line implementations with cross-language golden vectorslib/atmospheric-propagation.ts, satrf/src/satrf/spectroscopy.py
3-D dispersive refractionAdditive vertical-cell-piecewise WGS-84 eikonal solver with real P.676 gas and P.840 liquid phase/group terms, per-band rays, explicit atmosphere/vacuum interface, first-order scalar plasma, antenna/hardware and moving-link adapters, sparse array stencils, and bounded calibrated-medium inverse with rank/DOFS abstentionsatrf/src/satrf/simulator/piecewise_ray.py, satrf/src/satrf/simulator/array_weather_inverse.py, HIGH_FIDELITY_REFRACTION.md
Lower-troposphere wave opticsScalar range-height plus bounded cross-range u(r,y,z)u(r,y,z) split-step solvers; WGS-84 corridor sampling, hash-sealed two-slice material streaming, coherent medium/vacuum transfer, finite-band delay response, extinction, and explicit applicability/boundary gates. The current synthetic sharp-duct case fails vertical refinement and is not inverse truth.satrf/src/satrf/simulator/wave_optics.py, satrf/src/satrf/simulator/cross_range_wave_optics.py, satrf/src/satrf/simulator/streaming_wave_optics.py, HIGH_FIDELITY_REFRACTION.md
Magneto-ionic P.531, vector/polarimetric PE, physical terrain/impedance, and ice/DSD scatteringNot yet in the joint research operatorRequired next

14. Primary standards and research basis

Official propagation standards

  1. ITU-R P.525-5, Calculation of free-space attenuation (in force, 2024).
  2. ITU-R P.453-14, The radio refractive index: its formula and refractivity data (in force, 2019).
  3. ITU-R P.676-13, Attenuation by atmospheric gases and related effects (in force, 2022).
  4. ITU-R P.838-3, Specific attenuation model for rain (in force, 2005).
  5. ITU-R P.840-9, Attenuation due to clouds and fog (in force, 2023).
  6. ITU-R P.618-14, Propagation data and prediction methods for Earth-space systems (in force, 2023). P.618 is primarily a link-design/statistical framework; do not double-count it on top of an instantaneous 3-D extinction integral.
  7. ITU-R P.531-16, Ionospheric propagation data and prediction methods (in force, 2025).

Orbit and coordinate model

  1. Vallado, Crawford, Hujsak, and Kelso, Revisiting Spacetrack Report #3, AIAA 2006-6753. This is the SGP4 implementation/validation basis, not a guarantee that public TLEs are carrier-phase accurate.

LEO/GNSS weather retrieval and tomography

  1. Shen et al., Retrieval of Cloud Liquid Water Using Microwave Signals from LEO Satellites: A Feasibility Study through Simulations, Atmosphere 11, 460 (2020). Simulated LEO attenuation + ground receivers + tomographic LWC retrieval.
  2. Shen et al., A Differential Approach for Rain Field Tomographic Reconstruction Using Microwave Signals from LEO Satellites, IEEE TGRS 57, 5434--5446 (2019). Differential SNR/attenuation formulation for reducing unknown baselines.
  3. Xiong et al., LEO Constellation-Augmented Multi-GNSS for 3D Water Vapor Tomography, Remote Sensing 13, 3056 (2021). Uses Ax=y\mathbf A\mathbf x=\mathbf y with simulated LEO augmentation.
  4. Cegla et al., INTOMO operator for GNSS multi-source tomography based on 3D ray tracing technique, Journal of Geodesy 98, 101 (2024). Multi-source 3-D ray-tracing observation operator.
  5. Miranda et al., Unconstrained GNSS Water Vapor Tomography With Real Data and LEO Augmentation, Geophysical Research Letters (2026). Real GNSS slant data with synthetic LEO augmentation; it does not validate ordinary commercial LEO link telemetry as a coherent weather observable.
  6. Zhang, Wang, and Lyu, Estimation of Moist Atmospheric Profiles from Refraction and Attenuation Measurements by Using Centimeter and Millimeter Wave Links between LEO Satellites, Remote Sensing 15, 391 (2023). LEO-LEO microwave occultation using multi-frequency refraction and attenuation.

Phase, hydrometeors, and calibration

  1. Hotta, Lonitz, and Healy, Forward operator for polarimetric radio occultation measurements, Atmospheric Measurement Techniques 17, 1075--1089 (2024). Demonstrates ray-integrated polarimetric differential phase and sensitivity to modeled hydrometeor fields.
  2. Padulles et al., Calibration and Validation of the Polarimetric Radio Occultation and Heavy Precipitation experiment aboard PAZ, Atmospheric Measurement Techniques 13, 1299--1313 (2020). Practical orbit/clock/instrument/antenna calibration and phase-integrity reference.
  3. Cardellach et al., Sensing Heavy Precipitation With GNSS Polarimetric Radio Occultations, Geophysical Research Letters 46 (2019). Empirical evidence for hydrometeor-sensitive differential phase.
  4. Lottermoser, Damm, and Schmid, Measuring Weather Effects and Link Quality Dynamics in LEO Satellite Networks (2026 preprint). Finds liquid-water path more informative than generic cloud cover for observed Starlink link performance, while also showing major network/hardware confounding; it is not a coherent phase-validation study.

Local deeper notes


15. Compact implementation roadmap

  1. Replace catalog-only geometry in the scientific mode with precise orbit/clock/attitude and iterative light time.
  2. Ingest synchronized raw I/Q or stable pilot channel estimates from a characterized transmitter and at least two calibrated receivers.
  3. Validate the additive P.676/P.840 dispersive eikonal operator, add magneto-ionic P.531 and parabolic-equation wave optics, then validate clear-sky phase/amplitude/Doppler residuals before field cloud retrieval.
  4. Add measured antenna patterns, EIRP/beam state, system noise temperature, wet-radome, and multipath nuisance states.
  5. Retrieve first the identifiable columns: neutral wet delay, LWP/cloud attenuation, rain attenuation, and TEC with multi-band data.
  6. Add cross-ray 3-D/4-D inversion only after singular-value/posterior-resolution analysis demonstrates layer identifiability.
  7. Validate cloud/rain/wind products against radiometer, radar, ceilometer, disdrometer, radiosonde, and independent NWP/analysis fields.

The strongest defensible project claim is:

Nephele models and tests when calibrated, multi-frequency LEO/GNSS RF path observables add independent 3-D atmospheric information beyond existing GNSS and weather-analysis networks; it does not assume that satellite count, public TLE animation, or uncalibrated link performance is itself a weather measurement.