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()
View Code

 

 

 

posted @ 2018-07-05 10:10  狗大王的梦  阅读(3370)  评论(0)    收藏  举报