From 06f7724c1e2085bea24c37fedeb99fd34c78da3b Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Fri, 9 Oct 2020 19:52:13 +0000 Subject: [PATCH 01/10] Difficulty index plotting --- .../calc_difficulty_index.cpython-36.pyc | Bin 0 -> 5141 bytes .../__pycache__/mycolormaps.cpython-36.pyc | Bin 0 -> 1915 bytes .../piecewise_linear.cpython-36.pyc | Bin 0 -> 2498 bytes .../difficulty_index/calc_difficulty_index.py | 174 ++++++++++++++++++ metplotpy/difficulty_index/mycolormaps.py | 77 ++++++++ .../difficulty_index/piecewise_linear.py | 73 ++++++++ .../difficulty_index/plot_difficulty_index.py | 125 +++++++++++++ .../difficulty_index/test_diff_index.png | Bin 0 -> 39750 bytes 8 files changed, 449 insertions(+) create mode 100644 metplotpy/difficulty_index/__pycache__/calc_difficulty_index.cpython-36.pyc create mode 100644 metplotpy/difficulty_index/__pycache__/mycolormaps.cpython-36.pyc create mode 100644 metplotpy/difficulty_index/__pycache__/piecewise_linear.cpython-36.pyc create mode 100644 metplotpy/difficulty_index/calc_difficulty_index.py create mode 100644 metplotpy/difficulty_index/mycolormaps.py create mode 100644 metplotpy/difficulty_index/piecewise_linear.py create mode 100644 metplotpy/difficulty_index/plot_difficulty_index.py create mode 100644 metplotpy/difficulty_index/test_diff_index.png diff --git a/metplotpy/difficulty_index/__pycache__/calc_difficulty_index.cpython-36.pyc b/metplotpy/difficulty_index/__pycache__/calc_difficulty_index.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..948a4c20c5f846940cbc245d23d807c643a719a9 GIT binary patch literal 5141 zcmeHLNpBp-74CJW*&J@NEK_zI7mOg_APP5$5Psz63etoJ;;henZX;BnXg`Za(Ldd{sR&q(n+^4hfLJJ*b{nRj*zx{oePz z?(1`N{%61aRd9FNF#c|wxopUHQDlZ2Gdcz{nH8BGOaI&ZPRE60M~%4I@l1m`of+nK zeAej9a%;bZGIwI`&vzDBv$M!NHuJU7S>g-K?^|q^wZ1kxmzc#DP@7}(sJ+K8vxNgo zM9g|_v=`|oreXL`MY<DiY<43F6(Dxsvg7>J*3FEy` zhG{}h)d>Yhe?=o@?}Aj zJj_Ebi7a{pLM3^L>4?lYXM{p}Ne?+0@NjRCV*&RBr#X7Cz!!spJmg)nxlT52Zf{=S zUcU)>bKQTe_7SJpKv-)&f%X$B$aQFLY;SIDL(rP9@MMhLwplGa4SA2h3?+XYCY*}n zYoCWvMDEcz>v9MyyU!lC^>Wb9Bps5^Bbpqb{oc;A_OZLZy0N-`ycF|181N{&TlA<{ z<*ayRVS-*mO@ph6qU3uh@~^n%@QD-CG;*`Fax1rUXWvC>^qmt+ewsIbZKCFt#)+BF z99Z(kxW(5kvj?txIBsc`_K7)az>XR*cVdYg|E&_%^*=0Ne6F-hCs!lCnvPV~=b^Pw zHkielzp<{OMeF}T>zJi`Zf$>3JF+IdCAj z^IPV7G2kTTG$Ght0cY-|LU5U-h@50k?Q^{1+IBub=OB$3Hc(Hn0@GoVx5qP0_pze} zCh+7Q;-ogNtaUkNh%+kS;4i~`FqszH%dwJ4%+>pu8dKrODWZ%glE>XhEjjLTQ7=lb zFh~!%2;w3TypP2_*ZbB6^wEU-30kjTeC9u^w|?OoRuQhDI`a_dq46b@7cZj#CW)X= zdpTA+IiC9bryF@vAi{A5U7o+>JR$2kG&g_`>e)Zzc_EV5{6@F$rU@Ub954JFo2QJE zFbB8@E&!IsD|OpL(brh`_Rj9Bf8uH{R&FNnj4B@hnJ6#n@yb>WZeKY`WhGhVqJDj| zYU&mU^E*;PD3}c{U_W#gn_>iS2(khHtcdpTL*$sv!@3=B{tJ%u`L z?GNfO9sr1tYQdqvl_Z08w52vF^m&!VYQh=jPor9MtOI#yqrlzFP zbj~l}r5sSLNl|le4Pa}UTooNbMLH`L zF|My}5q{L;88~~87GPM=#QN%uI`z2mMpny@-pv>+d`F70n~GS+B_oG7wr<`!XPd12 zV*T32>eesYtK=~idt8u}+iHcU4@IR661l2CqB2R#$1yB`D+W?ihaQD;%0*MO6fU~; ztv#c0RQPD98VOBedQ@34tuDt@9&i@y>6}>v8YwEbmljDbE-7uBc4gJ5Q?=kiC*8fv-5Czou`^z8e*SkAz`E(+zOoXk8@a>(pQ#FnXd>xUMD^!|SIT7#U zp5TSJZB>p+0W^fQ=PrV5@nc|E4cI?{)M@VA3e-?7C`%m=E!wh{j-pW3Z9^rA6*XMF z7o36F_a>?98F=~%Ds_7Qv1d7E{c9n)_so{%o1P`sp;383fLHY-2-@#g%^+ZDF9<4E zzq8krwG>nRq7j8%e2P-9993idZ)Z_nElzWlpw3l<`luq-lyN@@Xps+60h_ZyFiyBp znF#`pX(KfkJ~d(aEv0YsOo}Bnd_mpR`-eWs=~C4}1;Lr^>x0l#<9&v2N=3wPD@#%_ XjAMacuvxuzd)`8QW&Za3HP8GP1m*AL literal 0 HcmV?d00001 diff --git a/metplotpy/difficulty_index/__pycache__/mycolormaps.cpython-36.pyc b/metplotpy/difficulty_index/__pycache__/mycolormaps.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cccf5c1273159129e1323aaf97ff36bd34eb68d1 GIT binary patch literal 1915 zcmb`IPiP!f9LMK>b|=X;Nz>+E|4g(=x~<(!Qu~KgvaM0@U{z2eEMj=sH+MB42IL z$b4!<+ESY;y=x7LT4}M~pa`Gh$FHePo$8H--q5yWYCAM0HRZT#Ez^*Bo}aj;H06d& zJA87}Gc9@+-KfSquWos6U^8J=s$Nz2EVPzc)ZTmwM4?@=g>{+59$U63T1daWWUaF( zwp>3H)pgsqgBZz*S8Z#}j(2)Wo3@Yv=eeui-9NA2E;+aE3?9Dy(~l)bTg;vM?ESl? zmV$Weg~G$}2fvn_d){L6#?9|b&M)77djAdot5WL&inpExz5(Wemw|hL4Fe@CEQOFbli`+ydSNJ|qaNijJDbHry!5V4GsW zJk$itxAWOV3Bp8YLa=(0NjH*J>_m@NS!gE)6D)9Sfu$$Lisyzko)~EYq9pgC8`0@s zc$AL3ktcdB>7f!82$G(W2jq<0Bljs9*?<3X$|2d5 zbJQxQq~HESYQ5A&Dz)Fp*;8s?{|BkvphGRwb@9JS%`tZ*HnB@$6MIN(f=@nHVvyjr z#PXXL+A;|&7RR<9#*7?`S?k-H3*3rrMR7IsTxWHcVuVI}_87$o9r3*tBXHM=E+7MB z0lKdx(G4KS0{IcR55+#959kL5fc?NAZ~!<63<1Ny2rvqa5n8XnI|45Njsp?ujsk6+ zh-2_^!t%11gvp92RH3!V11Er!08}BK0!{%qj(I~A;ZFlI0E8({15X1`KpSVtOR_s# zi!LH`CTSffTG@4;={=`)oaYPFo@T0cm~7Iuw8X2GrKLm7 zHkl?uVte4ig#+SW;9v5UQ~w1{yyr=lc3UBVM}B_(dU<~S{hssT=4QP6>yK=|>o|Wp z&lMl^+feK8L2xH=IN@$V64$og*iQoPB_a2d4iA#(ONWQN^VH!T(LME&82S4h1OJ55B$EZ-N_xn}Zw8#fi{tB#P?xG)vV$@M(sd)`fs_8*04` zLO2P5Q^9Ex&wAmRov&n8PO4PrhlRK&2L) z92TiO-uwFQ{i-N+HQ$4ytu&qwhj}(F^ql3Ai`ibajvZ@bH>l>y1#=hhtf)l9_Wx5b zHXq2kR9f)QluGCSI}FOhb0L;gfFeY3cGgyla17w*>_A;RjQtlJKEvb3F!SQ=34a`5 z<=)WeJ`bJ}z@9b{VL9*;(0&(9XhPU9cJ9YS3e_YGH{DQGS5Q zMhta(iTTk;Q(e+pXxhAgk`_}zk?B>LOI_1)s_UE!sz-v(R=&pl3&sO;mR!b_mGM$J zH$D>71eJn~CIlOkR9kqPz+%BfYXhb;Z@o0(Y$|hI8y_7qfkJPLk6EJMHGVCMp?VGC zq%NVjjN%H4*HOFyA_>3`Hfx*ta|ACT)gr+?O3(FUrs70SDds z612z%vcwU~mZiHO=fVZN|VIefJ++^m``G>s;14 zm6>Sc+>zWuQ0+o6Oi+)~N&wn`9fb)2u0mDM;p_}zrlW*i+YjyaBw_1X(uJ1UnIxE< z%!fs)lg=Cn15e`liwrHXYE0qw6?VcNiAfA-+#*|U&uuQ9M_s$&px=GvOVXl8 zrc%8HCKcjaT|@DzCnkmoLomVKm5VAFRSw~Ihwe0_`j z5FS_5Ot@;js?hktr&B#D6}<2pjGYKoLym_|moWim3smo}|3TP%VKajL>Goi+aM(nj dwEr7E#iz5zJM$q@vFj7~ylsEm-?|x*zX1h$jBfw{ literal 0 HcmV?d00001 diff --git a/metplotpy/difficulty_index/calc_difficulty_index.py b/metplotpy/difficulty_index/calc_difficulty_index.py new file mode 100644 index 00000000..027c5a8f --- /dev/null +++ b/metplotpy/difficulty_index/calc_difficulty_index.py @@ -0,0 +1,174 @@ +# -*- coding: utf-8 -*- +""" +Program Name: calc_difficulty_index.py + +Forecast decision difficulty indices. + +Implement a set of decision difficulty indices for forecasts of postive +definite quantities such as wind speed and wave height. + +Created on Thu Feb 20 16:23:06 2020 +Last modified on Mon Mar 30 11:25:30 2020 +""" + +import numpy as np +import matplotlib.pyplot as plt +from piecewise_linear import PiecewiseLinear as plin + +__author__ = 'Bill Campbell (NRL) and Lindsay Blank (NCAR)' +__version__ = '0.1.0' +__email__ = 'met_help@ucar.edu' + +# Enforce positive definiteness of quantities such as standard deviations +EPS = np.finfo(np.float32).eps +# Only allow 2D fields for now +FIELD_DIM = 2 + +def _input_check(sigmaij, muij, threshold, fieldijn, sigma_over_mu_ref, under_factor): + """ + Check for valid input to _difficulty_index. + + Parameters + ---------- + sigmaij : 2D numpy array + Positive definite array of standard deviations of a 2D field. + muij : Float scalar or 2D numpy array + The mean values corresponding to sigmaij. + threshold : Float (or int) scalar + A significant value to be compared with values of the forecast field + for each ensemble member. + sigma_over_mu_ref : Scalar + fieldijn : 3D numpy array + Values of the forecast field. Third dimension is ensemble member. + under_factor : Float scalar + Must be between 0 and 1. + + Returns + ------- + None. + + """ + print("We made it here") + assert isinstance(threshold, (int, float, np.int32, np.float32)) + assert np.ndim(sigmaij) == FIELD_DIM + assert np.all(sigmaij) >= EPS + fieldshape = np.shape(fieldijn) + # muij is a scalar or 2D array + if isinstance(muij, np.ndarray): + # If muij is an array, it must have the same shape as sigmaij + assert np.shape(muij) == np.shape(sigmaij) + assert sigma_over_mu_ref >= EPS + assert np.shape(sigmaij) == tuple(np.squeeze(fieldshape[0:-1])) + assert isinstance(under_factor, (int, float, + np.int32, np.float32)) + assert 0.0 <= under_factor <= 1.0 + + +def _difficulty_index(sigmaij, muij, threshold, fieldijn, Aplin, sigma_over_mu_ref=EPS, under_factor=0.5): + """ + Calculates public version (v7) of forecast difficulty index. + The threshold terms all penalize equal (or slightly unequal) spread. + + Parameters + ---------- + sigmaij : 2D numpy array + Positive definite array of standard deviations of a 2D field. + muij : Float scalar or 2D numpy array + The mean values corresponding to sigmaij. + threshold : Float (or int) scalar + A significant value to be compared with values of the forecast field + for each ensemble member. + fieldijn : 3D numpy array + Values of the forecast field. Third dimension is ensemble member. + Aplin: PiecewiseLinear object (envelope function) + Essentially a piecewise linear localization function based on muij + sigma_over_mu_ref : Scalar, optional + Highest value of sigmaij/muij for past 5 days (nominally). + under_factor: Scalar, optional + Defaults to 0.5 except should be 0.4 for v4 difficulty index + + Returns + ------- + dij : 2D numpy array + Normalized v4567 difficulty index ([0,1.5]). Larger (> 0.5) + means more difficult. + + """ + # Check for valid input + _input_check(sigmaij, muij, threshold, fieldijn, sigma_over_mu_ref, under_factor) + + # Variance term in range 0 to 1 + sigma_over_mu = sigmaij / muij + sigma_over_mu_max = np.nanmax(sigma_over_mu) + + # Force reference value to be greater than current max of sigmaij / muij + sigma_over_mu_ref = np.nanmax([sigma_over_mu_ref, + sigma_over_mu_max]) + variance_term = sigma_over_mu / sigma_over_mu_ref + + # Depends on under_factor. + under_threshold_count =\ + np.ma.masked_greater_equal(fieldijn, threshold).count(axis=-1) + nmembers = np.shape(fieldijn)[-1] + under_prob = under_threshold_count / nmembers + + # Threshold term in range 0 to 1 + threshold_term = 1.0 - np.abs(1.0 - under_factor - under_prob) + + # Linear taper factor + taper_term = Aplin.values(muij) + + # Difficulty index is the average of the two terms + # multiplied by a linear taper factor + dij = 0.5 * taper_term * (variance_term + threshold_term) + + return dij + + +def forecast_difficulty(sigmaij, muij, threshold, fieldijn, + Aplin=None, sigma_over_mu_ref=EPS): + """ + Calls private function _difficulty_index, + to calculate the public version (v7) of forecast difficulty index. + + Parameters + ---------- + sigmaij : 2D numpy array + Positive definite array of standard deviations of a 2D field. + muij : Float scalar or 2D numpy array + The mean values corresponding to sigmaij. + threshold : Float (or int) scalar + A significant value to be compared with values of the forecast field + for each ensemble member. + fieldijn : 3D numpy array + Values of the forecast field. Third dimension is ensemble member. + Aplin : PiecewiseLinear object (envelope function), optional + Essentially a piecewise linear localization function based on muij + sigma_over_mu_ref : Scalar, optional + Highest value of sigmaij/muij for past 5 days (nominally). + + Returns + ------- + dij : 2D numpy array + Normalized difficulty index ([0,1.5]). + Larger (> 0.5) means more difficult. + + """ + if Aplin is None: + # Envelope for public version (v7) the default + xunits = 'feet' + A7_name = "A7" + A7_left = 0.0 + A7_right = 0.0 + A7_xlist = [3.0, 9.0, 12.0, 21.0] + A7_ylist = [0.0, 1.0, 1.0, 0.0] + Aplin = plin(A7_xlist, A7_ylist, xunits=xunits, + right=A7_right, left=A7_left, name=A7_name) + + dij = _difficulty_index(sigmaij, muij, threshold, fieldijn, + Aplin, sigma_over_mu_ref) + + return dij + +if __name__ == "__main__": + pass diff --git a/metplotpy/difficulty_index/mycolormaps.py b/metplotpy/difficulty_index/mycolormaps.py new file mode 100644 index 00000000..0b75b692 --- /dev/null +++ b/metplotpy/difficulty_index/mycolormaps.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Apr 8 16:57:07 2020 + +@author: campbell +""" +import numpy as np +import matplotlib.colors as colors +from scipy.interpolate import pchip + + +def spectral(n=100): + """ + Visually linear colormap based on linspecer Matlab map. + A vast improvement on the jet colormap + """ + if n == 1: + cmap = np.array([0.2005, 0.5593, 0.7380]) + elif n == 2: + cmap = np.array([[0.2005, 0.5593, 0.7380], + [0.9684, 0.4799, 0.2723]]) + else: + cmapp = np.array([ + [158, 1, 66], # dark red + [213, 62, 79], # red + [244, 109, 67], # dark orange + [253, 174, 97], # orange + [254, 224, 139], # light orange + [255, 255, 191], # light yellow + [230, 245, 152], # yellow green + [171, 221, 164], # light green + [102, 194, 165], # green + [50, 136, 189], # blue + [94, 79, 162], # violet + ]) + x = np.linspace(0, n-1, np.shape(cmapp)[0]) + xi = np.arange(n) + interp = pchip(x, cmapp, axis=0) + cmap = np.flipud(interp(xi)) / 255 + cmap = colors.ListedColormap(cmap, name='spectral') + + return cmap + + +def stoplight(n=100): + """ + An attempta at a visually nice stoplight colormap + """ + if n == 1: + cmap = np.array([0.2005, 0.5593, 0.7380]) + elif n == 2: + cmap = np.array([[0.2005, 0.5593, 0.7380], + [0.9684, 0.4799, 0.2723]]) + else: + cmapp = np.array([ + # [90, 1, 33], # very dark red + [158, 1, 66], # dark red + [213, 62, 79], # red + [244, 109, 67], # dark orange + [253, 174, 97], # orange + [254, 224, 139], # light orange + [255, 255, 191], # light yellow + [230, 245, 152], # yellow green + [171, 221, 164], # light green + # [102, 194, 165], # green + [80, 165, 110], # dark green + [40, 115, 50], # very dark green + # [50, 136, 189], # blue + # [94, 79, 162], # violet + ]) + x = np.linspace(0, n-1, np.shape(cmapp)[0]) + xi = np.arange(n) + interp = pchip(x, cmapp, axis=0) + cmap = np.flipud(interp(xi)) / 255 + cmap = colors.ListedColormap(cmap, name='spectral') + + return cmap diff --git a/metplotpy/difficulty_index/piecewise_linear.py b/metplotpy/difficulty_index/piecewise_linear.py new file mode 100644 index 00000000..e3ebed99 --- /dev/null +++ b/metplotpy/difficulty_index/piecewise_linear.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +""" +Piecewise linear function class. + +""" + +import numpy as np +import matplotlib.pyplot as plt + +__author__ = 'Bill Campbell (NRL)' +__version__ = '0.1.0' +__email__ = 'met_help@ucar.edu' + + +class IncompatibleLengths(Exception): + """Custom exception for PiecewiseLinear input checking.""" + + +class UnsortedArray(Exception): + """Custom exception for PiecewiseLinear input checking.""" + + +class PiecewiseLinear(): + """ + Defines a piecewise linear function with a given domain and range. + + Xdomain is a numpy array of knot locations. Yrange is a numpy array. + """ + + def __init__(self, x_domain, y_range, xunits='feet', + left=np.nan, right=np.nan, name=""): + len_x = len(x_domain) + if len_x < 2: + raise IncompatibleLengths('Length of xdomain must be at least 2.') + if np.any(np.diff(x_domain)) < 0: + print("X_domain (in {}) is {}".format(xunits, x_domain)) + raise UnsortedArray('Xdomain must be sorted in ascending order.') + len_y = len(y_range) + if len_x != len_y: + raise IncompatibleLengths('X_domain and Y_range must have same ' + + 'length.\n Use left and right to set ' + + 'value for points outside the x_domain\n') + self.x_domain = np.array(x_domain) + self.y_range = np.array(y_range) + self.xunits = xunits + self.left = left + self.right = right + self.name = name + + def get_ymax(self): + """Find maximum of envelope function""" + return np.max(self.y_range) + + def values(self, xinput): + """ + Evaluate piecewise linear function for the set of points in xinput. + + xinput is a set of points inside xdomain. + """ + if not isinstance(xinput, np.ndarray): + xinput = np.array(xinput) + xin_shape = np.shape(xinput) + # Treat xinput as one-dimensional for use by np.interp + xview = xinput.ravel() + yflat = np.interp(xview, self.x_domain, self.y_range, + left=self.left, right=self.right) + # Restore output to same shape as input + youtput = np.reshape(yflat, xin_shape) + + return youtput + +if __name__ == "__main__": + pass diff --git a/metplotpy/difficulty_index/plot_difficulty_index.py b/metplotpy/difficulty_index/plot_difficulty_index.py new file mode 100644 index 00000000..edc7bf2c --- /dev/null +++ b/metplotpy/difficulty_index/plot_difficulty_index.py @@ -0,0 +1,125 @@ +# -*- coding: utf-8 -*- +""" +Program name: plot_difficulty_index.py + +Plot forecast decision difficulty indices. +Plot a set of decision difficulty indices for forecasts of postive +definite quantities such as wind speed and wave height. + +""" + +import numpy as np +import matplotlib.pyplot as plt +from calc_difficulty_index import forecast_difficulty as di +from piecewise_linear import PiecewiseLinear as plin +from mycolormaps import spectral, stoplight + +__author__ = 'Bill Campbell (NRL) and Lindsay Blank (NCAR)' +__version__ = '0.1.0' +__email__ = 'met_help@ucar.edu' + +# Enforce positive definiteness of quantities such as standard deviations +EPS = np.finfo(np.float32).eps +# Only allow 2D fields for now +FIELD_DIM = 2 + + +def _test_plot_field(field, vmin, vmax, xlab, ylab, title): + """Auxiliary plot routine.""" + fig, ax = plt.subplots(figsize=(15, 10)) + + # Set the tick labels font + for label in ax.get_xticklabels() + ax.get_yticklabels(): + label.set_fontname('Arial') + label.set_fontsize(18) + label.set_fontweight('normal') + + plt.imshow(field, cmap='jet', vmin=vmin, vmax=vmax) + + # Set the font dictionaries (for plot title and axis titles) + title_font = {'fontname': 'Arial', 'size': '32', 'color': 'black', + 'weight': 'bold', 'verticalalignment': 'bottom'} + axis_font = {'fontname': 'Arial', 'size': '24', 'weight': 'bold'} + + plt.xlabel(xlab, **axis_font) + plt.ylabel(ylab, **axis_font) + plt.title(title, **title_font) + plt.colorbar() + plt.show() + + return fig + + +def plot_field(field, lats, lons, vmin=0.0, vmax=1.0, + xlab='X', ylab='Y', cmap=None, + clab='difficulty', title='Title'): + """Auxiliary plot routine.""" + X, Y = np.meshgrid(lons, lats, indexing='ij') + fig, ax = plt.subplots(figsize=(8, 5)) + plt.title(title) + if cmap is None: + cmap = mcmap.stoplight() + plt.pcolormesh(X, Y, field.T, shading='interp', cmap=cmap) + cbar = plt.colorbar(orientation='horizontal', aspect=30) + cbar.set_label(clab) + plt.clim(vmin=vmin, vmax=vmax) + plt.xlabel(xlab) + plt.ylabel(ylab) + + return fig + + +def main(): + """ + Calculate and plot public version (v7) of difficulty index. + + Returns + ------- + None. + + """ + plt.close('all') + nlon = 18 + nlat = 9 + nmembers = 10 + np.random.seed(12345) + # Wave heights and wind speeds generally follow the Rayleigh distribution, + # which is a Weibull distribution with a scale factor of 2, + # and any shape parameter. + # If the shape parameter is 1, then it is the same as a chi-square + # distribution with 2 dofs. + # Expected value E[x] = sigma * sqrt(pi/2) + # mean_windspeed = 6.64 # meters/second + xunits = 'feet' + mean_height = 11.0 # mean wave height in feet + # var_height = mean_height * mean_height * ((4.0 - np.pi) / 2.0) + mode_height = np.sqrt(2.0 / np.pi) * mean_height + fieldijn = np.random.rayleigh(scale=mode_height, + size=(nlat, nlon, nmembers)) + muij = np.mean(fieldijn, axis=-1) + pertijn = fieldijn - np.dstack([muij] * nmembers) + sigmaij = np.sqrt(np.mean(pertijn * pertijn, axis=-1)) + threshold = 9.0 + regularizer = 0.01 + smax = 9.0 + sigma_max = smax + np.zeros_like(sigmaij) + thresh_eps = 2.0 + kwargs = {'thresh_eps': thresh_eps, 'threshold_type': 'proximity'} + + # Calculate the difficulty index. + dijfd = di(sigmaij, muij, threshold, fieldijn, Aplin=None, sigma_over_mu_ref=EPS) + + # Plot the difficulty index. + imfd = _test_plot_field(dijfd, 0.0, 1.0, 'Longitude', 'Latitude', + 'Forecast Difficulty Index') + + imfd_fmt = 'png' + imfd_name = './test_diff_index.' + imfd_fmt + print(f'Saving {imfd_name}...\n') + imfd.savefig(imfd_name, format=imfd_fmt) + + return imfd + + +if __name__ == "__main__": + imfd = main() diff --git a/metplotpy/difficulty_index/test_diff_index.png b/metplotpy/difficulty_index/test_diff_index.png new file mode 100644 index 0000000000000000000000000000000000000000..4c5f5e59090cfb5f21511f38e6a967b7e46e0ca4 GIT binary patch literal 39750 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 literal 0 HcmV?d00001 From 9a4c8e5f21e49edcad9c51781da562c30b0b662c Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Fri, 9 Oct 2020 18:18:20 -0600 Subject: [PATCH 02/10] Integrated METcalcpy into METplotpy plotting script and removed METcalcpy scripts --- .../difficulty_index/calc_difficulty_index.py | 174 ------------------ .../difficulty_index/piecewise_linear.py | 73 -------- .../difficulty_index/plot_difficulty_index.py | 29 +-- .../difficulty_index/test_diff_index.png | Bin 39750 -> 39675 bytes 4 files changed, 4 insertions(+), 272 deletions(-) delete mode 100644 metplotpy/difficulty_index/calc_difficulty_index.py delete mode 100644 metplotpy/difficulty_index/piecewise_linear.py diff --git a/metplotpy/difficulty_index/calc_difficulty_index.py b/metplotpy/difficulty_index/calc_difficulty_index.py deleted file mode 100644 index 027c5a8f..00000000 --- a/metplotpy/difficulty_index/calc_difficulty_index.py +++ /dev/null @@ -1,174 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Program Name: calc_difficulty_index.py - -Forecast decision difficulty indices. - -Implement a set of decision difficulty indices for forecasts of postive -definite quantities such as wind speed and wave height. - -Created on Thu Feb 20 16:23:06 2020 -Last modified on Mon Mar 30 11:25:30 2020 -""" - -import numpy as np -import matplotlib.pyplot as plt -from piecewise_linear import PiecewiseLinear as plin - -__author__ = 'Bill Campbell (NRL) and Lindsay Blank (NCAR)' -__version__ = '0.1.0' -__email__ = 'met_help@ucar.edu' - -# Enforce positive definiteness of quantities such as standard deviations -EPS = np.finfo(np.float32).eps -# Only allow 2D fields for now -FIELD_DIM = 2 - -def _input_check(sigmaij, muij, threshold, fieldijn, sigma_over_mu_ref, under_factor): - """ - Check for valid input to _difficulty_index. - - Parameters - ---------- - sigmaij : 2D numpy array - Positive definite array of standard deviations of a 2D field. - muij : Float scalar or 2D numpy array - The mean values corresponding to sigmaij. - threshold : Float (or int) scalar - A significant value to be compared with values of the forecast field - for each ensemble member. - sigma_over_mu_ref : Scalar - fieldijn : 3D numpy array - Values of the forecast field. Third dimension is ensemble member. - under_factor : Float scalar - Must be between 0 and 1. - - Returns - ------- - None. - - """ - print("We made it here") - assert isinstance(threshold, (int, float, np.int32, np.float32)) - assert np.ndim(sigmaij) == FIELD_DIM - assert np.all(sigmaij) >= EPS - fieldshape = np.shape(fieldijn) - # muij is a scalar or 2D array - if isinstance(muij, np.ndarray): - # If muij is an array, it must have the same shape as sigmaij - assert np.shape(muij) == np.shape(sigmaij) - assert sigma_over_mu_ref >= EPS - assert np.shape(sigmaij) == tuple(np.squeeze(fieldshape[0:-1])) - assert isinstance(under_factor, (int, float, - np.int32, np.float32)) - assert 0.0 <= under_factor <= 1.0 - - -def _difficulty_index(sigmaij, muij, threshold, fieldijn, Aplin, sigma_over_mu_ref=EPS, under_factor=0.5): - """ - Calculates public version (v7) of forecast difficulty index. - The threshold terms all penalize equal (or slightly unequal) spread. - - Parameters - ---------- - sigmaij : 2D numpy array - Positive definite array of standard deviations of a 2D field. - muij : Float scalar or 2D numpy array - The mean values corresponding to sigmaij. - threshold : Float (or int) scalar - A significant value to be compared with values of the forecast field - for each ensemble member. - fieldijn : 3D numpy array - Values of the forecast field. Third dimension is ensemble member. - Aplin: PiecewiseLinear object (envelope function) - Essentially a piecewise linear localization function based on muij - sigma_over_mu_ref : Scalar, optional - Highest value of sigmaij/muij for past 5 days (nominally). - under_factor: Scalar, optional - Defaults to 0.5 except should be 0.4 for v4 difficulty index - - Returns - ------- - dij : 2D numpy array - Normalized v4567 difficulty index ([0,1.5]). Larger (> 0.5) - means more difficult. - - """ - # Check for valid input - _input_check(sigmaij, muij, threshold, fieldijn, sigma_over_mu_ref, under_factor) - - # Variance term in range 0 to 1 - sigma_over_mu = sigmaij / muij - sigma_over_mu_max = np.nanmax(sigma_over_mu) - - # Force reference value to be greater than current max of sigmaij / muij - sigma_over_mu_ref = np.nanmax([sigma_over_mu_ref, - sigma_over_mu_max]) - variance_term = sigma_over_mu / sigma_over_mu_ref - - # Depends on under_factor. - under_threshold_count =\ - np.ma.masked_greater_equal(fieldijn, threshold).count(axis=-1) - nmembers = np.shape(fieldijn)[-1] - under_prob = under_threshold_count / nmembers - - # Threshold term in range 0 to 1 - threshold_term = 1.0 - np.abs(1.0 - under_factor - under_prob) - - # Linear taper factor - taper_term = Aplin.values(muij) - - # Difficulty index is the average of the two terms - # multiplied by a linear taper factor - dij = 0.5 * taper_term * (variance_term + threshold_term) - - return dij - - -def forecast_difficulty(sigmaij, muij, threshold, fieldijn, - Aplin=None, sigma_over_mu_ref=EPS): - """ - Calls private function _difficulty_index, - to calculate the public version (v7) of forecast difficulty index. - - Parameters - ---------- - sigmaij : 2D numpy array - Positive definite array of standard deviations of a 2D field. - muij : Float scalar or 2D numpy array - The mean values corresponding to sigmaij. - threshold : Float (or int) scalar - A significant value to be compared with values of the forecast field - for each ensemble member. - fieldijn : 3D numpy array - Values of the forecast field. Third dimension is ensemble member. - Aplin : PiecewiseLinear object (envelope function), optional - Essentially a piecewise linear localization function based on muij - sigma_over_mu_ref : Scalar, optional - Highest value of sigmaij/muij for past 5 days (nominally). - - Returns - ------- - dij : 2D numpy array - Normalized difficulty index ([0,1.5]). - Larger (> 0.5) means more difficult. - - """ - if Aplin is None: - # Envelope for public version (v7) the default - xunits = 'feet' - A7_name = "A7" - A7_left = 0.0 - A7_right = 0.0 - A7_xlist = [3.0, 9.0, 12.0, 21.0] - A7_ylist = [0.0, 1.0, 1.0, 0.0] - Aplin = plin(A7_xlist, A7_ylist, xunits=xunits, - right=A7_right, left=A7_left, name=A7_name) - - dij = _difficulty_index(sigmaij, muij, threshold, fieldijn, - Aplin, sigma_over_mu_ref) - - return dij - -if __name__ == "__main__": - pass diff --git a/metplotpy/difficulty_index/piecewise_linear.py b/metplotpy/difficulty_index/piecewise_linear.py deleted file mode 100644 index e3ebed99..00000000 --- a/metplotpy/difficulty_index/piecewise_linear.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Piecewise linear function class. - -""" - -import numpy as np -import matplotlib.pyplot as plt - -__author__ = 'Bill Campbell (NRL)' -__version__ = '0.1.0' -__email__ = 'met_help@ucar.edu' - - -class IncompatibleLengths(Exception): - """Custom exception for PiecewiseLinear input checking.""" - - -class UnsortedArray(Exception): - """Custom exception for PiecewiseLinear input checking.""" - - -class PiecewiseLinear(): - """ - Defines a piecewise linear function with a given domain and range. - - Xdomain is a numpy array of knot locations. Yrange is a numpy array. - """ - - def __init__(self, x_domain, y_range, xunits='feet', - left=np.nan, right=np.nan, name=""): - len_x = len(x_domain) - if len_x < 2: - raise IncompatibleLengths('Length of xdomain must be at least 2.') - if np.any(np.diff(x_domain)) < 0: - print("X_domain (in {}) is {}".format(xunits, x_domain)) - raise UnsortedArray('Xdomain must be sorted in ascending order.') - len_y = len(y_range) - if len_x != len_y: - raise IncompatibleLengths('X_domain and Y_range must have same ' + - 'length.\n Use left and right to set ' + - 'value for points outside the x_domain\n') - self.x_domain = np.array(x_domain) - self.y_range = np.array(y_range) - self.xunits = xunits - self.left = left - self.right = right - self.name = name - - def get_ymax(self): - """Find maximum of envelope function""" - return np.max(self.y_range) - - def values(self, xinput): - """ - Evaluate piecewise linear function for the set of points in xinput. - - xinput is a set of points inside xdomain. - """ - if not isinstance(xinput, np.ndarray): - xinput = np.array(xinput) - xin_shape = np.shape(xinput) - # Treat xinput as one-dimensional for use by np.interp - xview = xinput.ravel() - yflat = np.interp(xview, self.x_domain, self.y_range, - left=self.left, right=self.right) - # Restore output to same shape as input - youtput = np.reshape(yflat, xin_shape) - - return youtput - -if __name__ == "__main__": - pass diff --git a/metplotpy/difficulty_index/plot_difficulty_index.py b/metplotpy/difficulty_index/plot_difficulty_index.py index edc7bf2c..46444de7 100644 --- a/metplotpy/difficulty_index/plot_difficulty_index.py +++ b/metplotpy/difficulty_index/plot_difficulty_index.py @@ -10,8 +10,8 @@ import numpy as np import matplotlib.pyplot as plt -from calc_difficulty_index import forecast_difficulty as di -from piecewise_linear import PiecewiseLinear as plin +from metcalcpy.calc_difficulty_index import forecast_difficulty as di +from metcalcpy.piecewise_linear import PiecewiseLinear as plin from mycolormaps import spectral, stoplight __author__ = 'Bill Campbell (NRL) and Lindsay Blank (NCAR)' @@ -23,8 +23,7 @@ # Only allow 2D fields for now FIELD_DIM = 2 - -def _test_plot_field(field, vmin, vmax, xlab, ylab, title): +def plot_field(field, vmin, vmax, xlab, ylab, title): """Auxiliary plot routine.""" fig, ax = plt.subplots(figsize=(15, 10)) @@ -49,26 +48,6 @@ def _test_plot_field(field, vmin, vmax, xlab, ylab, title): return fig - -def plot_field(field, lats, lons, vmin=0.0, vmax=1.0, - xlab='X', ylab='Y', cmap=None, - clab='difficulty', title='Title'): - """Auxiliary plot routine.""" - X, Y = np.meshgrid(lons, lats, indexing='ij') - fig, ax = plt.subplots(figsize=(8, 5)) - plt.title(title) - if cmap is None: - cmap = mcmap.stoplight() - plt.pcolormesh(X, Y, field.T, shading='interp', cmap=cmap) - cbar = plt.colorbar(orientation='horizontal', aspect=30) - cbar.set_label(clab) - plt.clim(vmin=vmin, vmax=vmax) - plt.xlabel(xlab) - plt.ylabel(ylab) - - return fig - - def main(): """ Calculate and plot public version (v7) of difficulty index. @@ -110,7 +89,7 @@ def main(): dijfd = di(sigmaij, muij, threshold, fieldijn, Aplin=None, sigma_over_mu_ref=EPS) # Plot the difficulty index. - imfd = _test_plot_field(dijfd, 0.0, 1.0, 'Longitude', 'Latitude', + imfd = plot_field(dijfd, 0.0, 1.0, 'Longitude', 'Latitude', 'Forecast Difficulty Index') imfd_fmt = 'png' diff --git a/metplotpy/difficulty_index/test_diff_index.png b/metplotpy/difficulty_index/test_diff_index.png index 4c5f5e59090cfb5f21511f38e6a967b7e46e0ca4..9ffb6cf74ba00ef60320ad2c12f2881010211440 100644 GIT binary patch literal 39675 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 $G2;Te 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 From 28d14332f50dc8f431bd58e44421228219a67b37 Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Tue, 20 Oct 2020 16:17:32 -0600 Subject: [PATCH 03/10] Final version of plot_difficulty_index and output from a test case. --- .../swh_North_Pacific_5dy_ensemble.npz | Bin 0 -> 108370 bytes .../swh_North_Pacific_5dy_mean.png | Bin 0 -> 30257 bytes .../swh_North_Pacific_5dy_std.png | Bin 0 -> 30513 bytes ...th_Pacific_difficulty_index_10_00_feet.png | Bin 0 -> 32473 bytes ...th_Pacific_difficulty_index_11_00_feet.png | Bin 0 -> 32136 bytes ...th_Pacific_difficulty_index_12_00_feet.png | Bin 0 -> 32040 bytes ...rth_Pacific_difficulty_index_9_00_feet.png | Bin 0 -> 33005 bytes .../difficulty_index/test_difficulty_index.py | 149 ++++++++++++++++++ .../test_difficulty_index_plotting.py | 16 ++ 9 files changed, 165 insertions(+) create mode 100644 test/difficulty_index/swh_North_Pacific_5dy_ensemble.npz create mode 100644 test/difficulty_index/swh_North_Pacific_5dy_mean.png create mode 100644 test/difficulty_index/swh_North_Pacific_5dy_std.png create mode 100644 test/difficulty_index/swh_North_Pacific_difficulty_index_10_00_feet.png create mode 100644 test/difficulty_index/swh_North_Pacific_difficulty_index_11_00_feet.png create mode 100644 test/difficulty_index/swh_North_Pacific_difficulty_index_12_00_feet.png create mode 100644 test/difficulty_index/swh_North_Pacific_difficulty_index_9_00_feet.png create mode 100644 test/difficulty_index/test_difficulty_index.py create mode 100644 test/difficulty_index/test_difficulty_index_plotting.py diff --git a/test/difficulty_index/swh_North_Pacific_5dy_ensemble.npz b/test/difficulty_index/swh_North_Pacific_5dy_ensemble.npz new file mode 100644 index 0000000000000000000000000000000000000000..0e2a7f8f579b26cdcd9a33340ce465b7970cf64c GIT binary patch literal 108370 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%0D7(9X54`0i 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ࣩyt~r) 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 literal 0 HcmV?d00001 diff --git a/test/difficulty_index/swh_North_Pacific_5dy_mean.png b/test/difficulty_index/swh_North_Pacific_5dy_mean.png new file mode 100644 index 0000000000000000000000000000000000000000..47e383488a8c42b19a99431d8f522db72d25095b GIT binary patch literal 30257 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∓&HN=s;FIOj|+Ny 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 literal 0 HcmV?d00001 diff --git a/test/difficulty_index/swh_North_Pacific_5dy_std.png b/test/difficulty_index/swh_North_Pacific_5dy_std.png new file mode 100644 index 0000000000000000000000000000000000000000..23c57361ba0910029c99ec09b481851728f4c402 GIT binary patch literal 30513 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

CrwSsjrkFm5A^3#6>b~VE=>Z# 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 X#`;eQW-g5)Ye!YnQq4GY`pUlnyeyw8 literal 0 HcmV?d00001 diff --git a/test/difficulty_index/swh_North_Pacific_difficulty_index_11_00_feet.png b/test/difficulty_index/swh_North_Pacific_difficulty_index_11_00_feet.png new file mode 100644 index 0000000000000000000000000000000000000000..b0f44801d3f6febc2f9445bfb990b4d4c839e01e GIT binary patch literal 32136 zcmeEubyQXVx9tH$R7yljX$7P~N*YON>F$#5E>VF)OLt3mH%P}Jr5i=MyWxEf-*@AU zaqk=V_x^sz;Sgb;&EEU7K5NZ2=UgY?ql_5(lNV1Q5D2>X2Vr>#1c?*^K{$T&5PYXo zK->lV^T1wET=5Zjc|0mv89^-d z9BeGC9V|@sNu7-B>`kq$NZ&GmKXjy@92{)87#aWL00wJ26Gp$(F;obI6e2GCUeP6K zd*0RMxluL$zIE1_MY5-!BqHLMpP#>2kY_xiS;|FX3Dm?T>at|`@|HY^AL*+N*8A@F z4mR)O36M=hn?eIWqrP(%Ry(F4Cnx_P@Qn0ZVe;VV?d?)_)@37E^mhl`=G3*`qmMa@ z`CbL}^}XUssRnPdoHQba-%1JG|L~1r+~=oQ;3e0?gg^$) zPM+~y4^i;`AhPxc-~Ks+-{VK{W3YVDu%E(@A%8;f|4;N^Jfm?~5M%SBcBV>x7L!4X z%?;lU?!CsZ{rys~Wh&Ve3oaS(3_r-qcAre@gpC)dwC|m9EEpb)nmg?;wQ?23rlf@S zMpAL~B@G%Mtqx=_uQ+gp$HhTgzoHoI&efg&_9yA!V%u46bUhkQ7eblZaq8&kfI#~C z`fS#coypnQaM%;ko7~SH4xe8o#>YQyXOb$5rd9dViKk<+zxEalspV$J`lUmnil!}c zaqXYLhx3$J$vWH8ya?oG)5;~Ua~4jEsc5 zrJ}{9SO2Eh?w4L({;aO9?)-RE_Mi=wap|C&q`P8>FG$0>iH%9QChYEJ@h(J+*!6+^ z+F)nZq&8|S3>o5bxsh{_!+-PG`+AwgwwEH7^zGYc0;Ah|ebKbx-@gyP4j{&o%VkC& z%dr2IDTaBxGg~89y>oQ2bl~#BXjYnnjt&j!AsSOBrA!i(S|MBaczpz)+lh|v;%}s= z>uyJf@M}uS3D+h*&r8-ei^8qBx{8fBE$^F?+Pm8;W{-0lsT3Z9Cbtv8p%h+(^|OP5 zl4eARR3baNxVU(BZTB*k%A*7~?*OPe_rezu;gI~w%I6g(L!zRh50hl5W~wcN+;{6x za%7UkK5W6^`<*XZc)1DEe0Vl=GkMCJw+p5 zUG_=Q+J72^@%pX6Vqbv^4G#~;e`mAANu>s^_k1+<_FG`!6Q0}iWwu=dH#e@;fkYI@ z2N@YZJ$xUHv=sMU&U26EpXMr_s8LqlvdLV&S9>iaMBGl_U@L<1^3RGJcDX!`1~?#I z^;#D2?Q@bJ);eufA^{%#?tDX;5iI7XCU|Ueii+Rj;_&BeyNUFZzoKBa8CU3S{K|6V zvKl|~Scz6)a^BUfG#z~i!WW;<#*4lY1O^<_4)fTTNrv_wX zWS=w1lPizQd*`4Nmmn9s_Y`rMCF4_uEUSEv70>6_QVVq3R6U@GzBEQwsoh zsnBo5e>0L1)rQV7_xWtmn*_v7*LO0Z{gqgqKVYACO%!RAIc`n-++l+3Pn)Fbfe4J_ zuqJ-{_ASWP2$0(4Q11OdL5%t{m8PoYhL2@Zcmj}7adn5&-k*bSe@{w6gSgyYtT8)o zDxwi_Js;vZLW_uq*x#vHe0Yn9k#yTxWIkD3d$F2`g@@;#DHir;BPUg~#p`Atq^4J7 zWC#$OMbER}L*BP6xD1+5utCylYw>kFPjKw)?GYfDyvI)igMtpuTJDH6YOK<8e8p zk~c25O1i<$JQxup`F#juM6tO%&2&9l)$5C*hF?5LRHY6Z@@NEaAIw%;3Z3oFBS2oV zTl|b;HW)6_;GolKCM4o=_zBWoneB4di_{YED^+wn*}zTjk15EKadHw&Pfwrkw`0nw zs;Vx#b%&93r@jCBQCZn<@$U8vo>)OP@devJ|L*oiwazZf^jbld*B7Lr=1s5%HraW{V<3E z+x;;O29r3~#|!YB_7+0!&hBnWoOWh>&lcP<{q&Yr6Ro>q=rwHaZq5vTenx<22Y5=S z)2w}JzuMnA4xTfHSU6PuxrneLW`RnHGNh7!Wo1QzI%~o6Obc0n_i{Zm+i|i;BL|YJ zRG^HkZ)$4VXIzm7%1uHS*yc(IA7L@{ES(kQVqv zC8(>o4hz4=a+V#u@vx89#B%|Y|N0}sNAIiIMKi+D7H{vB0~fP7v8*UJP>gXPj@Re5 zqxEb}#I08ix~+)F0+utCc@uSB;D^~RC(No%ZdGwZ@eK9rAIs)%uFeWdOPNm2 zm%~u>`BG&&ySocOSsHtnY6cnOJ)3*A>I!Z*zN_hSv*5|+nR>?p@C+Lpc~+bn#zQz3 zKD{{G^S;wSU>a~d_|r*4M<->u*gVgA3clHZmA1HVMsu>!T&*p@c|SouwGKSn97olv zcVO;ZaNDBC_w#v-O_`RFLB1au5%DGUX4}L^L!0mR+~E21=S#Z{d$>4$gNh)bf{pO| z3o66sc`N^UD=|aE*C0ETnGB`;td(SJdcHMT()|^a4?2*@(Y|&xe)d!?JL)aH^;9VW z4h~M-JKGG?#d#|Z5XCR1&a7K*aIenx;Ngx@Gi!Nq!BD$|*wNLcKT)XWvKns!Pf!}_ zd*E~eAc5F!WW^@@iKLSClc(9QS9!^1rnpqH`Ez5E;B$4Lk`^*aMOUfUjhn;9FJ!Pm ztdG~8Oq3aj1rzhWpj9bG+unjPwgk`3&DrN$Io_O1CdPc#i7e8n$*8OxJ4W_~;In>u z`s>#(sj`{{H&kA?V}ZSeCh4_}p72+lmZl7`s3pypG$0?^9(3XfQTwWByLLKwJ(b() z)+mLpCpmz!+Qpc@wz}G8RTIRB{L;@SDk|#dj?}nA4dcq+zXH@awF5M&-JwJXNzL?+ z1d4EebcKP#F9vBx8Q=I2ruy30JLm zpyqPk^_W=8E!ot$%`bq0Geh2a7KF>FPHnW1sm-71YM0;S}r zv@`9Oc;CQ|J;Tk$%QkmXFIF~mFD@=zwu)-@K_yrQI~uLy#)}_RK+_j5LE@-I;iICW zvSBmqk7M>>B<83Da0wfN$cvlb5_SlZxz_dgg_QDX6D6U4A3) zRDT)rUrTYv00Ga=&~z+cs9J{Dayecy+~R%bm&k*~=H7@L1bs08o;EV%Piz((0>eQD zj~6?rGk)?<#6k(*FE)F2$~s<*zyJCWAjLoNCMkIb)r9R#X;IGt`aweV2Q~M_8h``A zps`qv(XeV=XmXd6mq$#~yNhTs9i`+so3n?9IXp!}euBu>tC=nHzVq5?R?%_Y{FQ~u z<+%9`PunGZVE_%i{pXO^DGMB-K?4F>O;SCTm!}Gf>!0X&-&EmO7!SMv(F&mcxH*QS z?crbXIgpWT-VuWGE}F?V2{3&SxL4&lb*Jo2ot~EKLrH~3uDrq!*b3K{E34%UYvax7 zY#gsUdqiX;v(?-?$=RY31f+)`(w9L56j0xSmLW)EO*D)+1SHZ|e0CcpsoYT;EvfL>r{d;IGdQ#bmnr!EJ;FmwV#3@n z<2kY<*WKRNVnws~JT6RLM~REN0IY!8jl$4!Z3jBMB@hMYsdpD7$J^7`06pLVgk5Ga z{r38DvZZVPcRL(ly{4jC29e$lLdXY)R+*HG>jj7?&KL%*z;E9k{K&~M0HqO*#*pUA z3QqPGNx=GvmS{IUefcs71mO}KWj(|ogzoR#Kpws3myDrng*QNn1Af{~Zmk;*6Se%H zdip%8^lBji`>+k9hJ($5k_>>nTu#PSkPJpgN6SF{=}+dyTlBu;Ev{RA0Wu~z6%`7= zS*V&>2r?=OFIbGx9-`rYCSWm66Y|G+=dk{i-C~N=E1>XnLc>~br7ybnx8KWQkR9J- z?SnSu_gJ2SNzn&ZgD$i}wTg$Cq9JWxkWs(K#Q4=Ldc6eMvjc!Biso+n;?td3e_6hZ z2k>hY{WipZ#{*DIDToG5hY=Co3V43*1}zR2cqjm8H-Zk#Wv6PAj#um?Iv2b<-Jm-Zv`s!os1Qo2xX;rSCd&Yl zw}D=G&@Ghh+tie5e-bA)Djq`z2m!tyus?tFuMcBeghBt77B~rdy+F{+<11uKwZ61&9Lc>B z79RL8>T#9~Rj=PP6KajN{&L~L2dXJubWBV(A%?$%w6qe4kk~#Lj3q=;Qc?jtvwT}_ z#>V|Gn~N)~fy%9n~qQpV@|y7CZ@1G<3CxF7!nblz`T7E84D0G#;P?uV`bx}3fh zyFBp3*_^gjPe6K)@3I7NPRo6#s&DIrCKi?jGQbbx{x~cbo?5{%kW4eJ>Q->a^AxB6 z7>b(QQi|1f%X0%IPMa%OmS>)fA&F;{E{ftid?&Cl_ix?4)%g4e|e5KMTE-jo*a7{{} zFZhVzFGN8>ktdfanrGd7LCLfVwx-$kR2dBegN$pFHk)4CH-W6OnS5RN+e7e~1w}+e zs3A1;^wRz2hktwftZE8CjHRyR#;5zysJ2FTI*iwYFcK8JNvqT5TLB^! z-3-ljWQlt6{xKHd$?|K;%in?wuv`vfV9}y@MQ#=VM`2iUEO6|&J>P%_u(qg-j7*3x z0u-wL?4DH{7@M_j2?4;66i_-~r}589Y~6a#y#a!bV1etM-QP#>jR2nVH-G<3 zKp{-k*_$jKfIQ#Mgf=?#838H5rt6-g8bGyfEq?>*KInG4O7+^|hzNANNZBpZ-;eaZQHU+;Exuv*j=&l&ueNEOvlm z0Z-Ew)8)vPv(=rTZ3+RbP(qjGLL&hnNZ=&`JjR2bS7D^o)Zz`&EsNHh>Y7SQz5uR~ zgNpB`#|rW@{1?tsXMI#vg|b`DkkSP&8s}nqJ)S48nMH@x?loUA!GFhWHTr0dYNkBSMn-rInYzLdUGOR(9VJA8qpgpksV}{#S z{?KX7%R7dIWs~RuqY9pC&cRfu`ojeV9q&flfebhu2!Lqz6iCD%RaU;3>>U^o0lb{N zg2GF8xBEq+N5p;_1U9V?JTV91(ziJ;disN+L{Oky)CM{YBnZ4`?T=>xB!e;`kIU0U z4(l#ZsK0;z{uyMuvH%lV_<6>7m=MZxby~b!06ISCqb*4j3nMU~X7aA&K=1n-GyIubLx6{vI^wD?|DpqrE^hxF}^#<@syK^EP|#cNBlT@o#mp`~9F$!4SZQkGNWSILDe!8!+M;I9LkM7|6NcG=Hd$(|D9=Eq$=3?+P87IWx^jWuEl=l9jqqBH9gV`!D?@Ub^O z;4o{{5u!A7Hxe3S3q3DnW1=hS!6|#^>|;7jFrgegy+3a&IZH*J5ffIU3tzPVsU%RK z3!cTsA%7@d+4;Hf=;4&tO-CF%R^P8vSUwuo7LE$x^8+ZeqBDKnb9;M7hODw8ivoqA zTXN;%ykV#H#G%b=k8u}_r))all5=~LVT@1cFJglO@VeAqsAN%>nPZ}I(5om$Lz%1P z3BJ;*cU`Z(t;?mu7Bb{QCgpkmjpwvO-5@sW0hRvGvm8VHGXqf-ELcDw8+|H_F&Bg| z>wUrnxAT997mhZ6d$6S9m=F#Q4jy4*ih&JPX1^v|FTQ3$QFjwRE-I_=$i z@5#QF%*C%GT}XI0YxNta=O}=RfdG%Oe(?EGa(`K+l_!i#@iEuOXq zftAOFwgMduk9@E_cQX3h5_{&qeOm{K&Z~*~#5uH|)CNaYC?!84{Uq_@pR$R3MNUbo z3{Yk|NZ_iKpRgcl;NGX2+&NObE=@sMU}hR*>K{LhmM2%X1Oy3S*qcw8$;~uJMMIvI zjX|G`+C|J#bvc|mRabiYN?@_*7C1IZtl%-b$62VVYNlAKhdNY7+wZThrq%5iZJ|Fa z%opsEkm-qI5$xJtz2I*98~2jSC`h$L*tPJkjB25ha5)6az(JgGTzV6k_l1RqP;ukJ zuiEOe19JApusVWIR<_~znUXI&j1E0P`9^^kVNlTL8=N^h>m9fJ0PaJ8$ji$^NNp&7 z%m8YyLn+)0t{-@Lc`Z@V(iUJD-&fo*50HdE0flI)!MTL`6c8iuItBS29u5eF=N2=S z)cY=KY6R65(_cUvXj-#jSND{N$nx@D%`+QtL5&dskmV;}N=rYDki#Kv2WV$Y&Bkd8 z)vKQT+|Ve219Xuf+;kwltk2c4z!e+Niv*MKH~&|4fZ6@jf=;y*LO?*^@+W}G26W;N zyLk40A^}Wad$rpT9vka_dvj&5+!X>13^Z$t$A%{pHWDd;&3gfc*Ucd$46q?U7Be(9 z_Op`zr(!*7LHak@5j1Qj=>%nr=7q4W#RQ z*eBd3mfkRY5;ww+fr6?MukU@O9C|fR(eijC_@7#_mRm*fT6v!3@*&o2se2goWPJg} z+{)$ka|J}m+;tE&`2^eh+b`p^#i|_{NvlC^2Mk(6m`0Z5IiWqOE=jI+QiH9lF`o3g zv3Lcqh%EbkXrzb2mMp=_awR;K122QPU-x;YF?~n5hP2{$z(D8LUgos+dU{&m3kgyr6ziG2`CB}{E zJqw3Xx*H>(t=jta+7}l}6yt4t-}ARg6(Cmv;%EObR;{B>tdchAcB(Y%K%=U&|Hk>$gs zVv~`XTZQ49x4&wfy|K2&2Q{CuO}vuSX+AvYo>_A-|JCO7u(c4mR3IK9M6`2tBc|W|(YPzVg)XAF)uA;k^6Hj73Y^k6pIfhaDR{ zwAzTRI&mXUh!^`>zxnV9R**x_5%q|cu{s97|01jA`>Yg8Ke{Uoc`_K4dvXA|a#o)- zOfSK5L%($kL10nwV%ny5B?(bjI`m&FcK@z_$NZ)sCpSYFq>J4Ojxh2qs<%8=Ej&N; z^^1F!+^Lj2yF5U0J2N&)Y8DgsdDt~?M8<{l-@E`-Cufkqd|Jm#0?d@m;-f09c^kb? ze^fR~bXaY3Kx&**Rs9LrLuak(+ABSTa^5miE{rR6VBqcHl;P*pp$OEiV*kR*-k6vB zt_7pJlQsItk02Y2FRyr;3B`%&NkNhe{V-bI(nr-bgfkKqsB(SK?jyGA>5 z0sVhpiYHjKMy!qwMlYLs%ag1$HFs9nHMq1)fA=nDv$je>U&!p6wAUS;P{oqL^0X~Q-`B=1C`3^3MoIusu3Zuy^l5o9S{2*t?sIP%` z!nu}mSy0R3w`be|_AtTQ9dbk2sP)>Yne4}qH+k>$)cIn(GyKAhS0ua?*P^2ziWt^} zeDc@nu<&Cr)}F+rWDIR+CZYDJ|oY&^)&n6ow4yT+^>7j?ABgih(R&5r>&O}OD^UD z9Q(A14|W}}Ptecj()M*eRU%u2K?9@8pl^=c zE)qnEv|Z8A8+iQc87Rfs?e8MD*u1gpy+#DFUS71R4@^MSIsQ|g>Bs>28sAUvQe6CE zqa+3NaJXTZ_)KY!O{CzNXzY3)w~(uLJtJrz^y|nmmh6ce2j<0f4?%y6LC39eUPKQ+ zOc*`n@dqN{To_df(`AU=Dh#_X4#|5isLDj!vo)ANL3t1KbF1bHV-KKJWp{H}F9iSi z@fyzH1KF#y%pifW7G6)VlDl1yJ2K#fW*~tL-g4O4*_GP-7DRi&`l!KqPt?PMr?}}< z9nJ&+tqQLC5xcFEX}YdNgGQN3lR>Kq?dRTE``%sNro{XA?{l5}?-80fz67<>71I-C zP0e7LWUk*nD8xTK&*rI!`Q47+05PD{X-9p|VN`m?5)?1}+v^MR6woEEudhE$Wnl|V zkg$9>X)+mtx_f}N`kg`~ll6wzftUYJ}4YJCNN?Ni?H zlIwR%43toSTY*|TMEMN4M4H~qbISP6N$@qNYrE9?yM@>#P} z`*lt62Y))U0&L@+mT)ENqiYz=QD+?CA~hDbHci;c$g`uZgQ-O8AZDC|w-q;Tr#NNW zmNQV*hEGRjP=}u7O|-}ox&5v5<>A7dOn3UPLqRsu@zbAjc+SuV);@EUOY)h@g}bUL zaH+tkV59|yX=`-h29;kXk#t|X3?PKvhJF1artoDZ`{JsoIJh+05`n3{pL@$p(z*Co zm$!4TwVAh!nGI0X_uZPVJ$DE}IJp7JOaKVqW!8&)JIg?{_#i1+a9|68bHs;7M@amD z;bRL0X&5A8bPzzi7dKwp(-kN}erO|nDT#?ep!NTeJ#ih&7YkEb-ch>`z#^=Y&#J8U zt5R^@0?r-4T@CFUDQP8avw_3F&B`^k~5dQNF3#G#tcYZ z2q2&_EUly$`-q99Me_YJ@T70;5!g4M5Lf5g-5hy%ayz-eOCA$WSFlkP6o6HB`NYdpi+y_W z)dGE3Y_u27=WWN|mA%B&_070tGSe`!KD}L|qt>v)iyY#5BX(XXL;&ps$8$8S+W|OIiYk0FYhzY?3L6` z80YgSSXj;%1r+mnr!NKa9ew$R=$<;hjS!E*vBp%9l|z>cS|c6k+lwgmTZtnc9;do6 zp?W85=G5#V9|qj*rXeH#V4i`x(Q2)FQ%+_|nc#zWT2*``5JD~|#g0Ch`JU{^E1^@D zjd&V&=gNRbyWwOy-R{NBf*qRdt{B2x{fwFsvpEE>-0i;2u9VrBxtUIV)vr$>;i@Ml ztfo0)uG|>pOw1M+jmz%-HqhpM(~M32!>+WzvqXXm*$5CvdE|~3Fd?=$jCF2$eMg2_~Z5S zemk>{SU_bA5CzA+eZj^ncpN4pTw9mjBsSXcYT}gvb$EHsdoRV=CoVXGU7yI>1kO(sv#BSR8v#rGovyymsBru zWqHcA6jt(Nx7BWOmI#91f*MNE(K6z z#}GRyd*#E6)5;ruC&=e8B$DaNXk|^4HiY&)`<@)BAYySWf(MN&mNJv8yAVf(t#qn} zX$?9q23$rztWsBIXL#GkldT!!H$D>GJ3!Bn=g2#6Zs>T`N)h0=0(GQ_@p*)GpppO^ zQKy#E#MY@JG|37s9e)O+@>pGY5Vo2$5j9C)Fs8N7v1d{jVGziQBX8-)lWLI=(V*1V zXctFzHu8BD9Y32>yE<*hyl>x3vVBv()kuepLc1!<-mxT88r!~M0M@;7rL01Uw~}zU z*gBNQ+2U~YHUj%^t&9D%`m5rvgxJ~B*7I9f*_^3g!W=zeXPYS%MZTD35Is|WVY-X2 z-n~AV($HDf09O=5>ic$uU3TWLQ53*P}lM(q5-xPZrLm;y*KJ2o1Q%G0hUXfFN0iw1eQimOEmI&C*W< zpp6>`>HVLXSAC}mTE0c9ab?F-1bOkgBk?hfk) z${(F|4sc(=%WS>F#+RfdLb#pj>qGQ5a9DV9GCJHn$X*l))Nc~6^Ykvu%Nwur8~$iS z`ZsTKmlx#hJ8y}>zuEaC+EyaO^oon5>heLyZ<{3`Ceq^4seT5s zCLy4n)<<(Nf!{(iXGaqVWIo zqqRv>;^*ps?uv&t@!evcEGz)NIw8g}ATXMFWQ3V~f|6mOk&uX?OPJHh``f$N!h*Zo zW{c5svC$I28qZ{spcQx0A(LX?lCAiI7L?NfRhdC7(1NiqO2p%1Q*}j|U4CAFaE96| z5{|!YtGYF>ClX++t?d4l_4PD~sIzUO?Ont08A09+r|hTI&GKH=MvYVU$GhkeYq3Lk z1+LyvialO9)l8|urfy#!*njJ7rkf$gZoQ$lNI2>+TMUrroD|L4B8kv(PbGwW>|FKY z75%ntY4D>fC~jQ@@h24R#adLi_WKl2sSjP06nida+rRK(7Z_p__-h@xX{4oXglFh= z^ej+zK~ocvj5<#ekmQ8SK^jF!bPpwQ{|d?y2e zCLkg41n{`ufO+xWBwcC*!=+Oz|IuYxtI1HSSufKGk22vRg#sx7zPoGt(Zj)HZaLu3 z1e*&H(tLBOF=fH7X%}#Eb!-9qJQYq?K!qqhqf8&kezVHq;2|K|ay7wjR)fBg6vY#=Ot zaC;3=_f46vYC#L49mq2Jz!ITaZK0N?xl5Jm@n!L5*BMSzC%8C`C23x+4~Z07HaLtP zhPR`1*0ve=zjPqpCIeKS^q>x!qi{?z$IQa)gUIxW>~ShmxDOQ$ui>t;#%l*@tA_bd zAa)W-#xhv`nU=H1n^XAH^ZP4$y(cX%e@4VifNG+!+QPJicOZ7c;hnEhxyt(n)gv!= zR>x~em{HR;PwIAj+SY+>`P7`wD{e*=8L3ybYbc~Tufi0RV}gRB7CV0tl`Ihx*58~? z8TIdc$BXnHJH|oZz0#{%^N(JOYT_w8Qc1XKU)R>~ObzYIa+jGeE6pg?oMh~1Tr^T* zXYL}PbYFXiHh&QA`C{9zN*hnVi75<9P)|(KYCvNIxWbxYBq~bfu0TUf!Xom4VlTJs(}sso?o910{IFEW!Dp% z*x!K_C@}^GgB`ToUA3G8rGm-y*AL1B9C$d5T;ze}3gf@6WlsTm2zh}{`K$Z(avz)+`arfu>kHznh)%knNQU20o2GuR^30Oo-dL zttgpltiGsgcg6O4OdN}rzMyF?yJSvKT&Cw)RqKj@`Am!~3xlje_9#iEReYyw$j+o} zM}5bbHgR>Xrh@i3rDWd2Sj`Zdo?rQ&>Fh5~#4psIt%a8@l{fQAUwqWs(4qYzxq*0T zSFgO@x45}F^SyAlCMnU1S1U~GLQ6np*fgECu7KOQFaK}#jNg?=Vd)%UPy~)DeY7;P zp{cf|nznQBBZ7oq6@4U%+Es!q{s4?YJ`18ck z6koJ!ci{X0ZMM%!U!MfrXak(n)?eb`%Z`=YqHc+32huPEg4X_&Xov^{1$gFxDt?}M7{*)aMmAk-{wFKU!nB82D^#{yK5J|$}`^qW(m|HHW>_JAKq zeTknHm6D6SQ-NFo#xsDoJUzffcp#v7O>E8BE%Z4tH=RBwM!dkv!xQ9pN%WJF!LrYo zV}(v1+i(vsYlVd`X%l~LPW4x)xLI23{~&{7;O7`+zk{Pfr~i1jI(ucw>oMfx#~2EI z3Y>D>=27F_i=~3^HP)+_D`n1o%2@mLM#EauHqK4z8wcrIYkI!LYyQP}!CqRN47DXv zwF;x{ZRBCRm3NjRX6~&Yx+PcmI^PZ4u<>E8G1l?slS7&QwD%+1sxwX7=|*y6mcQ=JKgtCU_l%;; z#R6O8Poqsgw9eL;U(TNwcz{NMY$&K>!h4O+_d|iSKt9nso3y-~f41^njuIs)(CuHt z?PzfKTQ5~A&(;($EBJm=zTfO)G}zw(P$Gm2@N-ri#NO8jFS-f*TK^f>dh<=)2+?lU zQU&fG1h3qSPbZ6%>ZQ5}5)yy$EW-$8?M|A47JRN|FC_J0@oVALIcxT z8xtBZ0RkgHT*P+}UC(iFeh+f*S+o(z=N_*wbpNW2g0J0L(QaQj;b>q%|8&UH>8n==Y119ZvMVmc_$T zn06oJl7&EJHfZz*OEs}7{NvY1Ok=NHDqrh#WDu59iKVY1RxGMZK5muZ$JE*jz2u5b zAyIZAJZvG>^2V$YA{L4rxJJo(le2A_M%A75Epd&+Dw6TLO2th%4FT<&*dxX~*0V3R zQN5FIlt=3`sx@Q2n!$%iZhf>1;+|mVXtmBL_pwX%6WD!tt zV1#8jOA-%0z67jq+*_wWn*KWX>^@hH$yZ)#l)?vLf`ic@0uBzW;Oobb+U;_f4Y2yF zEery)?*V+42H?z@ZqTCr_uQ~_vPjY`!{bD#Jd&eU$T=k{&0_aBYaTs8X zn-d}*4=Ult45OGFHR{Qi+0_1~XTng`JXw{9QNn`U?-cSo^*b7GhSO*_3gA`8FF6AA z%>q~Wqjn}GbUN|tbpjog6wWtQu~eM_NaTM5Oc}eC;w0r_01Fdf+h-Rovcir&{5{o~LG_}(FH4*XA)sRik*<02X_h?Bk z+}7+1wm<&uZ;gF-=W0GWsjR?;Fxv~_xAGKLPiXE`LIa=?3ZJf6utuYKoW8~1L37=C zX$oWlRHG_RTaahbrQ^*8E;cJgf>fD=j+lQu2_37~7LeKzf|`wPmV9>Dp29-GBz^#K z*jpfi`{qB7s)!EK4Y;!d61Nr%sT{<%Tq9f6XmGEpv|QrAR~?Lo=mHNn7`5VsgK@Y! zn9a%=v;sXtLzvfwMn>b7YxiYTJr0DVApoiH(I>d=p+AN9CETzIY*u1mIzbmS2Qk&a z-XTNC?SvMqc{r+5N=th`rlbe@J0aY^9NQdfTgHh{{qlNN(Yh>F-hr_WSQ z{R}ST)&3r^s{T&2Zf*s!_dPD|Q@*MryNZ@04w$ns3Y3n2iwum?WX1yt6cLz^o`3UX zt?W?!vvCT*X&!71rz3GWtbc}QQ@G0mSiybOC&5UVU>Gs4R2k@mI=Z`o6^$79vjhQ7 z_c{pDf!hGVv+DqUjeqlJl{xv|r}j?Hy=ULMbStJy%_kY)K3&j=3YwYG06y6dm}bdn zB)rl?;77vw<{v5S)(eE^HUIF<3080KuZ#Wx_R}YvTAb>%Sr$c6WpFw@W3_0Ul9XfK zVN{KT-%(=XPj-yhB*&|}zhxB+NS~!g3)0H{v>)m4Tx;{1sBp__mYYuRgrA(#_8HN; z64Bo9I5fSlJbJRp`)oPdcTquqS)@?QA_?j!{r%*eF_7&{PyDnJ#~?TZn>?F_t-B4! zq2G@6WLvh^i(#|D`fu&KBQLIB?m=WkWz0P@-SzF9SnRqR?)H-k=%F1t`oSUFxmv^FYa z2@S?Zj~4^GbEYXURCvhmL5@3zB6y6Phm;s@tv*5YQo}F;O7J_u0H2H>MVDhpX@~z! zx9W~FHqW4-&QpQKmk)lg=0_ezBQHgEYyU>YVrir%UkzmSPPw98S(7O&2-#Ib7E>MO zEWFx2-S7$<@vw@)O^7{O!6%$7bSBpcMbZsU$qm6C7XcODZ0i7whcVldFWxVLaQc`T z_R|6ir+c5z8wYhyDu?^}Y{vJ0na>_IYxyQK&_1+^S;JafcY6MYw!dIw4>!G~s3gJz;I) zE#pGu&a(*XHdk z!AFw+w=tN;ocA4%lYLk)Q;x@7v`Vjiw+@B793eF`3Cnz$?YG{PH%`+1#^=&700~V* zqlB7UcIpjw!c*5oXH!-`tDHV>y)6;>5PiNLk69OJ2BI z5E$G3=W_vC*Ci&ZE4}assz@FK_$_A+K->!@&ntIUDwETPBW%hRsS6?<5+3Eo?s=5T zI`F=eC*hX(_wVvhZ^hcey9LU@xt270!7uoc_+&5ne)z#|ABhuBUy;hYO2hI6PdA27 zulM_0ml~}5Vf9?M)VAag!^FDi2vxG`tTa_=u3WD_z6mq8vb|ZroLL}!-^A5MfBIx3 zBpQE7v#P>Bbrp zZs-KNZ;l$tfgC|YvG!4of}fVqukNll?`<9Er2U|rY@Py1>_@gIT&#O+J$yV2iQ8&_ zs(UXQwpYFIMJuY`&t{=z zVMC57xKDqVx`=`felyRwwbXw5(bbt}H8Mb^h{_+BxO|+RhuWz5O}-?PZ0{23I}F;< z?>AyCikS{@H~Y3WB~E7kUdg&+a1ZRY+DW_4OK1^jQ=Bzu#_K!>z4&|?BTY#Y z>t3&X9X~KC1gMlKsCcO=2y#PVxUcj@?9v;Ao_8yyTkflnTIvc1sM@YqBgzJbQBnGo_aL1$<%p05NZ zGh(T4*E7TPLCIDv(?_nhUJL~$H%-rz@i%mIg?f_rdv1+{lGO1d7&`>xzBpjmica6a z0LeD%d5X)Q$M7K-P`R+(j@NwvL-81l47h-~kN;%h{LWPi=B}8`#@?Wj@XbBv2hIS% zS~Kf+Kn40&?DW=$)8X!LAzo>CFl87A8M)A_gSl?Lt8EsG#bzy@n15rIJ0pQb6HGgd z)dFujX3Jg9p%36EW7bB$d%i0?ey+EO3EmHsLMK9$eVyznxQUT9G95SMF%3Ja}#0*#5?}%1yL3*_`SQeq<6SShG_@zn0-$!=EzV62P+LiSNtBn;;o%V|x z$@=D9gOT^M=+vTVWgA(n0YZ@X+m`>rO}5ldS_hSu=Tw-W@E1?2!sueU z;3z+NT&KN4gJ;eKujtMo)Q!GFcWG_o=_;M?%3+gowxyWCLi6qkzb4&X3GK+S zu=vSX2?ul(m)<1W#)l9;R!`fC_DTtQ%L^G>7+R^OJDzx&D*d@x)*o1TWPeYKrWpMQ(VBQfal($d#8Dg-;S?d=JAXd`;i@HiRb2RB0B9K6DPlDd z8|E=Uvq7&>y#)H|Z}V1|nisjv&*Z^8j=`V&o_OP-l#uJ|>z}g9%F3C$C~!_hPGK46 zDQa>3CJoS5V9yiZ8a-iX+!yRmU_%8TKOp?y(abybaGLp$k>fsQi*T@?qJl{txQLn0`?gu3+)m3We49#6eu$Wa zSehS`)?sMP_7mS9NuwUqf}11JMOncbdh_K%;BX);__*54xS~|P7|7fIO5ZPA*5AdE z&67cQ^w<(ElfI$hI4gXoMsv2N7|)X$$jZy#_vP}(x|{FwnDK=nkpd|zm}z8LIgR<6 zaqWNyA(37;Tc%-u@r4xDkzKE=@9fIKp(c-1hlS|ywd0LGYbv)o#)X=HY1&z0F-io_ z7NqCq6p+P|$;Tv-1|H=jwgK5#A8hMfTfE;ytyS)_(ACs_l!?yu`4ePOq@8XQ;iwfIzA2@=X{r`FG5Go)m2HDMPPqDg@pw-Rr9o5K1wN= zeI?1LPF;cu!5FArde(sTySy<6Mm8BV9yJvb#1y+)rEbU3M-3AcV3k z&Vv;+qPTlJg)I%60kakOSfeom&;Q;kzQ7@O>Pw{nda82^%sGhpBCDLZs6^9h@d>CZ zVXG$-k4sGIv}=U4&#UG2Cv{AB2!~^>(L;MVpPK^E9f^JPV%0t^BfsNUV`0oHdN%1$ z-Je4ek!{8Jxv!ZN#c4(tDPz%t^z^Yq8wE_U)kS-pC_NDaC%mx`-PG){if*d~>v_(# zUrAK;&juM1FV5Hbg2;)=J<3NZ?^+%)5bZJ*M&mK!tuZd;ma-29Di|H!1udOP$<^_w zpt7w*I_{0~q+Xoxc}U#0Y>Y-7oJRNlYP{$?530*?!;pMh18; z@QhZ8`rT(j8E}r`+&uQ6B7HUR@gp{TKq|%?ABGtBx7c8|Ao6;G5EV!NTdC9ZP%!%&3fld zOKttsIZESbX)mvIBKh6ln$=xRtv3JEdU{QXhobVP&P`C2xqD5Gn>{{TPM6rix9E2JYq^tG+8kQ% zIe$^c?b~9p4gJ@nqvP+yA~OI5EtaL$s+;q55&a}^5FmWU)IKfkBii6 zZ`emDsf<|kRZ=?`(Dz3ERuTx&TZ;Emv-2WAK5ML?oNgS8iK@=>O--bAMZ73)%QzJ3EqX zo6*-qM#z8 zL@hu-loF6wYhG7N@#@svpNeF&w$%S&@?B?YW?+F;DK}@^ zKgL`?T*4+A{@7!vn(>K=sYyvHHqZubCt-4buqF?Ae2`_m7vvPiGx<1UyCPW4#l>C6zSn`EJVkl2^^1FlsMK^sZ}IkC9oBf;e;$ z%Aa$rLPpgb@ypMLyfqJOBQ%~ATrKp=qiSk(u+H`1)Tq`TVK<-~&h}`d((kyc>RoU! z!0uYLM-d`b$IU*r-}DMe60v+vG)aEe@p>uTOJKK1Dq_ar=o{)HH2F zV@`sXrR8p_+s@Uu$LzwS$B*ZVRomqJ@^vz`43DqwpHSK*BDLeYO>s_@wP(z()47dR zH=0FD96OhRO5zf_$*R>%w`7!aS;+YZ=Oh|TOG{5TGLKD6>UQNz(WtlE1%G51s~1nl zsk<8Fcb|?^kGBkw&KG~R`{LC$BJSSSb=!)izFIQ{1*95kgTwz~ zn1;NQlz18x-#6R9qr(`RJATo^%GY9Q4X5NIZ*On^ajQEk^UojI%FBC@)D0tFU=%^O zWZ+1`Wt=joZHRMYoPR>dvupVZpDG>0yOj0}fv}1#(s))MciSSFbd%8`>&H`t$S3%T z@VT~zhHvK-CX{c!8JSI$+c4)aHMtE?RvMq5WGj7%)l|C=L5yL0c}CZz6M!O3IS z_U+23)Ner5WgOrgy+{+G_B=9as~wsL&A|{fO(hW_pwIDjqo|GJDiCG#U{~@9QwfTVIP~ zGd#2u|7hPVzu-EPdtzd_T62Bu5HBsFm6oR?@};)+iAm5Lv(oIP?&L)U+|R<|%ZsXo z#rAGfq+Iq^F}J%BFCJxgc~*NlOC>+f z-8R)_qBC`?scrB^^A?_9`8}2%Dq{``Em^5$YtI$Oy|>X;d{HEnKg##gO7K>bntw}E ze^zST`OP8f28(4JCwt2a(-#|Q`|;0k+S<=><@20j6G-M}UYW473OMhyN2f+AKlk9v zFHtgqt@7!M6<_vxe5R(h*cjAgaH~7dZq8@s7|4a+%wwh&vp!gLi1Eaxuh{mbX~|tz zz0plxyBgK*Fn{$>MUA6;Z?Er@Z+)iZD4F~;zOOl}tgq)r`{(CEXE8_=Sw#xjNS=!< z+WJ3zOYb;x^Pae2{uf!19Nstw#Z}8G6i&WxfhQe$+?i(?WizwWump$iQ|Mt&-B{M+ zf(qjAwoo>QVHxgtn;a}oI~zUB#)vZR?i4p1uNNuOWgL6Ue7x%PhG2Oa4VCPi)7ob> zI|jE<99?Gg;uAP6LZh=%ht_?_=u*!4)x-Jl3w>x!=D>OF@$;Im52{5N^sSH>mHlPu z^0}cuDbGU9{6_emPuZy(I&K@3`VZPyW(X=P1?F!bH}PcN@%f^&rK>W)n2khoav%xKcUC;!}ou{?_94eOH~bd=xtr2K6a zP+xzTw&(S0&*(q$a#b$*h8dI%+AC+%3>?cd&Z#6+y9L^sh>up;j&y9?O~x>qmqOM_ z`{spf|EF(j2V+lEhwVFIV>7R&((K<7DY#`7g(AuQC1{_2OT$jZaz2XG?S{|admTI5 zd97CY4$2Pc==AM&myWFe(lAzK<#d)q^ZlAhd%Yv^@l{{<_jVU0)-pCmH<#7goUDId z!CRKwc*J>jv4n$6_)+Ioe-uwGcEp%*J2{u$Msm*36Ev(cV^Wu=1-&N6i~?UP38F=int zSz3*vB|E~Bd1*198+EHXM{dZf>6ylg8UDEK9xOO}c7yBAetBc{8nc))jp2Vb?nzJM z=-A;Du_C|wije!It_yxtX#=ZwuLjo_Tc7k`SiE^y?AStYb$D=DJ6p3D50u`e?kIJp zDzC3rrJ3%Nk^S~M2UWM_)mbBp)Rf$W>{SCH8wd7?Ip(Twxu6zvt@zY)N28!aO{+9J z`uG`FS{##I*Hkpi&R?4HjFEBNajZ|vsQHPTyjQB`)TQF}&w}N}ceoqG59I1(3cef3 zceHTntNqM~e@-Qr@iLz$IyhhcmsWq#52vAms@1xgB3j|`ud7{til@6e?>sL`Yq_x) z!}d?h{#z~53hQx1ho3?$E)Wu~sBgSckcDI^U=B!jFTQ$2R99z2K|5a(1>BYGibC%mYxEx^dZ8G{%nn~8c$g$c_cBZFHzjU~ zsQf7yW$jZP*;rqs_Cl8`jZ|X?688E$Goc zb0)!irIY)*cV^4lV#R^min==dwutpX#$ovFb}Izjd*B({PTpC^SD$U721mm_uh)yV zFdJS2aVX(#MtCOX_YuatJZWv6 zaq;4WxT5I9B09IXFp_y|Rkugc!M}oPwtLgHQ`*|81qElp#>@Kc5*Ug> zWBe;`lv@OU68-nL6zVGL-Z!q!G>>+hJE5);V;L7&&W|pn)E}v0ms<3Jt z@`nnf#%aD*{X;$!dcf&Zr;^}5yQ1EEcNNH&N#Gv+1Vf-MT+C_&*iQlt#yvQzlp(Xz z94WA5Cn5C#c6f8AYDJ5x_$}BCp&5xYu4}Xj^5ivFC{b zzX=g*^{MXb48@QYc3fT0E_|+b2MDGb z(yt;zL#9vEexP)Gi&5zGZD4Bl@V#Bn&dy=vy?oI^K^d85Fs(#BCuV2Y8XFsjCPury z+f+UyK_8sVFL%hdldP6&(%)pXGUl472#|>(HO!L$jR~ltnRyM;E#NV+NvSOPS1 z0e=3UfL+x?2uKEIS`Sxy+*`P)FR%Fu9%}EylNtf^_8Bm#JV$0HTlUYdDz~01w`-+x zYS`C^v3s3ZUK)nHkRnh(H!NE;f+@xQq)b>zKBneo09P?s+3AJ$OiS#%>uLm8h6>jY z90(*L1p#{n)~9Okb%(7b)Me50&ncA-VbfD?AaRVsoc|=?t%C=zf2Ga4x1yr(-P^aH zz+UERGV13O@tART2S{tG{pOn8RWF&Js&Qcf$yRd$8O1(tt@{hRzA>>SZzdP^?cT0a zT3WGy8ZVw-!KVuDM@mLUBQkmw8^7dQh5S%3zw;g_UKAMai2|hoIL?#$`jJ?%GOb`3 zf*tzs)r>?i%+fB0{4%F$UwHnmr>i&a|(ZX^N?v;i&G9FS5(Ky;B-o|O)0DbT_}fUpgW+WPH4`b#5NdXJI7vY3VmEaoz7T#D?U zz|i@MK!5*79YW0!&fhBi;jy+ zAyST-+uIO5)Xle!LbiNRL`16L+;E8QQ&XSd-8!)h2BV$!n*0D)gp)hLh9k?o8Bxq# zCZ?vA;2=qZp59w>dZ7XyA>j{Kd2R>f44>ZvkAPoze$`hePBG(jy>7)+HN> zPx1C2q?7@4j|M<6g&^B?pIr3h?|LSWO%OEmkKf-uAWkR>5U@UaCz&x#D0&qT9v`)< zQPbnx;T|^s zlhb0(%F?o+Up$bn+8s}*pzE7q_*PbRKZE&k7G&T}vyl8{-ltW)+Oh?*(<=_$ND8bwen9S(;nd?t^(2!_Wx| z3xA5l0Ck}NY2}yIES@O7YK5lOiq5WMLT|6Oga<`=zPfF}zj6fqug3fz z=hegUSy{({N49uKjlqHl2h%+65(njD4s_)9zeNDd^Wl`rPWF0?>LC63F`M~~GtDsC zNWWBN3R6KSg^%!|MW1R~Z9$%G@`C-=eK1^Lymm=x$N^BI@sho(kNzu`@ zJuqGp7C_YZG-bwA_;4hy*i&%8EXn~wDQtxUa9w3v$tAyF!8Ic?;$+{6 zkB{Gh(+aA@JRK2A)R!l3hzw4`9zZ(~NVEE4CmSMV0r<}VHTlgj1gpPgWMsZ?7Zc0^L3lGk=C>vgB(qJ)&}~qc z5>OFAHeuiCSr~NzRq$Jn;~X<+BZ0KnG?c$t!4q-CQp&mb`p@)prPA~o8xIzTJ4_4l zPo7PDTLBfftk#qLToRCi6?VnQnQemh_7HGsFydk6UX6xQC_Y|#S(Nro!*B$8kc>|> zUwG02s$_VJoCY$;X`4aJc+458K=AU*y=azak0ClD8L7retjE4%P}-okPVt0f%UWwy(&5Nn!8c zqfidt`;W&xdG#4zUS(ya*Y5GjtAApdKl5sSnZGU>gI(q7QKk?}U9xb&>xv3X%-(xG zKC5(sgM&8?g|4=0Ey~3nvUYTea_#3J*IJ6?ZSa-V;m_6)VDcqB@c7}3WTJGdh*1GM zn+7hTJ1qT+JaSx}bYIb(_$VPSPn@2PDnu|LS6N^T3Cq%^r^{Qk&{#^M*Y;hv7YgE&5?lP&^=!e+zaQ z&hzxvCqE#FTf*&xPaf<#-k**`VQ=a9*Sh4y=oCP}m4t69m`njQrL3ZN^yod5b;L2a zDbIiJByk_XEW@fD@Q;Dmt#Eeb;4L8fCO zgzExIWe`F+@NzV;Db)fE-d10}fWrBj1fR}70jgtmV16!BLt*wxUt5_WR(A+L$e^)z zm6uQ?8SAc5D3|2MJ{vI#?Bf3V>#usyfYbF0wZML`?zyml;(Pf&^`WcFxv)|HtMNn3 z^?&)71v8SDUOSEe6Wlj^C|>yd;Gsh|U@OC2Hz^A(^f#pwaVA|aDK9o5*^8*uOJN2v z;=If5{REvuA1?4{^uCh% z#kc3{T+ThervvkK(qq$i{GPU*IaD&67s+_=S0s;<*40?5+vOYOd7KsD-*RlcCjIHg zUX>x6Y-mo#vE}LyE+kg1YZlnSTOpaomPPe*>fvG2p{d>*|B}hZ%p3MC@BT0w^@qQ6BIVT+xoism z3*JzF`m06L6#h@b6uUn!|7v~^x9mV*W6s-K zY+Y9dT5_FpTDY2d=j6Puq48|5ZeoQ6&+5z#VypMEY4kZ{u-PtK9m%lbV)PaSOA4`M zBKhnz=4UROXF8fYxk`Du{l8lY|C^xve=MqR;jWadKTkCwbVBu^8nO+3$#0T;6`VUZ zEAW%mzsYD4IoJi|)q;ibRwHw+>^AFTap}*C)*&a7K8{ubIbcz95xrYWu6t<9<#*_o@!bPdj|$Y_zj< zl3r}&{(7( zyGxn5F^Mt3r*!?3$d*Or?Nt@i=#?yqp5|-GKk3Fb zedmf^MKUdy70Kb%bf`1O*NB!VELE1bD5bB)th2sOK#zF~t<4 zL+yWJ|G4OV0^Kph=V^vwqsOtkv~LA4xk7TOauNrA`i(Vt>fE^ul3=WMo3|YwZC}FWcJ7+C)Bo(N;a(+dH0;lKi)}Cv$M0O0u@RA54Ary zm1(+&YKh)b@f|0}Lm~v>QqU(z8?8ycdQ4N-DBqvDH!|t|*^9>`sh~g-&PZy2@}1l3 zyN5C$hN58m)bZnwUcEX@bXZq3rI6hs)U&I$a~Aa{DUivIs;ZtqyqMJQnd8L6?Xz)o z=)dWMeg&%snzk9Yhe1#ZhquB4mNNoET?CR^8_-2790l(m^5)^@9)qOTji={-wdD4gxWGbjQyA_f461!Ik*XllIm=!?%vam#4hY2b zG2DDLR3UX-lN`C?@J=}>iuQ2bLm?!DA!NXUE*B0D`(ybDKHUKB0XW#<@XbVkJa~%o z`KOnE9IY#La}t4w=%?&!J_8i61PJNEsHO@JFou_Z%8d3k^N26yl_I!GMVlq8^;Psj z_87c}=3~-459_@T%|(`5Ot%hrn31#(B@VtV8uZF$jeP6Y_kXOB{rFK)k?+o!v)>l6 zcP(xMrKUag$&0os2jDg_E+%LNgyJ5zl1hql8@m<3%GkhjT}Lffamz~5-5~~|iH+Z-rb(pt3e9@0+#Cz1^(}g^G0vW#ec~Lj zg^YvK5%jD}-n_93j<}Vu?>_qoO-rnB5k7KgaTa3}BCJH>`*>C^mD9*x_(X&> zJRvRB@xR%shrVW;+$WMNGz$xydl;o|`PL;vO0&4zt83_C_q&|O2igo#coa)S1{7x! zg>+)DW6E!SV$I&$EB%H%gf3rQ_)R#bhJ83+xT4mPKIhnH9=%QOt5@mFa1{xFk&a?S zc7Af(Yf0Cbb5mm@1cZ!QJh(@|IkT$_?t*#;pQ6+N`-P;PfN2TWDU0NLm7x^1Gpk z=Fy;I=_1Z%Zggb!h<(W#H+ZI3fT!*yRqSG5id1k4Zc(9E7N?~hgO^;3Gl&?3HC2Vu zgJKnEprJ8P!t(u~Fn?9E!uQP)*35^uZ^?sv7!a`TQZFMn)mxbH%)MCJ@z>`hBc+j8 zsjuk9;{QRqcei@9tWMzX*kD3J4|~~!=iH!|!XVF((Mqi2%I#aZRaI1ulRXE;(*9#u zP|1LkYw=~1)EsK2Op zj|dX9&d--yw4zs@IXe8=pq^7xH$M&|ISox|KXR11G-*>0cHrzZ2Q54^nS0^3wcSIj zl{covsr?@A_h`8hMl`Z6Y^&n0U%yVk{dMJ+%~DUwEjqllwzCv2J{vo`8QG+t;(*UW z^OjI7rf_U(rR4q4%F7g#3M=x5KMXw{BH-FDsoTTyNS|AFKz0nR0N)aA9XK|7hDBl+ zk?^ts<_Lx2d~3uII$3vXaXy~IKAf#gQB2D1w`p|U+ad0K=dT4APi_`5^&bC2`P4Rd zk9p1oZ$53uC0!_AB7%q-ATgIfc76|q!4&b0pF>IO(y`~D{fjjeWmAMm)Ul%%;-FWJ z0zo-$vDhb&!K5=QOAJ#LVuY`5B$nto$JM3(2fqJ5c|4Cc>)_&{4&lw2-5%HscOpIo z0o0|)a4*p-h?cm4hbJ?DPg#7_meO8u1Q{#p-=PsS+*;0tvw{y9^hPACWuQ40^gi@a zsH|lo*w+LJ_hCfDF1#O#3yK+zc6Lutlo1E0BGQV^Y08b(uWKrVFiv!9tiqqLB0eJ> zpDk0at)uvwA|uB3A!~Y8U2c&ciV#o1hKPZlhcI^YSaMR*aoCbk)G!x(wT3E!7EURK zGvC-zFOg1?qgp{sazz)99(@}U;hCRdAs&N8_dy$$XoJo%!JN8gmsbZ7d@EbnMwr8by zNTiDw>7Mms6n*Zu zWt0pb6%Z6;j1?kCIpU=-a}cfG!g~AUG5pd99+6YNLm%Tbk!2mwtE>A-CHK=l+Qe8k z$rCH;&3I75T;Z`W8yyzNwnv(zy?a-S{H|O?TiS~ps=Fb%JD^pUYM_Q>$09r@A1;~3 z(N4;>&JA#8M6Y8MNXDT=i|tLM9FnXs6eF|`dI8Fh6ZehX+TxPnxc8FpnKDQX}c(Ur3#oxp-)zwsUPvNM^sIPT%` z48If<9i4$Bg(T?s5buymkc>_*D;C$Qi~~veSd%c#Kc7VfLGh8r3k7BhH=(EaApnHX9Uq;FJ0j60m|lIG z?Q55rBPi~Q4NRyCeAW^48B|Si(^x4F2(`(>!Axg)$v=qyrlrkdO4Hr9>-ERh5hJnw?~fJjG%1=(m$ojsdWAldul zV|An;Kfj9BO)h05li|2%GmBHgM=T$_W@C%Se};~v z{}DR6nIF*#EsTUvN1#)y1rl)|4Kxm+DP#nCA1-l+_e!+ia~_i>O-2vs7-v;r))cA87_q#zj%@jxK-AUuzdrCN}>;G5-s32T`+VmjqS7 z&jOEOSJruUwJ^XK8zRTAe9Xx9%SPT|(he!zU!EqKxLrT+93^v2s6hHcjtrQ!p#U+2 zBA9OEEnGG~JD`pSN+LXO-@g~-Q}W)2UUI?}o6v9eB7YdM&iVOH1LyeOqI;)oN~M!? zM27-a?6NVb8Rv2uv`@BQh&qM(J9rD5B0P|QJ~e{8yf4;o+!&5LZ7w@mP~=UaW%E+; z(fdjC0UBaFxpdNmkhm$hz)kkwrNk;iyXz7oFwHuVGG4KYlEoD1nxF6DCMQ7A{XN&n t*Z+PZ{4WQ@|NrejAD92HjmG==KW5oNx}0{-9w3iF^@zsdj6>&d{2PWXpHBb) literal 0 HcmV?d00001 diff --git a/test/difficulty_index/swh_North_Pacific_difficulty_index_12_00_feet.png b/test/difficulty_index/swh_North_Pacific_difficulty_index_12_00_feet.png new file mode 100644 index 0000000000000000000000000000000000000000..6512bf4b633e21344e9b0dffd1275fffa2bdf577 GIT binary patch literal 32040 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 P#~>{!dm-c8wcGy#IB8`@ literal 0 HcmV?d00001 diff --git a/test/difficulty_index/swh_North_Pacific_difficulty_index_9_00_feet.png b/test/difficulty_index/swh_North_Pacific_difficulty_index_9_00_feet.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0c2c77034f83a7b90652b2857197980890b761 GIT binary patch literal 33005 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 literal 0 HcmV?d00001 diff --git a/test/difficulty_index/test_difficulty_index.py b/test/difficulty_index/test_difficulty_index.py new file mode 100644 index 00000000..2d9b91e3 --- /dev/null +++ b/test/difficulty_index/test_difficulty_index.py @@ -0,0 +1,149 @@ +# -*- coding: utf-8 -*- +""" +Load fieldijn from npz file created with save_ensemble_data.py +helper function, compute ensemble mean and spread, compute +difficulty index for a set of thresholds, plot and save the results. +Created on Tue Mar 17 08:06:07 2020 +Last modified Mon Apr 6 11:30:30 2020 +@author: campbell + +Taken from original test_difficulty_index.py but replacing with METcalcpy and METplotpy. + +""" +import numpy as np +import matplotlib.pyplot as plt +import mycolormaps as mcmap +from metcalcpy.calc_difficulty_index import forecast_difficulty as di +from metcalcpy.calc_difficulty_index import EPS +from plot_difficulty_index import plot_field + + +def load_data(filename): + """Load ensemble data from file""" + loaded = np.load(filename) + lats, lons = (loaded['lats'], loaded['lons']) + fieldijn = np.ma.masked_invalid( + np.ma.masked_array( + data=loaded['data'], + mask=loaded['mask'])) + + return lats, lons, fieldijn + + +def compute_stats(field): + """Compute mean and std dev""" + mu = np.mean(field, axis=-1) + sigma = np.std(field, axis=-1, ddof=1) + + return mu, sigma + + +def compute_difficulty_index(field, mu, sigma, thresholds): + """ + Compute difficulty index for an ensemble forecast given + a set of thresholds, returning a dictionary of fields. + """ + dij = {} + for threshold in thresholds: + dij[threshold] =\ + di(sigma, mu, threshold, field, sigma_over_mu_ref=EPS) + + return dij + + +def plot_difficulty_index(dij, lats, lons, thresholds): + """ + Plot the difficulty index for a set of thresholds, + returning a dictionary of figures + """ + plt.close('all') + myparams = {'figure.figsize': (8, 5), + 'figure.max_open_warning': 40} + plt.rcParams.update(myparams) + figs = {} + units = 'feet' + cmap = mcmap.stoplight() + for threshold in thresholds: + if np.max(dij[threshold]) <= 1.0: + vmax = 1.0 + else: + vmax = 1.5 + figs[threshold] =\ + plot_field(dij[threshold], + lats, lons, vmin=0.0, vmax=vmax, cmap=cmap, + xlab='Longitude \u00b0E', ylab='Latitude', + clab='thresh={} {}'.format(threshold, units), + title='Forecast Decision Difficulty Index') + + return figs + + +def save_difficulty_figures(figs, save_thresh, units='feet'): + """ + Save subset of difficulty index figures. + """ + fig_fmt = 'png' + fig_basename = './swh_North_Pacific_difficulty_index_' + for thresh in save_thresh: + thresh_str = '{:.2f}'.format(thresh).replace('.', '_') + fig_name = (fig_basename + thresh_str + + '_' + units + '.' + fig_fmt) + print('Saving {}...\n'.format(fig_name)) + figs[thresh].savefig(fig_name, format=fig_fmt) + + +def plot_statistics(mu, sigma, lats, lons, units='feet'): + """Plot ensemble mean and spread, returning figure handles""" + cmap = mcmap.spectral() + mu_fig =\ + plot_field(mu, lats, lons, cmap=cmap, clab=units, + vmin=0.0, vmax=np.nanmax(mu), + xlab='Longitude \u00b0E', + ylab='Latitude', + title='Forecast Ensemble Mean') + sigma_fig =\ + plot_field(sigma, lats, lons, cmap=cmap, clab=units, + vmin=0.0, vmax=np.nanmax(sigma), + xlab='Longitude \u00b0E', + ylab='Latitude', + title='Forecast Ensemble Std') + + return mu_fig, sigma_fig + + +def save_stats_figures(mu_fig, sigma_fig): + """ + Save ensemble mean and spread figures. + """ + fig_fmt = 'png' + fig_basename = './swh_North_Pacific_5dy_' + mu_name = fig_basename + 'mean.' + fig_fmt + print('Saving {}...\n'.format(mu_name)) + mu_fig.savefig(mu_name, format=fig_fmt) + sigma_name = fig_basename + 'std.' + fig_fmt + print('Saving {}...\n'.format(sigma_name)) + sigma_fig.savefig(sigma_name, format=fig_fmt) + + +def main(): + """ + Load fieldijn from npz file created with save_ensemble_data.py + helper function, compute ensemble mean and spread, compute + difficulty index for a set of thresholds, plot and save the results. + """ + filename = './swh_North_Pacific_5dy_ensemble.npz' + lats, lons, fieldijn = load_data(filename) + muij, sigmaij = compute_stats(fieldijn) + thresholds = np.arange(4.0, 16.0, 1.0) + dij = compute_difficulty_index(fieldijn, muij, sigmaij, thresholds) + figs = plot_difficulty_index(dij, lats, lons, thresholds) + save_thresh = np.arange(9.0, 13.0, 1.0) + save_difficulty_figures(figs, save_thresh) + units = 'feet' + mu_fig, sigma_fig =\ + plot_statistics(muij, sigmaij, lats, lons, units=units) + save_stats_figures(mu_fig, sigma_fig) + + +if __name__ == '__main__': + main() diff --git a/test/difficulty_index/test_difficulty_index_plotting.py b/test/difficulty_index/test_difficulty_index_plotting.py new file mode 100644 index 00000000..257b306b --- /dev/null +++ b/test/difficulty_index/test_difficulty_index_plotting.py @@ -0,0 +1,16 @@ +#!/usr/bin/env conda run -n blenny_363 python + +from import CBL_compute as cc +from metcalcpy.compare_images import CompareImages + +def test_difficulty_index_plot(): + """ + Compare the expected image (diff_index_expected.png) to the latest + one generated. Invoke the plot_difficulty_index.py + script to generate the difficulty_index.png + """ + file1 = '../../metplotpy/blocking_S2S/Z500dayDJF.nc' + cc.main(file1) + comparison = CompareImages('../data/CBL/CBL_DJF_expected.png', 'CBL_DJF.png') + assert comparison.mssim == 1 + From d2bf9c3ed6fc2ed6fd736a190102b66fe924226f Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Tue, 20 Oct 2020 16:18:40 -0600 Subject: [PATCH 04/10] Updated plot_difficulty_index --- .../calc_difficulty_index.cpython-36.pyc | Bin 5141 -> 0 bytes .../__pycache__/mycolormaps.cpython-36.pyc | Bin 1915 -> 0 bytes .../piecewise_linear.cpython-36.pyc | Bin 2498 -> 0 bytes .../difficulty_index/plot_difficulty_index.py | 93 ++++-------------- .../difficulty_index/test_diff_index.png | Bin 39675 -> 0 bytes 5 files changed, 17 insertions(+), 76 deletions(-) delete mode 100644 metplotpy/difficulty_index/__pycache__/calc_difficulty_index.cpython-36.pyc delete mode 100644 metplotpy/difficulty_index/__pycache__/mycolormaps.cpython-36.pyc delete mode 100644 metplotpy/difficulty_index/__pycache__/piecewise_linear.cpython-36.pyc delete mode 100644 metplotpy/difficulty_index/test_diff_index.png diff --git a/metplotpy/difficulty_index/__pycache__/calc_difficulty_index.cpython-36.pyc b/metplotpy/difficulty_index/__pycache__/calc_difficulty_index.cpython-36.pyc deleted file mode 100644 index 948a4c20c5f846940cbc245d23d807c643a719a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5141 zcmeHLNpBp-74CJW*&J@NEK_zI7mOg_APP5$5Psz63etoJ;;henZX;BnXg`Za(Ldd{sR&q(n+^4hfLJJ*b{nRj*zx{oePz z?(1`N{%61aRd9FNF#c|wxopUHQDlZ2Gdcz{nH8BGOaI&ZPRE60M~%4I@l1m`of+nK zeAej9a%;bZGIwI`&vzDBv$M!NHuJU7S>g-K?^|q^wZ1kxmzc#DP@7}(sJ+K8vxNgo zM9g|_v=`|oreXL`MY<DiY<43F6(Dxsvg7>J*3FEy` zhG{}h)d>Yhe?=o@?}Aj zJj_Ebi7a{pLM3^L>4?lYXM{p}Ne?+0@NjRCV*&RBr#X7Cz!!spJmg)nxlT52Zf{=S zUcU)>bKQTe_7SJpKv-)&f%X$B$aQFLY;SIDL(rP9@MMhLwplGa4SA2h3?+XYCY*}n zYoCWvMDEcz>v9MyyU!lC^>Wb9Bps5^Bbpqb{oc;A_OZLZy0N-`ycF|181N{&TlA<{ z<*ayRVS-*mO@ph6qU3uh@~^n%@QD-CG;*`Fax1rUXWvC>^qmt+ewsIbZKCFt#)+BF z99Z(kxW(5kvj?txIBsc`_K7)az>XR*cVdYg|E&_%^*=0Ne6F-hCs!lCnvPV~=b^Pw zHkielzp<{OMeF}T>zJi`Zf$>3JF+IdCAj z^IPV7G2kTTG$Ght0cY-|LU5U-h@50k?Q^{1+IBub=OB$3Hc(Hn0@GoVx5qP0_pze} zCh+7Q;-ogNtaUkNh%+kS;4i~`FqszH%dwJ4%+>pu8dKrODWZ%glE>XhEjjLTQ7=lb zFh~!%2;w3TypP2_*ZbB6^wEU-30kjTeC9u^w|?OoRuQhDI`a_dq46b@7cZj#CW)X= zdpTA+IiC9bryF@vAi{A5U7o+>JR$2kG&g_`>e)Zzc_EV5{6@F$rU@Ub954JFo2QJE zFbB8@E&!IsD|OpL(brh`_Rj9Bf8uH{R&FNnj4B@hnJ6#n@yb>WZeKY`WhGhVqJDj| zYU&mU^E*;PD3}c{U_W#gn_>iS2(khHtcdpTL*$sv!@3=B{tJ%u`L z?GNfO9sr1tYQdqvl_Z08w52vF^m&!VYQh=jPor9MtOI#yqrlzFP zbj~l}r5sSLNl|le4Pa}UTooNbMLH`L zF|My}5q{L;88~~87GPM=#QN%uI`z2mMpny@-pv>+d`F70n~GS+B_oG7wr<`!XPd12 zV*T32>eesYtK=~idt8u}+iHcU4@IR661l2CqB2R#$1yB`D+W?ihaQD;%0*MO6fU~; ztv#c0RQPD98VOBedQ@34tuDt@9&i@y>6}>v8YwEbmljDbE-7uBc4gJ5Q?=kiC*8fv-5Czou`^z8e*SkAz`E(+zOoXk8@a>(pQ#FnXd>xUMD^!|SIT7#U zp5TSJZB>p+0W^fQ=PrV5@nc|E4cI?{)M@VA3e-?7C`%m=E!wh{j-pW3Z9^rA6*XMF z7o36F_a>?98F=~%Ds_7Qv1d7E{c9n)_so{%o1P`sp;383fLHY-2-@#g%^+ZDF9<4E zzq8krwG>nRq7j8%e2P-9993idZ)Z_nElzWlpw3l<`luq-lyN@@Xps+60h_ZyFiyBp znF#`pX(KfkJ~d(aEv0YsOo}Bnd_mpR`-eWs=~C4}1;Lr^>x0l#<9&v2N=3wPD@#%_ XjAMacuvxuzd)`8QW&Za3HP8GP1m*AL diff --git a/metplotpy/difficulty_index/__pycache__/mycolormaps.cpython-36.pyc b/metplotpy/difficulty_index/__pycache__/mycolormaps.cpython-36.pyc deleted file mode 100644 index cccf5c1273159129e1323aaf97ff36bd34eb68d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1915 zcmb`IPiP!f9LMK>b|=X;Nz>+E|4g(=x~<(!Qu~KgvaM0@U{z2eEMj=sH+MB42IL z$b4!<+ESY;y=x7LT4}M~pa`Gh$FHePo$8H--q5yWYCAM0HRZT#Ez^*Bo}aj;H06d& zJA87}Gc9@+-KfSquWos6U^8J=s$Nz2EVPzc)ZTmwM4?@=g>{+59$U63T1daWWUaF( zwp>3H)pgsqgBZz*S8Z#}j(2)Wo3@Yv=eeui-9NA2E;+aE3?9Dy(~l)bTg;vM?ESl? zmV$Weg~G$}2fvn_d){L6#?9|b&M)77djAdot5WL&inpExz5(Wemw|hL4Fe@CEQOFbli`+ydSNJ|qaNijJDbHry!5V4GsW zJk$itxAWOV3Bp8YLa=(0NjH*J>_m@NS!gE)6D)9Sfu$$Lisyzko)~EYq9pgC8`0@s zc$AL3ktcdB>7f!82$G(W2jq<0Bljs9*?<3X$|2d5 zbJQxQq~HESYQ5A&Dz)Fp*;8s?{|BkvphGRwb@9JS%`tZ*HnB@$6MIN(f=@nHVvyjr z#PXXL+A;|&7RR<9#*7?`S?k-H3*3rrMR7IsTxWHcVuVI}_87$o9r3*tBXHM=E+7MB z0lKdx(G4KS0{IcR55+#959kL5fc?NAZ~!<63<1Ny2rvqa5n8XnI|45Njsp?ujsk6+ zh-2_^!t%11gvp92RH3!V11Er!08}BK0!{%qj(I~A;ZFlI0E8({15X1`KpSVtOR_s# zi!LH`CTSffTG@4;={=`)oaYPFo@T0cm~7Iuw8X2GrKLm7 zHkl?uVte4ig#+SW;9v5UQ~w1{yyr=lc3UBVM}B_(dU<~S{hssT=4QP6>yK=|>o|Wp z&lMl^+feK8L2xH=IN@$V64$og*iQoPB_a2d4iA#(ONWQN^VH!T(LME&82S4h1OJ55B$EZ-N_xn}Zw8#fi{tB#P?xG)vV$@M(sd)`fs_8*04` zLO2P5Q^9Ex&wAmRov&n8PO4PrhlRK&2L) z92TiO-uwFQ{i-N+HQ$4ytu&qwhj}(F^ql3Ai`ibajvZ@bH>l>y1#=hhtf)l9_Wx5b zHXq2kR9f)QluGCSI}FOhb0L;gfFeY3cGgyla17w*>_A;RjQtlJKEvb3F!SQ=34a`5 z<=)WeJ`bJ}z@9b{VL9*;(0&(9XhPU9cJ9YS3e_YGH{DQGS5Q zMhta(iTTk;Q(e+pXxhAgk`_}zk?B>LOI_1)s_UE!sz-v(R=&pl3&sO;mR!b_mGM$J zH$D>71eJn~CIlOkR9kqPz+%BfYXhb;Z@o0(Y$|hI8y_7qfkJPLk6EJMHGVCMp?VGC zq%NVjjN%H4*HOFyA_>3`Hfx*ta|ACT)gr+?O3(FUrs70SDds z612z%vcwU~mZiHO=fVZN|VIefJ++^m``G>s;14 zm6>Sc+>zWuQ0+o6Oi+)~N&wn`9fb)2u0mDM;p_}zrlW*i+YjyaBw_1X(uJ1UnIxE< z%!fs)lg=Cn15e`liwrHXYE0qw6?VcNiAfA-+#*|U&uuQ9M_s$&px=GvOVXl8 zrc%8HCKcjaT|@DzCnkmoLomVKm5VAFRSw~Ihwe0_`j z5FS_5Ot@;js?hktr&B#D6}<2pjGYKoLym_|moWim3smo}|3TP%VKajL>Goi+aM(nj dwEr7E#iz5zJM$q@vFj7~ylsEm-?|x*zX1h$jBfw{ diff --git a/metplotpy/difficulty_index/plot_difficulty_index.py b/metplotpy/difficulty_index/plot_difficulty_index.py index 46444de7..360d805a 100644 --- a/metplotpy/difficulty_index/plot_difficulty_index.py +++ b/metplotpy/difficulty_index/plot_difficulty_index.py @@ -12,7 +12,7 @@ import matplotlib.pyplot as plt from metcalcpy.calc_difficulty_index import forecast_difficulty as di from metcalcpy.piecewise_linear import PiecewiseLinear as plin -from mycolormaps import spectral, stoplight +import mycolormaps as mcmap __author__ = 'Bill Campbell (NRL) and Lindsay Blank (NCAR)' __version__ = '0.1.0' @@ -23,82 +23,23 @@ # Only allow 2D fields for now FIELD_DIM = 2 -def plot_field(field, vmin, vmax, xlab, ylab, title): +def plot_field(field, lats, lons, vmin, vmax, + xlab, ylab, cmap, clab, title): """Auxiliary plot routine.""" - fig, ax = plt.subplots(figsize=(15, 10)) - - # Set the tick labels font - for label in ax.get_xticklabels() + ax.get_yticklabels(): - label.set_fontname('Arial') - label.set_fontsize(18) - label.set_fontweight('normal') - - plt.imshow(field, cmap='jet', vmin=vmin, vmax=vmax) - - # Set the font dictionaries (for plot title and axis titles) - title_font = {'fontname': 'Arial', 'size': '32', 'color': 'black', - 'weight': 'bold', 'verticalalignment': 'bottom'} - axis_font = {'fontname': 'Arial', 'size': '24', 'weight': 'bold'} - - plt.xlabel(xlab, **axis_font) - plt.ylabel(ylab, **axis_font) - plt.title(title, **title_font) - plt.colorbar() - plt.show() - - return fig - -def main(): - """ - Calculate and plot public version (v7) of difficulty index. - - Returns - ------- - None. - - """ - plt.close('all') - nlon = 18 - nlat = 9 - nmembers = 10 - np.random.seed(12345) - # Wave heights and wind speeds generally follow the Rayleigh distribution, - # which is a Weibull distribution with a scale factor of 2, - # and any shape parameter. - # If the shape parameter is 1, then it is the same as a chi-square - # distribution with 2 dofs. - # Expected value E[x] = sigma * sqrt(pi/2) - # mean_windspeed = 6.64 # meters/second - xunits = 'feet' - mean_height = 11.0 # mean wave height in feet - # var_height = mean_height * mean_height * ((4.0 - np.pi) / 2.0) - mode_height = np.sqrt(2.0 / np.pi) * mean_height - fieldijn = np.random.rayleigh(scale=mode_height, - size=(nlat, nlon, nmembers)) - muij = np.mean(fieldijn, axis=-1) - pertijn = fieldijn - np.dstack([muij] * nmembers) - sigmaij = np.sqrt(np.mean(pertijn * pertijn, axis=-1)) - threshold = 9.0 - regularizer = 0.01 - smax = 9.0 - sigma_max = smax + np.zeros_like(sigmaij) - thresh_eps = 2.0 - kwargs = {'thresh_eps': thresh_eps, 'threshold_type': 'proximity'} - - # Calculate the difficulty index. - dijfd = di(sigmaij, muij, threshold, fieldijn, Aplin=None, sigma_over_mu_ref=EPS) + X, Y = np.meshgrid(lons, lats, indexing='ij') + fig, ax = plt.subplots(figsize=(8, 5)) + plt.title(title) + if cmap is None: + cmap = mcmap.stoplight() - # Plot the difficulty index. - imfd = plot_field(dijfd, 0.0, 1.0, 'Longitude', 'Latitude', - 'Forecast Difficulty Index') - - imfd_fmt = 'png' - imfd_name = './test_diff_index.' + imfd_fmt - print(f'Saving {imfd_name}...\n') - imfd.savefig(imfd_name, format=imfd_fmt) - - return imfd - + plt.pcolormesh(X, Y, field.T, shading='interp', cmap=cmap) + cbar = plt.colorbar(orientation='horizontal', aspect=30) + cbar.set_label(clab) + plt.clim(vmin=vmin, vmax=vmax) + plt.xlabel(xlab) + plt.ylabel(ylab) + + return fig if __name__ == "__main__": - imfd = main() + pass() diff --git a/metplotpy/difficulty_index/test_diff_index.png b/metplotpy/difficulty_index/test_diff_index.png deleted file mode 100644 index 9ffb6cf74ba00ef60320ad2c12f2881010211440..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39675 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 $G2;Te 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 Date: Wed, 21 Oct 2020 13:54:44 -0600 Subject: [PATCH 05/10] Image comparison testing for plot_difficulty_index.py --- ..._9_00_feet.png => diff_index_expected.png} | Bin 33005 -> 33136 bytes ...y_index.py => example_difficulty_index.py} | 20 +++++++++++++++--- .../swh_North_Pacific_5dy_mean.png | Bin 30257 -> 0 bytes .../swh_North_Pacific_5dy_std.png | Bin 30513 -> 0 bytes ...th_Pacific_difficulty_index_10_00_feet.png | Bin 32473 -> 0 bytes ...th_Pacific_difficulty_index_11_00_feet.png | Bin 32136 -> 0 bytes ...th_Pacific_difficulty_index_12_00_feet.png | Bin 32040 -> 0 bytes .../test_difficulty_index_plotting.py | 13 ++++++------ 8 files changed, 23 insertions(+), 10 deletions(-) rename test/difficulty_index/{swh_North_Pacific_difficulty_index_9_00_feet.png => diff_index_expected.png} (54%) rename test/difficulty_index/{test_difficulty_index.py => example_difficulty_index.py} (84%) delete mode 100644 test/difficulty_index/swh_North_Pacific_5dy_mean.png delete mode 100644 test/difficulty_index/swh_North_Pacific_5dy_std.png delete mode 100644 test/difficulty_index/swh_North_Pacific_difficulty_index_10_00_feet.png delete mode 100644 test/difficulty_index/swh_North_Pacific_difficulty_index_11_00_feet.png delete mode 100644 test/difficulty_index/swh_North_Pacific_difficulty_index_12_00_feet.png diff --git a/test/difficulty_index/swh_North_Pacific_difficulty_index_9_00_feet.png b/test/difficulty_index/diff_index_expected.png similarity index 54% rename from test/difficulty_index/swh_North_Pacific_difficulty_index_9_00_feet.png rename to test/difficulty_index/diff_index_expected.png index 2f0c2c77034f83a7b90652b2857197980890b761..fcb79ae27110a681b1b3e92b26ec5128582a86e1 100644 GIT binary patch delta 14233 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 R&xl4vPDV*O=kAji{|CUtO+5er delta 14101 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 diff --git a/test/difficulty_index/test_difficulty_index.py b/test/difficulty_index/example_difficulty_index.py similarity index 84% rename from test/difficulty_index/test_difficulty_index.py rename to test/difficulty_index/example_difficulty_index.py index 2d9b91e3..351063e8 100644 --- a/test/difficulty_index/test_difficulty_index.py +++ b/test/difficulty_index/example_difficulty_index.py @@ -1,3 +1,4 @@ +#!/usr/bin/env conda run -n diff_index_plot python # -*- coding: utf-8 -*- """ Load fieldijn from npz file created with save_ensemble_data.py @@ -12,10 +13,11 @@ """ import numpy as np import matplotlib.pyplot as plt -import mycolormaps as mcmap from metcalcpy.calc_difficulty_index import forecast_difficulty as di from metcalcpy.calc_difficulty_index import EPS -from plot_difficulty_index import plot_field +from metcalcpy.piecewise_linear import PiecewiseLinear as plin +import metplotpy.difficulty_index.mycolormaps as mcmap +from metplotpy.difficulty_index.plot_difficulty_index import plot_field def load_data(filename): @@ -43,10 +45,21 @@ def compute_difficulty_index(field, mu, sigma, thresholds): Compute difficulty index for an ensemble forecast given a set of thresholds, returning a dictionary of fields. """ + xunits="feet" + A6_1_name = "A6_1" + A6_1_left = 0.0 + A6_1_right = 0.0 + A6_1_xlist = [3.0, 9.0, 12.0, 21.0] + A6_1_ylist = [0.0, 1.5, 1.5, 0.0] + Aplin =\ + plin(A6_1_xlist, A6_1_ylist, xunits=xunits, + right=A6_1_right, left=A6_1_left, + name=A6_1_name) + dij = {} for threshold in thresholds: dij[threshold] =\ - di(sigma, mu, threshold, field, sigma_over_mu_ref=EPS) + di(sigma, mu, threshold, field, Aplin, sigma_over_mu_ref=EPS) return dij @@ -64,6 +77,7 @@ def plot_difficulty_index(dij, lats, lons, thresholds): units = 'feet' cmap = mcmap.stoplight() for threshold in thresholds: + print(np.max(dij[threshold])) if np.max(dij[threshold]) <= 1.0: vmax = 1.0 else: diff --git a/test/difficulty_index/swh_North_Pacific_5dy_mean.png b/test/difficulty_index/swh_North_Pacific_5dy_mean.png deleted file mode 100644 index 47e383488a8c42b19a99431d8f522db72d25095b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30257 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∓&HN=s;FIOj|+Ny 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 diff --git a/test/difficulty_index/swh_North_Pacific_5dy_std.png b/test/difficulty_index/swh_North_Pacific_5dy_std.png deleted file mode 100644 index 23c57361ba0910029c99ec09b481851728f4c402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30513 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

CrwSsjrkFm5A^3#6>b~VE=>Z# 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 X#`;eQW-g5)Ye!YnQq4GY`pUlnyeyw8 diff --git a/test/difficulty_index/swh_North_Pacific_difficulty_index_11_00_feet.png b/test/difficulty_index/swh_North_Pacific_difficulty_index_11_00_feet.png deleted file mode 100644 index b0f44801d3f6febc2f9445bfb990b4d4c839e01e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32136 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 diff --git a/test/difficulty_index/swh_North_Pacific_difficulty_index_12_00_feet.png b/test/difficulty_index/swh_North_Pacific_difficulty_index_12_00_feet.png deleted file mode 100644 index 6512bf4b633e21344e9b0dffd1275fffa2bdf577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32040 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 P#~>{!dm-c8wcGy#IB8`@ diff --git a/test/difficulty_index/test_difficulty_index_plotting.py b/test/difficulty_index/test_difficulty_index_plotting.py index 257b306b..5766846a 100644 --- a/test/difficulty_index/test_difficulty_index_plotting.py +++ b/test/difficulty_index/test_difficulty_index_plotting.py @@ -1,7 +1,6 @@ -#!/usr/bin/env conda run -n blenny_363 python - -from import CBL_compute as cc +import example_difficulty_index as edi from metcalcpy.compare_images import CompareImages +import pytest def test_difficulty_index_plot(): """ @@ -9,8 +8,8 @@ def test_difficulty_index_plot(): one generated. Invoke the plot_difficulty_index.py script to generate the difficulty_index.png """ - file1 = '../../metplotpy/blocking_S2S/Z500dayDJF.nc' - cc.main(file1) - comparison = CompareImages('../data/CBL/CBL_DJF_expected.png', 'CBL_DJF.png') - assert comparison.mssim == 1 + file1 = 'swh_North_Pacific_5dy_ensemble.npz' + edi.main() + comparison = CompareImages('diff_index_expected.png', 'swh_North_Pacific_difficulty_index_9_00_feet.png') + assert comparison.mssim == 1 From 0e121fbc7f8f183f0cde783c8590b28b28264fe5 Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Wed, 21 Oct 2020 13:56:15 -0600 Subject: [PATCH 06/10] Minor changes to plotting script --- metplotpy/difficulty_index/__init__.py | 0 metplotpy/difficulty_index/plot_difficulty_index.py | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 metplotpy/difficulty_index/__init__.py diff --git a/metplotpy/difficulty_index/__init__.py b/metplotpy/difficulty_index/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/metplotpy/difficulty_index/plot_difficulty_index.py b/metplotpy/difficulty_index/plot_difficulty_index.py index 360d805a..4f930cf2 100644 --- a/metplotpy/difficulty_index/plot_difficulty_index.py +++ b/metplotpy/difficulty_index/plot_difficulty_index.py @@ -12,7 +12,7 @@ import matplotlib.pyplot as plt from metcalcpy.calc_difficulty_index import forecast_difficulty as di from metcalcpy.piecewise_linear import PiecewiseLinear as plin -import mycolormaps as mcmap +import metplotpy.difficulty_index.mycolormaps as mcmap __author__ = 'Bill Campbell (NRL) and Lindsay Blank (NCAR)' __version__ = '0.1.0' @@ -42,4 +42,4 @@ def plot_field(field, lats, lons, vmin, vmax, return fig if __name__ == "__main__": - pass() + pass From 7153a9de85e01183c8c6a30d0e144a18527ceb46 Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Wed, 21 Oct 2020 15:48:28 -0600 Subject: [PATCH 07/10] Documentation --- .../README_plot_difficulty_index.rst | 58 +++++++++++++++++++ .../difficulty_index/plot_difficulty_index.py | 31 +++++++++- .../example_difficulty_index.py | 1 - 3 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 metplotpy/difficulty_index/README_plot_difficulty_index.rst diff --git a/metplotpy/difficulty_index/README_plot_difficulty_index.rst b/metplotpy/difficulty_index/README_plot_difficulty_index.rst new file mode 100644 index 00000000..fae0df81 --- /dev/null +++ b/metplotpy/difficulty_index/README_plot_difficulty_index.rst @@ -0,0 +1,58 @@ +Difficulty Index +================ +Written by Bill Campbell and Liz Satterfield (NRL) +Modified by Lindsay Blank (NCAR) +Date Modified: October 21, 2020 + +Background +========== + +The overall aim of this work is to graphically represent the expected difficulty of a decision based on a set of forecasts (ensemble) of, e.g., significant wave height as a function of space and time. There are two basic factors that can make a decision difficult. The first factor is the proximity of the ensemble mean forecast to a decision threshold, e.g. 12 ft seas. If the ensemble mean is either much lower or much higher than the threshold, the decision is easier; if it is closer to the threshold, the decision is harder. The second factor is the forecast precision, or ensemble spread. The greater the spread around the ensemble mean, the more likely it is that there will be ensemble members both above and below the decision threshold, making the decision harder. (A third factor that we will not address here is undiagnosed systematic error, which adds uncertainty in a similar way to ensemble spread.) The challenge is combing these factors into a continuous function that allows the user to assess relative risk. + + +Pre-requisites: +=============== +Python packages: +--------------- +- numpy +- matplotlib +- scipy + +Python 3.6 + +Input files: +------------ +**Need to find out from NRL** + +Input Required: +=============== +The function to plot the difficulty index is as follows: + +def plot_field(field, lats, lons, vmin, vmax, + xlab, ylab, cmap, clab, title): + +The following is required to plot the difficulty index: +#. **field:** Difficulty index values (see METcalcpy resources for how to calculate the difficulty index) +#. **lats:** Latitude values +#. **lons:** Longitude values +#. **vmin:** Minimum value on the colorbar +#. **vmax:** Maximum value on the colorbar +#. **xlab:** x-axis label +#. **ylab:** y-axis label +#. **cmap:** Color map for plot +#. **clab:** Label for colorbar +#. **title:** Plot title + + +Output generated: +================= +Calling the plot_field function in plot_difficulty_index.py will return a difficulty index plot. + +How to run: +========== +Run a 'pip install -e .' in $METplotpy to add metplotpy to the path. To call plot_difficulty_index, add the following import statement to the script: + +'from metplotpy.difficulty_index.plot_difficulty_index import plot_field' + +To see an example, please look at the following: +$METplotpy/test/difficulty_index/example_difficulty_index.py diff --git a/metplotpy/difficulty_index/plot_difficulty_index.py b/metplotpy/difficulty_index/plot_difficulty_index.py index 4f930cf2..f706454d 100644 --- a/metplotpy/difficulty_index/plot_difficulty_index.py +++ b/metplotpy/difficulty_index/plot_difficulty_index.py @@ -25,7 +25,36 @@ def plot_field(field, lats, lons, vmin, vmax, xlab, ylab, cmap, clab, title): - """Auxiliary plot routine.""" + """ + Parameters + ---------- + field : 2D numpy array + Field you want to plot (difficulty index) + lats : 1D numpy array + Latitude values + lons : 1D numpy array + Longitude values + vmin : float + Minimum value on the colorbar + vmax : float + Maximum value on the colorbar + xlab : String + x-axis label + ylab : String + y-axis label + cmap: Matplotlib Colormap Class Object + Color map for plot + clab: String + Label for colorbar + title: String + Plot title + + Returns + ------- + fig : plot + Difficulty index plot + """ + X, Y = np.meshgrid(lons, lats, indexing='ij') fig, ax = plt.subplots(figsize=(8, 5)) plt.title(title) diff --git a/test/difficulty_index/example_difficulty_index.py b/test/difficulty_index/example_difficulty_index.py index 351063e8..43f1b200 100644 --- a/test/difficulty_index/example_difficulty_index.py +++ b/test/difficulty_index/example_difficulty_index.py @@ -77,7 +77,6 @@ def plot_difficulty_index(dij, lats, lons, thresholds): units = 'feet' cmap = mcmap.stoplight() for threshold in thresholds: - print(np.max(dij[threshold])) if np.max(dij[threshold]) <= 1.0: vmax = 1.0 else: From 7527182aabd17c6bc918cf3f89e9009e511d09bc Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Thu, 22 Oct 2020 12:56:26 -0600 Subject: [PATCH 08/10] Removed manual setting of 6.1 envelope now that METcalcpy has 6.1 as default --- test/difficulty_index/example_difficulty_index.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/test/difficulty_index/example_difficulty_index.py b/test/difficulty_index/example_difficulty_index.py index 43f1b200..109243c5 100644 --- a/test/difficulty_index/example_difficulty_index.py +++ b/test/difficulty_index/example_difficulty_index.py @@ -45,21 +45,10 @@ def compute_difficulty_index(field, mu, sigma, thresholds): Compute difficulty index for an ensemble forecast given a set of thresholds, returning a dictionary of fields. """ - xunits="feet" - A6_1_name = "A6_1" - A6_1_left = 0.0 - A6_1_right = 0.0 - A6_1_xlist = [3.0, 9.0, 12.0, 21.0] - A6_1_ylist = [0.0, 1.5, 1.5, 0.0] - Aplin =\ - plin(A6_1_xlist, A6_1_ylist, xunits=xunits, - right=A6_1_right, left=A6_1_left, - name=A6_1_name) - dij = {} for threshold in thresholds: dij[threshold] =\ - di(sigma, mu, threshold, field, Aplin, sigma_over_mu_ref=EPS) + di(sigma, mu, threshold, field, sigma_over_mu_ref=EPS) return dij From fc809ea6f5741626b15edc717e0df71108dc9358 Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Fri, 23 Oct 2020 15:22:30 -0600 Subject: [PATCH 09/10] Updated version requirements for python packages --- metplotpy/difficulty_index/README_plot_difficulty_index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metplotpy/difficulty_index/README_plot_difficulty_index.rst b/metplotpy/difficulty_index/README_plot_difficulty_index.rst index fae0df81..4184813e 100644 --- a/metplotpy/difficulty_index/README_plot_difficulty_index.rst +++ b/metplotpy/difficulty_index/README_plot_difficulty_index.rst @@ -15,7 +15,7 @@ Pre-requisites: Python packages: --------------- - numpy -- matplotlib +- matplotlib version 2.2.2 - scipy Python 3.6 From 0330b4534f62031272c3dc229b167a55d1a8fb5d Mon Sep 17 00:00:00 2001 From: Lindsay Blank Date: Fri, 23 Oct 2020 15:35:31 -0600 Subject: [PATCH 10/10] Added warning filter --- test/difficulty_index/test_difficulty_index_plotting.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/difficulty_index/test_difficulty_index_plotting.py b/test/difficulty_index/test_difficulty_index_plotting.py index 5766846a..43844d5f 100644 --- a/test/difficulty_index/test_difficulty_index_plotting.py +++ b/test/difficulty_index/test_difficulty_index_plotting.py @@ -1,6 +1,7 @@ import example_difficulty_index as edi from metcalcpy.compare_images import CompareImages import pytest +import warnings def test_difficulty_index_plot(): """ @@ -8,6 +9,9 @@ def test_difficulty_index_plot(): one generated. Invoke the plot_difficulty_index.py script to generate the difficulty_index.png """ + + warnings.filterwarnings("ignore", category=DeprecationWarning) + file1 = 'swh_North_Pacific_5dy_ensemble.npz' edi.main() comparison = CompareImages('diff_index_expected.png', 'swh_North_Pacific_difficulty_index_9_00_feet.png')