将ENSO ONI指数写成netCDF格式,并在python中读取
时间: 2024-05-14 18:14:04 浏览: 106
以下是将ENSO ONI指数写成netCDF格式的示例代码:
```
import netCDF4 as nc
import numpy as np
# 定义数据
oni_data = np.array([-0.6, -0.4, -0.3, -0.1, 0.1, 0.3, 0.5, 0.6, 0.6, 0.5, 0.4, 0.2])
# 创建netCDF文件
nc_file = nc.Dataset('enso_oni.nc', 'w')
# 定义维度
time_dim = nc_file.createDimension('time', len(oni_data))
# 创建变量
oni_var = nc_file.createVariable('oni', np.float32, ('time',))
# 添加变量属性
oni_var.units = 'Celsius'
oni_var.long_name = 'Oceanic Nino Index'
# 将数据写入变量
oni_var[:] = oni_data
# 关闭文件
nc_file.close()
```
接下来是在python中读取netCDF文件的示例代码:
```
import netCDF4 as nc
# 打开文件
nc_file = nc.Dataset('enso_oni.nc', 'r')
# 获取变量
oni_var = nc_file.variables['oni']
# 读取变量值
oni_data = oni_var[:]
# 关闭文件
nc_file.close()
# 打印数据
print(oni_data)
```
阅读全文