上一篇说到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)相关推荐

  1. 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存

    使用randomsearchcv为多个模型寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲 ...

  2. 模型可解释性-树结构可视化

    在算法建模过程中,我们一般会用测试集的准确率与召回率衡量一个模型的好坏.但在和客户的实际沟通时,单单抛出一个数字就想要客户信任我们,那肯定是不够的,这就要求我们摆出规则,解释模型.但不是所有的模型都是 ...

  3. 用共振频率去理解神经网络-将乙烯模型运行300次的数据

    在<用神经网络做分子模型:乙烯和乙炔的实验数据>文中将乙烯模型运行了60次,得到C=C的位置的输出是0.5051,本文中将乙烯模型运行了300次,测试这个值是否可以重现. 得到数据 平均值 ...

  4. 可对Python运行原理进行可视化分析的工具

    Python Tutor Python Tutor是一个对Python运行原理进行可视化分析的工具,网址为: http://www.pythontutor.com 使用范例 参考链接 转载于:http ...

  5. 华为云之ModelArts模型页卡死、模型运行一直失败、云服务器ip访问失败【无法访问此页面】【花了太长时间进行响应】

    记录一些让我很崩溃的问题 一.ModelArts模型页卡死 问题描述: 解决方案: 二.ModelArts模型运行失败 问题描述: 解决方案: 三.云服务器ip访问失败[无法访问此页面][花了太长时间 ...

  6. 混合动力汽车SIMULINK整车模型,并联P2构型,基于规则的控制策略,模型运行及仿真无误

    混合动力汽车SIMULINK整车模型,并联P2构型,基于规则的控制策略,模型运行及仿真无误id=660613016217&

  7. 单相逆变器S函数仿真,控制算法采用 S函数编写,在模型运行时调用S函数。 逆变器输出电压品质非常高

    单相逆变器S函数仿真,控制算法采用 S函数编写,在模型运行时调用S函数. 逆变器输出电压品质非常高! ID:1765668638115213幸福生活

  8. 寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)

    使用randomsearchcv寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲线.AUC ...

  9. 【SWAT水文模型】SWAT水文模型建立及应用第五期:SWAT模型运行设置

    SWAT水文模型建立及应用:SWAT模型运行设置 1 SWAT模型运行设置 1.1 水文响应单元(HRU,Hydrologic Response Unit)划分 1.1.1 Land use/Soil ...

最新文章

  1. 《高效程序员的45个习惯》读后感
  2. matlab线性平面映射求通项_代数学发展史: 线性空间
  3. linux 命令-- touch
  4. Codeforces Round #666 (Div. 2)
  5. java语言的未来将去向何方?
  6. leetcode695:DFS 岛屿最大面积(C语言)
  7. python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
  8. 上海计算机一级flash真题,2011年上海市一级考PS与Flash试卷.docx
  9. OSPF路由控制原理与实验
  10. 计算机建立excel文件,用Excel建立数据库 -电脑资料
  11. POI 实现Word替换书签
  12. ffmpeg 裁剪视频 / 批量
  13. 数据库系统实验设计P63页例题及解析
  14. 为什么说视频号是下一个短视频风口?
  15. beeline执行sql语句_beeline执行sql脚本交易
  16. 发现网站被劫持该怎么办?网站域名劫持如何有效预防
  17. 项目管理:硬件类项目完整开发流程
  18. Cadence OrCAD Capture 原理图中预览元件封装技巧图文教程
  19. Amesim(六):如何使用回放功能
  20. JavaSE_day03【流程控制】

热门文章

  1. 【前端:css画三角形】
  2. Linux安装Docker(亲测有效)
  3. knif4j 访问不了
  4. aws python sns_手把手教你用Python抓取AWS的日志(CloudTrail)数据
  5. android cmwap 切换 cmnet,Android CMWAP和CMNET 切换APN
  6. 海康威视2017校园秋季招聘技术支持工程师面试经验
  7. 浙江杭州工程师职称评审论文要求
  8. Java编程入门与应用 P124——例5-4(计算90度的正弦值、0度的余弦值、1的反正切值、120度的弧度值)
  9. JDK8新特性(4)—— stream 流
  10. L1-038 新世界 Python