当前位置: 首页 > news >正文

Ubuntu 20.4 源代码方式安装 cdo(笔记)

目录

  • 动机
  • 安装过程
  • python 调用cdo

动机

我找到的处理 era5-land 代码在需要用到 cdo,但是 sudo apt-get install cdo 总是出现 abort (core dump) 等问题,所以放弃这种安装方式,不走捷径,安装源代码,也就是 cdo-x.x.x.tar.gz。

安装过程

# 下载网站
https://src.fedoraproject.org/repo/pkgs/
# 例如:
https://src.fedoraproject.org/repo/pkgs/hdf5/hdf5-1.6.6.tar.gz/INSTALL_DIR=/home/user/soft
mkdir $INSTALL_DIR# Install netcdf:
tar xzf netcdf-3.6.3.tar.gz
cd netcdf-3.6.3/
./configure --prefix=$INSTALL_DIR --disable-f77
make
make install
cd ..# Install szip:
tar xzf szip-2.1.tar.gz
cd szip-2.1/
./configure --prefix=$INSTALL_DIR CFLAGS="-lm"
make
make check
make install
cd ..# Install zlib:
tar xzf zlib-1.2.3.tar.gz
cd zlib-1.2.3/
./configure --shared --prefix=$INSTALL_DIR
make
make install
cd ..# Install hdf5 (with zlib and szip support):# 在文件 /home/user/soft/hdf5-1.6.6/perform/zip_perf.c 中做了以下修改/* do compressed data write output = open(filename, O_RDWR | O_CREAT);*//* Change by Liyongkang */output = open(filename, O_RDWR | O_CREAT, 0600);tar xzf hdf5-1.6.6.tar.gz
cd hdf5-1.6.6/
./configure --with-zlib=$INSTALL_DIR --with-szlib=$INSTALL_DIR --prefix=$INSTALL_DIR
make
make install
cd ..# Install proj
tar xzf proj-4.6.1.tar.gz
cd proj-4.6.1/
./configure --prefix=$INSTALL_DIR
make
make install
cd ..# Install cdo (with hdf5 and netcdf support):  错误
tar xzf cdo-1.3.1.tar.gz
cd cdo-1.3.1/
./configure --with-hdf5=$INSTALL_DIR --with-szlib=$INSTALL_DIR --with-netcdf=$INSTALL_DIR --with-proj=$INSTALL_DIR --with-zlib=$INSTALL_DIR --prefix=$INSTALL_DIR CC=gcc CFLAGS="-g -D_REENTRANT -O2"
make
make install
cd ..# Install cdo (with hdf5 and netcdf support):自己修改的版本
tar xzf cdo-1.7.2.tar.gz
cd cdo-1.7.2/
./configure --with-hdf5=$INSTALL_DIR --with-szlib=$INSTALL_DIR --with-netcdf=$INSTALL_DIR --with-proj=$INSTALL_DIR --with-zlib=$INSTALL_DIR --prefix=$INSTALL_DIR CC=gcc CFLAGS="-g -D_REENTRANT -O2"
make
make install
cd ..# 通过 source , 添加全局变量 至 ~/.bashrc:
sudo gedit ~/.bashrc# 复制以下内容至.bashrc 末尾
export INSTALL_DIR=/home/user/soft
export LD_LIBRARY_PATH=$INSTALL_DIR/lib
export PATH=$INSTALL_DIR/bin:$PATH

python 调用cdo

import subprocesscommand1= '/home/user/soft/bin/cdo expr,"var1=6.112*exp(17.67*(var168-273.15)/(var168-273.15+243.5))" '+"ERA5_2D_2019010900"+" "+"ERA5_E_2019010900"

相关文章:

Ubuntu 20.4 源代码方式安装 cdo(笔记)

目录 动机安装过程python 调用cdo 动机 我找到的处理 era5-land 代码在需要用到 cdo,但是 sudo apt-get install cdo 总是出现 abort (core dump) 等问题,所以放弃这种安装方式,不走捷径,安装源代码,也就是 cdo-x.x.x…...

电子学会C/C++编程等级考试2022年12月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:鸡兔同笼 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 时间限制:1000 内存限制:65536输入 一行,一个正整数a (a < 327…...

二叉树的最近公共祖先(C++实现)

二叉树的最近公共祖先 题目思路代码&#xff08;详细注释&#xff09; 题目 二叉树的最近公共祖先 思路 我们可以通过两个栈来实现 实现一个FindPath函数&#xff0c;用来查找从根节点到目标节点的路径&#xff08;路径可以用栈来保存&#xff09; 路径保存好后&#xff0c;…...

【conda】容易遗忘的命令使用总结

1. 在空conda虚拟环境中安装python 退出到base环境 conda activate base 执行命令 conda install -n 空环境名 python版本名 例如&#xff1a; conda install -n test python3.10 2. 无需确认直接创建环境 在末尾加上-y&#xff0c;例如&#xff1a; conda create -n tes…...

蓝桥杯第一天-----时间显示

文章目录 前言一、题目描述二、测试用例三、题目分析四、具体代码实现总结 前言 本章中将相信介绍蓝桥杯中关于时间显示的题目。 链接&#xff1a;https://www.lanqiao.cn/problems/1452/learning/ 一、题目描述 二、测试用例 三、题目分析 1.输入的时间为毫秒&#xff0c;毫…...

多文件夹图片预处理:清除空值、重置大小、分割训练集

→ 清理空值 防止出现cannot identify image file 参考Python数据清洗----删除读取失败图片__简单版_python用pil读取图片出错删除掉-CSDN博客 import os import shutil import warnings import cv2 import iofrom PIL import Image warnings.filterwarnings("error&qu…...

【Java】集合 之 使用 Map

为什么使用Map 我们知道&#xff0c;List是一种顺序列表&#xff0c;如果有一个存储学生Student实例的List&#xff0c;要在List中根据name查找某个指定的Student的分数&#xff0c;应该怎么办&#xff1f; 最简单的方法是遍历List并判断name是否相等&#xff0c;然后返回指定…...

第二证券:股票几点到几点开盘?

作为股民或许投资者&#xff0c;我们都知道股票是每天都有开盘和收盘时间的。但是&#xff0c;关于股票的开盘时间&#xff0c;很多人并不是很清楚&#xff0c;特别是初学者。在本文中&#xff0c;我们将从多个视点分析股票开盘时间&#xff0c;并为大家供给一些有用的信息。 …...

goweb入门教程

本文是作者自己学习goweb时写的笔记&#xff0c;分享给大家&#xff0c;希望能有些帮助 前言&#xff1a; 关于web&#xff1a;本质 ​ ​ web中最重要的就是浏览器和服务器的request(请求)和response(响应)&#xff1b; ​ 一个请求对应一个响应。 一个请求对应一个响应&…...

量子计算:探索未来的计算技术

量子计算:探索未来的计算技术 引言 在过去的几十年里,我们见证了计算机技术从简单的计算和存储发展到复杂的数据处理和人工智能的飞速进步。然而,随着我们进一步探索科技的前沿,传统的计算方法开始显示出其局限性。在这种情况下,量子计算——一种基于量子力学原理的新型计…...

HarmonyOS应用开发者基础认证考试题目及答案

一、判断题 Ability是系统调度应用的最小单元&#xff0c;是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。 正确(True) 所有使用Component修饰的自定义组件都支持onPageShow&#xff0c;onBackPress和onPageHide生命周期函数。 错误(False) 每调用一次ro…...

c# 文件读取和写入

文件写入 using System.Collections.Generic; namespace demo1;/// <summary> /// System.IO下的所有的Stream类是所有数据流的基类 /// 流是用于传输数据的对象&#xff0c;流就是用来传输数据的 /// 数据传输的两种方式&#xff1a;1、数据从外部源传输到程序中&#…...

【MySQL库的操作】

目录&#xff1a; 前言库的操作创建数据库字符集和校验规则校验规则对数据库的影响 选择和查看数据库修改数据库删除数据库备份注意事项查看连接情况 总结 前言 剑指offer&#xff1a;一年又二天 库的操作 创建、选择、查看、修改、删除与备份。 创建数据库 CREATE DATABASE…...

rocketmq 集群环境部署及与spring cloud 集成

1 下载zip 安装包 rocketmq-all-5.1.4-bin-release.zip 2 修改启动配置&#xff0c;防止默认内存配置过高 runserver.sh/runbroker.sh/tools.sh 3 启动namesrv nohup sh bin/mqnamesrv >>namesrv.log & 4 启动brokerproxy 单点模式&#xff1a; nohup sh bin…...

SpringBoot——配置及原理

优质博文&#xff1a;IT-BLOG-CN 一、Spring Boot全局配置文件 application.properties与application.yml配置文件的作用&#xff1a;可以覆盖SpringBoot配置的默认值。 ◀ YML&#xff08;is not a Markup Language&#xff1a;不仅仅是一个标记语言&#xff09;&#xff1…...

fiddler抓包安卓

一、打断点 1、安卓手机和电脑在同一局域网下&#xff0c;手机连接的网络开启手动代理&#xff0c;ip填写电脑ip&#xff0c;端口填写fiddler中配置的端口。 ip查看&#xff1a; 端口配置&#xff1a;tools-options-connections 2、安装证书&#xff0c;手机浏览器输入电脑ip…...

Maven 进阶学习指南---setting详解

前言 当我们在开发项目时&#xff0c;有时需要用到外部依赖组件&#xff0c;例如当我们需要 Json 序列化的时候需要用到 FastJson 组件&#xff0c;我们可以通过下载对应 jar 包加载到项目中。但当一个大的项目同时需要依赖各种各样的外部服务&#xff0c;就存在着配置繁琐、依…...

人工智能与我们的生活

人工智能对我们的生活影响有多大 1. 人工智能的领域 人工智能涉及的领域广泛&#xff0c;包括但不限于&#xff1a; a. 医疗保健领域 人工智能在医疗诊断、药物研发、患者管理等方面发挥了重要作用。医疗影像分析、基因组学研究等都受益于人工智能技术&#xff0c;为医学领…...

前端将blob转换为可下载的url及下载

一.转换 //将blob转换为url const changeBlobToUrl blobData > {return new Promise(resolve > {//创建Blob对象const blob new Blob([blobData])// 创建FileReader对象const reader new FileReader()reader.onload function (e) {resolve(e.target.result)}// 使用F…...

LVS-DR实验

实验前准备 DR服务器&#xff1a;192.168.188.11 192.168.188.15 NFS服务器&#xff1a;192.168.188.14 Web服务器1&#xff1a;192.168.188.12 Web服务器2&#xff1a;192.168.188.13 Vip&#xff1a;192.168.188.188 客户端&#xff1a;192.168.188.200 配置负载均衡调度…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...