linux安装cdo
cdo: 强大的气象类数据处理软件。
1、数据的提取合并(提取特定时间、空间、经纬度等等)
2、数据的简单运算(加减乘除、方差、均方差、和、最值、滑动均值、滑动方差、滑动最值、区域平均、区域方差、区域最值等等)
3、数据的统计运算(相关、线性回归、EOF、滤波、水平插值、垂直插值等等)
4、数据的转换(binary转nc、HDF转nc等等)
5、各种气候指数的运算(极端有关的指数等等)
我这里主要用到cdo去裁剪气象文件(后缀名为.nc的文件),按照经纬度裁剪,只留下广东省的气象数据。
要安装cdo,就要先看装zlib、hdf5、netcdf
1、安装jdk
yum install java-1.8.0-openjdk* -y
查看版本
java -version
2、安装zlib
yum install -y zlib zlib-devel
查看安装的动态链接库
ldconfig -v | grep zib
3、安装hdf5
yum install hdf5
4、安装netcdf
yum install netcdf
yum install netcdf-devel
5、安装cdo
cdo各版本下载链接
https://code.mpimet.mpg.de/projects/cdo/files
现在windows环境下下载下来,然后解压之后在通过Xshell上传到linux环境,切忌不要再linux环境下解压(无法解压)
编译、安装cdo
先配置(如果不配置,cdo部分命令会报错)
./configure --prefix=/usr/local CFLAGS=-fPIC --with-netcdf=/usr/local --with-hdf5=/usr/local
编译
make
安装
make install
配置环境变量( /usr/local/bin/cdo 跟着放在PATH路径的后面,不要覆盖 )
vim /etc/profile
export PATH=/usr/local/bin/cdo
source /etc/profile
查看版本
cdo -v
执行裁剪命令
cdo sellonlatbox,107.8,117.530,17.87,23.833 /home/haiyue/hyhl/file/copyFile/HYCOM_YU/romsout_20201210.nc /home/haiyue/hyhl/file/smallFile/HYCOM_YU//romsout_20201210_small.nc
5、用java代码实现裁剪命令
public class CDO {private String workPath ;CDO(String workPath) {if(null ==workPath){this.workPath ="/cdo";} this.workPath =workPath;}public String getWorkPath() {return workPath;}public void setWorkPath(String workPath) {this.workPath = workPath;}public void split(String sourcePath,String targetPath,String options) {Process process =null;InputStream in =null;try {StringBuffer commonBuffered =new StringBuffer();ProcessBuilder processBuilder;String commond = "cdo";commonBuffered.append(commond);commonBuffered.append(" ");commonBuffered.append(options);commonBuffered.append(" ");commonBuffered.append(sourcePath);commonBuffered.append(" ");commonBuffered.append(targetPath);// windows环境下利用cdo进行裁剪if(isWindows()){processBuilder = new ProcessBuilder("cmd","/c",commonBuffered.toString()); // 创建进程管理实例,查看目录processBuilder.directory(new File(this.workPath)); // 工作目录processBuilder.redirectErrorStream(true);process=processBuilder.start();in=process.getInputStream();}else {// linux环境下开始执行cdo裁剪命令in=Runtime.getRuntime().exec(commonBuffered.toString()).getInputStream();}} catch (Exception e) {e.printStackTrace();}finally {try {if(in !=null) in.close();} catch (IOException e) {System.out.println(e.getMessage());}if(process!=null)process.destroy();}}/*** 检查当前系统是否为windows系统* @return*/private static boolean isWindows(){String os = System.getProperty("os.name"); return os.toLowerCase().startsWith("win");}}
linux安装cdo相关推荐
- 如何在自己的电脑上安装cdo
如何在自己的电脑上安装cdo 前言: 首先,强烈建议使用Linux操作系统进行cdo的安装,这样可以节省非常多的不必要的麻烦.一般课题组搭建的服务器上都会安装好cdo,直接配置好路径后就能在自己的帐号 ...
- 实用的Linux 安装 zip unzip
Linux 安装 zip unzip 1.apt-get 安装 apt-get install zip 2.yum 安装 yum install -y unzip zip 命令实例 1.把/home目 ...
- nginx linux 安装
nginx linux 安装 进入http://nginx.org/en/download.html 下载 n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...
- Linux安装Nodejs
Linux安装Nodejs 阿里云镜像: https://npm.taobao.org/mirrors/node/ 选择所需版本,进行下载. 我这边下载的是:https://npm.taobao.or ...
- linux命令安装组件,Linux安装各种组件
[TOC] Linux安装各种组件 ============================= ## 安装JDK 官网下载最新JDK ``` http://www.oracle.com/technet ...
- arch linux安装_如何从头开始安装Arch Linux
arch linux安装 by Andrea Giammarchi 由Andrea Giammarchi In this article, you'll learn how to install Ar ...
- linux安装eclipse运行web,Linux安装Tomcat,运行Eclipse,web项目
到官网下载:https://tomcat.apache.org/download-80.cgi 在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd 切换目录 / ...
- linux 查看es安装目录,Linux安装Elasticsearch
本文介绍Linux环境如何安装Elasticsearch. 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2. 1 安装JDK 网上教程很多,也可 ...
- Linux安装CentOS7(图文详解)
Linux安装centos7 准备 软件:VMware workstation 镜像文件:CentOS-7-x86_64-Minimal-1810.iso 一.安装centos7 1.点击创建新的虚拟 ...
最新文章
- Docker 1.7.0 深度解析
- java 连接池实例_功能完善的Java连接池调用实例
- 小程序实现图片的放大预览
- 用Jackson编写大型JSON文件
- SF :Salesforce中,look up 和 master detail关系
- 将jar包制作成docker镜像
- 2017秋-软件工程第八次作业-第九周例行总结
- ubuntu下vscode字体间距 空格间距太小 增大间距
- dependencyManagement 失效
- AD14一般使用流程
- Oracle 锁表查询语句及解锁
- vnc远程桌面很慢_vnc远程桌面-桌面空白解决方案
- 领英精灵使用手册,功能介绍
- 小米打印机显示服务器出错,关于小米笔记本连接不上网络打印机的处理方法
- linux菜鸡用服务器常用小技巧
- Android入门篇(四):自动拨打电话、手动拨打电话
- android 漂亮的开源ui框架
- Vue中使用使用内联样式
- 【情态动词练习题】can 和 could
- 原生js实现和jQuery实现 屏幕自由滚动广告 悬浮停止