This page demonstrates Python tips and tricks that I use in my everyday programming as an atmospheric science graduate student.
-Brian Blaylock

Thursday, August 7, 2014

advances in computing will benefit weather forecasts

news about advances in computing abilities is always exciting news fore weather forecasters. Check out this article...

http://www.engadget.com/2014/08/07/ibm-synapse-supercomputing-chip-mimics-human-brain/?ncid=txtlnkusaolp00000618

Relative Maximun and MInimum

It's easy to find the max and min of an array, but sometimes you want to find all local max an mins.

From post here:

import numpy as np
from scipy.signal import argrelextrema

x = np.random.random(12)

# for local maxima
argrelextrema(x, np.greater)

# for local minima
argrelextrema(x, np.less)
Produces
>>> x
array([ 0.56660112,  0.76309473,  0.69597908,  0.38260156,  0.24346445,
    0.56021785,  0.24109326,  0.41884061,  0.35461957,  0.54398472,
    0.59572658,  0.92377974])
>>> argrelextrema(x, np.greater)
(array([1, 5, 7]),)
>>> argrelextrema(x, np.less)
(array([4, 6, 8]),)
Note, these are the indices of x that are local max/min. To get the values, try:
>>> x[argrelextrema(x, np.greater)[0]]

Wednesday, July 30, 2014

change tick mark size

http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.tick_params
Example
# Create Figure
fig = plt.figure(1)
ax = fig.add_subplot(111)
#increase size of tick marks
ax.tick_params('both', length=20, width=2, which='major')
ax.tick_params('both', length=10, width=1, which='minor')


Tuesday, July 29, 2014

Python Accessing all the files in a directory

This is a handy link that gets file names from a directory:
http://stackoverflow.com/questions/18262293/python-open-every-file-in-a-folder

For example: 
path = 'C://Users/person/Pictures' for filename in glob.glob(os.path.join(path,'*.jpg')):

     print filename

results in:

C:\Users\Brian\Pictures\East.jpg
C:\Users\Brian\Pictures\North.jpg
C:\Users\Brian\Pictures\Rocketeer.jpg
C:\Users\Brian\Pictures\South.jpg
C:\Users\Brian\Pictures\WIN_20140711_105811_edited.jpg

etc.

Friday, July 11, 2014

Easy Legend

The easiest way to make a legend is to give the plot a label when you first make the plot.
Example:

plt.plot(times_utc,duchesne, label="Duchesne")
plt.plot(times_utc,mtn_home, label="Mountain Home")
plt.plot(times_utc,horsepool, label="Horsepool")

plt.legend(loc=2)