Я новичок здесь.
Прежде всего, я очень благодарен за ваше время и внимание.
У меня есть 2 вопроса, касающихся управления 2 различными файлами Netcdf в Python.
Я много искал, но, к сожалению, не смог найти решение.
1 - у меня есть файл netcdf, координаты которого указаны ниже:
time datetime64[ns] 2016-08-16T22:00:00
* y (y) int32 220000 ... 620000
* x (x) int32 20000 ... 720000
lat (y, x) float64 dask.array<shape=(401, 701),
lon (y, x) float64 dask.array<shape=(401, 701),
Мне нужно изменить координаты на lon / lat, чтобы я мог нарезать область на основе определенных координат lon / lat (используя xarray). Но я не знаю, как изменить x и y на lon lat.
вот мой код:
import xarray as xr
import matplotlib.pyplot as plt
p = "R_201608.nc"
ds = xr.open_mfdataset(p)
q=ds.RR.sel(time='2016-08-16T21:00:00')
2- Аналогично 1, у меня есть другой файл netcdf, координаты которого указаны ниже:
* X (X) float32 557600.0 .. 579400.0
* Y (Y) float32 5190600 ... 5205400.0
* time (time) datetime64[ns] 2007-01I
Как я могу преобразовать x и y в систему lon / lat, чтобы я мог построить их в системе lon / lat?
Редактировать, связанные с @Ryan:
1- Да. этот файл демонстрирует количество осадков на большой территории. Я хочу разрезать его на меньшую область - аналогичную область файла, связанную с q2, - и сравнить их, используя смещение, RMSE и т. Д. Вот полная информация, относящаяся к этому файлу:
<xarray.Dataset>
Dimensions: (time: 2976, x: 701, y: 401)
Coordinates:
* time (time) datetime64[ns] 2016-08-31T23:45:00
* y (y) int32 220000 221000 ... 619000 620000
* x (x) int32 20000 21000 ... 719000 720000
lat (y, x) float64 dask.array<shape=(401, 701),chunksize=(401, 701)>
lon (y, x) float64 dask.array<shape=(401, 701), chunksize=(401, 701)
Data variables:
RR (time, y, x) float32 dask.array<shape=(2976, 401, 701), chunksize=(2976, 401, 701)>
lambert_conformal_conic int32 ...
Conventions: CF-1.5
правка, связанная с @Ryan: 2- И вот полная информация о втором файле (меньшая область):
<xarray.DataArray 'Precip' (time: 8928, Y: 75, X: 110)>
dask.array<shape=(8928, 75, 110), dtype=float32, chunksize=(288, 75, 110)>
Coordinates:
sensor_height_precip float32 1.5
sensor_height_P float32 1.5
* X (X) float32 557600.0 557800.0 ... 579200.0 579400.0
* Y (Y) float32 5190600.0 5190800.0 ... 5205400.0
* time (time) datetime64[ns] 2007-01-31T23:55:00
Attributes:
grid_mapping: UTM33N
ancillary_variables: QFlag_Precip QGrid_Precip
long_name: Precipitation Amount
standard_name: precipitation_amount
cell_methods: time:sum
units: mm