CDO入门和使用实践

您所在的位置:网站首页 安装cdo CDO入门和使用实践

CDO入门和使用实践

2024-02-07 06:53| 来源: 网络整理| 查看: 265

文章目录 CDO入门和使用实践一、前言简介环境 二、正文1.安装2.使用基础指令查询指令拆分指令选择指令转换指令合并指令数据插值 3.其它

CDO入门和使用实践 一、前言 简介 CDO (Climate Data Operators) 是一个用于处理气候和 NWP 模型数据的大型工具集。支持 NetCDF 3/4、GRIB 1/2 包括SZIP(或AEC)和 JPEG 压缩、EXTRA、SERVICE 和 IEG 作为 IO 格式。除此之外,CDO 可用于分析与气候科学无关的任何类型的网格数据。CDO 的内存需求非常小,可以处理大于物理内存的文件。 应用场景 数据合并和拆分:时间、经纬度数据简单运算:加减乘除、方差、均方差、和、最值、滑动均值、区域平均、区域方差、区域最值、滑动方差、滑动最值数据转换:nc 转 grb、binary 转 nc、hdf 转 nc数据统计运算:线性回归、滤波、EOF、水平插值、垂直插值气候指数运算 环境 Linux发行版:CentOS-7-x86_64-DVD-1804.isoCDO 版本:1.9.10

官网:https://code.mpimet.mpg.de/projects/cdo

依赖软件:https://code.mpimet.mpg.de/projects/cdo/wiki/Win32

wiki:https://code.mpimet.mpg.de/projects/cdo/wiki

指令说明文档:https://code.mpimet.mpg.de/projects/cdo/embedded/index.html

NetCDF Java(数据查看):https://www.unidata.ucar.edu/software/netcdf-java/

Panoply(数据绘图):https://www.giss.nasa.gov/tools/panoply/

二、正文 1.安装 查询依赖是否安装 # rpm -qa | grep zlib # yum list installed | grep zlib 安装依赖包 #-- 更新 epel 第三方软件库 # yum -y install epel-release #-- 安装 jdk # yum -y install java-1.8.0-openjdk* # java -version #-- 安装依赖包 # yum -y install gcc gcc-gfortran curl zlib netcdf-devel udunits2-devel proj-devel openssl-devel openssh-server openssh-clients grib_api-devel gcc-c++ 下载 CDO 压缩包

CDO 官网:https://code.mpimet.mpg.de/projects/cdo/files

编译安装 # tar -zxvf cdo-1.9.10.tar.gz # cd cdo-1.9.10 # ./configure --prefix=/usr/local CFLAGS=-fPIC --with-netcdf=/usr/local --with-hdf5=/usr/local # make # make install 查看版本 # cdo -V 2.使用 基础指令 功能指令查询版本号cdo -V帮助指令cdo -h 查询指令 功能指令例子查询所有变量名cdo -showname {输入文件}cdo -showname /opt/input.nc查询时间步长cdo -ntime {输入文件}cdo -ntime cdo -showname /opt/input.nc 拆分指令

官方文档:https://code.mpimet.mpg.de/projects/cdo/embedded/index.html#x1-1160002.2.9

功能指令例子根据时间步长进行拆分cdo splitsel,{时间步长} {输入文件} {输出文件-根据拆分数量自动编号}cdo splitsel,1 /opt/input.nc /opt/output.nc 选择指令

官方文档:https://code.mpimet.mpg.de/projects/cdo/embedded/index.html#x1-1490002.3

其它日期时间:seltimestep 、seltime 、selhour 、selday 、selmonth 、selyear 、selseason 、seldate 、selsmon

功能指令例子选择变量(可多个变量)cdo -selname,{变量1},{变量2} {输入文件} {输出文件}cdo -selname,time,u,v,depth /opt/input.nc /opt/output.nc选择步长(多个步长)cdo -seltimestep,{时间步长1},{时间步长2} {输入文件} {输出文件}cdo -seltimestep,1,3 /opt/input.nc /opt/output.nc选择步长(连续步长)cdo -seltimestep,{时间步长1} / {时间步长2} {输入文件} {输出文件}cdo -seltimestep,1/8 /opt/input.nc /opt/output.nc 转换指令

官网文档:https://code.mpimet.mpg.de/projects/cdo/embedded/index.html#x1-7350002.13.2

功能指令例子正常转换cdo -f {转换格式} -copy {输入文件} {输出文件}cdo -f grb -copy input.nc output.grb压缩转换cdo -f {转换格式}-z {压缩格式} {输入文件} {输出文件}cdo -f grb -z szip input.nc output.grb 合并指令

官网文档:https://code.mpimet.mpg.de/projects/cdo/embedded/index.html#x1-1110002.2.8

功能指令例子合并按日期和时间排序的数据集,所有输入文件都需要在不同的时间步上具有相同的结构和相同的变量cdo mergetime {输入文件1} {输入文件2} {输出文件}cdo mergetime input1.nc input2.nc output.nc支持通配符cdo mergetime *.nc {输出文件}cdo mergetime input*.nc output.nc合并具有不同字段的数据集(详情看官方说明)cdo merge {输入文件1} {输入文件2} {输出文件}cdo merge input1.nc input2.nc output.nc 数据插值

官网文档:https://code.mpimet.mpg.de/projects/cdo/embedded/index.html#x1-6450002.12.2

功能指令例子正常转换cdo remapbic,r{经纬度网格} {输入文件} {输出文件}cdo remapbic,r128x42 input.nc output.nc 3.其它

1)NC数据查看软件:NetCDF Java

2)NC数据绘图软件 :Panoply



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3