文档章节

Python安装及netcdf数据读写

voole
 voole
发布于 2018/12/12 20:36
字数 916
阅读 36
收藏 0

 

一、在CentOS7系统上安装Python3

在anaconda官网下载(http://https://www.anaconda.com/download/#linux)(Anaconda指的是一个开源的Python发行版本,是Python的包管理器和环境管理器)

下载linux安装包:Anaconda3-5.2.0-Linux-x86_64.sh,上传到服务器

执行“sh Anaconda3-5.2.0-Linux-x86_64.sh”进行安装

输入“yes”,进行许可证确认

输入“本地安装路径”,执行普通用户目录下安装(注意安装完成后,不要再更改anaconda路径了)

注意“同意安装程序在bashrc中添加环境变量”,安装完成后source ~/.bashrc

(export PATH="/home/xxx/usr/local/anaconda3/bin:$PATH")

输入“python3”测试成功与否

二、配置vim的Python3支持

通过设置~/.vimrc和在~/.vim添加插件,来实现有代码高亮、代码自动补全(pydiction-1.2.3)、代码自动提示(autocomplpop.vim)等,使vim接近IDE

三、Python3读取netcdf数据,并简单画图

 

1、添加conda清华源,加快安装速度

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls true

 

2、更新conda本身和自带库(前提:服务器可以连接外网)

conda update -n base conda

conda upgrade --all

 

3、安装netCDF4、basemap库

分别conda install netCDF4、conda install basemap即可

分别import netCDF4 as nc和from mpl_toolkits.basemap import Basemap不报错即可

 

4、错误undefined symbol: omp_get_num_procs

conda install mkl-rt

 

5、错误Qt: Could not determine keyboard configuration data from X server

在bashrc中添加

export XKB_DEFAULT_RULES=base

export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb

 

6、错误Qt: XKEYBOARD extension not present on the X server

设置xmange中的Xconfig->Default Profile->Properties->Advanced->X Extensions-> check the 'XKEYBOARD'(勾选)

 

7、错误QXcbConnection: Failed to initialize XRandr(弯路,请跳过)

(Qt5:Qt是诺基亚公司的C++可视化开发平台,最新版本为Qt5;XRandr:设置屏幕显示的软件包)

a、执行qtcreator,发现服务器本身就没有安装qt5和qt,因此先进行安装

感谢参考:CentOS7安装EPEL源(https://blog.csdn.net/qq_19674905/article/details/78224125

感谢参考:配置国内y和e源(http://https://www.cnblogs.com/renpingsheng/p/7845096.html

配置yum国内源:

cd /etc/yum.repos.d/; mkdir repo_bak; mv *.repo repo_bak/

wget http://mirrors.aliyun.com/repo/Centos-7.repo

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

yum clean all && yum makecache

安装epel并配置epel国内源:

yum -y install epel-release

wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum clean all && yum makecache

查看所有可用源和所有源(可用源和禁用源):

yum repolist enabled

yum repolist all

安装qt-creator和qt:

yum install qt-creator

yum install qt

b、再次执行qtcreator,报错:libGL error: No matching fbConfigs or visuals found

暂时终止排错,因为虽然有错误,但是不影响简单画图

8、python读取nc数据,简单画图程序

from mpl_toolkits.basemap import Basemap  # import Basemap
import numpy as np  
import matplotlib.pyplot as plt  
from netCDF4 import Dataset  # netcdf4-python module  
  
# load in the netCDF4 file  
nc = Dataset('mdbz.nc')  
  
# read the variables from the netCDF4 file and assign 
mdbz = nc.variables['mdbz'][:,:]  
lat = nc.variables['lat'][:]  
lon = nc.variables['lon'][:]  
  
# set the plotting var for 2d shaded figure,set the colormap
plt.contourf(mdbz, cmap='Accent')  
  
# show and save the figure  
plt.savefig('mdbz.png')  
plt.show()  

四、Python3读取netcdf数据,并输出到新的netcdf数据

print(type(mdbz)) 查看变量类型

print(mdbz.shape[0]) 查看变量第0维大小

print(id(mdbz)) 查看变量内存地址

lat[:] = lats[:] 正确赋值;lat = lats 错误赋值

from netCDF4 import Dataset  # netcdf4-python module  
from scipy.io import netcdf  
  
  
# load in the netCDF4 file  
nc = Dataset('mdbz.nc')  
  
# read the variables from the netCDF4 file and assign 
mdbz = nc.variables['mdbz'][:,:]  
lats = nc.variables['lat'][:]  
lons = nc.variables['lon'][:]  
  
# output to the new netCDF4 file  
f = netcdf.netcdf_file('mdbz_new.nc', 'w')  
f.createDimension('lat', mdbz.shape[0])  
f.createDimension('lon', mdbz.shape[1])  
reflectivity = f.createVariable('reflectivity', 'f8', ('lat', 'lon'))  
lat = f.createVariable('lat', 'f8', ('lat', ))  
lon = f.createVariable('lon', 'f8', ('lon', ))  
reflectivity[:,:] = mdbz[:,:]  
lat[:] = lats[:]  
lon[:] = lons[:]  
lat.units = "degrees_north"  
lon.units = "degrees_east"  
reflectivity.units = "dBZ"  
f.close()  

本文转载自:http://blog.sina.com.cn/s/blog_151391cb60102yssg.html

共有 人打赏支持
voole

voole

粉丝 16
博文 101
码字总数 4434
作品 1
海淀
私信 提问
NetCDF 4.2.2.1 发布,网络通用数据格式

NetCDF 4.2.2.1 发布,该版本修复了远程访问超过2G的大文件时的 DAP 性能问题,修复了 CDL 输出的bug等。 NetCDF(network Common Data Format),即网络通用数据格式。最早是由美国国家科学委...

oschina
2012/08/05
866
0
NetCDF 文件概要与读写

NetCDF简介 NetCDF(network Common Data Format),即网络通用数据格式。最早是由美国国家科学委员会资助之计划--Unidata --所发展,其用意是在Unidata计划中不同的应用项目下,提供一种可以通...

鉴客
2012/03/22
854
0
Parallel-NetCDF 1.3.0 发布,高性能 I/O 库

Parallel-NetCDF 1.3.0 发布,Parallel-NetCDF 是一个使用 MPI-IO 和一个定制版本的 NetCDF API 来实现高性能 I/O 的开发库。 该版本改进内容: Optimizations were made to reduce communic...

oschina
2012/07/27
1K
1
NCO 4.2.0 发布,netCDF 格式分析库

NCO 4.2.0 发布,该版本增加对 Visual Studio 支持,修复了一些 bug。 netCDF Operators (NCO) 工具用来操作和分析 netCDF 自描述数据存储格式。...

oschina
2012/07/24
679
0
在fedora20下安装NETCDF遇到问题,求助!!!

Making all in cxx make[2]: 进入目录“/home/moriarty/netcdf-3.6.2/cxx” depbase=`echo ncvalues.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ if /bin/sh ../libtool --tag=CXX --mode=c......

noleyyy
2014/06/05
441
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 没时间 没头发 但有钱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @开源中国总经办主任 :分享齐一的单曲《这个年纪》 《这个年纪》- 齐一 手机党少年们想听歌,请使劲儿戳(这里) @肿肿卷 :我真的可以睡一天...

小小编辑
32分钟前
11
4
Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
3
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部