【问题标题】:Converting generic grid type to a lonlat gridtype using cdo使用 cdo 将通用网格类型转换为 lonlat 网格类型
【发布时间】:2021-06-30 16:26:33
【问题描述】:

我目前正在尝试使用一个 NetCDF 文件(可以从 https://doi.pangaea.de/10.1594/PANGAEA.828650 下载的开源数据)从该数据集中提取特定纬度(https://www.nodc.noaa.gov/archive/arc0105/0160558/3.3/data/0-data/spco2_1982-2015_MPI_SOM-FFN_v2016.nc,再次开源)。

第一个数据集是被称为生物群落的全球海洋的定义区域,我已经成功地从该区域中提取了覆盖标记为 16 和 17 的生物群落的区域。

此数据集具有以下网格类型:

gridtype  = generic
gridsize  = 64800
xsize     = 180
ysize     = 360
xname     = lat
xunits    = "degrees latitude"
yname     = lon
yunits    = "degrees longitude"
xfirst    = -89.5
xinc      = 1
yfirst    = -179.5
yinc      = 1

第二种网格类型是海洋碳通量的全球数据集(参数:fgco2_raw),我希望从 Time_Varying_Biomes.nc 中由生物群落 16 和 17 定义的区域中提取值。

此数据集 spco2_1982-2015_MPI_SOM-FFN_v2016.nc 具有以下网格类型:

gridtype  = lonlat
gridsize  = 64800
datatype  = float
xsize     = 360
ysize     = 180
xname     = lon
xlongname = "longitude"
xunits    = "degrees_east"
yname     = lat
ylongname = "latitude"
yunits    = "degrees_north"
xfirst    = -179.5
xinc      = 1

当我尝试重新调整 Time_Varying 时:

cdo remapbil,mygridtype Time_Varying_Biomes.nc TVB_rg.nc

我收到了这个错误:

cdo remapbil (Abort): Unsupported generic coordinates (Variable: MeanBiomes)!

以前有没有人遇到过这个问题,您知道我该如何解决这个问题吗?如果您需要任何进一步的信息来解决问题,请告诉我。

提前致谢!

【问题讨论】:

    标签: netcdf4 cdo-climate


    【解决方案1】:

    您可以使用setgrid 运算符解决此问题。

    首先创建一个网格文件。这与您提供的相同,但将“通用”替换为“lonlat”:

    cdo griddes infile.nc > mygrid
    sed -i "s/generic/lonlat/g" mygrid
    

    然后使用CDO设置网格:

    cdo setgrid,mygrid infile.nc infile_fixedgrid.nc
    

    然后您应该能够重新网格化文件。

    【讨论】:

    • 您好,抱歉,我还有一个问题。我注意到 Time_Varying_Biomes.nc 数据集上的经度和纬度坐标位于错误的轴上,因此标记不正确。当将此重新网格化到第二个数据集时,生物群系数据集中的信息会旋转 90 度,因此是不正确的。最好的,艾莉
    • 您可以使用 invertlat 反转纬度,但这听起来不像您想要的
    • 我认为这可能是我需要用另一个程序做的事情,因为我不确定它是否可以在 cdo 中完成。感谢您的帮助!
    猜你喜欢
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2018-08-03
    • 2012-03-03
    • 2019-07-05
    • 1970-01-01
    相关资源
    最近更新 更多