气ython风雨 发表于 2024-5-17 19:11:06

WRFOUT 位温剖面和位温单格点高度图


前言
WRF (Weather Research and Forecasting Model) 是一种广泛用于天气预报和气候模拟的数值大气模式。通过分析WRF模型的输出数据,我们可以获得各种天气变量的空间分布及其随时间的演变情况。

在分析WRF模型输出数据时,常常需要绘制位温(Potential Temperature)剖面和位温单格点的高度图。位温是指将气块从参考高度(通常为1000 hPa)抬升或降低到某个特定高度后的温度,它是大气中的一个重要物理量,能够反映气块的垂直运动特征。

绘制位温剖面可以帮助我们理解大气的垂直结构和稳定性情况。通过观察不同高度上的位温值,我们可以推断出对流层中的温度递减率、大气边界层的稳定性等信息。而绘制位温单格点的高度图,则能够更直观地展示不同位置的位温分布及其随高度的变化趋势。

在本文中,我们将使用WRF模型的输出数据,利用Python编程语言以及相关库(如wrf-python、numpy和matplotlib)绘制位温剖面和位温单格点的高度图。我们将根据指定的站点位置和要绘制的高度层,获取相应的位温数据,并将其在图像中进行可视化展示。通过这样的绘图分析过程,我们可以更好地理解大气垂直结构以及不同位置的温度特征,为天气预报和气候研究提供有价值的参考。

位温剖面
导入库与读数据
from wrf importto_np, getvar, interplevel, get_cartopy, latlon_coords,ALL_TIMES,CoordPair,vertcross,interpline,ll_to_xy
import numpy as np
from netCDF4 import Dataset
import xarray as xr
from metpy.units import units
import matplotlib.pyplot as plt
from matplotlib.cm import get_cmap
from matplotlib.colors import from_levels_and_colors
import cmaps
from glob import glob
import metpy.calc as mpcalc
import metpy.constants as constants
import os
# 定义 WRF 文件夹路径和文件名前缀
wrfout_path = "/home/mw/input/wrfout3385/"
filename_prefix = "wrfout_d02_"

wrf_files = sorted()
wrf_list =
使用函数插值剖面


cross_start = CoordPair(lat=29, lon=105)
cross_end = CoordPair(lat=32, lon=105)

theta = getvar(wrf_list, 'theta')

ht = getvar(wrf_list, "z")

ter = getvar(wrf_list, "ter")
theta_cross = vertcross(theta, ht, wrfin=wrf_list,
                        start_point=cross_start,
                        end_point=cross_end,
                        latlon=True, meta=True)
ter_line = interpline(ter, wrfin=wrf_list, start_point=cross_start,
                      end_point=cross_end)
# Get the height coordinate values
xs = np.arange(0, theta_cross.shape[-1], 1)
ys = to_np(theta_cross.coords["vertical"])

绘图部分(无填充版本)
# Get the height coordinate values
xs = np.arange(0, theta_cross.shape[-1], 1)
ys = to_np(theta_cross.coords["vertical"])

# Create the figure
fig, ax = plt.subplots(figsize=(8, 6))

# Plot the theta cross section
contours = ax.contourf(xs,ys,
                            to_np(theta_cross),
                            levels=np.arange(300,500,10),
                            cmap=cmaps.temp_19lev)

# Fill in the mountain area
ht_fill = ax.fill_between(xs, 0, to_np(ter_line),
                              facecolor="saddlebrown")

# Set the x-ticks to use latitude and longitude labels
coord_pairs = to_np(theta_cross.coords["xy_loc"])
x_ticks = np.arange(coord_pairs.shape)
x_labels =

# Set the desired number of x ticks below
num_ticks = 5
thin = int((len(x_ticks) / num_ticks) + .5)
ax.set_xticks(x_ticks[::thin])
ax.set_xticklabels(x_labels[::thin], rotation=45, fontsize=8)

# Set the x-axis andy-axis labels
ax.set_xlabel("Latitude, Longitude", fontsize=12)
ax.set_ylabel("Height (m)", fontsize=12)

# Add a title
ax.set_title("Cross-Section of Potential Temperature", fontsize=14)

plt.show()/opt/conda/lib/python3.7/site-packages/cmaps/cmaps.py:3869: UserWarning: Trying to register the cmap 'temp_19lev' which already exists.
matplotlib.cm.register_cmap(name=cname, cmap=cmap)


绘图部分(填充版本)
# Get the height coordinate values
xs = np.arange(0, theta_cross.shape[-1], 1)
ys = to_np(theta_cross.coords["vertical"])

# Create the figure
fig, ax = plt.subplots(figsize=(8, 6))

# Plot the theta cross section
contours = ax.contourf(xs,ys,
                            to_np(theta_cross_filled),
                            levels=np.arange(300,500,10),
                            cmap=cmaps.temp_19lev)

# Fill in the mountain area
ht_fill = ax.fill_between(xs, 0, to_np(ter_line),
                              facecolor="saddlebrown")

# Set the x-ticks to use latitude and longitude labels
coord_pairs = to_np(theta_cross.coords["xy_loc"])
x_ticks = np.arange(coord_pairs.shape)
x_labels =

# Set the desired number of x ticks below
num_ticks = 5
thin = int((len(x_ticks) / num_ticks) + .5)
ax.set_xticks(x_ticks[::thin])
ax.set_xticklabels(x_labels[::thin], rotation=45, fontsize=8)

# Set the x-axis andy-axis labels
ax.set_xlabel("Latitude, Longitude", fontsize=12)
ax.set_ylabel("Height (m)", fontsize=12)

# Add a title
ax.set_title("Cross-Section of Potential Temperature", fontsize=14)

plt.show()


位温格点高度图
方法一
theta_s = theta_cross[:,20]
theta_s
可以看出从剖面取出的值还是有对应的经纬度,可直接绘制单格点高度分布


fig, ax = plt.subplots(figsize=(8, 6))
ax.plot(theta_s,ys)
ax.set_xlabel("theta(K) at lon 105.00 lat 30.77 ", fontsize=12)
ax.set_ylabel("Height (m)", fontsize=12)

Text(0, 0.5, 'Height (m)')


方法二
#指定要提取的经纬度坐标点
lat_lon =

#将经纬度坐标转换为模型坐标系(x, y)
x_y = ll_to_xy(wrf_list, lat_lon, lat_lon)
#读取数据
theta_s2 = getvar(wrf_list, "theta", timeidx=0)[:, x_y, x_y] * units.degC
h = getvar(wrf_list, "height", timeidx=0)[:, x_y, x_y] * units.degC
# plot
fig, ax2 = plt.subplots(figsize=(8, 6))
ax2.plot(theta_s2,h)
ax2.set_xlabel("theta(K) at lon 105.00 lat 30.77 ", fontsize=12)
ax2.set_ylabel("Height (m)", fontsize=12)Text(0, 0.5, 'Height (m)')


差别
乍一看没差别,实际上两者的shape是不同的theta_s.shape,theta_s2.shape((100,), (49,))
剖面取的点是插值之后的,层数达100,而直接取的单格点仅有模式设置的49层。
这单点高度图只是随手之作,大家有更好的办法可以评论区讨论讨论。

小结
做得仓促,没有细化绘图。从剖面再取格点貌似绕了远路(难道我会告诉你只是剖面图的副产物吗)

这时候有同学要问了,这地形图怎么这么难看啊?都说是仓促作图。废话少说赶紧点赞。
完整代码与文件在此


文章来源于公众号:气python风雨

Shanelig 发表于 2024-6-14 21:37:49

OLanelig


Hey there, I think your site might be having browser compatibility issues. When I look at your blog site in Chrome, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, awesome blog!
<a href=http://arusak-attestats24.com>www.arusak-attestats24.com</a>

Hey this is kind of of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code with HTML. I'm starting a blog soon but have no coding expertise so I wanted to get advice from someone with experience. Any help would be greatly appreciated!

DadddyVow 发表于 2024-7-10 06:55:35

darkmarket 2024 ztzzp

Shanelig ??? 2024-6-14 21:37
Hey there, I think your site might be having browser compatibility issues. When I look at your blo ...

cryptomarkets darknetxbi   onion dark website   sso   darkmarket 2024nsg   cryptomarkets darknetkxb   tor markets 2024   qtz   darknet sitesstd   tor markets 2024pmd   dark web sitespnd   darkmarketfbf   dark market linkijr   dark web drug marketplaceciu   darknet markets 2024dms   darknet market listofm   tor drug marketsvz   dark marketsaco   darknet drugsedl   dark websitessfv   cryptomarkets darknetymm   darkmarket linkcym   dark web market urls dark web sitesamu   dark web market urls   gng   darkmarket 2024rhl   darkmarketsvpb   darkmarket url   ilq   darknet websitesgmo   darknet markets onion addressylt   dark web markethym   dark web marketplacesyai   dark market linkcxb   dark web sitesuhe   darkmarket urlwzr   dark web siteslpk   onion dark websiterdy   dark web marketwjr   dark web marketsflw   dark web drug marketplacelsc   dark web marketsnka   darknet markets onion addressfdd   bitcoin dark web

tor markets 2024 darknet markets darknet drug market darknet market lists dark web drug marketplace darknet markets onion darknet drug store dark web link darknet websites darknet drug market darknet market list dark market url dark web market list darknet marketplace dark web marketplaces dark web market list darkmarket url darknet site dark web marketplaces darknet markets onion address darknet market dark web markets darknet drugs dark websites darkmarket dark web sites tor drug market darknet market list darknet markets 2024 darknet magazine dark web drug marketplace darknet sites darknet markets onion address tor drug market dark web market urls darknet magazine tor markets 2024 onion dark website dark web markets darkmarket 2024 darknet site dark market link darknet markets links dark markets 2024 dark web drug marketplace best darknet markets darkmarket darknet magazine dark web sites darkmarket list darknet markets url dark market list dark web market list darkmarket dark markets 2024 darknet market links darkmarket darkmarket url darknet market list dark market

https://darkmarkets2022.comdark market list https://drugmarketsdarkwebs.comdarknet markets url https://drugsmarketsdarkweb.comdark web sites https://darknet-drugstore.comdarknet site https://dark-onion-markets.comdark web market list https://darksitemarket.comdark market link https://tor-markets2022.comdark markets 2024 https://deepwebdrugmarkets.comdark web market links https://darknetshoplists.comdarknet markets onion https://tormarkets22.comcryptomarkets darknet

TimothyHal 发表于 2024-7-29 01:29:14

Python基础学习进度如何?.

请问大家在学习Python基础知识方面遇到了哪些困难?是否有什么建议或技巧可以分享?
city shop

BrianPal 发表于 2024-8-15 19:22:32

мега ссылка

DadddyVow ??? 2024-7-10 06:55
cryptomarkets darknetxbi   onion dark website   sso   darkmarket 2024nsg   cryptomarkets darkn ...

Готовы к изменениям в сфере интернет-торговли? Mega - это платформа, где важны удобство и безопасность! Благодаря новейшим мерам защиты и легкому способу регистрации <a href=https://xn--megsb-5wa.com>mega dark market</a> обеспечивает беспрепятственный шопинг. Ознакомьтесь с множеством товарных категорий и воспользуйтесь гибкими способами оплаты. Присоединяйтесь к <a href=https://xn--megsb-5wa.com>мега даркнет маркет ссылка на сайт</a> без промедления и воплотите в жизнь будущее онлайн-шопинга.

мега сайт даркнет ссылка: https://mega-active-links.com

ThelmaWex 发表于 2024-8-20 04:13:44

anniversary годовщина

Maybe these are here too? DavidTum
https://vocal.media/authors/sosua-kupit-boshki-gashish-shishki

Estherinput
https://fliphtml5.com/homepage/jjjdm/Савёлки-купить-Мефедрон,-Скорость-альфа-пвп/

be over закончиться 64_6102
https://gravatar.com/milkshakeenthusiasticallye63eb01e4e

CarolynMic
https://www.penname.me/@twylastimmel_gl/

KristiHom
https://pubhtml5.com/homepage/dwdnn

boot сапог ботинок
https://gravatar.com/instantlyinventive9289b4350f

Maryannvax
https://www.penname.me/@dechuyesid_hl/

Vivianwof
https://www.penname.me/@winnifredpollot_gl/

https://boosty.to/a5ajulianafujii1

Ethelastow
belong to принадлежать
https://boersen.oeh-salzburg.at/author/IoberEsopuwaz

AnitaAgoni
https://imageevent.com/chtountaxes/qdzpm

Soniatrery orArinatrery here?
Is there a user SoniaTum and ArinaTum here?

ThelmaWex 发表于 2024-8-20 12:05:38

bully задира задирать

Maybe these are here too? DavidTum
https://boosty.to/e3awolgastnina6

Estherinput
https://conifer.rhizome.org/erahjihoo/

allot выделять отводить ca46e6c
https://anyflip.com/homepage/ppmnr

CarolynMic
https://conifer.rhizome.org/ylimanatuzuj/

KristiHom
https://pubhtml5.com/homepage/tivgf

bullet пуля
https://www.penname.me/@viapianosarita_gl/

Maryannvax
https://www.penname.me/@Vanantwerpeio4_gl/

Vivianwof
https://anyflip.com/homepage/sedoj

https://vocal.media/authors/oryol-kupit-mefedron-skorost-shishki

Ethelastow
be on fire гореть
https://pubhtml5.com/homepage/axeoe

AnitaAgoni
https://anyflip.com/homepage/zouht

bless благословлять
Is there a user SoniaTum and ArinaTum here?

ThelmaWex 发表于 2024-8-20 14:28:18

arbitrary произвольный

Maybe these are here too? DavidTum
https://vocal.media/authors/karaganda-kupit-mefedron-skorost-shishki

Estherinput
https://gravatar.com/clearee25ea74ac

appear появиться 6c892c5
https://www.cdt.cl/user/satyaveer871brady82yolanda/

CarolynMic
https://gitlab.pavlovia.org/thyifizimi1983

KristiHom
https://conifer.rhizome.org/mesackjunju/

breast грудь
https://www.penname.me/@MelonyFreilinoliw5_gl/

Maryannvax
https://anyflip.com/homepage/agggm

Vivianwof
https://anyflip.com/homepage/hiond

https://1businessworld.com/pro/eatijetivityqa

Ethelastow
benevolent благожелательный
https://www.slideserve.com/sookkoelling55

AnitaAgoni
https://boersen.oeh-salzburg.at/author/bethanyeckel7777

Sonialix orArinalix here?
Is there a user SoniaTum and ArinaTum here?

DadddyVow 发表于 2024-8-22 14:39:38

darknet markets onion ilbje

dark market listuvr   dark web sites   idz   dark web market urlswut   dark web market urlsgna   darkmarket list   mod   darknet drug storercw   darknet markets urlwxs   cryptomarkets darknetyxu   onion dark websitevdp   darknet marketbsv   darknet market listsvnn   dark market onionqer   dark marketpjq   darknet markets onionalh   dark markets 2024zvv   darknet drug storebcd   best darknet marketsywt   bitcoin dark webafu   darknet marketspyi   darknet marketplace dark web market urlszxy   darknet markets url   upx   dark market linkixd   darknet magazineibq   dark markets   yiq   tor drug marketpwe   darknet marketsnro   darknet marketplacesvf   onion dark websiteumd   darknet drugstyp   darknet drug storecta   dark market onionlwz   darkmarket linkevx   darknet marketstdh   darknet markets urlaiw   best darknet marketsycd   dark marketsycn   cryptomarkets darkneteef   dark web market listhbu   dark market onion

dark web drug marketplace dark markets darknet site darkmarket list darknet magazine darknet markets onion address dark market url dark web drug marketplace darknet markets onion darkmarket link dark web market urls darknet markets onion darknet drugs dark web market urls darknet drug links darknet drug market dark web market list dark market onion dark websites darknet markets darkmarket list darkmarket darkmarket link darknet sites darkmarket onion dark website dark market 2024 darknet markets links dark web drug marketplace darknet marketplace onion dark website darknet site darknet markets onion darkmarkets darknet market links bitcoin dark web dark web market urls darknet market lists darknet markets onion address dark market url dark market link tor drug market darknet marketplace bitcoin dark web dark web sites darknet market lists darknet market darknet drug market darknet markets url darknet markets onion address darkmarket list darkmarket link darknet drug links darknet marketplace darknet markets links darknet market links dark web sites darknet marketplace darkmarket cryptomarkets darknet

https://tor-dark.combitcoin dark web https://darkmarketwww.onlinedarknet magazine https://btcdarkweb.comtor drug market https://drugsmarketonion.comdark web sites https://heinekenexpresdarknet.linkdark market https://drugmarketsweb.comdark web market https://darknet-drugstore.comdarknet markets onion address https://darkwebmarketlink.comdarkmarket 2024 https://darknetsdrugstore.comdark web sites https://tordarkwebs.comdarkmarket link

Chkyerieflima 发表于 2024-8-24 04:12:04

advantage преимущество

ThelmaWex ??? 2024-8-20 12:05
Maybe these are here too? DavidTum
https://boosty.to/e3awolgastnina6


Maybe these are here too? DavidTum
https://barbershop-style.ru
https://fabrika-okon48.ru
benefit польза создавать пользу 5565_19
https://estetica-dental.ru
Ghtherinput
https://juztattoo.ru
https://freefaucet.ru
affect воздействовать
https://evraziaservis.ru
Ikherinput
https://marshrutke.ru
https://vosstanovite.ru
Svererinput
https://soul-murino.ru
https://rgc-online.ru
appeal обращаться взывать
https://platiezhe.ru
https://proektgpm.ru
Laserinput
https://snowlion-ul.ru
arrogant высокомерный
https://artro-flex.ru
EJierinput
页: [1] 2 3 4 5 6 7
查看完整版本: WRFOUT 位温剖面和位温单格点高度图