| 1 | #!/usr/bin/env python |
|---|
| 2 | |
|---|
| 3 | ########################################################################## |
|---|
| 4 | var = ["151","146","167"] |
|---|
| 5 | var = ["167"] |
|---|
| 6 | var = ["78"] |
|---|
| 7 | var = ["137"] |
|---|
| 8 | lev = ["700.","850."] |
|---|
| 9 | tim = ["00"] |
|---|
| 10 | date = ['10','08','2010','10','08','2010'] |
|---|
| 11 | date = ['01','09','2009','01','09','2009'] |
|---|
| 12 | dataset = ["an","pl","0"] |
|---|
| 13 | dataset = ["fc","sfc","3"] |
|---|
| 14 | ########################################################################## |
|---|
| 15 | proj = "cyl" #"moll" "ortho" "lcc" |
|---|
| 16 | proj = "ortho" |
|---|
| 17 | #proj = "moll" |
|---|
| 18 | area = "Europe" |
|---|
| 19 | area = "Africa" |
|---|
| 20 | #area = "Central_America" |
|---|
| 21 | #area = "Southern_Hemisphere" |
|---|
| 22 | #area = "Northern_Hemisphere" |
|---|
| 23 | area = "Whole_No_High" |
|---|
| 24 | area = "Whole" |
|---|
| 25 | back="blue" |
|---|
| 26 | #back="bw" |
|---|
| 27 | ########################################################################## |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | ########################################################################## |
|---|
| 31 | import numpy as np |
|---|
| 32 | import matplotlib.pyplot as plt |
|---|
| 33 | import myplot as myp |
|---|
| 34 | import myecmwf as mye |
|---|
| 35 | ########################################################################## |
|---|
| 36 | if dataset[1] == "sfc": lev = [9999.] |
|---|
| 37 | [wlon,wlat] = myp.latinterv(area) |
|---|
| 38 | nc = mye.get_ecmwf (var, dataset, wlat, wlon, lev, date, tim) |
|---|
| 39 | ########################################################################## |
|---|
| 40 | [lon2d,lat2d] = myp.getcoord2d (nc,nlat='lat',nlon='lon',is1d=True) |
|---|
| 41 | step=10. |
|---|
| 42 | ########################################################################## |
|---|
| 43 | ntime = 0 |
|---|
| 44 | for i in range( np.array(var).size ): |
|---|
| 45 | for z in range( np.array(lev).size ): |
|---|
| 46 | for t in range( np.array(tim).size ): |
|---|
| 47 | |
|---|
| 48 | field, error = myp.reducefield( myp.getfield(nc,'var'+var[i]), d4=t, d3=z ) |
|---|
| 49 | if not error: |
|---|
| 50 | ### Map projection |
|---|
| 51 | m = myp.define_proj(proj,wlon,wlat,back=back) |
|---|
| 52 | x, y = m(lon2d, lat2d) |
|---|
| 53 | zeplot = m.contour(x, y, field, 15) |
|---|
| 54 | plt.clabel(zeplot, inline=1, inline_spacing=1, fontsize=7, fmt='%0i') |
|---|
| 55 | #plt.colorbar(fraction=0.05,pad=0.1) |
|---|
| 56 | plt.title(mye.ecmwf_title_field(var[i])) |
|---|
| 57 | myp.makeplotres(str(var[i])+str(lev[z])+str(tim[t]),res=100.,pad_inches_value=0.35) |
|---|