Python netcdf grid_longitude

问题描述 投票:0回答:1

通常,当我使用文件时,坐标位于lon和lat,但在这种情况下,它们位于'grid_longitude'

import xarray as xr
dataset = xr.open_dataset(r'C:\Users\eg\Desktop\nec\sfcan20120101a20121231_rot_mask.nc')
dataset

<xarray.Dataset>
Dimensions:        (height: 1, rlat: 240, rlon: 280, time: 366)
Coordinates:
* rlon           (rlon) float64 -5.0 -4.95 -4.9 -4.85 ... 8.8 8.85 8.9 8.95
* rlat           (rlat) float64 -6.45 -6.4 -6.35 -6.3 ... 5.35 5.4 5.45 5.5
* height         (height) float64 0.0
* time           (time) datetime64[ns] 2012-01-01T06:00:00 ... 2012-12- 31T06:00:00
Data variables:
rotated_pole   |S1 ...
precipitation  (time, height, rlat, rlon) float32 ...
lon            (rlat, rlon) float32 ...
lat            (rlat, rlon) float32 ...
Attributes:
title:        AEMET High-resolution (0.05 deg) daily gridded precipitatio...
institution:  Agencia Estatal de Meteorologia (AEMET, www.aemet.es)
references:   Peral, C., Navascu�s, B., Ramos, P. Available at: http://ww...
history:      Creation year 2017
Conventions:  CF-1.7
version:      1.0

有人知道如何将其向东和北转?,谢谢

 <xarray.DataArray 'rlon' (rlon: 280)>
 array([-5.  , -4.95, -4.9 , ...,  8.85,  8.9 ,  8.95])
 Coordinates:
  * rlon     (rlon) float64 -5.0 -4.95 -4.9 -4.85 -4.8 ... 8.8 8.85 8.9 8.95
 Attributes:
long_name:      longitude in rotated pole grid
units:          degrees
standard_name:  grid_longitude
axis:           X

<xarray.DataArray 'lon' (rlat: 240, rlon: 280)>
 array([[-11.988, -11.928, -11.868, ...,   4.566,   4.625,   4.684],
   [-11.992, -11.932, -11.872, ...,   4.573,   4.633,   4.692],
   [-11.996, -11.936, -11.876, ...,   4.581,   4.64 ,   4.699],
   ...,
   [-13.136, -13.065, -12.994, ...,   6.57 ,   6.64 ,   6.71 ],
   [-13.142, -13.071, -13.   , ...,   6.58 ,   6.65 ,   6.72 ],
   [-13.148, -13.077, -13.006, ...,   6.59 ,   6.661,   6.731]],
  dtype=float32)
  Coordinates:
  * rlon     (rlon) float64 -5.0 -4.95 -4.9 -4.85 -4.8 ... 8.8 8.85 8.9 8.95
  * rlat     (rlat) float64 -6.45 -6.4 -6.35 -6.3 -6.25 ... 5.35 5.4 5.45 5.5
 Attributes:
long_name:  longitude
units:      degrees_east

您可以看到它们完全不同

python netcdf
1个回答
0
投票

数据将从数值模型中得出,在该数值模型中,模型坐标系的极点与地球的真实极点不同。通常在运行有限区域模型时执行此操作,以使极点尽可能远离要建模的区域。这样可以使模型的分辨率在整个模型域内大致均匀,因为坐标系近似为笛卡尔坐标,避免了子午线收敛于极点附近的问题。

为了让您正确定位文件中的其他字段,CF Conventions要求通过二维数据将模型网格中每个点的真实位置与数据数组一起存储在文件中包含真实经度和纬度的变量,在此文件中将其称为lonlat

要完全确定lonlat变量包含的内容,原则上应该查看它们的属性,尤其是任何standard_namelong_name变量属性,尽管给出了它们的名称和事实。旋转的杆正在使用中,在这种情况下,很明显它们就是其中所包含的。

有关更多信息,请参见http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#grid-mappings-and-projections(此链接适用于CF约定的1.7版,因为这是数据文件中的内容。)

© www.soinside.com 2019 - 2024. All rights reserved.