参考自如下网站

介绍

一个有几百种操作符的单独命令

CDO受NCO启发,通过命令行,提供了一系列的气候数据相关的操作

主要是被设计用在操作netCDF3/4,GRIB1/2

众多的函数可以被用在任何NetCDF/格点化数据

非常适合与特定任务

有效的调动内存

CDO:一个命令行工具

$ cdo [options]

CDO操作的类别

文件信息和文件操作符

选择和比较

元数据的修改

算术操作符

统计分析

回归和内插

矢量和谱转换

格式化I/O

气候指数

众多操作符

CDO将其的功能分解成单独的操作符

当前(2015年)有超过650个操作符。如

showstdname Show standard names

sellonlatbox Select a longitude/latitude box

setmissval Set a new missing value

monadd Add monthly time series

zonstd Zonal standard deviation

eca_hd Heating degree days per time period

得到操作符的参考

如需参考,只需输入:cdo -h

操作符:1.文件信息

$ cdo infov ifile

这是一个带有一个2D变量的数据集的示例结果,包括3个时间步长:

-1: Date Time Varname Level Size Miss : Minimum Mean Maximum1 : 1987?01?31 12:00:00 SST 0 2048 1361 : 232.77 266.65 305.31

2 : 1987?02?28 12:00:00 SST 0 2048 1361 : 233.64 267.11 307.15

3 : 1987?03?31 12:00:00 SST 0 2048 1361 : 225.31 267.52 307.67

$ cdo showtimestamp ggas2014121200_00-18.nc2014-12-12T00:00:00 2014-12-12T06:00:00 2014-12-12T12:00:00 2014-12-12T18:00:00

$ cdo pardes ggas2014121200_00-18.nc-1 CI Sea-ice cover [(0 - 1)]-2SSTK Sea surface temperature [K]-3 MSL Mean sea-level pressure [Pa]-4 TCC Total cloud cover [(0 - 1)]-5 U10 10 metre U wind component [m s**-1]-6 V10 10 metre V wind component [m s**-1]-7 SKT Skin temperature [K]

很容易看到2个文件之间数值差异的概况:

$ cdo difftas_rcp45_2055_ann_95p_change.nc tas_rcp45_2055_ann_05p_change.nc

Date Time Param Level Size Miss : S Z Max_Absdiff Max_Reldiff1 : 2065-12-30 12:00:00 -1 0 64800 0 : T F 16.693 0.99997

1 of 1 records differ

操作符的所有文件列表包括

赋值和连接

合并场和时间

按变量/层次/格点/时间分割场

一些例子

To copy a file and convert the output to NetCDF:

$ cdo −f nc copy ifile ofile.nc

To merge all files along the time axis:

$ cdo mergetime ifile1 ifile2 ifile3 ofile

可以用一些不同的方法选择数据包括:

变量码,名称或者属性

层次

时间

空间区域(纬度/经度)

操作符:2.选择

用id选择变量:“SSTK”和"CI":

$ cdo selname,SSTK,CI infile.nc outfile.nc

To select a lat/lon bounding box:

$ cdo sellonlatbox,120,-90,20,-20 infile.nc outfile.nc

To select a date/time range:

$ cdo seldate,2014-12-12T12:00:00, 2015-01-31T18:00:00 infile.nc outfile.nc

操作符:3.修改

设置时间轴到198701-16 12:00, 时间增量一个月增量 使用

$ cdo settaxis,1987-01-16,12:00,1mon ifile ofile

将一个2维场纬度从N到S反转成S到N

$ cdo invertlat ifile ofile

操作符:4.算术

计算所有场元素的平方根:

$ cdo sqrt ifile ofile

将所有输入场加入一个常数-273.15:

$ cdo -addc,-273.15 ifile ofile

操作符:5.统计

计算所有输入场的纬向平均:

$ cdo zonmean ifile ofile

假设输入数据集具有数年的月度平均值。 为了从月度计算季节性均值,必须跳过前两个月:Assume an input dataset has monthly means over several years. In order to compute seasonal means from monthly means the first two months must be skipped:

$ cdo timselmean,3,2 ifile ofile

多年逐日滑动百分值:

为了计算一个百分值,必须知道最小和最大边界。

$ cdo ydrunpctdl,p,nts infile minfile maxfile outfile

该运算符写滑动的百分值对于一年中的每一天,从infile写到outfile。最小和最大边界用minfile和maxfile提供。

计算一个对年逐日的滑动百分率值,需要执行多步。

$ cdo ydrunmin,5ifile minfile

$ cdo ydrunmax,5ifile maxfile

$ cdo ydrunpctl,90,5 ifile minfile maxfile ofile

操作符:6 内插

为了将所有场线性插值到一个T42高斯格点。

$ cdo remapbil,t42grid ifile ofile

为了将混合模式层数据插值到气压层925,850,500和200 hPa

$ cdo ml2pl,92500,85000,50000,20000 ifile ofile

操作符:9 气候指数

得到一个逐日降水总量时间序列找那个连续干日的最大数目。

$ cdo eca_cdd rrfile ofile

其中rrfile是逐日降水总量RR的时间序列,然后统计了连续天数的最大值,当RR小于1 mm时。

为了得到热带夜晚一个时间序列逐日最小温度

$ cdo eca_tr tnfile ofile

其中tnfile是逐日最低温度TN的时间序列,随后统计的是当TN>T时候的天数。T是一个可选的参数,其缺省值T=20℃。

除此之外CDO还能做什么? CDO有许多通用的命令行开关,可以与(大多数)运算符一起使用。 这是一个选择:

-a 生成绝对时间轴Generate an absolute time axis

-f 指定格式Specify format ("grb", "nc", "nc4" etc)

-m 设置默认缺测值Set the default missing value

-Q 对netCDF变量名排序Sort netCDF variable names

-r 生成相对时间轴Generate a relative time axis

-s 静默模式Silent mode

-V Version of CDO

-v Verbose - print extra details.

-z zip Deflate compression of netCDF4 vars.

组合运算符

所有的运算符都有一个固定的输入流和一个输出流,可以直接将结果管道给其它的操作符。这个操作符必须以“-”开始,为了和其它相结合。可以通过一下,来促进性能:

减少不必要的磁盘I/O

并行执行

例如,我们可以把

$ cdo timavg ifile1 tmp1

$ cdo dayavg ifile2 tmp2

$ cdo sub tmp2 tmp1 ofile

$rm tmp1 tmp2

替换成

$ cdo sub -dayavg ifile2 -timavg ifile1 ofile

组合运算符:例子2

以下三个命令是计算一个多年逐日滑动百分率,需要多步:

$ cdo ydrunmin,5ifile minfile

$ cdo ydrunmax,5ifile maxfile

$ cdo ydrunpctl,90,5 ifile minfile maxfile ofile

可以通过一个简单的命令替换

$ cdo ydrunpctl,90,5 ifile -ydrunmin ifile -ydrunmax ifile ofile

更多信息

CDO Home page:  https://code.zmaw.de/projects/cdo

CDO Tutorial:  https://code.zmaw.de/projects/cdo/wiki/Tutorial

CDO Documentation:  https://code.zmaw.de/projects/cdo/wiki#Documentation

cdo matlab,CDO学习1 CDO简介相关推荐

  1. CDO学习2 CDO 入门教程Tutorial

    用户手册,参考https://code.mpimet.mpg.de/projects/cdo/embedded/cdo.pdf 本文翻译搬运自https://code.mpimet.mpg.de/pr ...

  2. Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。

    一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...

  3. cdo 发送html,asp使用CDO.Message发送邮件详细代码集合

    发送文本Email: Set myMail=CreateObject("CDO.Message") myMail.Subject="Sending email with  ...

  4. cdo收取邮件_使用 CDO 发送测试电子邮件消息

    此脚本使用 CDO 发送测试电子邮件消息. Visual Basic Set objEmail = CreateObject("CDO.Message") set objConf ...

  5. 自定义CDO并加入到现有CDO下

    本节讲述如何增加一个自定义CDO并以List方式加入到原生CDO下,最后修改Modeling页面进行数据编辑. 定义CDO 进入Designer,在要创建的CDO的父Object上右键,点击Add S ...

  6. 科学计算:Python VS. MATLAB(4)----图形系统简介

    科学计算:Python VS. MATLAB(4)----图形系统简介 一.一般概念 图形系统就是用来实现所谓的可视化的.在学习具体的命令之前,先了解一个可视化的图形具有哪些特征,以及这些特征具有什么 ...

  7. MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步

    MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步 创作目的 项目简介 本期重点---数据集构建 本文所使用数据集简介 用table来搭建训练集 总结 创作目的 大家好,这里是微信公 ...

  8. matlab强化学习DDPG算法改编/菜鸟理解2——航天器三轴姿态稳定器学习算例

    目录 写在前面 matlab强化学习库简介 航天器三轴姿态稳定器介绍 算法流程 代码/simulink 结果展示与分析 一些心得 写在最后 写在前面 %写在前面: 本人大四狗一名,不是计算机专业,所以 ...

  9. Matlab GUI学习02:使用GUIDE开发图形界面程序

    pdf版本笔记的下载地址: Matlab GUI学习02_使用GUIDE开发图形界面程序(访问密码:3834) Matlab GUI学习02:使用GUIDE开发图形界面程序 GUIDE GUIDE简介 ...

  10. Matlab 并行计算学习初步

    Matlab 并行计算学习 1. 简介 高性能计算(High Performance Computing,HPC)是计算机科学的一个分支,研究并行算法和开发相关软件,致力于开发高性能计算机.可见并行计 ...

最新文章

  1. More than one file was found with OS independent path 'META-INF/rxjava.properties
  2. 二十七、连续分配管理方式
  3. 部署Linux服务器实验报告,Linux服务器学习----tomcat 服务配置实验报告(一)
  4. maven webapp栽坑录
  5. centos7下安装python3 解决openssl等一系列问题
  6. 可持久化线段树(主席树)总结及板子
  7. [R语言绘图]饼状图pie
  8. Office 2016更新后 Word 2016、Excel 2016、Power 2016、Visio 2016、OneNote 2016图标全部消失问题解决
  9. Helix QAC 2021.1
  10. 软件项目中的角色以及英文简称
  11. C/C++ 内存对齐原则及作用
  12. 超越GraphCL,GNN+对比学习的节点分类新SOTA
  13. 我的python笔记06
  14. Pyke 逻辑编程入门(2):表示事实的陈述句
  15. 网络共享计算机权限访问,局域网共享时提示:你没有权限访问,请与网络管理员联系...
  16. v-if条件判断及v-show
  17. android压力测试命令monkey详解,android压力测试命令monkey详解
  18. Android 隐藏虚拟按键,并且全屏
  19. 计算机应用技术职业生涯规划书职业价值观,中职业生涯规划书范文计算机专业职业价值观...
  20. 如何高效建设传奇的DAO

热门文章

  1. 360和百度网盘互掐的思考
  2. 3.11while循环计算1到100所有数据之和
  3. python-数据成员
  4. C++之特殊数据成员
  5. ubuntu添加库路径
  6. kali linux基本口令_Kali-linux基本设置
  7. POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems 学习笔记
  8. 信息安全第一位,天生创想做最安全的OA政务办公系统
  9. Altium Designer PCB 3D封装
  10. c语言程序设计第3版朱可立,C语言程序设计(第3版)