lilidog

一、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

 

 

 

分类:

技术点:

相关文章: