(P5)模型运行及结果可视化(netCDF)
上一篇说到PLAM的输出结果是nc文件,这一篇讲述如何可视化并分析nc文件中的数据(以MyProject_xy.nc为例)。这一篇的内容大致有以下几点
1)ncview快速可视化netcdf文件
2)panoply软件可视化netcdf文件
3)ArcMap处理netcdf文件
4)python读取netcdf文件
ncview软件可视化netcdf文件
前文已经说过,PALM系统是运行在Linux系统上的,ncview可以在Linux系统上快速可视化单个netcdf’文件。
安装
安装比较简单:sudo apt-get install ncview
打开
注意:ncview在任何界面点击右上角的x就会关闭整个软件
打开终端,输入ncview 文件路径,回车,即显示所有的变量和维度
查看变量
以tsurf*_xy为例,它是一个以x,y,time为维度的变量
ncview可以快速可视化单个文件,如果文件较多的话还是不太方便。
panoply软件可视化nc文件
Panoply有着良好的用户界面,它能同时操作多个nc文件
下载安装
官网下载地址:https://www.giss.nasa.gov/tools/panoply/download/
找到对应版本下载即可,官网有环境配置要求的说明
使用
这里主要讲Ubuntu上的使用方法
Ubuntu下载解压后,找到PanoplyJ文件夹,在该文件夹下打开终端,输入
bash panoply.sh打开软件,选择MyProject_xy.nc文件,打开
查看变量
选中tsurf*_xy,点击Create Plot,设置xy轴
导出数据
在首页选中tsurf*_xy,点击File——Export Data——As CSV,保存即可
Panoply可以同时操作多个nc文件,也有良好的用户界面,但是无法对数据进行更多的处理分析,arcmap提供了多维处理的工具,可以起到这个作用。
ArcMap操作netcdf文件
把MyProject_xy.nc文件拷贝到装有ArcMap的电脑上
nc转栅格图像
请参考:https://blog.csdn.net/ceibake/article/details/84787465
该博主对于nc文件的处理有很好的分享,很详细的博客,在此引用。
nc转点要素
打开nc文件
打开后显示的是点要素,显示所有数据
Python读取netcdf
python读取netcdf基本操作如下,下面是我读取MyProject_xy.nc的一小段代码,最后实现了对各个时刻每个地物的平均温度输出到表格之中
def readDataFromNc_file(path):array_class = np.loadtxt('ysqPalm_area_200*100.txt') #在txt文件中保存的原始图像的各个像素值array_data = np.ones((array_class.shape[0],array_class.shape[1]))data = nc.Dataset(path) #读取ncarray_theta = np.asarray(data.variables['tsurf*_xy']) #获得变量print(array_theta.shape)#np.savetxt("test.xls",array_theta[0,41,:,:],delimiter=',',fmt='%.3f')var_time = array_theta.shape[0]workbook = xlwt.Workbook()for time in range(var_time):List_building = list()List_pavement = list()List_vegetation = list()List_water = list()for i in range(array_class.shape[0]):for j in range(array_class.shape[1]):if array_class[i, j] == 0.514:List_building.append(array_theta[time,0,i,j] - 273.15) # builiding_16if array_class[i, j] == 0.702:List_building.append(array_theta[time,0,i,j] - 273.15) # building_8if array_class[i, j] == 0.804:List_pavement.append(array_theta[time,0,i,j] - 273.15) # pavementif array_class[i, j] == 0.447:List_vegetation.append(array_theta[time,0,i,j] - 273.15) # vegetationif array_class[i, j] == 0.000:List_water.append(array_theta[time,0,i,j] - 273.15) # waterarray_data[i,j] = array_theta[time,0,i,j] - 273.15print("{0}:00_建筑物_平均值:{1}".format(time + 8,sum(List_building)/len(List_building)))print("{0}:00_路面_平均值:{1}".format(time + 8, sum(List_pavement) / len(List_pavement)))print("{0}:00_植被_平均值:{1}".format(time + 8, sum(List_vegetation) / len(List_vegetation)))print("{0}:00_水体_平均值:{1}".format(time + 8, sum(List_water) / len(List_water)))saveAsFig(array_data,time,path)sheet = workbook.add_sheet("{0}".format(time + 8))for i in range(array_class.shape[0]):for j in range(array_class.shape[1]):sheet.write(i,j,array_data[i,j])workbook.save("{0}.xls".format(path))
综上所述,对nc文件的处理就介绍到这里。
至此,PALM系统的基本使用就介绍完了,PALM是一个非常强大的软件,它的功能远远不止于此,这里仅是九牛一毛,更多的功能和使用还请参考官方网站。
至此,ENVI-met和PALM-4U微环境模拟就介绍完毕,因为中间涉及到些许研究的数据,所以有些步骤没有说的很完整,这一点还请见谅。中间有不足的地方还请不吝赐教,多多交流,谢谢!
(P5)模型运行及结果可视化(netCDF)相关推荐
- 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存
使用randomsearchcv为多个模型寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲 ...
- 模型可解释性-树结构可视化
在算法建模过程中,我们一般会用测试集的准确率与召回率衡量一个模型的好坏.但在和客户的实际沟通时,单单抛出一个数字就想要客户信任我们,那肯定是不够的,这就要求我们摆出规则,解释模型.但不是所有的模型都是 ...
- 用共振频率去理解神经网络-将乙烯模型运行300次的数据
在<用神经网络做分子模型:乙烯和乙炔的实验数据>文中将乙烯模型运行了60次,得到C=C的位置的输出是0.5051,本文中将乙烯模型运行了300次,测试这个值是否可以重现. 得到数据 平均值 ...
- 可对Python运行原理进行可视化分析的工具
Python Tutor Python Tutor是一个对Python运行原理进行可视化分析的工具,网址为: http://www.pythontutor.com 使用范例 参考链接 转载于:http ...
- 华为云之ModelArts模型页卡死、模型运行一直失败、云服务器ip访问失败【无法访问此页面】【花了太长时间进行响应】
记录一些让我很崩溃的问题 一.ModelArts模型页卡死 问题描述: 解决方案: 二.ModelArts模型运行失败 问题描述: 解决方案: 三.云服务器ip访问失败[无法访问此页面][花了太长时间 ...
- 混合动力汽车SIMULINK整车模型,并联P2构型,基于规则的控制策略,模型运行及仿真无误
混合动力汽车SIMULINK整车模型,并联P2构型,基于规则的控制策略,模型运行及仿真无误id=660613016217&
- 单相逆变器S函数仿真,控制算法采用 S函数编写,在模型运行时调用S函数。 逆变器输出电压品质非常高
单相逆变器S函数仿真,控制算法采用 S函数编写,在模型运行时调用S函数. 逆变器输出电压品质非常高! ID:1765668638115213幸福生活
- 寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)
使用randomsearchcv寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲线.AUC ...
- 【SWAT水文模型】SWAT水文模型建立及应用第五期:SWAT模型运行设置
SWAT水文模型建立及应用:SWAT模型运行设置 1 SWAT模型运行设置 1.1 水文响应单元(HRU,Hydrologic Response Unit)划分 1.1.1 Land use/Soil ...
最新文章
- 《高效程序员的45个习惯》读后感
- matlab线性平面映射求通项_代数学发展史: 线性空间
- linux 命令-- touch
- Codeforces Round #666 (Div. 2)
- java语言的未来将去向何方?
- leetcode695:DFS 岛屿最大面积(C语言)
- python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
- 上海计算机一级flash真题,2011年上海市一级考PS与Flash试卷.docx
- OSPF路由控制原理与实验
- 计算机建立excel文件,用Excel建立数据库 -电脑资料
- POI 实现Word替换书签
- ffmpeg 裁剪视频 / 批量
- 数据库系统实验设计P63页例题及解析
- 为什么说视频号是下一个短视频风口?
- beeline执行sql语句_beeline执行sql脚本交易
- 发现网站被劫持该怎么办?网站域名劫持如何有效预防
- 项目管理:硬件类项目完整开发流程
- Cadence OrCAD Capture 原理图中预览元件封装技巧图文教程
- Amesim(六):如何使用回放功能
- JavaSE_day03【流程控制】
热门文章
- 【前端:css画三角形】
- Linux安装Docker(亲测有效)
- knif4j 访问不了
- aws python sns_手把手教你用Python抓取AWS的日志(CloudTrail)数据
- android cmwap 切换 cmnet,Android CMWAP和CMNET 切换APN
- 海康威视2017校园秋季招聘技术支持工程师面试经验
- 浙江杭州工程师职称评审论文要求
- Java编程入门与应用 P124——例5-4(计算90度的正弦值、0度的余弦值、1的反正切值、120度的弧度值)
- JDK8新特性(4)—— stream 流
- L1-038 新世界 Python