提问人:Dasr 提问时间:10/24/2023 更新时间:10/24/2023 访问量:24
使用边界框坐标从 netcdf 文件中提取数据?
Extracting data using bounding box coordinates from netcdf files?
问:
我是使用 netcdf 文件的新手。我已经从哥白尼接口下载了与SST(海面温度)相关的netcdf文件(https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-sea-surface-temperature?tab=overview)
基本上,数据在一个压缩文件夹中提供,其中包含我感兴趣的每一天的一个 .nc 文件(我要求提供一系列日期)。
数据分辨率为 .5 度,据我所知,这意味着 7200,3600 (lon,lat)。鉴于我对全球数据不感兴趣,我需要做的第一件事就是为世界特定区域每天的数据子集。我有该区域的边界框坐标(6.6173,42.8348,11.1534,44.931)lon/lat,lon/lat)。
如何对一个文件执行此操作?
到目前为止,我已经做到了:
library(netcdf4)
#(ncin is the file name for one netcdf file for one day- using one day as an example, there's a long process of setting paths etc before you get to this stage)
# extracting longitude
lon <- ncvar_get(ncin,"lon")
# finding out how many points of longitude there are
nlon <- dim(lon)
# extracting latitude
lat <- ncvar_get(ncin,"lat")
# finding out how many points of latitude there are
nlat <- dim(lat)
# time is just 1 figure because it's just one day
time <- ncvar_get(ncin,"time")
# temparray dim are 7200 (longitude) and 3600 (latitude)
temp_array <- ncvar_get(ncin,"analysed_sst")
# closing the file as it saves a lot of resources
nc_close(ncin)
我已经尝试过,它给了我所有 lon 的索引,例如落在边界框内的索引,但后来我很挣扎,因为我得到的纬度观测值多于经度,然后我需要将其与 SST 相关联,我真的不知道该怎么做。which(lon > 6.6173 & lon < 11.1534)
总之,有没有一种简单的方法可以为我感兴趣的边界框提供坐标,并从 netcdf 文件中提取与此相关的所有数据?另外,一旦我确定了如何做到这一点,我是否需要每天循环提取,从而压缩文件夹中的每个文件,或者我可以合并所有文件(也许它们太大了?
谢谢。
答: 暂无答案
评论