【问题标题】:Extracting temperature from Global Land Data Assimilation System (GLDAS) netcdf4 file using python? [closed]使用python从全球土地数据同化系统(GLDAS)netcdf4文件中提取温度? [关闭]
【发布时间】:2018-03-05 17:51:13
【问题描述】:

我使用 python 从 netcdf4 文件中提取温度数据我使用了这些代码,但它只返回空值。

from netCDF4 import Dataset

nc = Dataset("GLDAS_NOAH025_3H.A20170102.0000.021.nc4","r")
for temp in nc.variables['AvgSurfT_inst'] :
    print (temp)

输出:

[[[-- -- -- ..., -- -- --]
  [-- -- -- ..., -- -- --]
  [-- -- -- ..., -- -- --]
  ..., 
  [-- -- -- ..., -- -- --]
  [-- -- -- ..., -- -- --]
  [-- -- -- ..., -- -- --]]]

【问题讨论】:

  • 据我所知,这篇文章没有问题。
  • 如果你指向原始文件的位置,也许有人可以确认其中是否有任何未屏蔽的数据。

标签: python hdf5 netcdf netcdf4


【解决方案1】:

您可以通过使用np.ma.count_masked(data) 计算屏蔽值的数量来轻松检查是否所有/多少值被屏蔽(缺失)。例如,对于随机 NetCDF 文件:

import numpy as np
import netCDF4 as nc4

f = nc4.Dataset('bomex.ql.0000000.nc')

for v in f.variables:
    arr = f.variables[v][:]
    print('{0:}: values = {1:}, masked_values = {2:}'.format(v, np.size(arr), np.ma.count_masked(arr)))

这给了我类似的东西:

z: values = 32, masked_values = 0

zh: values = 33, masked_values = 0

u: values = 416, masked_values = 362

v:值 = 416,masked_values = 362

w: values = 429, masked_values = 369

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 2021-03-23
    • 2020-08-09
    • 2019-06-21
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多