Changeset 3868 for trunk/LMDZ.PLUTO/util
- Timestamp:
- Jul 28, 2025, 3:43:42 PM (8 days ago)
- Location:
- trunk/LMDZ.PLUTO/util/script_figures
- Files:
-
- 2 added
- 2 deleted
- 6 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.PLUTO/util/script_figures/FV3_utils.py
r3833 r3868 60 60 return alpha,airetot 61 61 62 def switchlon(arr ):62 def switchlon(arr, lon): 63 63 # changer les longitudes pour mettre TR au centre 64 64 vec=np.shape(arr) 65 65 myvar=np.zeros(vec,dtype='f') 66 if (lon is not None and lon[0]>=0): 67 return arr 66 68 # i lat : pas de changement 67 69 # j lon : … … 1260 1262 tmp_var = find_coord_var(nc1, dim) 1261 1263 file_values = nc1.variables[tmp_var][:] 1264 if dim is LON_DIMS and file_values[0]<0: 1265 file_values+=180 # start longitudes at 0 rather than -180 1262 1266 i = getind(values, file_values) 1263 print( dim, i)1264 if len( i)==2: # range of indices1267 print("Getting",dim[0], i, file_values[i]) 1268 if len(np.atleast_1d(i))==2: # range of indices 1265 1269 slicer[dim_idx] = slice(min(i),max(i)+1) 1266 1270 else: # specific index 1267 slicer[dim_idx] = i1271 slicer[dim_idx] = slice(i,i+1) 1268 1272 except: 1269 1273 continue -
trunk/LMDZ.PLUTO/util/script_figures/meanmeridwind.py
r3833 r3868 15 15 var="v" #variable 16 16 tint=[30,31] #Time must be as written in the input file 17 xarea=[-180,179] 17 xarea=[0,359] # omit repetition of longitude 18 xarea=None 18 19 19 20 nc1=Dataset(filename1) … … 64 65 rvb1=diverge_map(h,l) 65 66 66 myvar=getvar(nc1,var,ti nt,xarea,lon,t_mean=True,l_mean=True)67 myvar=getvar(nc1,var,times=tint,longitudes=xarea,t_mean=True,l_mean=True) 67 68 68 69 mpl.figure(figsize=(20, 10)) … … 97 98 mpl.yticks(fontsize=font) 98 99 pylab.ylim([-4,250]) 100 mpl.tight_layout() 99 101 100 102 mpl.savefig('meanmeridwind.eps',dpi=200) -
trunk/LMDZ.PLUTO/util/script_figures/meanzonalwind.py
r3833 r3868 16 16 var="u" #variable 17 17 tint=[30,32] #Time must be as written in the input file 18 xarea=[-180,179] 18 xarea=[0,359] 19 # xarea=None 19 20 20 21 nc1=Dataset(filename1) … … 65 66 rvb1=diverge_map(h,l) 66 67 67 myvar=getvar(nc1,var,ti nt,xarea,lon,t_mean=True,l_mean=True)68 myvar=getvar(nc1,var,times=tint,longitudes=xarea,t_mean=True,l_mean=True) 68 69 69 70 mpl.figure(figsize=(20, 10)) … … 98 99 mpl.yticks(fontsize=font) 99 100 pylab.ylim([-4,250]) 100 101 mpl.tight_layout() 101 102 mpl.savefig('meanzonalwind.eps',dpi=200) 102 103 mpl.savefig('meanzonalwind.png',dpi=200) -
trunk/LMDZ.PLUTO/util/script_figures/movie_winds.py
r3867 r3868 1 1 #! /usr/bin/env python 2 import os, sys 2 3 from netCDF4 import Dataset 3 4 from numpy import * … … 13 14 14 15 ############################ 15 # basename="../../Xhistins2072" 16 filename1="../"+name+"_A.nc" 17 filename2="../"+name+".nc" 18 filename3="../"+name+".nc" 16 filename1=name+"_A.nc" 17 filename2=name+".nc" 18 filename3=name+".nc" 19 19 # filename3="../../phisinit.nc" 20 20 var="tsurf" #variable … … 23 23 varj="v" 24 24 tint=[30,32] #Time must be as written in the input file 25 # tint=None 25 26 #tintstr=["03:00","09:00","15:00","21:00"] #Time must be as written in the input file 27 28 altitude = 10 # default value, in km ! WARNING: only integers accepted for animation script yet 29 if len(sys.argv)>1: 30 altitude=float(sys.argv[1]) 31 print("Setting altitude to ",altitude, "km") 26 32 27 33 font=26 … … 86 92 87 93 def getfigvar(i): 88 pal=get_cmap(name=" jet")94 pal=get_cmap(name="OrRd") 89 95 lev=np.linspace(37,51,15) 90 96 newlon=lon+180 91 CF=mpl.contourf(newlon, lat, myvarbis,lev,cmap=pal,extend='both' )97 CF=mpl.contourf(newlon, lat, myvarbis,lev,cmap=pal,extend='both',alpha=0.7) 92 98 yticks=[-90,-60,-30,0,30,60,90] 93 99 xticks=[0,60,120,180,240,300,360] 94 100 cbar=mpl.colorbar(CF,shrink=1, format="%1.0f") 95 cbar.ax.set_title("Tsurf [K]",y=1.04,fontsize=font )101 cbar.ax.set_title("Tsurf [K]",y=1.04,fontsize=font, pad=20) 96 102 97 103 for t in cbar.ax.get_yticklabels(): … … 100 106 c=mpl.contour(newlon, lat, myvar2bis, 10,levels=np.linspace(-4,4,8), colors = 'k', linewidths = 3.5) 101 107 mpl.clabel(c, fmt='%2.1f',inline=1, colors='k', fontsize=23,inline_spacing=1) 102 #mpl.title('Local Time at Sputnik Planum='+str(i*3)+'H00',fontsize=font) 108 mpl.title('Winds & Surface Temperature',fontsize=font, pad=20) 109 # mpl.title('Local Time at Sputnik Planum='+str(i*3)+'H00',fontsize=font) 103 110 mpl.ylabel('Latitude (deg)',labelpad=10,fontsize=font) 104 111 mpl.xlabel('West Longitude (deg)',labelpad=10, fontsize=font) … … 113 120 114 121 ####################### 115 numalt=getnumalt( 30,alt)122 numalt=getnumalt(altitude,alt) 116 123 print(('numalt =',numalt,'altitude=',alt[numalt])) 117 uini=getvar(nc1,vari,ti nt,tim)[:,numalt]118 vini=getvar(nc1,varj,ti nt,tim)[:,numalt]119 myvar=getvar(nc2,var,ti nt,tim)124 uini=getvar(nc1,vari,times=tint)[:,numalt] 125 vini=getvar(nc1,varj,times=tint)[:,numalt] 126 myvar=getvar(nc2,var,times=tint) 120 127 myvar2=getvar(nc3,phisinit) # phisinitmyvar2=myvar2/0.6169/1000. # altitude km 121 128 nbfig=uini.shape[0] 122 129 print(("nbfig=",nbfig)) 123 myvar2bis=switchlon(myvar2) 130 myvar2bis=switchlon(myvar2, lon) 131 132 os.makedirs("movie_winds", exist_ok=True) 124 133 125 134 for i in range(nbfig): … … 128 137 v2=vini[i,:,:] 129 138 myv=myvar[i,:,:] 130 u=switchlon(u2 )131 v=switchlon(v2 )132 myvarbis=switchlon(myv )139 u=switchlon(u2, lon) 140 v=switchlon(v2, lon) 141 myvarbis=switchlon(myv, lon) 133 142 print(i,"/",nbfig) 134 143 getfigvar(i) 135 mpl.savefig('mapwinds'+str('{0:03}'.format(i))+'.eps',dpi=200) 136 mpl.savefig('mapwinds'+str('{0:03}'.format(i))+'.png',dpi=200) 144 # mpl.tight_layout() 145 mpl.savefig(f"movie_winds/mapwinds_{altitude:.0f}km_{i:03}.eps",dpi=200) 146 mpl.savefig(f"movie_winds/mapwinds_{altitude:.0f}km_{i:03}.png",dpi=200) 137 147 138 148 left = None # the left side of the subplots of the figure -
trunk/LMDZ.PLUTO/util/script_figures/temp_section.py
r3833 r3868 24 24 nc1=Dataset(name) 25 25 26 # max altitude in plot (maxed to max of alt) 27 max_alt = 230 28 26 29 27 30 lat=getvar(nc1,"latitude") … … 48 51 CF=mpl.contourf(lat,alt,myvar,lev,cmap=pal,extend='both') 49 52 cbar=mpl.colorbar(CF,shrink=1, format="%1.0f") 50 cbar.ax.set_title("T surf [K]",y=1.04,fontsize=font)53 cbar.ax.set_title("T [K]",y=1.04,fontsize=font,pad=20) 51 54 for t in cbar.ax.get_yticklabels(): 52 55 t.set_fontsize(font) … … 58 61 mpl.clabel(CS, inline=1, fontsize=20, fmt='%1.0f',inline_spacing=1) 59 62 63 mpl.title('Zonal mean temperature',fontsize=font, pad=20) 60 64 #mpl.title('Latitude ='+str(tintstr[i]),fontsize=font) 61 65 mpl.ylabel('Altitude (km)',labelpad=10,fontsize=font) … … 65 69 mpl.yticks(fontsize=font) 66 70 if type(ma.getmask(myvar)) in (bool,np.bool_): 67 max_alt = m ax(alt)71 max_alt = min(max_alt,max(alt)) 68 72 else: 69 max_alt = max(alt[~ma.getmask(myvar)[:,0]][:-1]) 70 # max_alt = 230 73 max_alt = min(max_alt,max(alt[~ma.getmask(myvar)[:,0]][:-1])) 71 74 pylab.ylim([-4,max_alt]) 72 75 -
trunk/LMDZ.PLUTO/util/script_figures/temp_time_zoom.py
r3833 r3868 18 18 # longitude=-165 19 19 latitude=[-19,-15] 20 # latitude=-19 20 latitude=-18 21 21 22 22 # local time de la longitude consideree a t=0 … … 39 39 myvar=getvar(nc1,var,times=tint,longitudes=longitude,latitudes=latitude)[:,:,0,0] 40 40 font=23 41 # tim=np.linspace(0,24,9)42 41 print(("tim=",tim)) 43 42 print(('on prend les premiers indice, shape (tmps, alt, var) =',shape(tim), shape(alt), shape(myvar))) … … 46 45 lev=np.linspace(40,50,10) 47 46 # xticks=[0,2,4,6,8,10,12,14,16,18,20,22,24] 48 print(('hello:',np.linspace(0,24,13)))49 47 #yticks=np.linspace(0,240,9) 50 48 -
trunk/LMDZ.PLUTO/util/script_figures/tempglobmean.py
r3833 r3868 65 65 #xticks=[-90,-60,-30,0,30,60,90] 66 66 #yticks=np.linspace(0,240,9) 67 alt=alt/1000.68 #alt2=alt2/1000.69 67 70 68 mpl.plot(meantemp,alt,'r')
Note: See TracChangeset
for help on using the changeset viewer.