matlab: The NetCDF library encountered an error ... function - ‘HDF error (NC_EINDEFINE)’.

这篇博客记录了在使用Matlab处理CLM数据时遇到的NetCDF库错误,包括'HDF error (NC_EINDEFINE)'和'Operation not allowed in define mode (NC_EINDEFINE)'。问题的根本原因是硬盘空间不足。作者通过检查并清理磁盘空间,成功解决了问题,提醒读者遇到类似问题时可以首先检查存储设备的状态。


动机

通过 Matlab 制作 CLM 强迫数据的时候遇到了问题,怕以后再遇见,缺忘记了解决办法,所以写下来。其实真的是很简单的原因,但是就是不知道怎么解决,看帖子很少能说到点子上的,很大一部分都是在猜。

问题

例1.
The NetCDF library encountered an error during execution of ‘putVarDouble’ function - 'HDF error (NC_EINDEFINE)’.

例2.
The NetCDF library encountered an error during execution of ‘putVarDouble’ function -
‘Operation not allowed in define mode (NC_EINDEFINE)’.
Error in netcdf.putVar (line 87)
netcdflib(funcstr,ncid,varid,varargin{:});
Error in toMatlabHelp (line 15)
netcdf.putVar(ncid,varid_lon,lont);
例3.
Error using netcdflib
The NetCDF library encountered an error during execution of ‘create’ function - ‘Invalid
argument (22)’.
Error in netcdf.create (line 61)
ncid = netcdflib(‘create’, filename, mode);
Error in NetcdfSimple (line 8)
ncid = netcdf.create(NameNetcdf,‘CLOBBER’);%NC_WRITE

解决方案:

返回我的电脑,查看盘符,是不是内存满了。
反正我的是 放暑假的 D 盘 满了。换个地方就好了。

唉,其实有时候解决问题就是这么简单,并不是自己的代码错误了啥的。

我在安装完h5netcdf数据库后再次运行刚报错的代码得出如下结果E:\Users\86134\Desktop\python学习\python学习\.venv\Scripts\python.exe E:\Users\86134\Desktop\python学习\python学习\降水数据提取.py 跳过缺失文件:E:\Users\86134\Desktop\python学习\python学习\precipitation_2025_09.nc 跳过缺失文件:E:\Users\86134\Desktop\python学习\python学习\precipitation_2025_10.nc 跳过缺失文件:E:\Users\86134\Desktop\python学习\python学习\precipitation_2025_11.nc 跳过缺失文件:E:\Users\86134\Desktop\python学习\python学习\precipitation_2025_12.nc 成功处理:precipitation_2002_01.nc 成功处理:precipitation_2002_02.nc 成功处理:precipitation_2002_03.nc 成功处理:precipitation_2002_04.nc 成功处理:precipitation_2002_05.nc 成功处理:precipitation_2002_06.nc 成功处理:precipitation_2002_07.nc 成功处理:precipitation_2002_08.nc 成功处理:precipitation_2002_09.nc 成功处理:precipitation_2002_10.nc 成功处理:precipitation_2002_11.nc 成功处理:precipitation_2002_12.nc 成功处理:precipitation_2003_01.nc 成功处理:precipitation_2003_02.nc 成功处理:precipitation_2003_03.nc 成功处理:precipitation_2003_04.nc 成功处理:precipitation_2003_05.nc 成功处理:precipitation_2003_06.nc 成功处理:precipitation_2003_07.nc 成功处理:precipitation_2003_08.nc 成功处理:precipitation_2003_09.nc 成功处理:precipitation_2003_10.nc 成功处理:precipitation_2003_11.nc 成功处理:precipitation_2003_12.nc 成功处理:precipitation_2004_01.nc 成功处理:precipitation_2004_02.nc 成功处理:precipitation_2004_03.nc 成功处理:precipitation_2004_04.nc 成功处理:precipitation_2004_05.nc 成功处理:precipitation_2004_06.nc 成功处理:precipitation_2004_07.nc 成功处理:precipitation_2004_08.nc 成功处理:precipitation_2004_09.nc 成功处理:precipitation_2004_10.nc 成功处理:precipitation_2004_11.nc 成功处理:precipitation_2004_12.nc 成功处理:precipitation_2005_01.nc 成功处理:precipitation_2005_02.nc 成功处理:precipitation_2005_03.nc 成功处理:precipitation_2005_04.nc 成功处理:precipitation_2005_05.nc 成功处理:precipitation_2005_06.nc 成功处理:precipitation_2005_07.nc 成功处理:precipitation_2005_08.nc 成功处理:precipitation_2005_09.nc 成功处理:precipitation_2005_10.nc 成功处理:precipitation_2005_11.nc 成功处理:precipitation_2005_12.nc 成功处理:precipitation_2006_01.nc 成功处理:precipitation_2006_02.nc 成功处理:precipitation_2006_03.nc 成功处理:precipitation_2006_04.nc 成功处理:precipitation_2006_05.nc 成功处理:precipitation_2006_06.nc 成功处理:precipitation_2006_07.nc 成功处理:precipitation_2006_08.nc 成功处理:precipitation_2006_09.nc 成功处理:precipitation_2006_10.nc 成功处理:precipitation_2006_11.nc 成功处理:precipitation_2006_12.nc 成功处理:precipitation_2007_01.nc 成功处理:precipitation_2007_02.nc 成功处理:precipitation_2007_03.nc 成功处理:precipitation_2007_04.nc 成功处理:precipitation_2007_05.nc 成功处理:precipitation_2007_06.nc 成功处理:precipitation_2007_07.nc 成功处理:precipitation_2007_08.nc 成功处理:precipitation_2007_09.nc 成功处理:precipitation_2007_10.nc 成功处理:precipitation_2007_11.nc 成功处理:precipitation_2007_12.nc 成功处理:precipitation_2008_01.nc 成功处理:precipitation_2008_02.nc 成功处理:precipitation_2008_03.nc 成功处理:precipitation_2008_04.nc 成功处理:precipitation_2008_05.nc 成功处理:precipitation_2008_06.nc 成功处理:precipitation_2008_07.nc 成功处理:precipitation_2008_08.nc 成功处理:precipitation_2008_09.nc 成功处理:precipitation_2008_10.nc 成功处理:precipitation_2008_11.nc 成功处理:precipitation_2008_12.nc 成功处理:precipitation_2009_01.nc 成功处理:precipitation_2009_02.nc 成功处理:precipitation_2009_03.nc 成功处理:precipitation_2009_04.nc 成功处理:precipitation_2009_05.nc 成功处理:precipitation_2009_06.nc 成功处理:precipitation_2009_07.nc 成功处理:precipitation_2009_08.nc 成功处理:precipitation_2009_09.nc 成功处理:precipitation_2009_10.nc 成功处理:precipitation_2009_11.nc 成功处理:precipitation_2009_12.nc 成功处理:precipitation_2010_01.nc 成功处理:precipitation_2010_02.nc 成功处理:precipitation_2010_03.nc 成功处理:precipitation_2010_04.nc 成功处理:precipitation_2010_05.nc 成功处理:precipitation_2010_06.nc 成功处理:precipitation_2010_07.nc 成功处理:precipitation_2010_08.nc 成功处理:precipitation_2010_09.nc 成功处理:precipitation_2010_10.nc 成功处理:precipitation_2010_11.nc 成功处理:precipitation_2010_12.nc 成功处理:precipitation_2011_01.nc 成功处理:precipitation_2011_02.nc 成功处理:precipitation_2011_03.nc 成功处理:precipitation_2011_04.nc 成功处理:precipitation_2011_05.nc 成功处理:precipitation_2011_06.nc 成功处理:precipitation_2011_07.nc 成功处理:precipitation_2011_08.nc 成功处理:precipitation_2011_09.nc 成功处理:precipitation_2011_10.nc 成功处理:precipitation_2011_11.nc 成功处理:precipitation_2011_12.nc 成功处理:precipitation_2012_01.nc 成功处理:precipitation_2012_02.nc 成功处理:precipitation_2012_03.nc 成功处理:precipitation_2012_04.nc 成功处理:precipitation_2012_05.nc 成功处理:precipitation_2012_06.nc 成功处理:precipitation_2012_07.nc 成功处理:precipitation_2012_08.nc 成功处理:precipitation_2012_09.nc 成功处理:precipitation_2012_10.nc 成功处理:precipitation_2012_11.nc 成功处理:precipitation_2012_12.nc 成功处理:precipitation_2013_01.nc 成功处理:precipitation_2013_02.nc 成功处理:precipitation_2013_03.nc 成功处理:precipitation_2013_04.nc 成功处理:precipitation_2013_05.nc 成功处理:precipitation_2013_06.nc 成功处理:precipitation_2013_07.nc 成功处理:precipitation_2013_08.nc 成功处理:precipitation_2013_09.nc 成功处理:precipitation_2013_10.nc 成功处理:precipitation_2013_11.nc 成功处理:precipitation_2013_12.nc 成功处理:precipitation_2014_01.nc 成功处理:precipitation_2014_02.nc 成功处理:precipitation_2014_03.nc 成功处理:precipitation_2014_04.nc 成功处理:precipitation_2014_05.nc 成功处理:precipitation_2014_06.nc 成功处理:precipitation_2014_07.nc 成功处理:precipitation_2014_08.nc 成功处理:precipitation_2014_09.nc 成功处理:precipitation_2014_10.nc 成功处理:precipitation_2014_11.nc 成功处理:precipitation_2014_12.nc 成功处理:precipitation_2015_01.nc 成功处理:precipitation_2015_02.nc 成功处理:precipitation_2015_03.nc 成功处理:precipitation_2015_04.nc 成功处理:precipitation_2015_05.nc 成功处理:precipitation_2015_06.nc 成功处理:precipitation_2015_07.nc 成功处理:precipitation_2015_08.nc 成功处理:precipitation_2015_09.nc 成功处理:precipitation_2015_10.nc 成功处理:precipitation_2015_11.nc 成功处理:precipitation_2015_12.nc 成功处理:precipitation_2016_01.nc 成功处理:precipitation_2016_02.nc 成功处理:precipitation_2016_03.nc 成功处理:precipitation_2016_04.nc 成功处理:precipitation_2016_05.nc 成功处理:precipitation_2016_06.nc 成功处理:precipitation_2016_07.nc 成功处理:precipitation_2016_08.nc 成功处理:precipitation_2016_09.nc 成功处理:precipitation_2016_10.nc 成功处理:precipitation_2016_11.nc 成功处理:precipitation_2016_12.nc 成功处理:precipitation_2017_01.nc 成功处理:precipitation_2017_02.nc 成功处理:precipitation_2017_03.nc 成功处理:precipitation_2017_04.nc 成功处理:precipitation_2017_05.nc 成功处理:precipitation_2017_06.nc 成功处理:precipitation_2017_07.nc 成功处理:precipitation_2017_08.nc 成功处理:precipitation_2017_09.nc 成功处理:precipitation_2017_10.nc 成功处理:precipitation_2017_11.nc 成功处理:precipitation_2017_12.nc 成功处理:precipitation_2018_01.nc 成功处理:precipitation_2018_02.nc 成功处理:precipitation_2018_03.nc 成功处理:precipitation_2018_04.nc 成功处理:precipitation_2018_05.nc 成功处理:precipitation_2018_06.nc 成功处理:precipitation_2018_07.nc 成功处理:precipitation_2018_08.nc 成功处理:precipitation_2018_09.nc 成功处理:precipitation_2018_10.nc 成功处理:precipitation_2018_11.nc 成功处理:precipitation_2018_12.nc 成功处理:precipitation_2019_01.nc 成功处理:precipitation_2019_02.nc 成功处理:precipitation_2019_03.nc 成功处理:precipitation_2019_04.nc 成功处理:precipitation_2019_05.nc 成功处理:precipitation_2019_06.nc 成功处理:precipitation_2019_07.nc 成功处理:precipitation_2019_08.nc 成功处理:precipitation_2019_09.nc 成功处理:precipitation_2019_10.nc 成功处理:precipitation_2019_11.nc 成功处理:precipitation_2019_12.nc 成功处理:precipitation_2020_01.nc 成功处理:precipitation_2020_02.nc 成功处理:precipitation_2020_03.nc 成功处理:precipitation_2020_04.nc 成功处理:precipitation_2020_05.nc 成功处理:precipitation_2020_06.nc 成功处理:precipitation_2020_07.nc 成功处理:precipitation_2020_08.nc 成功处理:precipitation_2020_09.nc 成功处理:precipitation_2020_10.nc 成功处理:precipitation_2020_11.nc 成功处理:precipitation_2020_12.nc 成功处理:precipitation_2021_01.nc 成功处理:precipitation_2021_02.nc 成功处理:precipitation_2021_03.nc 成功处理:precipitation_2021_04.nc 成功处理:precipitation_2021_05.nc 成功处理:precipitation_2021_06.nc 成功处理:precipitation_2021_07.nc 成功处理:precipitation_2021_08.nc 成功处理:precipitation_2021_09.nc 成功处理:precipitation_2021_10.nc 成功处理:precipitation_2021_11.nc 成功处理:precipitation_2021_12.nc 成功处理:precipitation_2022_01.nc 成功处理:precipitation_2022_02.nc 成功处理:precipitation_2022_03.nc 成功处理:precipitation_2022_04.nc 成功处理:precipitation_2022_05.nc 成功处理:precipitation_2022_06.nc 成功处理:precipitation_2022_07.nc 成功处理:precipitation_2022_08.nc 成功处理:precipitation_2022_09.nc 成功处理:precipitation_2022_10.nc 成功处理:precipitation_2022_11.nc 成功处理:precipitation_2022_12.nc 成功处理:precipitation_2023_01.nc 成功处理:precipitation_2023_02.nc 成功处理:precipitation_2023_03.nc 成功处理:precipitation_2023_04.nc 成功处理:precipitation_2023_05.nc 成功处理:precipitation_2023_06.nc 成功处理:precipitation_2023_07.nc 成功处理:precipitation_2023_08.nc 成功处理:precipitation_2023_09.nc 成功处理:precipitation_2023_10.nc 成功处理:precipitation_2023_11.nc 成功处理:precipitation_2023_12.nc 成功处理:precipitation_2024_01.nc 成功处理:precipitation_2024_02.nc 成功处理:precipitation_2024_03.nc 成功处理:precipitation_2024_04.nc 成功处理:precipitation_2024_05.nc 成功处理:precipitation_2024_06.nc 成功处理:precipitation_2024_07.nc 成功处理:precipitation_2024_08.nc 成功处理:precipitation_2024_09.nc 成功处理:precipitation_2024_10.nc 成功处理:precipitation_2024_11.nc 成功处理:precipitation_2024_12.nc 成功处理:precipitation_2025_01.nc 成功处理:precipitation_2025_02.nc 成功处理:precipitation_2025_03.nc 成功处理:precipitation_2025_04.nc 成功处理:precipitation_2025_05.nc 成功处理:precipitation_2025_06.nc 成功处理:precipitation_2025_07.nc 成功处理:precipitation_2025_08.nc 合并完成!共处理 284 个文件,时间范围:0 至 283 合并数据已导出至:E:\Users\86134\Desktop\python学习\python学习\poyang_basin_precip_2002-2025_combined.nc Traceback (most recent call last): File "E:\Users\86134\Desktop\python学习\python学习\降水数据提取.py", line 84, in <module> yearly_data = combined_ds.sel(time=combined_ds.time.dt.year == year) ^^^^^^^^^^^^^^^^^^^ File "E:\Users\86134\Desktop\python学习\python学习\.venv\Lib\site-packages\xarray\core\common.py", line 306, in __getattr__ raise AttributeError( f"{type(self).__name__!r} object has no attribute {name!r}" ) AttributeError: 'DataArray' object has no attribute 'dt'. Did you mean: 'dot'? 进程已结束,退出代码为 1 请问是否成功提取了数据,那提取后的数据存储到了哪里呢
最新发布
08-07
### 数据提取与存储确认方法 在使用 `xarray` 处理 NetCDF 数据后,为了确认降水数据是否成功提取并找到导出文件的位置,可以通过以下方式验证: #### 1. 输出数据基本信息进行确认 在数据处理过程中,可以通过打印数据集(`xarray.Dataset`)或数据变量(`xarray.DataArray`)的信息来确认数据是否正确加载和处理。例如: ```python import xarray as xr # 读取 NetCDF 文件 ds = xr.open_dataset('example.nc', engine='h5netcdf') # 打印数据集的基本信息 print(ds) ``` 上述代码会输出数据集的维度、坐标和变量信息,确保数据结构与预期一致[^1]。 #### 2. 检查导出文件是否生成 在数据处理完成后,通常会使用 `to_netcdf()` 方法将结果保存为新的 NetCDF 文件。为了确认文件是否成功生成,可以在导出路径后打印文件路径,并检查对应目录是否存在该文件: ```python # 导出处理后的数据 output_path = 'processed_precipitation.nc' ds.to_netcdf(output_path) # 输出导出路径 print(f"数据已导出至:{output_path}") ``` 确保输出路径为绝对路径或相对路径正确,并在文件系统中检查该路径下是否存在对应的 `.nc` 文件。 #### 3. 读取导出文件以验证数据完整性 为了进一步验证数据是否成功提取和存储,可以重新读取导出的文件并检查其内容是否与预期一致: ```python # 重新读取导出的文件 exported_ds = xr.open_dataset('processed_precipitation.nc', engine='h5netcdf') # 输出导出数据集的基本信息 print(exported_ds) # 检查特定变量的统计信息 print("降水数据均值:", exported_ds['precipitation'].mean().values) ``` 通过比较原始数据和导出数据的统计信息(如均值、最大值、最小值等),可以判断数据是否被正确处理和存储。 #### 4. 可视化数据以确认提取结果 如果需要更直观地确认数据提取结果,可以使用 `matplotlib` 或 `cartopy` 等库对数据进行可视化: ```python import matplotlib.pyplot as plt # 绘制某一时间点的降水数据 ds['precipitation'].isel(time=0).plot() # 显示图形 plt.show() ``` 通过可视化可以直观判断数据的空间分布是否符合预期,从而进一步确认数据提取的准确性。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值