ERA5再分析资料下载和处理成红黑图教程

2024-04-15 18:44

本文主要是介绍ERA5再分析资料下载和处理成红黑图教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ERA5再分析资料下载和处理教程

1.下载官网:

https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-pressure-levels?tab=form

下载之前需要注册网站的账号认证
选择需要的要素时间气压等要素,注意最后下载的数据格式是grib还是nc格式
在这里插入图片描述
保存为netcdf格式
在这里插入图片描述
ERA5再分析资料的温度使用工具看到
在这里插入图片描述## python处理数据
nc数据基本信息的读取查看

ds = xr.open_dataset('xxxx.nc')  #使用xarray包打开nc数据
print(ds.variables.keys())   # 打印数据的变量信息
time_dim = ds.coords['time']  # 获取时间维度
lon = ds['longitude'].values  # 获取经度列表值
lat = ds['latitude'].values  #获取维度列表的值
data = ds.sel(time=t)   # 获取t这一特定时间的数据
data = data['t'].values   #获取温度的值

我们得到数据后将数据存储到红黑图,保证数据交互的方便,存储小
在这里插入图片描述

# # 垂直翻转数组【根据获取的数组实际旋转】# data = np.flipud(data)minValue = np.nanmin(data)maxValue = np.nanmax(data)# 用计算的最大小值来拉伸fix = (maxValue - minValue) / 256# var2Data[np.isnan(var2Data)] = 0# var3Data = var3Data.to_masked_array()# var3Data[np.isinf(var3Data)] = np.nanvar3Data = np.nan_to_num(data, nan=0)  # 无效值转换为0var3Data[var3Data < minValue] = minValuevar3Data = (var3Data - minValue) / fixvar3Data = np.uint8(var3Data)# 利用拉伸后的数据创建图片的RGB通道ir = Image.fromarray(var3Data[:]) # 写入值ig = Image.fromarray(np.array(np.zeros(var3Data.shape), np.uint8)).convert('L')ib = Image.fromarray(np.array(np.zeros(var3Data.shape), np.uint8)).convert('L')imjpg = Image.merge('RGB', (ir, ig, ib))flipped_img = imjpg.transpose(method=Image.FLIP_TOP_BOTTOM)directory_path11 = os.path.dirname(file_path)directory_path = os.path.dirname(directory_path11) + '\\' + 'era5' + '\\' + element + '\\' + stimeif not os.path.exists(directory_path):  # 如果路径不存在os.makedirs(directory_path)  # 则创建该目录pngfile = directory_path + '\\' + element + '_' + stime + '.png'flipped_img.save(pngfile, 'png')   #保存为png

在我们交互的同时定义相对应的json文件,方便前端的渲染

这篇关于ERA5再分析资料下载和处理成红黑图教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/906617

相关文章

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解