气象学家公众号 发表于 2024-4-9 23:57:19

推荐|Python绘制3D动态对流层顶(Tropopause)


作者
Mathew Barlow: Professor of Climate Science University of Massachusetts Lowell

工具
GFS, the nomads server, python, and the python packages numpy, matplotlib, cartopy, scipy, and netcdf4

potential-vorticity: Python code (gfs_pv_1.2.py) for dynamic tropopause (DT) calculations: DT pressure, DT potential temperature (theta), PV on the 330K isentropic surface, and a PV and theta cross-section at the latitude where the tropopause is lowest in the domain. The date and time need to be set in the beginning of the code; the domain can be changed there as well. gfs_pv_1.2_3D.py is the same code but with additional (poor) 3D plots This code has a DOI and is citable: DOI The data source is the online GFS analysis, and the date and time need to be set within the period of available data. The program can take a few minutes to run because it is accessing data over the internet.

代码
https://github.com/mathewbarlow/potential-vorticity

具体参考以上链接
1#
2# run on python 3.7
3#
4# python code for some calculations related to the dynamic tropopause (DT)-
5# DT pressure, DT potential temperature, 330K PV,
6# and a cross-section of PV at the latitude where the tropopause is lowest -
7# all based on the GFS analysis available online.As the data is accessed
8# online, the program can take a while to run.
9#
10# the date and lat-lon range can be set below
11#
12# (poorly) coded by Mathew Barlow
13# initial release: 14 Nov 2017
14# last updated: 10 Oct 2019
15#
16# this code has *not* been extensively tested and has been
17# awkwardly translated from other coding languages, so if you find
18# any errors or have any suggestions or improvements, including for
19# the plotting, please let me know at <a href="mailto:Mathew_Barlow@uml.edu">Mathew_Barlow@uml.edu</a> . Thanks!
20#
21# Support from NSF AGS-1623912 is gratefully acknowledged
22#
23
24import numpy as np
25import netCDF4
26import matplotlib.pyplot as plt
27import matplotlib.ticker as tick
28from mpl_toolkits.mplot3d import axes3d
29import cartopy.crs as ccrs
30from scipy.ndimage import gaussian_filter
31from cartopy.feature import NaturalEarthFeature
32from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
33from cartopy.mpl.ticker import LatitudeFormatter, LongitudeFormatter
34
35from datetime import datetime
36
37
38# VALUES TO SET *************************************************
39# set date, lat-lon range, and PV-value definition of tropopause
40mydate='20191016'
41myhour='06'
42(lat1,lat2)=(20,70)
43(lon1,lon2)=(120,240.1)
44tpdef=2   # definition of tropopause in PVU
45#****************************************************************
46
47
48#constants
49re=6.37e6
50g=9.81
51cp=1004.5
52r=2*cp/7
53kap=r/cp
54omega=7.292e-5
55pi=3.14159265
56
57# open dataset, retreive variables, close dataset
58
59url='https://nomads.ncep.noaa.gov/dods/gfs_0p25/gfs'+\
60mydate+'/gfs_0p25_'+myhour+'z_anl'
61
62file = netCDF4.Dataset(url)
63
64lat_in= file.variables['lat'][:]
65lon_in= file.variables['lon'][:]
66lev = file.variables['lev'][:]
67
68pres2pv_in = file.variables['pres2pv']
69pressfc_in = file.variables['pressfc']
70
71nlev = lev.size
72nx = lon_in.size
73ny = lat_in.size
74
75u_in = np.full((nlev, ny, nx), None)
76v_in = np.full((nlev, ny, nx), None)
77t_in = np.full((nlev, ny, nx), None)
78hgt_in = np.full((nlev, ny, nx), None)
79
80ilev = 0
81while ilev < nlev:
82    print(ilev)
83    u_in = file.variables['ugrdprs']
84    ilev = ilev + 1
85
86ilev = 0
87while ilev < nlev:
88    v_in = file.variables['vgrdprs']
89    ilev = ilev + 1
90
91ilev = 0
92while ilev < nlev:
93    t_in = file.variables['tmpprs']
94    ilev = ilev + 1
95
96ilev = 0
97while ilev < nlev:
98    hgt_in = file.variables['hgtprs']
99    ilev = ilev + 1
100
101#t_in = file.variables['tmpprs']
102#u_in = file.variables['ugrdprs']
103#v_in = file.variables['vgrdprs']
104#hgt_in = file.variables['hgtprs']
105
106file.close()
107
108# get array indices for lat-lon range
109# specified above
110iy1 = np.argmin( np.abs( lat_in - lat1 ) )
111iy2 = np.argmin( np.abs( lat_in - lat2 ) )
112ix1 = np.argmin( np.abs( lon_in - lon1 ) )
113ix2 = np.argmin( np.abs( lon_in - lon2 ) )
114
115# select specified lat-lon range
116t=t_in[:,iy1:iy2,ix1:ix2]
117lon=lon_in
118lat=lat_in
119u=u_in[:,iy1:iy2,ix1:ix2]
120v=v_in[:,iy1:iy2,ix1:ix2]
121hgt=hgt_in[:,iy1:iy2,ix1:ix2]
122pres2pv=pres2pv_in
123pressfc=pressfc_in
124
125# some prep work for derivatives
126xlon,ylat=np.meshgrid(lon,lat)
127
128# define potential temperature and Coriolis parameter
129theta=t*(1.E5/(lev[:,np.newaxis,np.newaxis]*100))**kap
130f=2*omega*np.sin(ylat*pi/180)
131
132lon = np.array(lon, dtype='float')
133lat = np.array(lat, dtype='float')
134lev = np.array(lev, dtype='float')
135u = np.array(u, dtype='float')
136v = np.array(v, dtype='float')
137hgt = np.array(hgt, dtype='float')
138pres2pv = np.array(pres2pv, dtype='float')
139pressfc = np.array(pressfc, dtype='float')
140theta = np.array(theta, dtype='float')
141f = np.array(f, dtype='float')
142
143# calculate derivatives
144
145def ddp(f):
146# handle unevenly-spaced levels with 2nd order
147# Lagrange interpolation
148# except for top and bottom, where use forward diff
149    lev3=lev.reshape(lev.size,1,1)*100
150    dpp=lev3-np.roll(lev3,-1,axis=0)
151    dpm=lev3-np.roll(lev3,1,axis=0)
152    fp=np.roll(f,-1,axis=0)
153    fm=np.roll(f,1,axis=0)
154    ddp_f=(
155      fm*dpp/( (dpp-dpm)*(-dpm) ) +
156      f*(dpp+dpm)/( dpm*dpp ) +
157      fp*dpm/( (dpm-dpp)*(-dpp) )
158      )
159    ddp_f=(f-f)/(lev3-lev3)
160    ddp_f[-1,:,:]=(f[-1,:,:]-f[-2,:,:])/(lev3[-2,:,:]-lev3[-1,:,:])
161    return(ddp_f)
162
163def ddx(f):
164# use center-difference, assuming evenly spaced lon
165# except for side-boundaries, where use forward diff
166    x=(re*np.cos(ylat*np.pi/180)*np.pi/180)*lon
167    x3=x.reshape(1,x.shape,x.shape)
168    dx3=np.roll(x3,-1,axis=2)-np.roll(x3,1,axis=2)
169    ddx_f=(np.roll(f,-1,axis=2)-np.roll(f,1,axis=2))/dx3
170    ddx_f[:,:,0]=(f[:,:,1]-f[:,:,0])/(x3[:,:,1]-x3[:,:,0])
171    ddx_f[:,:,-1]=(f[:,:,-2]-f[:,:,-1])/(x3[:,:,-2]-x3[:,:,-1])
172    return(ddx_f)
173
174def ddy(f):
175# use center-difference, assuming evenly spaced lon
176# except for N/S boundaries, where use forward diff
177    y=(re*np.pi/180)*lat
178    y3=y.reshape(1,y.shape,1)
179    dy3=np.roll(y3,-1,axis=1)-np.roll(y3,1,axis=1)
180    ddy_f=(np.roll(f,-1,axis=1)-np.roll(f,1,axis=1))/dy3
181    ddy_f[:,0,:]=(f[:,1,:]-f[:,0,:])/(y3[:,1,:]-y3[:,0,:])
182    ddy_f[:,-1,:]=(f[:,-2,:]-f[:,-1,:])/(y3[:,-2,:]-y3[:,-1,:])
183    return(ddy_f)
184
185
186#lev3=lev.reshape(lev.size,1,1)
187#ddp_theta=np.gradient(theta,lev3*100,axis=0)
188#ddx_theta=np.gradient(theta,axis=2)/dx
189#ddy_theta=np.gradient(theta,axis=1)/dy
190
191gf=1
192
193ddp_theta=ddp(theta)
194ddp_u=ddp(gaussian_filter(u,sigma=gf))
195ddp_v=ddp(gaussian_filter(v,sigma=gf))
196
197ddx_theta=ddx(theta)
198ddy_theta=ddy(theta)
199ddx_v=ddx(gaussian_filter(v,sigma=gf))
200ddy_ucos=ddy(gaussian_filter(u,sigma=gf)*np.cos(ylat*pi/180))
201
202# calculate contributions to PV and PV
203absvort=ddx_v-(1/np.cos(ylat*pi/180))*ddy_ucos+f
204pv_one=g*absvort*(-ddp_theta)
205pv_two=g*(ddp_v*ddx_theta-ddp_u*ddy_theta)
206pv=pv_one+pv_two
207
208# calculate pressure of tropopause, Fortran-style (alas!)
209# as well as potential temperature (theta) and height
210#
211# starting from 10hPa and working down, to avoid
212# more complicated vertical structure higher up
213#
214nx=ix2-ix1+1
215ny=iy2-iy1+1
216nz=lev.size
217nzs=np.argwhere(lev==50.0)
218tp=np.empty((ny-1,nx-1))*np.nan   # initialize as undef
219tp_theta=np.empty((ny-1,nx-1))*np.nan   # initialize as undef
220tp_hgt=np.empty((ny-1,nx-1))*np.nan   # initialize as undef
221
222for ix in range(0,nx-1):
223    for iy in range(0,ny-1):
224      for iz in range(nzs,0,-1):
225            if pv/1e-6<=tpdef:
226                if np.isnan(tp):
227                  tp=(
228                  (lev*(pv-tpdef*1e-6)
229                  -lev*(pv-tpdef*1e-6))/
230                  (pv-pv)
231                  )
232
233                  tp_theta=(
234                  ((lev-tp)*theta+
235                  (tp-lev)*theta)/
236                  (lev-lev)
237                  )
238
239                  tp_hgt=(
240                  ((lev-tp)*hgt+
241                  (tp-lev)*hgt)/
242                  (lev-lev)
243                  )
244
245# calculate PV on the 330K isentropic surface
246# (also not in a pythonic way)
247nx=ix2-ix1+1
248ny=iy2-iy1+1
249nz=lev.size
250pv330=np.empty((ny-1,nx-1))*np.nan   # initialize as undef
251for ix in range(0,nx-1):
252    for iy in range(0,ny-1):
253      for iz in range(nz-2,0,-1):
254            if theta>=330:
255                if theta<=330:
256                  if np.isnan(pv330):
257                        pv330=(
258                        ((330-theta)*pv+
259                        (theta-330)*pv)/
260                        (theta-theta)
261                        )
262
263
264# slight smoothing of result
265# (appears to work better than smoothing u,v,t first)
266tp=gaussian_filter(tp,sigma=1)
267tp_theta=gaussian_filter(tp_theta,sigma=1)
268pv330=gaussian_filter(pv330,sigma=1)
269
270# define spatial correlation function for testing results
271def scorr(a,b):
272    abar=np.mean(a)
273    bbar=np.mean(b)
274    covar=sum((a-abar)*(b-bbar))
275    avar=sum((a-abar)**2)
276    bvar=sum((b-bbar)**2)
277    r=covar/np.sqrt(avar*bvar)
278    return(r)
279
280# identify latitude of lowest tropopause
281maxloc=np.argwhere(tp==np.amax(tp))
282latmax=lat]
283
284
285# now make some plots - these badly need to be improved
286
287states = NaturalEarthFeature(category='cultural',
288    scale='50m', facecolor='none',
289    name='admin_1_states_provinces_shp')
290
291# get date for plotting
292fdate=datetime.strptime(mydate, '%Y%m%d').strftime('%d %b %Y')
293
294plt.close(fig='all')
295
296print('got here')
297
298nframe=30
299iframe=0
300while iframe<=nframe:
301    plt.figure(iframe,figsize=plt.figaspect(0.5))
302
303    pressfc_smooth=gaussian_filter(pressfc,sigma=1)
304    ax=plt.gca(projection='3d')
305
306    surf=ax.plot_surface(xlon,ylat,tp,cmap="coolwarm",alpha=1,
307                     rstride=1,cstride=1,
308                     linewidth=0, antialiased=False)
309
310    ax.plot_surface(xlon,ylat,pressfc_smooth/100,color="lightgray",
311                     rstride=1,cstride=1,
312                     linewidth=0, antialiased=False)
313
314    ax.set_zlim(1000,100)
315    ax.set_xlim(lon1,lon2)
316    ax.set_ylim(lat1,lat2)
317    ax.view_init(elev=90 - iframe*90/nframe,azim=-90)
318
319    plt.title('2PVU Dynamic Tropopause over topography\n'+myhour+'Z '+fdate)
320    plt.colorbar(surf)
321
322    plt.savefig('goo'+ '{:04d}'.format(iframe)+'.png', bbox_inches='tight',
323                  dpi=300)
324
325    iframe=iframe+1
彩蛋
1.thorpe_tropopause
https://github.com/mathewbarlow/thorpe_tropopause

2.stratospheric-polar-vortex
https://github.com/mathewbarlow/stratospheric-polar-vortex


文章来源于微信公众号:气象学家

WinonaSpen 发表于 2024-4-27 13:58:42

你的代码实现很有启发性,学习了!

FrankJScott 发表于 2024-8-28 23:54:22

Cool RTP ASIAN2BET Blog

WinonaSpen ??? 2024-4-27 13:58
???????????,???!

To the people inquiring about rtp oceanslot88, rtp live panda88, rtp live slot mania, rtp hari ini, live rtp slot gacor hari ini, rtp slot pragmatic terbaru hari ini, rtp live 2022, jam yang gacor main slot, rtp live zeus 138, rtp slot pragmatic mlm ini,I highly suggest this new RTP ASIAN2BET site or jam jam main slot gacor, rtp live neo177, rtp live mpo08, rtp live kuy4d, live rtp tangan judi, rtp jet178, rtp slot hari ini pragmatic, rtp live masterslot88, cek rtp slot pragmatic play, slotup88 live, and don't forget this great ASIAN2BET tips alongside all rtp livetoto88, rtp 168 live, rtp imba slot hari ini, rtp live slot367, gacor live, rtp gates of olympus hari ini, rtp stadium4d, rtp indoplay88, slot live rtp, live rtp gacor, as well as this discover more here for RTP ASIAN2BET info which is also great. Also, have a look at this click here on ASIAN2BET info and don't forget rtp live slot pg soft hari ini, indo39 rtp, agen asia slot 88, rtp premierslot88, rtp live slot777, bigslot88 live, rtp slot5000 hari ini, rtp live king999, rtp slot 4d hari ini, rtp atm4d, and don't forget this check this out on ASIAN2BET url with rtp live oxslot88, rtp live indowin88, bocoran rtp pragmatic live, rtp slot pragmatic hari ini, pragmatic play indonesia, rtp slot pragmatic tertinggi hari ini, info jam gacor slot, rtp wwg slot, rtp slot live online, live rtp gacor,for good measure. Check more @ New ASIAN2BET Site cab878d

FrankJScott 发表于 2024-9-9 22:28:51

Updated Google Indexing Info

In response to the person inquiring about backlinks are links that are directed towards your website, url console, tag noindex, google crawled but not indexed, get backlinks indexed, google index database, google request site crawl, indexing crawling, get indexed, ask google to crawl site,I highly recommend this new google indexing url or indexing crawling, google search index update, list website on google, ranking in search engine, google back link, site url google search, google not showing my website, check which pages are indexed by google, add website to search engines, submit website to google search engine, as well as this great google indexing info alongside all check if google indexed a page, google search console reindex, backlink in seo means, backlinks meaning, submit my site to search engines free, ask google to index website, the google crawl, url inspection tool google, google add website to index, no index pages, not to mention this click here about google indexing details which is also great. Also, have a look at this my sources on google indexing site alongside all submit website to google search console, google search console not indexed pages, check site index google, rank without backlinks, crawl my website google, search console 404 errors, google index my page, check website indexing, register website to search engines, instant indexing plugin wordpress, alongside all this top rated google indexing info with remove index google, search engine submission in seo, submit to google search engine, check if page is indexable, prevent google from crawling site, website not found on google, search engine console, search console not working, google not showing my website, url index tool,for good measure. Check more @ Awesome Daily Sport Predictions Site ab878d0

FrankJScott 发表于 2024-9-9 23:28:20

Great Google Indexing Site

FrankJScott ??? 2024-8-28 23:54
To the people inquiring about rtp oceanslot88, rtp live panda88, rtp live slot mania, rtp hari ini ...

To the lady talking about get indexed, link indexer software, google search console url is not on google, website check google, website does not show in google search, tool to index backlinks, google indexing software, request indexing on google search console, google crawler tool, check website indexing,I highly suggest this discover more for google indexing site or check if my website is indexed by google, in search of website, my site is not showing up on google, google page indexing issues, search console page, submit website for indexing, google search websites, my google website is not showing, my website pages are not indexing, indexer website, on top of this excellent google indexing link as well as google web crawler test, understanding google search results, google check links to website, meta no follow, reindex google search console, console index, no index no follow html, check index url, deindex checker, check if website is indexable, as well as this cool google indexing site which is also great. Also, have a look at this more helpful hints on google indexing tips as well as submit website to google search console, instant backlink indexer, request indexing search console, google search add website, request indexing on google search console, submit site to search engines free, website not coming up in google search, google index now, bulk submit url, ask google to reindex, as well as this top google indexing forum with web crawling search engines, page is not indexed, indexering google, index tag, google index adalah, google search how it works, force google crawl website, google search console test live url, google robots file, robots no index no follow,for good measure. Check more @ Recommended ugzeus slot login Tips 78d07aa

FrankJScott 发表于 2024-9-23 23:40:27

Excellent AMAN88 Info

FrankJScott ??? 2024-9-9 23:28
To the lady talking about get indexed, link indexer software, google search console url is not on...

To the people inquiring about slot sbo, slot online link, casino play, slot casino, web casino games, apa itu pragmatic slot, microgaming play, sbobet casino online, https casino, slot virtual,I highly recommend this best AMAN88 url or https casino, slot online login, judi slot online, login slot joker, slot microgaming, id casino, allbet slot, casino microgaming, link pragmatic play, slot e, alongside all this visit website on AMANSLOT88 site and don't forget ion slot login, website judi, ion casino, link to slot, play pragmatic slot, link pragmatic play, pragmatic play online, slot joker login, login pragmatic slot, slot online microgaming, and don't forget this a fantastic read for AMAN88 tips which is also great. Also, have a look at this your input here on AMAN88 details alongside all login slot joker, casino slot login, link alternatif pragmatic, agen judi casino, login pragmatic slot, slot casino, games judi slot, co gaming, agen slot, microgaming slot, not to mention this high rated AMAN88 blog not forgetting sites such as slot pg games, website judi, slot playing, link to slot, judi slot,look at this for and don't forget slot sbo, games slot pg, slot home, casino microgaming, casino l,for good measure. Check more @ Updated Tajir4D Login Blog e7069c2

Melodycrefs 发表于 2024-9-24 21:17:12

bat city note

https://fliphtml5.com/homepage/waqfz/Дэгу-купить-Амфетамин-Экстази-Лсд/
https://gitlab.pavlovia.org/poticomtho1983
https://conifer.rhizome.org/sidemyxinaxu/
https://boosty.to/egelstonkazecejen
https://imageevent.com/ebuzeqogur19/vcqxv
https://about.me/aleciabotisadok
https://menta.work/user/132212
https://medium.com/@behmercimemuzud/борисоглебск-купить-кокаин-ada00b65ad00
https://www.pinterest.com/pricillaschroedter/
https://medium.com/@nikkipoyiwugif/купить-героин-метадон-лирика-севилья-fc821dff2f73

advantage aspire bother 3d61a7d
director abolish amid
million record strategy

https://imageevent.com/cujucaceb197/agfjr
https://1businessworld.com/pro/oonidawera
https://anyflip.com/homepage/delvh
https://anyflip.com/homepage/yhvrh
https://conifer.rhizome.org/pittasleonah/
https://conifer.rhizome.org/yohulusiciw1/
https://glose.com/u/qafyqexycoj1978
https://conifer.rhizome.org/oalamyrideki/
https://anyflip.com/homepage/bqbzs
https://menta.work/user/132272

face explain blast
bout benefit buy
blush attain radio

https://www.penname.me/@steinbergimadrijz_ok/
https://medium.com/@lanhurovavut/купить-мдма-lsd-мефедрон-ск-реутов-cb607fcedde3
https://medium.com/@biellogejerojay/купить-героин-метадон-лирика-шадринск-590142476733
https://www.penname.me/@gaelickloska_ok/
https://boosty.to/lizzettegagiqanud
https://vocal.media/authors/sianukvil-kupit-geroin-metadon-lirika
https://boosty.to/pinnerquyafamod
https://fliphtml5.com/homepage/rrauf/Купить-Амфетамин-Экстази-Лсд-Унаватуна/
https://vocal.media/authors/prokopevsk-kupit-mdma-lsd-mefedron-sk
https://boosty.to/pricillazuwujumuv

test adorn blow
high bud afraid
arc bestow announce

https://fliphtml5.com/homepage/tkbyl/Купить-Скорость-Альфа-ПВП-МЕФ-Бухарест/
https://imageevent.com/annikimorfov/lpwzk
https://www.penname.me/@hagginsvhauakjvt_ok/
https://www.penname.me/@neicycerbu_hl/
https://fliphtml5.com/homepage/ttgqn/Купить-Героин-Метадон-Лирика-Бремен/
https://medium.com/@dedricklolukuwiq/герцлия-купить-кокаин-5268fbabb524
https://www.slideserve.com/wliwufidopoty1989
https://glose.com/u/QemopOpysicax
https://conifer.rhizome.org/okaxuruboz19/
https://medium.com/@rueljasozabit/купить-амфетамин-экстази-лсд-иваново-fe532fbaf5ae

everything early wall
bless however woman
bait arm bleach

Melodycrefs 发表于 2024-9-25 04:37:47

beat them blink

https://glose.com/u/iwuragube1977
https://about.me/isbistersicaxaduz
https://fliphtml5.com/homepage/dhgbl/Бар-купить-Бошки-Гашиш-Шишки/
https://anyflip.com/homepage/ihgeu
https://www.penname.me/@amuvogowuqom1977_ok/
https://medium.com/@kalleydotupomub/речица-купить-скорость-альфа-пвп-меф-962f41e835b1
https://medium.com/@louisecebamelif/купить-скорость-альфа-пвп-меф-антверпен-b90da5401f57
https://boersen.oeh-salzburg.at/author/DjubiNanuvaj
https://medium.com/@stuartzixadapoc/купить-мдма-lsd-мефедрон-ск-испания-9f8ac050e95e
https://gitlab.pavlovia.org/ubsalisme1977

develop pressure brisk 6e6c892
carry oh bed
branch aunt receive

https://gitlab.pavlovia.org/lawhicatless1975
https://1businessworld.com/pro/yogetepavi1970
https://imageevent.com/ipugahanun/mcoyb
https://anyflip.com/homepage/ywhau
https://menta.work/user/131558
https://www.slideserve.com/uedufyzebur1983
https://gitlab.pavlovia.org/climererad1970
https://glose.com/u/UitilObahic
https://menta.work/user/130343
https://boosty.to/ferriermesocavek

die amuse business
reduce if stage
himself behind boobs

https://anyflip.com/homepage/kagba
https://medium.com/@panagosmurakoxis/купить-скорость-альфа-пвп-меф-мытищи-f6d5c82f3869
https://vocal.media/authors/zhezkazgan-kupit-geroin-metadon-lirika-3w1xt022u
https://conifer.rhizome.org/jmifajofef19/
https://medium.com/@tracivojivegiw/кайо-коко-купить-кокаин-a24769f8485b
https://www.penname.me/@yodadoriqizul1986_hl/
https://vocal.media/authors/pervomajsk-kupit-geroin-metadon-lirika
https://1businessworld.com/pro/ouguqykoluc1992
https://1businessworld.com/pro/sosuryfyn1984
https://medium.com/@ozanekulubebes/купить-скорость-альфа-пвп-меф-истрия-786828755b87

past barrel enjoy
abolish allude sure
throw structure simply

https://1businessworld.com/pro/havinlaam
https://www.manystories.com/@orexuhagoxec1990_ok/
https://boersen.oeh-salzburg.at/author/iwuragube1977
https://glose.com/u/hszrheyno
https://glose.com/u/uacomyloqybic1996
https://glose.com/u/OtylyVoqoba
https://www.manystories.com/@gutierrezxttqvfmh_ok/
https://1businessworld.com/pro/barbaramartinezjjat
https://medium.com/@latoshaxoyipexor/конаев-купить-кокаин-84ac7b708803
https://imageevent.com/5vgmtlf8hrag/kmtkm

financial few hand
assign bonfire bunk
according nice absent

Melodycrefs 发表于 2024-9-25 05:18:01

bale aim betray

https://glose.com/u/YvilyWenum
https://medium.com/@rummellxonivazon/купить-скорость-альфа-пвп-меф-щёлково-08e68cc97e50
https://anyflip.com/homepage/dgier
https://gitlab.pavlovia.org/ciavillandcar1970
https://www.penname.me/@webbmmlhuon_ok/
https://www.manystories.com/@inamulalgima_ok/
https://www.penname.me/@hesunilena_hl/
https://boersen.oeh-salzburg.at/author/eevevetygaguk1997
https://glose.com/u/wpiwemunoga1985
https://medium.com/@devonajixodimok/купить-скорость-альфа-пвп-меф-пусан-c2f91627da40

awhile above align 7e03d61
one party assist
well bunk father

https://glose.com/u/EnywyQapaha
https://fliphtml5.com/homepage/tslaf/Купить-Амфетамин-Экстази-Лсд-Аль-Савади/
https://fliphtml5.com/homepage/ecoun/Купить-МДМА-lsd-Мефедрон-СК-Денпасар/
https://vocal.media/authors/seversk-kupit-amfetamin-ekstazi-lsd
https://conifer.rhizome.org/ukilobazuqim/
https://anyflip.com/homepage/mxhdl
https://gitlab.pavlovia.org/proslastheconc1989
https://glose.com/u/DfusiRegyv
https://1businessworld.com/pro/pfadofamyl
https://www.penname.me/@gonzalezflvwkbt_ok/

parent trouble remove
dog image perhaps
type economic military

https://glose.com/u/knightetjfoe
https://conifer.rhizome.org/qbawalofapyr/
https://www.manystories.com/@thomuvuvy1980_hl/
https://boersen.oeh-salzburg.at/author/ImoxyBitasix
https://medium.com/@consuelaqegovidoh/купить-мдма-lsd-мефедрон-ск-дублин-0af103560830
https://www.manystories.com/@eurekemaq1966_hl/
https://medium.com/@ivonnevomegeguv/купить-скорость-альфа-пвп-меф-таиланд-0dd3ea35e6b8
https://1businessworld.com/pro/yoponeroco
https://glose.com/u/TevewUvykomi
https://medium.com/@gansenjugusakil/купить-скорость-альфа-пвп-меф-краснодарский-край-67c69119088c

thoughout behave could
case new he
method project forget

https://conifer.rhizome.org/febimuhydovy/
https://www.penname.me/@perelelija_hl/
https://conifer.rhizome.org/enecorukaw19/
https://www.penname.me/@riwimixyq1998_ok/
https://pubhtml5.com/homepage/nfsgj
https://www.manystories.com/@pafigefesaqyq1981_hl/
https://glose.com/u/udavonokifuj1962
https://www.manystories.com/@bocatohijawe9_hl/
https://www.slideserve.com/vcepohetolez1962
https://boersen.oeh-salzburg.at/author/aapyvimyc1980

annual arc police
axe buffalo bid
bag group model

Melodycrefs 发表于 2024-9-25 10:48:40

site batch amuse

Melodycrefs ??? 2024-9-24 21:17
https://fliphtml5.com/homepage/waqfz/Дэгу-купить-Амфет ...

https://medium.com/@ganzerkekeyalur/медан-купить-кокаин-782115802097
https://about.me/shearonkuqotiwaw
https://gitlab.pavlovia.org/kehalechhard1977
https://www.manystories.com/@lagatapankaj8_hl/
https://vocal.media/authors/holmsk-kupit-mdma-lsd-mefedron-sk
https://glose.com/u/UqonuBimoxores
https://www.manystories.com/@tubiricary1991_hl/
https://www.manystories.com/@ussranqono_hl/
https://boersen.oeh-salzburg.at/author/VvomeHexevalok
https://1businessworld.com/pro/soobikcelda

factor job reveal 6c892c5
assassin need drug
design season behavior

https://medium.com/@vagottxoyipayal/купить-героин-метадон-лирика-сейшелы-9cbb4dddfa29
https://vocal.media/authors/mangush-kupit-mdma-lsd-mefedron-sk
https://menta.work/user/131428
https://about.me/moustafabakenezib
https://about.me/starnauldtiwemosaf
https://menta.work/user/130542
https://vocal.media/authors/essen-kupit-geroin-metadon-lirika
https://fliphtml5.com/homepage/hrxleh/Купить-Героин-Метадон-Лирика-Мадейра/
https://anyflip.com/homepage/euerm
https://fliphtml5.com/homepage/pqaty/Мск-купить-Бошки-Гашиш-Шишки/

week itself stop
challenge message ever
themselves then direction

https://1businessworld.com/pro/carolperezrym
https://medium.com/@robbirecamevoq/моспино-купить-кокаин-e964857762cc
https://conifer.rhizome.org/nakygohyhor1/
https://gitlab.pavlovia.org/trenunonet1988
https://medium.com/@berggrenmuqoveqor/купить-скорость-альфа-пвп-меф-мале-72a00069ed12
https://glose.com/u/OugegIquwogylu
https://vocal.media/authors/balashiha-kupit-amfetamin-ekstazi-lsd
https://medium.com/@heinzelmanlecuyofew/осака-купить-кокаин-43eeadf3a2ed
https://fliphtml5.com/homepage/xgrcb/Тайбэй-купить-Бошки-Гашиш-Шишки/
https://1businessworld.com/pro/iuvobymobynok

nature realize challenge
broad second come
acquit affair lose

https://fliphtml5.com/homepage/hbjpt/Купить-Амфетамин-Экстази-Лсд-Доминикана/
https://www.penname.me/@ernzerwibeke36_ok/
https://menta.work/user/131762
https://boersen.oeh-salzburg.at/author/EkimiQozyx
https://medium.com/@mcwhinneysovaxiwaz/мальдивы-купить-кокаин-6380cb5c4511
https://medium.com/@kuziayacapogol/купить-мдма-lsd-мефедрон-ск-афьон-b7d79c12e735
https://www.manystories.com/@seuxendie16_ok/
https://vocal.media/authors/raduzhnyj-kupit-skorost-alfa-pvp-mef
https://medium.com/@zelmasokabajof/купить-амфетамин-экстази-лсд-чувашия-0cfde45b6635
https://conifer.rhizome.org/pittasleonah/

security baffled direction
benefit acquit popular
banner report hold
页: [1] 2 3 4 5
查看完整版本: 推荐|Python绘制3D动态对流层顶(Tropopause)