当前位置: 首页 > 知识库问答 >
问题:

从4d NetCDF文件中仅提取底部温度

索令
2023-03-14

我有一个海洋温度的 NetCDF 文件。它有 1 个变量(“temp”)和 4 个维度(时间、纬度、纬度和深度)。我想只提取每次最大深度的温度,lon和lat,以获得海底温度光栅砖。我愿意使用 R 或在终端中使用气候数据运算符。

NetCDF 文件的属性

nc_open('data.pre1980.nc')
File data.pre1980.nc (NC_FORMAT_CLASSIC):

     1 variables (excluding dimension variables):
        float temp[lon,lat,depth,time]   
            standard_name: sea_water_temperature
            long_name: TEMPERATURE
            units: Celsius_scale
            _FillValue: -9.98999971057742e+33
            missing_value: -9.98999971057742e+33
            pointwidth: 1

     4 dimensions:
        time  Size:324   *** is unlimited ***
            standard_name: time
            units: months since 1960-01-01
            calendar: 360_day
            axis: T
        lon  Size:440
            standard_name: longitude
            long_name: longitude
            units: degree_east
            axis: X
        lat  Size:179
            standard_name: latitude
            long_name: latitude
            units: degree_north
            axis: Y
        depth  Size:40
            units: meters
            axis: Z
            gridtype: 0

    4 global attributes:
        CDI: Climate Data Interface version 1.9.6 (http://mpimet.mpg.de/cdi)
        Conventions: CF-1.6
        history: Fri Aug 16 13:33:42 2019: cdo merge data.nc data.nc.1 data.nc.2 data.nc.3 data.nc.4 data.nc.5 data.pre1980.nc
        CDO: Climate Data Operators version 1.9.6 (http://mpimet.mpg.de/cdo)

提前感谢!

共有2个答案

姜华翰
2023-03-14

CDO确实有相同的功能,用一个负的索引来表示从文件的末尾反向计数(在时间、高度等方面)...),所以你也可以做:

cdo sellevidx,-1 in.nc out.nc

但Charlie是正确的,nco更简洁,因为它比cdo少输入一个字符,当然,除非你想用一个比“深度”长的垂直坐标名,在这种情况下,cdo获胜;-)

秦博延
2023-03-14

尝试带有负超板的 NCO ncks:

ncks -d depth,-1 in.nc out.nc

不太可能有更简洁的解决方案。

 类似资料:
  • 我有海洋pH、o2等的全球4D NetCDF文件。每个文件有1个变量和4个维度(时间、经度、纬度和深度)。我希望从不包含NA的每个单元格的最底部深度提取数据。我尝试使用带有负超实验室的NCO的nks: 但是,这只为我提供了最深的箱(即-5700米深度箱)的数据,输出了海洋中所有较浅区域的NaN。有没有办法以类似的方式提取数据,但指定我想要每个单元格最深的非 NaN 值? 我能够使用 R、CDO 或

  • 我需要从大文件中提取文本(最大限制50MB)文件可能是doc、ppt、xls、txt或pdf格式。到目前为止,我使用了ApachePOI'http://poi.apache.org/' 用于Microsoft Office文档和PDFBox从PDF中提取文本。然而,随着文件变大,提取过程变得缓慢,特别是以下文件。到目前为止我取得的成果: 1. PPTX-45MB-3分钟apx 2.PDF-62MB

  • 我正在编写一个Go客户端,通过REST-API创建备份。带有多部分表单数据的REST-API响应到GET请求。因此,响应(类型*http.response)正文的内容如下: 如何从响应正文中提取zip文件? 我试图使用内置(net / http)方法,但这些方法需要一个请求结构。

  • 如何从CSV文件中提取列? 我对Java有点陌生。你如何从csv文件中提取特定列。例如,如果我有这个数据: 如何提取第一列和第三列?我能够读取整个CSV文件,但我想从中提取特定的列。

  • 我需要解析一些BSOD崩溃文件,但我有一个可怕的混乱与符号。我有成吨的pdb文件,在文件夹下,所以文件夹名是pdb文件GUID,但我相信文件是混乱的。 我所需要做的就是找到从pdb文件中提取GUID的方法。我设法找到了这个工具。但不幸的是,我有错误,不能让它工作。

  • 我已经用Waffle开发了一个示例java web应用程序,用于SSO身份验证。我使用Waffle1.8和Tomcat8。我已经在我的开发环境(Java1.8、Tomcat8、Windows2012 R2服务器)中成功地运行并验证了它。但是当我在prod环境(与dev环境相同)中运行相同的应用程序时,它在试图访问URL时会出现以下错误: dll文件(com/sun/jna/win32-x86-64