我想regrid GCM数据可用高斯电网常规电网,说在1度X 1度。如何做到这一点CDO
或Python
或MATLAB
。
编辑1:数据格式是netcdf
。
江南体育网页版地球科学堆栈交换是一个问答网江南电子竞技平台站对于那些感兴趣的地质学、气象学、海洋学、环境科学。注册只需要一分钟。
报名加入这个社区我们定义了一个lat-lon目标网格与1°x1°网格单元尺寸30 x30网格细胞从40°N和-10°E (= 10°W):
gridtype = lonlat xsize = 30 ysize = 30 xfirst = -10 xinc = 1 yfirst = 40 yinc = 1
这段文本写入一个文本文件。看到1.3.2节CDO手册为进一步的细节和例子。
如果你已经有一个netCDF文件数据在你的目标网格,您还可以从该文件中提取网格定义:
cdo griddes FILE_WITH_TARGET_GRID。数控> myGridDef
myGridDef
是一个文本文件。
我认为我们做一个双线性插值。这是完成了remapbil
运营商通过:
cdo remapbil myGridDef INPUT_FILE。数控OUTPUT_FILE.nc
你输入数据的网格需要正确输入文件中定义(通常是一个问题)。
数据变量的空间维度下面的例子(SST)需要命名朗
和纬度
。此外,坐标变量朗
和纬度
必须存在(时间独立!)。这些需要正确的坐标变量属性(见下面的例子)。
例子:
维度:经度= 30;lat = 30;时间=无限;/ /当前(24)变量:双经度(朗);朗:standard_name =“经度”;朗:long_name =“经度”;朗:单位=“degrees_east”;朗:轴= " X ";双纬度(lat);纬度:standard_name =“纬度”; lat:long_name = "latitude" ; lat:units = "degrees_north" ; lat:axis = "Y" ; double time(time) ; time:standard_name = "time" ; time:long_name = "time" ; time:units = "seconds since 1900-01-01 00:00:00" ; time:calendar = "standard" ; time:axis = "T" ; float SST(time, lat, lon) ; SST:long_name = "sea_surface_temperature" ; SST:units = "degree celsius" ; SST:_FillValue = NaNf ; SST:missing_value = NaNf ; SST:var_desc = "sea surface temperature" ;
空间维度和相应变量存在于源文件但不表示朗
和纬度
。然后每个数据变量(SST,在这个例子中)需要一个属性坐标
保存坐标变量的名字。
风场:坐标= "经度纬度”;
例子:
维度:TSTEP =无限;/ /当前(24)坳= 112;行= 106;变量:”;双经度(行,坳);朗:standard_name =“经度”;朗:long_name =“经度坐标”;朗:单位=“degrees_east”;朗:_CoordinateAxisType =“朗”;双重纬度(行,坳); lat:standard_name = "latitude" ; lat:long_name = "latitude coordinate" ; lat:units = "degrees_north" ; lat:_CoordinateAxisType = "Lat" ; double time(TSTEP) ; time:standard_name = "time" ; time:long_name = "time" ; time:units = "seconds since 1900-01-01 00:00:00" ; time:calendar = "standard" ; float SST(TSTEP, ROW, COL) ; SST:long_name = "sea_surface_temperature" ; SST:units = "degree celsius" ; SST:coordinates = "lon lat" ; SST:var_desc = "sea surface temperature" ;
如果坐标变量是失踪,他们可以通过创建setgrid
操作符。如果我们想要添加一个网格定义源文件我们需要源文件的网格定义文本文件(参见“定义网格”)。
cdo setgrid, mySourceGridDef INFILE_NO_COORDS。数控INFILE_WI_COORDS.nc
griddes
这个文件是一个曲线网格。
\ endgroup美元
griddes
从现有目标网格netCDF文件)并应用一个插值程序(如remapbil
在你的文件,应该转换)。 \ endgroup美元netcdf
格式。我不确定interp2
可以应用在Gussian网格
虽然我已经使用这个函数严重直线网格
。 \ endgroup美元