Skip to content

Commit cc5c231

Browse files
Fix the handling of Rytov variance
1 parent 2e8a41c commit cc5c231

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

src/cosmica/comm_link/uncertainty.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def scaled_aperture(self, link_distance: float) -> float:
149149
def sigma2_scintillation(
150150
self,
151151
link_distance: float,
152-
ryotv_variance: float | None = None,
152+
rytov_variance: float | None = None,
153153
) -> Annotated[
154154
float,
155155
Doc(
@@ -158,13 +158,12 @@ def sigma2_scintillation(
158158
'Propagation through Random Media" Chapter 10.',
159159
),
160160
]:
161-
if ryotv_variance is not None and self.default_rytov_variance != ryotv_variance:
162-
ryotv_variance = self.default_rytov_variance
161+
variance = self.default_rytov_variance if rytov_variance is None else rytov_variance
163162
scaled_aperture = self.scaled_aperture(link_distance=link_distance)
164-
num1 = 0.49 * self.default_rytov_variance
165-
den1 = (1 + 0.65 * scaled_aperture**2 + 1.11 * self.default_rytov_variance ** (6 / 5)) ** (7 / 6)
166-
num2 = 0.51 * self.default_rytov_variance * (1 + 0.69 * self.default_rytov_variance ** (6 / 5)) ** (-5 / 6)
167-
den2 = 1 + 0.90 * scaled_aperture**2 + 0.62 * scaled_aperture**2 * self.default_rytov_variance ** (6 / 5)
163+
num1 = 0.49 * variance
164+
den1 = (1 + 0.65 * scaled_aperture**2 + 1.11 * variance ** (6 / 5)) ** (7 / 6)
165+
num2 = 0.51 * variance * (1 + 0.69 * variance ** (6 / 5)) ** (-5 / 6)
166+
den2 = 1 + 0.90 * scaled_aperture**2 + 0.62 * scaled_aperture**2 * variance ** (6 / 5)
168167
return np.exp(num1 / den1 + num2 / den2) - 1
169168

170169
def sample(

0 commit comments

Comments
 (0)