Python实践应用|NC文件读取

import netCDF4 as nc
import numpy as np
import matplotlib.pyplot as plt

# 打开NC文件
nc_file = 'E:/NC_file/air.sig995.2012.nc'  # 将'your_file.nc'替换为你的NC文件路径
nc_data = nc.Dataset(nc_file, 'r')

# 查看NC文件中包含的变量
print("Variables in the NC file:", nc_data.variables.keys())

# 选择要读取的变量,假设这个变量叫做'temperature'
variable_name = 'air'

# 读取经度、纬度、时间和气温数据
longitude = nc_data.variables['lon'][:]
latitude = nc_data.variables['lat'][:]
time = nc_data.variables['time'][:]
temperature = nc_data.variables[variable_name][:]

# 关闭NC文件
nc_data.close()

# 可视化气温数据
# 假设temperature的维度顺序为(time, latitude, longitude)
# 如果不是这个顺序,请相应调整索引顺序
plt.figure(figsize=(10, 5))
plt.imshow(temperature[0, :, :], cmap='jet', extent=(longitude.min(), longitude.max(), latitude.min(), latitude.max()))
plt.colorbar(label='Temperature (Celsius)')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.title('4xDaily Air temperature at sigma level 995')
plt.show()


# 提取重庆市的经纬度范围
chongqing_lon_min, chongqing_lon_max = 105, 110
chongqing_lat_min, chongqing_lat_max = 28, 32

# 找到重庆市在全局数据中的索引范围
chongqing_lon_indices = np.where((longitude >= chongqing_lon_min) & (longitude <= chongqing_lon_max))[0]
chongqing_lat_indices = np.where((latitude >= chongqing_lat_min) & (latitude <= chongqing_lat_max))[0]

# 提取重庆市的气温数据
chongqing_temperature = temperature[:, chongqing_lat_indices[0]:chongqing_lat_indices[-1]+1,
                          chongqing_lon_indices[0]:chongqing_lon_indices[-1]+1]

# 绘制重庆市的气温时间变化曲线
plt.figure(figsize=(10, 5))
plt.plot(time, chongqing_temperature[:, 0, 0], marker='o', linestyle='-')
plt.xlabel('Time')
plt.ylabel('Temperature (°C)')
plt.title('Temperature Variation in Chongqing')
plt.grid(True)
plt.show()

图1|可视化气温数据

 图2|重庆市气温时间序列变化图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/578661.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

免费简单好用的内网穿透工具(ngrok、natapp),微信回调地址配置

B站视频地址 文章目录 Natapp1、登录注册账号、下载软件2、使用2-1、购买隧道、查看token2-2、端口穿透 Ngrok1、登录注册账号、下载软件2、使用2-1、获取并设置 token2-2、使用 3、隧道 微信回调配置1、注册测试公众号2、回调代码3、回调配置 在一些特殊的场景下&#xff0c;需…

C#基础之结构体

结构体 文章目录 1、概念2、基本语法3、示例4、结构体的使用5、访问修饰符6、结构体的构造函数思考1 描述矩形信息思考2 职业名字释放了技能思考3 小怪兽思考4 多个小怪兽思考5 奥特曼打小怪兽 1、概念 结构体是一种一定义变量类型 它是数据和函数的集合&#xff0c;可以在结…

PCIe总线-MPS MRRS RCB参数介绍(四)

1.概述 PCIe总线的存储器写请求、存储器读完成等TLP中含有数据负载&#xff0c;即Data Payload。Data Payload的长度和MPS&#xff08;Max Payload Size&#xff09;、MRRS&#xff08;Max Read Request Size&#xff09;和RCB&#xff08;Read Completion Boundary&#xff0…

计算机存储原理.2

1.主存储器与CPU之间的连接 2.存储器芯片的输入输出信号 3.增加主存的存储字长 3.1位扩展 数据总线的利用成分是不充分的(单块只能读写一位)&#xff0c;为了解决这个问题所以引出了位扩展。 使用多块存储芯片解决这个问题。 3.2字扩展 因为存储器买的是8k*8位的&am…

硬件21、接线端子XH2.54、2.54排针排母、2510接插件、PH2.0、町洋接线端子5.08、ISP接口JTAG插座

XH2.54端子的间距为2.54毫米&#xff0c;2.54排针排母的间距也是2.54mm&#xff0c;2510接插件也是2.54、而PH2.0端子的间距为2.0毫米&#xff0c;町洋接线端子插针间的距离是5.08mm&#xff0c;ISP接口JTAG插座针脚的间距一般也是2.54mm XH2.54 针脚间距为2.54mm 插头 接线…

IIS中搭建.Net Core项目,步骤详解

一、准备服务器 1&#xff09;安装IIS 这个比较简单&#xff0c;百度一下就行 2&#xff09;安装 .NET Core 运行时 下载地址&#xff1a;下载 .NET(Linux、macOS 和 Windows) 因为我是本地开发&#xff0c;所以我下载的是SDK 安装成功之后显示如下&#xff1a; 检查是否安装…

判断字符串由几个单词组成(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int world 0;int i 0;char c 0;char string[81] { 0 };int num 0;//提示用户&#xff…

使用Github Action实现Hexo博客自动化部署

本文参考自 Akilar&#xff0c;原文地址&#xff1a;https://akilar.top/posts/f752c86d/ 每次部署Hexo都需要运行指令三件套&#xff0c;随着文章越来越多&#xff0c;编译的时间也随之越来越长&#xff0c;通过Github Action&#xff0c;我们只需要在每次完成博客的编写或修…

OSPF路由计算

1.区域内路由计算 &#xff08;1&#xff09;LSA的基本概念 LS Age&#xff1a;当LSA被始发时&#xff0c;该字段为0&#xff0c;随着LSA在网络中被泛洪&#xff0c;该时间逐渐累加&#xff0c;当到达MaxAge&#xff08;缺省值为3600s&#xff09;时&#xff0c;LSA不再用于路…

传统过程自动化工厂的智能扩展

一 通过NOA概念&#xff0c;公开、安全地迈向未来 随着数字化转型在过程自动化工业中的不断深入&#xff0c;许多公司都面临着同一挑战——如何平衡创新和传统。放眼望去&#xff0c;过程自动化工业和信息技术似乎在以不同的速度发展。虽然过程自动化工厂通过使用传统的自动化…

基于springboot实现企业oa管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现企业oa管理系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了企业OA管理系统的开发全过程。通过分析企业OA管理系统管理的不足&#xff0c;创建了一个计算机管理企业OA管理系统的方案…

C语言数据结构之栈

目录 1.栈的概念及结构2.栈的实现3.栈的代码实现4.相关例题 •͈ᴗ•͈ 个人主页&#xff1a;御翮 •͈ᴗ•͈ 个人专栏&#xff1a;C语言数据结构 •͈ᴗ•͈ 欢迎大家关注和订阅!!! 1.栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插…

AI大模型系列:自然语言处理,从规则到统计的演变

自然语言处理&#xff0c;从规则到统计的演变 自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;是人工智能的一个重要分支&#xff0c;主要研究如何让计算机理解、解释和生成人类语言。从自然语言处理的字面上来看&#xff0c;最重要的是“语言…

Unity | 集成 Protobuf(proto 转 cs 插件及序列化与反序列化)

1. 添加 dll 1. 下载 protobuf 源码 根据需要下载 protobuf 指定版本的源码&#xff0c;这里以 v3.21.12&#xff08;protobuf-csharp-3.21.12.zip&#xff09;为例&#xff1a; 下载地址&#xff1a;「https://github.com/protocolbuffers/protobuf/releases」 2. 下载 Vis…

防火墙技术基础篇:认识安全策略、安全区域、域间转发及报文转发流程

防火墙技术基础篇&#xff1a;认识安全策略、安全区域、域间转发及报文转发流程 一、安全策略匹配机制 简单通俗的讲&#xff0c;防火墙设备最基本的用途就是定义数据如何转发&#xff0c;靠什么定义呢&#xff1f;最基本的就是安全策略&#xff0c;当流量来到防火墙之后首先…

组播技术原理概述

组播与广播和单播的对比 l 组播、广播和单播工作模式的对比 单播&#xff1a;数据报文从一台主机&#xff0c;点对点的发给另外一台主机 广播&#xff1a;数据报文从一台主机&#xff0c;发给广播域内的全部主机 组播&#xff1a;数据报文从一台主机&#xff0c;发给…

JS----前端将列表数据转树型数据

前端将列表数据转树型数据 场景&#xff1a;后端返回列表数据&#xff0c;由前端根据业务需求完成树型数据转换&#xff0c; 常用于侧边导航菜单&#xff0c;下拉树型数据项等 export function listToTree(data: []) {var map: any {},tree: any []data.forEach((item: any…

ansible-playbook获取当前执行任务的ip及hostname

目录 概述注意实践代码 概述 注意 此问题&#xff0c;配置上一个文件即可解决 实践 代码 --- - name: Get IP Addresshosts: allgather_facts: notasks:- name: Get IP Addressansible.builtin.setup:register: host_ip- name: Print IP Addressansible.builtin.debug:msg:…

网络程序 -- TCP版服务器

一 多进程版TCP服务器 1.1 核心功能 对于之前编写的 字符串回响程序 来说&#xff0c;如果只有一个客户端进行连接并通信&#xff0c;是没有问题的&#xff0c;但如果有多个客户端发起连接请求&#xff0c;并尝试进行通信&#xff0c;服务器是无法应对的 原因在于 服务器是一个…

数据结构 - 队列 [动画+代码注释超详解],萌新轻松上手!!!

一. 队列的概念 队列是一种特殊的线性表&#xff0c;用于存储元素&#xff0c;并且按照先进先出(First In First Out)的顺序进行管理&#xff0c;这意味着最先加入队列的元素将会是最先从队列中被移除的元素 队列的原型&#xff1a;只允许在一端进行插入数据的操作&#xff0c…