source: trunk/UTIL/PYTHON/examples/map_mars_polar.py @ 531

Last change on this file since 531 was 177, checked in by aslmd, 13 years ago

MESOSCALE: scripts Python pour trace (peut etre appele a remplacer scripts IDL)

  • Property svn:executable set to *
File size: 4.0 KB
Line 
1#!/usr/bin/env python
2
3##########################################################################
4import  numpy                           as np
5import  myplot                          as myp
6import  mymath                          as mym
7import  netCDF4
8import  matplotlib.pyplot as plt
9##########################################################################
10namefile  = '/home/aslmd/POLAR/POLAR_APPERE_highres/wrfout_d01_2024-03-04_06:00:00_zabg'
11namefile2 = '/home/aslmd/POLARWATERCYCLE/wrfout_d01_2024-05-03_01:00:00_zabg' 
12nc  = netCDF4.Dataset(namefile)
13[lon2d,lat2d] = myp.getcoord2d(nc)
14##########################################################################
15ntime = 5
16nvert = 1
17u   = nc.variables['Um'   ][ntime,nvert,:,:]
18v   = nc.variables['Vm'   ][ntime,nvert,:,:]
19##########################################################################
20plt.figure(1)
21##########################################################################
22[lon2d,lat2d] = myp.getcoord2d(nc)
23[wlon,wlat] = myp.latinterv("North_Pole")
24#plt.title("Polar mesoscale domain")
25m = myp.define_proj("ortho",wlon,wlat,back="vishires")
26x, y = m(lon2d, lat2d)
27m.pcolor(x, y, nc.variables['HGT'][0,:,:] / 1000.)
28###########################################################################
29myp.makeplotpng("mars_polar_mesoscale_1",folder="/u/aslmd/WWW/antichambre/",pad_inches_value=0.15)
30###########################################################################
31plt.figure(2)
32plt.subplot(121)
33[lon2d,lat2d] = myp.getcoord2d(nc)
34[wlon,wlat] = myp.latinterv("Close_North_Pole")
35plt.title("Near-surface winds at Ls=60"+mym.deg())
36m = myp.define_proj("npstere",wlon,wlat,back="vishires")
37x, y = m(lon2d, lat2d)
38myp.vectorfield(u, v, x, y, stride=5, csmooth=6, scale=15., factor=200., color='darkblue')
39###########################################################################
40plt.subplot(122)
41[wlon,wlat] = [[-180.,180.],[84.,90.]]
42plt.title("+ sensible heat flux (W/m2)")
43m = myp.define_proj("npstere",wlon,wlat,back="vishires")
44x, y = m(lon2d, lat2d)
45zeplot = m.contour(x, y, -nc.variables['HFX'][ntime,:,:],[-2.,0.,2.,4.,6.,8.,10.,12.],cmap=plt.cm.Reds)
46plt.clabel(zeplot, inline=1, inline_spacing=1, fontsize=7, fmt='%0i')
47myp.vectorfield(u, v, x, y, stride=2, scale=15., factor=200., color='darkblue')
48#plt.colorbar(pad=0.1).set_label('Downward sensible heat flux [W/m2]')
49###########################################################################
50myp.makeplotpng("mars_polar_mesoscale_2",folder="/u/aslmd/WWW/antichambre/",pad_inches_value=0.35)
51###########################################################################
52nc = netCDF4.Dataset(namefile2)
53[lon2d,lat2d] = myp.getcoord2d(nc)
54##########################################################################
55plt.figure(3)
56###########################################################################
57[wlon,wlat] = [[mym.min(lon2d),mym.max(lon2d)],[mym.min(lat2d)+7.,mym.max(lat2d)]]
58#plt.figure(2)
59#plt.title("Water vapor (pr.mic)")
60#field = np.array(nc.variables['MTOT'])
61#nnn = field.shape[2]
62#ye = plt.contour(      np.arange(field.shape[0]),\
63#                       np.linspace(wlat[0],wlat[1],nnn),\
64#                       np.transpose(mym.mean(field,axis=1)),\
65#                       np.arange(0.,100.,5.))
66#plt.clabel(ye, inline=1, inline_spacing=1, fontsize=7, fmt='%0i')
67############################################################################
68sub = 121
69for i in range(3,23,12):
70        print i,sub
71        plt.subplot(sub)
72        plt.title("H2Ovap (pr.mic) UTC "+str(i+1)+":00")
73        m = myp.define_proj("npstere",wlon,wlat,back="vishires")
74        x, y = m(lon2d, lat2d)
75        yeah = m.contour(x, y, nc.variables['MTOT'][i,:,:],np.arange(30.,90.,10.),linewidths=1.0)
76        plt.clabel(yeah, inline=1, inline_spacing=1, width=1.0, fontsize=7, fmt='%0i')
77        sub += 1
78        print sub
79############################################################################
80myp.makeplotpng("mars_polar_mesoscale_3",folder="/u/aslmd/WWW/antichambre/", pad_inches_value=0.15)
81############################################################################
82
83#yeah = m.contour(x, y, mym.mean(nc.variables['MTOT'],axis=0),np.arange(0.,75.,5.),cmap=plt.cm.gist_rainbow,linewidths=1.5)
Note: See TracBrowser for help on using the repository browser.