netCDF4库用于nc格式数据文件的读写操作
一、netCDF4的安装
1.安装cftime模块
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
在cmd中打开下载好的whl文件位置,执行 pip --default-timeout=6000 install cftime-1.0.0-cp36-cp36m-win_amd64.whl
2.pip安装netCDF4库
pip install netCDF4 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
二、netCDF4的使用
1.导入模块, from netCDF4 import Dataset
2.打开文件, nf = Dataset(r'E:\cjk\new_cjk\python_cjk\cjk_obc.nc','r')
3.查看有哪些变量, print(nf.variables.keys)
4.获取变量信息, print(nf.variables['elevation'])
5.读取变量值, ele = nf.variables['elevation'][:]
三、netCDF4的使用实例
1.将边界强迫文件cjk_obc.nc文件中的水位elevation(shape:time*node)全部加上0.5m,获得用于模拟海平面上升情况下新的水位强迫文件

1 #---------------------------------------------------------------------- 2 #本程序用于改变开边界强迫水位,用于模拟海平面上升 3 #---------------------------------------------------------------------- 4 from netCDF4 import Dataset 5 import numpy as np 6 import shutil 7 8 9 #---------------------------------------------------------------------- 10 #需要参数,原始边界强迫文件file_in,海平面上升数值SLR(m),输出文件file_out 11 #---------------------------------------------------------------------- 12 file_in = r'E:\cjk\new_cjk\python_cjk\cjk_obc.nc' 13 SLR = 0.5 14 file_out = r'E:\cjk\new_cjk\python_cjk\cjk_obc_SLR_0.5.nc' 15 16 17 #---------------------------------------------------------------------- 18 #读写文件 19 #---------------------------------------------------------------------- 20 shutil.copyfile(file_in,file_out) 21 nf = Dataset(file_out, 'a') 22 ele = nf.variables['elevation'][:] 23 ele_new = ele + np.ones(ele.shape,)*SLR 24 nf.variables['elevation'][:] = ele_new[:] 25 nf.close()