source: trunk/LMDZ.PLUTO/util/script_figures/maptemp.py @ 3823

Last change on this file since 3823 was 3823, checked in by afalco, 5 days ago

Pluto: added some python scripts for visualization.
AF

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#! /usr/bin/env python
2from    netCDF4               import    Dataset
3from    numpy                 import    *
4import  numpy                 as        np
5import  matplotlib.pyplot     as        mpl
6from matplotlib.cm import get_cmap
7import pylab
8from matplotlib import ticker
9import matplotlib.colors as colors
10import datetime
11from mpl_toolkits.basemap import Basemap, shiftgrid
12from matplotlib.cm import get_cmap
13from FV3_utils import * # import name
14
15############################
16fa='sans-serif'
17hfont = {'fontname':'Arial'}
18mpl.rc('font',family=fa)
19mpl.rc('pdf',fonttype=42)
20font=30
21cc=['k']
22pal=get_cmap(name="rainbow")
23norm=colors.LogNorm()
24lvls=np.logspace(-6,-4,21)
25norm=None #colors.LogNorm()
26
27### Data
28# name='../diagfi2015.nc' # read from FV3_util
29print(name)
30try:
31    nc1=Dataset(name+"_A.nc")
32except:
33    nc1=Dataset(name+".nc")
34alt=nc1.variables["altitude"][:]
35lat=nc1.variables["lat"][:]
36lon=nc1.variables["lon"][:]
37# temp=switchlon(temp)
38lon=lon+180.
39
40def plot_alt(altitude = 1000):
41    temp=nc1.variables["temperature"][:,:,:,:]
42    numalt=getind(altitude,alt)
43    temp=temp[:,numalt,:,:]
44    temp=np.mean(temp,axis=0)
45
46    min_t=temp.min()
47    max_t=temp.max()
48    lvls=np.linspace(min_t,max_t,21)
49
50    ### Figure
51    fig=mpl.figure(figsize=(15, 10))
52    CF=mpl.contourf(lon, lat, temp,lvls,cmap=pal,norm=norm)
53    cbar=mpl.colorbar(CF, shrink=1, ticks=lvls[::2],format="%1.1f")
54    cbar.ax.set_title("[kg m$^{-2}$]",y=1.04,fontsize=font)
55    for t in cbar.ax.get_yticklabels():
56        t.set_fontsize(font)
57
58    vect=lvls
59    CS=mpl.contour(lon,lat,temp,lvls[:],colors='k',linewidths=0.5)
60    lab=mpl.clabel(CS, inline=1, fontsize=20, fmt='%1.1f',inline_spacing=1)
61    for l in lab:
62        l.set_rotation(0)
63
64    mpl.grid()
65    mpl.title(f"Temperatures @ z={altitude/1000}km",fontsize=font)
66    mpl.ylabel(r'Latitude',labelpad=10,fontsize=font)
67    mpl.xlabel('Longitude',labelpad=10, fontsize=font)
68    pylab.ylim([-90,90])
69    yticks=np.linspace(-90,90,13)
70    pylab.xlim([0,360])
71    xticks=np.linspace(0,360,7)
72    mpl.yticks(yticks,fontsize=font)
73    mpl.xticks(xticks,fontsize=font)
74    mpl.savefig(f"maptemp{altitude}",bbox_inches='tight',dpi=70)
75    #mpl.show()
76
77
78plot_alt(1000)
79plot_alt(5000)
80plot_alt(20000)
81plot_alt(50000)
82plot_alt(100000)
Note: See TracBrowser for help on using the repository browser.