Почему мое кригинг с внешним дрейфовым (KED) результатом слияния значительно отклоняется от данных спутникового осаждениPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему мое кригинг с внешним дрейфовым (KED) результатом слияния значительно отклоняется от данных спутникового осаждени

Сообщение Anonymous »

Я столкнулся с сложной проблемой при использовании Kriging с внешним дрейфом (KED) для предохранителя спутникового и дождевого датчика, и я надеялся получить некоторые советы. (В качестве внешнего дрейфа); < /li>
[*] Измерения дождевого датчика с наземных станций. < /li>
< /ol>
< /li>
Метод слияния: Ked (Kriging с внешним дрейфом). < /p>
< /li>

Проблема:
В большинстве случаев результаты слияния выглядят разумными.
Однако в определенное время, особенно когда станция наблюдает за локализованным, сильным количеством осадков, создавая большое расхождение со стороны спутникового уровня, - в результате KED демонстрируется «перегородка». аномально высокий, намного превышающий максимальное значение из любого из исходных входных источников. 16.4

Но пик сплайденного результата KED достигает 44,9
Огни дождя_comparison:

Мои вопросы:
Это «переиздание» между ними, особенно в отношении основных видов (особенно во время выпускников (и в отношении основных видов (особенно и с большими выпускниками (и в основном (и воле в сущности), особенно при решении с большими локальными выпускниками (и в основных видах. (спутник)? надежность результатов.

Код: Выделить всё

import numpy as np
from pykrige.uk import UniversalKriging

def ked_fusion(sat_data, sat_lat, sat_lon, gauge_values, station_coords,
variogram_model="spherical", variogram_parameters=None):
# Prepare station data
gauge_points = np.array(station_coords)
gauge_values = np.array(gauge_values) / 3600.0  # Convert mm/hr to mm/s

# Filter out invalid stations
valid_mask = ~np.isnan(gauge_values)
gauge_values = gauge_values[valid_mask]
gauge_points = gauge_points[valid_mask]

# Handle case with no valid stations
if gauge_values.size == 0:
return np.zeros_like(sat_data)

# Set default variogram parameters if not provided
if variogram_parameters is None:
variogram_parameters = {"sill": 0.1, "range": 1.0, "nugget": 1e-6}

# Perform KED fusion
uk = UniversalKriging(
x=gauge_points[:, 0],        # Station longitudes
y=gauge_points[:, 1],        # Station latitudes
z=gauge_values,              # Station observations
variogram_model=variogram_model,
variogram_parameters=variogram_parameters,
drift_terms=["external_Z"],  # External drift term
external_drift=sat_data,     # Satellite data as external drift
external_drift_x=sat_lon[0, :],  # Grid longitude vector
external_drift_y=sat_lat[:, 0],  # Grid latitude vector
pseudo_inv=True,             # Use pseudo-inverse for stability
exact_values=False           # Allow non-exact matches
)

# Generate fused grid
z, _ = uk.execute("grid", sat_lon[0, :], sat_lat[:, 0])
return np.where(z < 0, 0, z)  # Clip negative values to zero
`

Подробнее здесь: https://stackoverflow.com/questions/796 ... gnificantl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»