之前在介绍高维数据可视化时说过后面会说WRF模式后处理的高维可视化,这跳票一跳就是差不多一年半,今天从其Vis5d的角度说一下WRF模式的高维可视化。
CESM是一个完全耦合的地球系统的数值模拟,由大气、海洋、冰、陆地表面、碳循环和其他组成部分组成。CESM包括一个气候模型,提供地球过去、现在和未来的模拟。CESM是CCSM的升级版,2010年,国家科学基金会(NSF)和美国能源部(DoE)的重要资金(NSF)和重要资金的全球动力学部门(CGD)在2010年发布了CESM1。
NetCDF文件是自描述的二进制数据格式。所谓自描述就是自带属性信息,这和一般的雷达基数据格式不同,一般的雷达数据也是二进制的,但不是自描述的,而是需要额外的数据格式文档来说明数据格式,而NetCDF文件中包含了描述变量和维度的元数据信息。通常包含以下三个部分:
之前介绍过如何使用Python处理NetCDF格式文件,这次介绍一下如何创建NetCDF文件。
CDO在处理气候及模式数据方面有着非常强大的功能,而且其中包含有一些简单的统计和计算函数,数据选择以及空间差值函数。支持常见的气象数据格式,比如GRIB,NetCDF等。
首先,安装netCDF4和Basemap,Windows下和Linux下会稍微有些不一样,请自行百度。 NetCDF4:https://github.com/Unidata/netcdf4-python Basemap:http://matplotlib.org/basemap/users/installing.html
获取Anaconda3-4.3.1-Linux-x86_64.sh、netCDF4-1.2.7-cp36-cp36m-manylinux1_x86_64.whl、opencv_python-3.2.0.7-cp36-cp36m-manylinux1_x86_64.whl
CDO全称The Climate Data Operators ,是一款相当强大的气象数据处理软件,包含一系列的统计参量和算术函数,用于处理GRIB和NetCDF格式数据有着相当方便指令操作。
By HKL, on Saturday 2022-10-15 08:48, tagged: 🏷️Linux 🏷️Operating
直接使用Anaconda/Miniconda的包管理器conda进行安装即可,安装命令如下:
作为曾经地球科学领域最炙手可热脚本语言之一的NCL已经进入维护模式,不再更新。NCAR将使用Python作为地球科学领域的主要数据处理和可视化工具。
这次我们来简单了解下气象数据常用的格式以及处理的工具,常用的数据格式包括普通的二进制格式、文本数据、NetCDF、HDF4/5以及GRIB1/2数据。我们可以利用编程语言例如python、matlab以及c语言,根据数据的说明文档或者相应的数据api开发文档进行读取,此外我们也可以根据提供的command命令行进行高效提取数据。
就多节点功能而言,c6g(n)可用于AWS 100Gbs EFA,而c7g目前仅可用于30Gbs网络。对于WRF,有两个众所周知的测试案例:Conus12km,可以在单个节点上运行;以及更大的Conus2.5km,更适合多节点运行。在这里,我们保持单节点Conus12km运行,以保持围绕实例之间的共同特征的讨论。实际上,互连速度对可伸缩性的影响取决于感兴趣的WRF案例的大小和使用的实例数量。在某些情况下,这可能是16个以上的实例[2].
vardata = ncread(source,varname,start,count,stride)
python中提供了多种方式来处理netcdf文件,这里主要讲一下常用的 netcdf4-python 模块。
NetCDF(Network Common Data Form)是一种科学二进制数据格式,由UCAR负责开发和维护netCDF软件,主要用于存储多维科学数据。在地球科学领域使用较为广泛,大多数数值模式,卫星,雷达等数据格式通常为NetCDF格式。
气象领域的数据存储格式大多都是netCDF、HDF、Grib格式,这些文件格式已经发展的比较成熟了,大家也都已经习惯了处理这些格式的文件。但随着数据量的增加以及云计算的发展,这些文件系统已经无法满足需求,针对云计算优化的文件系统应运而生。
HDF(Hierarchical Data Format)由NCSA(National Center for Supercomputing Applications)设计提出,官方对其定义是:HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections.
xarray 支持多种文件格式(从 pickle文件到 netCDF格式文件)的序列化和输入输出。
•NetCDF格式 : netCDF4-python,h5py,h5netcdf,xarray等。 除了上述简单的数据处理库之外,python还提供了NCO和CDO工具的封装,pynco和cdo,提供了更多的便捷操作。•Grib格式:xarray,Iris,pygrib等,有些仅支持类Unix系统。 ECWMF提供了cfgrib工具可将grib格式转换为NetCDF格式,cfgrib库支持Mac,Linux和windows系统。•csv, xlsx等格式:pandas你值得拥有,无论是气象还是其他领域的类似格式数据,使用pandas可以解决你的常用操作。•HDF格式:pandas和h5py可以处理hdf5格式,PyHDF可以处理hdf4格式。•二进制:numpy可以处理二进制数据,同时借助python内置struct模块可以非常方便的处理二进制格式数据。
本文介绍在Windows电脑的Visual Studio软件中,配置C++语言最新版netCDF库的方法。
This knowledge base article shows you how to calculate daily total precipitation using ERA5 data.
NCO是目前最强大的处理netCDF文件(包括由netCDF API创建的HDF5文件)的命令行工具,没有之一。NCAR开发NCO起初是为了处理分析GCM(General Circulation Models)数据集,即网格化科学数据集。
本文介绍基于Anaconda环境,下载并安装Python中h5py与netCDF4这两个模块的方法。
因为近期涉及到预报系统部署和后处理开发的任务,为了和预报模式更好的兼容,一些数据处理工作就交给Fortran来做了。把Fortran和C的NetCDF库API部分内容做了一个整理。
前言 这两天帮一个朋友处理了些 nc 数据,本以为很简单的事情,没想到里面涉及到了很多的细节和坑,无论是“知难行易”还是“知易行难”都不能充分的说明问题,还是“知行合一”来的更靠谱些,既要知道理论又要知道如何实现,于是经过不太充分的研究后总结成此文,以记录如何使用 python 处理 nc 数据。 一、nc 数据介绍 nc 全称 netCDF(The Network Common Data Form),可以用来存储一系列的数组,就是这么简单(参考https://www.unidata.ucar.edu/so
Basemap 特别擅长绘制数值天气模式输出数据,比如 WRF。WRF [注1] 模式是广泛使用的数值预报模式,只要变量名合适,大部分情况下都可以使用其它模式的输出来运行。
前天在最强王者交流群,突然有人问起使用Python读取.nc文件的方法,正好之前有写过文章,这里拿出来跟大家分享下。
问题: 需要将 netCDF 文件的数据导出到 *.csv 文件,但希望在不使用循环的情况下完成。目前使用的代码存在性能和代码可读性问题,因为使用了三重循环。
在进行数据处理和分析的过程中或是基于其他原因,为了方便进一步的处理,有时需要将NetCDF数据格式转换为GRIB数据格式。
.nc文件和常规的文件不太一样,有专门的第三方处理库,netCDF4,需要安装才行。
xarray 中的DataArray 和 Dataset 对象除了上节介绍过的直接手动创建之外,更多的情况下却是通过其他数据储存结构转换和存储在硬盘中的数据存储文件读取而来。
本文介绍基于Python语言,逐一读取大量.nc格式的多时相栅格文件,导出其中所具有的全部时间信息的方法。
WRFChem 是一个区域大气化学传输模式,实现了化学模块和 WRF 气象动力的在线耦合,充分考虑了污染物的平流输送、湍流扩散、干湿沉降 、辐射传输等大气物理过程,以及较为详细的多相化学过程,被广泛应用于区域环境污染研究。
网上对于这个依赖包的学习资料是比较的少,所以整理这个包里面,工作中我们可以用到的一些api进行学习
最近需要针对对WRF应用做一些性能优化;下面简单记录WRF model 的安装过程:
上述步骤通常会产生很大的nc文件(>10G),尤其是在处理大量数据时。最近在处理卫星数据时,最终生成的文件甚至超过了50G,有些甚至超过了100G。而目前xarray对于nc格式的大文件存储让人头疼。在存储这些大文件时耗时很长,甚至可能会导致程序挂起。
本文介绍基于Python语言的netCDF4库,读取.nc格式的数据文件,并提取指定维(时间、经度与纬度)下的变量数据的方法。
目录 1 生成nc 格式的文件 1.1 代码 2 简单读取nc 格式的文件 1 生成nc 格式的文件 1 首先是生成的nc格式文件使用panoply 软件打开的数据是: 📷 📷 第一个图解释: 以上就是使用代码生成的nc格式的文件,使用panoply 软件打 开之后,我们就看到了具体的信息; 一共有两个维度,一个是X ,一个是Y ,这两个维度的值代表 数组的长度;或者这样理解,一个维度就是一个数组,维度 的长度 就是数组长度,就是这个数组里面可以存放多少数据; 第二个图解释: 这个nc文件里面存放
对比使用 Basemap,gdal 和 Cartopy,netCDF4 读取 WRF 模式数据并绘图。
“ 大家好哇!上一期我们给出了一些在slurm作业系统中常见的报错提示的含义及解决方法。今天我们主要来看看如何在超算中配置运行环境。”
通常所说的regridding/remaping/interpolation都是将不同网格的数据映射到新的网格。
晴天一声雷,NCL官网发布重要通告,他们决定不再更新NCL转而向Python发展。WHAT???我刚把NCL用熟了你就跟我说这个。 但做出这种选择确实也是有一定道理的,python在地球科学社区中的
今天小编带大家绘制一幅”颜值“超高的学术图表,起初原因也是群里的小伙伴询问怎么绘制。要知道我可是非常宠读者的哈~~绝对的安排!读者给出的图片如下:
使用过WRF的人都知道,它的模拟结果是按照我们指定的时间间隔和模拟时间段依次输出的。但在处理数据的时候呢,比如想画一个时间趋势图之类的时候,挨个读取数据非常繁琐。我们希望能够把所有的数据或者某个我们关心的变量单独提取出来,让其按照指定的维度,如时间维度来排序并整合成一个文件。下面我就分享一下我在日常科研中为了解决这个问题而写的代码,供大家参考使用(代码很简单, 大家只需要把文件名、路径改成自己的就可以用了)。
Panoply是NASA开发的一个软件。支持Windows,Linux和macOS多种操作系统,下图是其操作界面。
今天打算使用GDAL读取MODIS影像数据,由于我的MODIS是HDF4格式,而默认的GDAL是不包含HDF数据驱动的,所以必须重新编译GDAL。 我的开发环境是Ubuntu 14.04,首先安装需要的HDF包。 sudo apt-get install libhdf4-alt-dev libhdf5-dev libnetcdf-dev hdf4-tools hdf5-tools libgeos-dev libproj-dev 其中,libhdf4-alt-dev,libhdf5-dev,libnetcdf-dev分别是HDF4, HDF5, NetCDF数据的开发库,hdf4-tools和hdf5-tools分别是HDF4和HDF4的命令行工具。libgeos-dev和libproj-dev分别是GEOS和Proj.4的库。 特别需要注意的是:对于HDF4不要安装libhdf4-dev而需要安装libhdf4-alt-dev。我今天刚开始安装的是libhdf4-dev,编译安装都没有问题。但是读数据的时候一直提示打不开HDF4的数据。折腾了好久,最后,网上查询到说是libhdf4-dev包中含有一个NetCDF库的兼容API导致的。 接下来是下载源码进行编译,进入源码目录,执行下面命令。 ./configure --with-geos --with-static-proj4 --with-hdf4 --with-hdf5 --with-netcdf --enable-debug make sudo make install 将lib库添加到用户环境变量中,我是在~/.profile文件中进行的配置: export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib 最后使用sudo ldconfig命令使之生效。 利用其读取MODIS数据如下图:
前面已经给大家介绍过如何用cdo配合shape文件提取CMIP6指定区域数据,这个思路首先需要用gdal将shape文件转为netCDF格式的文件,然后再用cdo ifthen进行裁剪,今天要给大家介绍的是如何用gepandas+salem库直接用shape文件对CMIP6文件进行掩码,无需把shape文件转换为netCDF格式文件,最后再调用cdo的selbox操作进行裁剪。
最近又开始关注数据可视化的内容了,尤其是高维可视化。个人感觉可视化真的是一门呈现信息的艺术。前期的数据处理从海量的数据中提取有效信息,然后以一种简洁美观的方式呈现出来。
领取专属 10元无门槛券
手把手带您无忧上云