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

基于bash通过cdo批处理数据

***####################################

  1. ubuntu中编写shell脚本文件
    第一步:用vim创建一个以.sh结尾的文件,此时这个文件是暂时性的文件,当编写好文件并保存时才能看到文件;
    第二步:要首先按一下“i”键才能进行插入(编写)模式,文件开头要写一段特殊符号,“#!/bin/bash” ,这个是开头文件的要求;
    第三步:可以开始写里面的内容了,其中可以使用 # 作为单行注释的符号,用 “:<<! !”,作为多行注释的符号;
    第四步:编写完语句之后按一下esc键,然后再按冒号键进入最后一行,然后在按“wq”键进行保存,在运行前要使用 “chmod”进行修改权限,具体的指令为“chmod 777 a.sh”;
    最后一步:进行运行,使用" ./ "+文件名来运行这个脚本文件。
    vi filename :打开或新建文件,并将光标置于第一行首
    vi +n filename :打开文件,并将光标置于第n行首
    vi + filename :打开文件,并将光标置于最后一行首
    2.bash+cdo批量处理
    #tree 命令查看文件夹下的所有文件
    如果没有tree,需要重新打开ubuntu终端通过# sudo apt-get install tree 安装tree
    A.输出文件的路径(以当前路径./为起始路径)到filelist.txt
    find ./ | xargs ls -d >filelist.txt
    B. 由于filelist.txt此时包含单独的目录,这里仅保留末尾为nc文件的行,去掉另外那些行:
    sed -i ‘/nc/!d’ filelist.txt
    #当一个文件夹中有多个变量,但只需要对某一个变量进行数据操作时,需要借助.sh脚本。如
    我的文件夹下面有多个变量,其中每个变量都需要进行合并时,编辑的.sh脚本如下所示:在这里插入图片描述
#!/bin/bash
varname=(clt od550aer rsds sfcWind tas)for var in "${varname[@]}"; domergetime "${var}"*.nc "${var}"_historical.nc 
done

#当对数据重采样以后又想合并数据又想提取区域时:

#!/bin/bash# Define the variable names and experiments
varnames=("clt" "od550aer" "rsds" "sfcWind" "tas")
experiments=("historical" "ssp126" "ssp245" "ssp585")# Create the output directory
mkdir -p post# Loop over the variables and experiments
for varname in "${varnames[@]}"; dofor experiment in "${experiments[@]}"; do# Merge the files for the current variable and experimentcdo mergetime "${varname}"*"${experiment}"*.nc "post/${varname}.${experiment}.nc"done
done
#!/bin/bash# Define input and output directories
indir="input"
outdir="output"# Define input and output region
region="-180,180,-90,90"
outregion="-100,20,0,60"# Loop through input files and extract region
for infile in ${indir}/*.nc; dooutfile="${outdir}/$(basename ${infile})"cdo sellonlatbox,${region} ${infile} ${outfile}
done# Merge all output files
cdo mergetime ${outdir}/*.nc ${outdir}/merged.nc# Re-grid merged file to output region
cdo remapbil,${outregion} ${outdir}/merged.nc ${outdir}/merged_regrid.nc

相关文章:

基于bash通过cdo批处理数据

***#################################### ubuntu中编写shell脚本文件 第一步&#xff1a;用vim创建一个以.sh结尾的文件&#xff0c;此时这个文件是暂时性的文件&#xff0c;当编写好文件并保存时才能看到文件&#xff1b; 第二步&#xff1a;要首先按一下“i”键才能进行插入…...

Map和Set总结

Map和Set Map和Set是专门用来进行搜索的数据结构&#xff0c;适合动态查找 模型 搜索的数据称为关键字(key)&#xff0c;关键字对应的叫值(value)&#xff0c;key-value键值对 key模型key-value模型 Map存储的就是key-value模型&#xff0c;Set只存储了key Map Map是接口类…...

pytorch网络模型构建中的注意点

记录使用pytorch构建网络模型过程遇到的点 1. 网络模型构建中的问题 1.1 输入变量是Tensor张量 各个模块和网络模型的输入&#xff0c; 一定要是tensor 张量&#xff1b; 可以用一个列表存放多个张量。 如果是张量维度不够&#xff0c;需要升维度&#xff0c; 可以先使用 …...

面试时候这样介绍redis,redis经典面试题

为什么要用redis做缓存 使用Redis缓存有以下几个优点&#xff1a; 1. 提高系统性能&#xff1a;缓存可以将数据存储在内存中&#xff0c;加快数据的访问速度&#xff0c;减少对数据库的读写次数&#xff0c;从而提高系统的性能。 2. 减轻后端压力&#xff1a;使用缓存可以减…...

机械学习 - scikit-learn - 数据预处理 - 2

目录关于 scikit-learn 实现规范化的方法详解一、fit_transform 方法1. 最大最小归一化手动化与自动化代码对比演示 1&#xff1a;2. 均值归一化手动化代码演示&#xff1a;3. 小数定标归一化手动化代码演示&#xff1a;4. 零-均值标准化(均值移除)手动与自动化代码演示&#x…...

华为OD机试题 - 最长连续交替方波信号(JavaScript)| 机考必刷

更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:最长连续交替方波信号题目输入输出示例一输入输出Code解题思路版…...

executor行为相关Spark sql参数源码分析

0、前言 参数名和默认值spark.default.parallelismDefault number of partitions in RDDsspark.executor.cores1 in YARN mode 一般默认值spark.files.maxPartitionBytes134217728(128M)spark.files.openCostInBytes4194304 (4 MiB)spark.hadoop.mapreduce.fileoutputcommitte…...

双通道5.2GSPS(或单通道10.4GSPS)射频采样FMC+模块

概述 FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道&#xff08;5.2GSPS/通道&#xff09;、单通道10.4GSPS、射频采样ADC模块&#xff0c;该板卡为FMC标准&#xff0c;符合VITA57.1规范&#xff0c;该模块可以作为一个理想的IO单元耦合至FPGA前端&#xff0c;8通道的JE…...

理解java反射

是什么Java反射是Java编程语言的一个功能&#xff0c;它允许程序在运行时&#xff08;而不是编译时&#xff09;检查、访问和修改类、对象和方法的属性和行为。使用反射创建对象相比直接创建对象有什么优点使用反射创建对象相比直接创建对象的主要优点是灵活性和可扩展性。当我…...

EasyRcovery16免费的电脑照片数据恢复软件

电脑作为一种重要的数据储存设备&#xff0c;其中保存着大量的文档&#xff0c;邮件&#xff0c;视频&#xff0c;音频和照片。那么&#xff0c;如果电脑照片被删除了怎么办&#xff1f;今天小编给大家介绍&#xff0c;误删除的照片从哪里可以找回来&#xff0c;误删除的照片如…...

若依微服务版在定时任务里面跨模块调用服务

第一步 在被调用的模块中添加代理 RemoteTaskFallbackFactory.java: package com.ruoyi.rpa.api.factory;import com.ruoyi.common.core.domain.R; import com.ruoyi.rpa.api.RemoteTaskService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springf…...

SpringMVC简单配置

1、pom.xml配置 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.12.RELEASE</version></dependency></dependencies><build><…...

xcat快速入门工作流程指南

目录一、快速入门指南一、先决条件二、准备管理节点xcatmn.mydomain.com三、第1阶段&#xff1a;添加你的第一个节点并且用带外BMC接口控制它四、第 2 阶段 预配节点并使用并行 shell 对其进行管理二&#xff1a;工作流程指南1. 查找 xCAT 管理节点的服务器2. 在所选服务器上安…...

C++回顾(十九)—— 容器string

19.1 string概述 1、string是STL的字符串类型&#xff0c;通常用来表示字符串。而在使用string之前&#xff0c;字符串通常是 用char * 表示的。string 与char * 都可以用来表示字符串&#xff0c;那么二者有什么区别呢。 2、string和 char * 的比较 &#xff08;1&#xff09…...

Hadoop入门

数据分析与企业数据分析方向 数据是什么 数据是指对可观事件进行记录并可以鉴别的符号&#xff0c;是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合&#xff0c;它是可以识别的、抽象的符号。 他不仅指狭义上的数字&#xff0c;还可以是具有一…...

高校如何通过校企合作/实验室建设来提高大数据人工智能学生就业质量

高校人才培养应该如何结合市场需求进行相关专业设置和就业引导&#xff0c;一直是高校就业工作的讨论热点。亘古不变的原则是&#xff0c;高校设置不能脱离市场需求太远&#xff0c;最佳的结合方式是&#xff0c;高校具有前瞻性&#xff0c;能领先市场一步&#xff0c;培养未来…...

提升学习 Prompt 总结

NLP现有的四个阶段&#xff1a; 完全有监督机器学习完全有监督深度学习预训练&#xff1a;预训练 -> 微调 -> 预测提示学习&#xff1a;预训练 -> 提示 -> 预测 阶段1&#xff0c;word的本质是特征&#xff0c;即特征的选取、衍生、侧重上的针对性工程。 阶段2&…...

JavaScript学习笔记(2.0)

BOM--&#xff08;browser object model&#xff09; 获取浏览器窗口尺寸 获取可视窗口高度&#xff1a;window.innerWidth 获取可视窗口高度:window.innerHeight 浏览器弹出层 提示框&#xff1a;window.alert(提示信息) 询问框&#xff1a;window.confirm(提示信息) 输…...

直击2023云南移动生态合作伙伴大会,聚焦云南移动的“价值裂变”

作者 | 曾响铃 文 | 响铃说 2023年3月2日下午&#xff0c;云南移动生态合作伙伴大会在昆明召开。云南移动党委书记&#xff0c;总经理葛松海在大会上提到“2023年&#xff0c;云南移动将重点在‘做大平台及生态级新产品&#xff0c;做优渠道转型新动能&#xff0c;做强合作新…...

STM32F1开发实例-振动传感器(机械)

振动(敲击)传感器 振动无处不在&#xff0c;有声音就有振动&#xff0c;哒哒的脚步是匆匆的过客&#xff0c;沙沙的夜雨是暗夜的忧伤。那你知道理科工程男是如何理解振动的吗&#xff1f;今天我们就来讲一讲本节的主角&#xff1a;最简单的机械式振动传感器。 下图即为振动传…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...