diff --git a/ci/environment.yml b/ci/environment.yml index 41cf4ae..41f94e7 100644 --- a/ci/environment.yml +++ b/ci/environment.yml @@ -11,3 +11,5 @@ dependencies: - numpydoc - nbsphinx - pre-commit + - numpy + - matplotlib diff --git a/cmweather/__init__.py b/cmweather/__init__.py index def1761..670d022 100644 --- a/cmweather/__init__.py +++ b/cmweather/__init__.py @@ -1,10 +1,66 @@ -#!/usr/bin/env python -# flake8: noqa -"""Top-level module for cmweather .""" -from pkg_resources import DistributionNotFound, get_distribution - -try: - __version__ = get_distribution(__name__).version -except DistributionNotFound: - # package is not installed - _version__ = '0.0.0' +#!/usr/bin/env python +# flake8: noqa +""" +Creating plots of Radar and Grid fields. + +There are also Radar related colormaps and colorblind friendly radar +colormaps for plotting. + +Available colormaps, reversed versions (_r) are also provided, these +colormaps are available within matplotlib with names 'COLORMAP': + + * BlueBrown10 + * BlueBrown11 + * BrBu10 + * BrBu12 + * Bu10 + * Bu7 + * BuDOr12 + * BuDOr18 + * BuDRd12 + * BuDRd18 + * BuGr14 + * BuGy8 + * BuOr10 + * BuOr12 + * BuOr8 + * BuOrR14 + * Carbone11 + * Carbone17 + * Carbone42 + * Cat12 + * EWilson17 + * GrMg16 + * Gray5 + * Gray9 + * NWSRef + * NWSVel + * NWS_SPW + * PD17 + * RRate11 + * RdYlBu11b + * RefDiff + * SCook18 + * StepSeq25 + * SymGray12 + * Theodore16 + * Wild25 + +Colorblind friendly + + * LangRainbow12 + * HomeyerRainbow + * balance + * ChaseSpectral + * SpectralExtended + +""" +from pkg_resources import DistributionNotFound, get_distribution + +try: + __version__ = get_distribution(__name__).version +except DistributionNotFound: + # package is not installed + _version__ = '0.0.0' + +from . import cm, cm_colorblind # noqa diff --git a/cmweather/_cm.py b/cmweather/_cm.py new file mode 100644 index 0000000..0c85b6f --- /dev/null +++ b/cmweather/_cm.py @@ -0,0 +1,1917 @@ +""" +Data for radar related colormaps. + +""" + +# The data for the colormaps in this file were adapted from those found in +# ctables.py of the Deprecated_Metpy package by Patrick Marsh and Ryan May. +# https://github.com/pmarshwx/Deprecated_Metpy +# LangRainbow12 was developed separately by Timothy Lang + +# Standard National Weather Service Radar Colortables +_NWSRef_data = { + 'blue': [ + (0.0, 0.92549019607843142, 0.92549019607843142), + (0.07142857, 0.96470588235294119, 0.96470588235294119), + (0.14285714, 0.96470588235294119, 0.96470588235294119), + (0.21428571, 0.0, 0.0), + (0.28571429, 0.0, 0.0), + (0.35714286, 0.0, 0.0), + (0.42857143, 0.0, 0.0), + (0.50000000, 0.0, 0.0), + (0.57142857, 0.0, 0.0), + (0.64285714, 0.0, 0.0), + (0.71428571, 0.0, 0.0), + (0.78571429, 0.0, 0.0), + (0.85714286, 1.0, 1.0), + (0.92857143, 0.78823529411764703, 0.78823529411764703), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.92549019607843142, 0.92549019607843142), + (0.07142857, 0.62745098039215685, 0.62745098039215685), + (0.14285714, 0.0, 0.0), + (0.21428571, 1.0, 1.0), + (0.28571429, 0.78431372549019607, 0.78431372549019607), + (0.35714286, 0.56470588235294117, 0.56470588235294117), + (0.42857143, 1.0, 1.0), + (0.50000000, 0.75294117647058822, 0.75294117647058822), + (0.57142857, 0.56470588235294117, 0.56470588235294117), + (0.64285714, 0.0, 0.0), + (0.71428571, 0.0, 0.0), + (0.78571429, 0.0, 0.0), + (0.85714286, 0.0, 0.0), + (0.92857143, 0.33333333333333331, 0.33333333333333331), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.07142857, 0.0039215686274509803, 0.0039215686274509803), + (0.14285714, 0.0, 0.0), + (0.21428571, 0.0, 0.0), + (0.28571429, 0.0, 0.0), + (0.35714286, 0.0, 0.0), + (0.42857143, 1.0, 1.0), + (0.50000000, 0.90588235294117647, 0.90588235294117647), + (0.57142857, 1.0, 1.0), + (0.64285714, 1.0, 1.0), + (0.71428571, 0.83921568627450982, 0.83921568627450982), + (0.78571429, 0.75294117647058822, 0.75294117647058822), + (0.85714286, 1.0, 1.0), + (0.92857143, 0.59999999999999998, 0.59999999999999998), + (1.0, 0.0, 0.0), + ], +} + +_NWSVel_data = { + 'blue': [ + (0.0, 0.62352941176470589, 0.62352941176470589), + (0.071428571428571425, 0.0, 0.0), + (0.14285714285714285, 0.0, 0.0), + (0.21428571428571427, 0.0, 0.0), + (0.2857142857142857, 0.0, 0.0), + (0.3571428571428571, 0.0, 0.0), + (0.42857142857142855, 0.0, 0.0), + (0.5, 0.46666666666666667, 0.46666666666666667), + (0.5714285714285714, 0.46666666666666667, 0.46666666666666667), + (0.64285714285714279, 0.0, 0.0), + (0.71428571428571419, 0.0, 0.0), + (0.7857142857142857, 0.0, 0.0), + (0.8571428571428571, 0.0, 0.0), + (0.92857142857142849, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.071428571428571425, 1.0, 1.0), + (0.14285714285714285, 0.90980392156862744, 0.90980392156862744), + (0.21428571428571427, 0.78431372549019607, 0.78431372549019607), + (0.2857142857142857, 0.69019607843137254, 0.69019607843137254), + (0.3571428571428571, 0.56470588235294117, 0.56470588235294117), + (0.42857142857142855, 0.4392156862745098, 0.4392156862745098), + (0.5, 0.59215686274509804, 0.59215686274509804), + (0.5714285714285714, 0.46666666666666667, 0.46666666666666667), + (0.64285714285714279, 0.0, 0.0), + (0.71428571428571419, 0.0, 0.0), + (0.7857142857142857, 0.0, 0.0), + (0.8571428571428571, 0.0, 0.0), + (0.92857142857142849, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.56470588235294117, 0.56470588235294117), + (0.071428571428571425, 0.0, 0.0), + (0.14285714285714285, 0.0, 0.0), + (0.21428571428571427, 0.0, 0.0), + (0.2857142857142857, 0.0, 0.0), + (0.3571428571428571, 0.0, 0.0), + (0.42857142857142855, 0.0, 0.0), + (0.5, 0.46666666666666667, 0.46666666666666667), + (0.5714285714285714, 0.59215686274509804, 0.59215686274509804), + (0.64285714285714279, 0.50196078431372548, 0.50196078431372548), + (0.71428571428571419, 0.62745098039215685, 0.62745098039215685), + (0.7857142857142857, 0.72156862745098038, 0.72156862745098038), + (0.8571428571428571, 0.84705882352941175, 0.84705882352941175), + (0.92857142857142849, 0.93333333333333335, 0.93333333333333335), + (1.0, 1.0, 1.0), + ], +} + +_NWS_SPW_data = { + 'blue': [ + (0.0, 0.62352941176470589, 0.62352941176470589), + (0.16666666666666666, 0.46274509803921571, 0.46274509803921571), + (0.33333333333333331, 0.61176470588235299, 0.61176470588235299), + (0.5, 0.0, 0.0), + (0.66666666666666663, 0.0, 0.0), + (0.83333333333333326, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.16666666666666666, 0.46274509803921571, 0.46274509803921571), + (0.33333333333333331, 0.61176470588235299, 0.61176470588235299), + (0.5, 0.73333333333333328, 0.73333333333333328), + (0.66666666666666663, 0.0, 0.0), + (0.83333333333333326, 0.4392156862745098, 0.4392156862745098), + (1.0, 1.0, 1.0), + ], + 'red': [ + (0.0, 0.56470588235294117, 0.56470588235294117), + (0.16666666666666666, 0.46274509803921571, 0.46274509803921571), + (0.33333333333333331, 0.61176470588235299, 0.61176470588235299), + (0.5, 0.0, 0.0), + (0.66666666666666663, 1.0, 1.0), + (0.83333333333333326, 0.81568627450980391, 0.81568627450980391), + (1.0, 1.0, 1.0), + ], +} + +# Colors maps from Patrick Marsh (http://www.pmarshwx.com/) +_RefDiff_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.1111111111111111, 1.0, 1.0), + (0.22222222222222221, 1.0, 1.0), + (0.33333333333333331, 0.0, 0.0), + (0.44444444444444442, 0.0, 0.0), + (0.55555555555555558, 0.0, 0.0), + (0.66666666666666663, 0.0, 0.0), + (0.77777777777777768, 0.0, 0.0), + (0.88888888888888884, 0.0, 0.0), + (1.0, 1.0, 1.0), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.1111111111111111, 0.66666666666666663, 0.66666666666666663), + (0.22222222222222221, 1.0, 1.0), + (0.33333333333333331, 0.66666666666666663, 0.66666666666666663), + (0.44444444444444442, 1.0, 1.0), + (0.55555555555555558, 1.0, 1.0), + (0.66666666666666663, 0.66666666666666663, 0.66666666666666663), + (0.77777777777777768, 0.33333333333333331, 0.33333333333333331), + (0.88888888888888884, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.1111111111111111, 0.0, 0.0), + (0.22222222222222221, 0.0, 0.0), + (0.33333333333333331, 0.0, 0.0), + (0.44444444444444442, 0.0, 0.0), + (0.55555555555555558, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.77777777777777768, 1.0, 1.0), + (0.88888888888888884, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], +} + +# Colortables from SoloII +_Carbone11_data = { + 'blue': [ + (0.0, 0.55686274509803924, 0.55686274509803924), + (0.10000000000000001, 0.8901960784313725, 0.8901960784313725), + (0.20000000000000001, 0.81176470588235294, 0.81176470588235294), + (0.30000000000000004, 0.12156862745098039, 0.12156862745098039), + (0.40000000000000002, 0.63529411764705879, 0.63529411764705879), + (0.5, 0.90588235294117647, 0.90588235294117647), + (0.60000000000000009, 0.050980392156862744, 0.050980392156862744), + (0.70000000000000007, 0.23529411764705882, 0.23529411764705882), + (0.80000000000000004, 0.34509803921568627, 0.34509803921568627), + (0.90000000000000002, 0.52941176470588236, 0.52941176470588236), + (1.0, 0.23529411764705882, 0.23529411764705882), + ], + 'green': [ + (0.0, 0.062745098039215685, 0.062745098039215685), + (0.10000000000000001, 0.36078431372549019, 0.36078431372549019), + (0.20000000000000001, 0.68627450980392157, 0.68627450980392157), + (0.30000000000000004, 0.65098039215686276, 0.65098039215686276), + (0.40000000000000002, 0.81568627450980391, 0.81568627450980391), + (0.5, 0.90588235294117647, 0.90588235294117647), + (0.60000000000000009, 0.86274509803921573, 0.86274509803921573), + (0.70000000000000007, 0.69019607843137254, 0.69019607843137254), + (0.80000000000000004, 0.4392156862745098, 0.4392156862745098), + (0.90000000000000002, 0.4392156862745098, 0.4392156862745098), + (1.0, 0.12549019607843137, 0.12549019607843137), + ], + 'red': [ + (0.0, 0.53725490196078429, 0.53725490196078429), + (0.10000000000000001, 0.46274509803921571, 0.46274509803921571), + (0.20000000000000001, 0.43137254901960786, 0.43137254901960786), + (0.30000000000000004, 0.12156862745098039, 0.12156862745098039), + (0.40000000000000002, 0.63529411764705879, 0.63529411764705879), + (0.5, 0.90588235294117647, 0.90588235294117647), + (0.60000000000000009, 0.96470588235294119, 0.96470588235294119), + (0.70000000000000007, 0.94117647058823528, 0.94117647058823528), + (0.80000000000000004, 0.63137254901960782, 0.63137254901960782), + (0.90000000000000002, 0.8901960784313725, 0.8901960784313725), + (1.0, 0.792156862745098, 0.792156862745098), + ], +} + +_Carbone17_data = { + 'blue': [ + (0.0, 0.55686274509803924, 0.55686274509803924), + (0.0625, 0.61960784313725492, 0.61960784313725492), + (0.125, 0.88627450980392153, 0.88627450980392153), + (0.1875, 0.80784313725490198, 0.80784313725490198), + (0.25, 0.062745098039215685, 0.062745098039215685), + (0.3125, 0.12156862745098039, 0.12156862745098039), + (0.375, 0.42745098039215684, 0.42745098039215684), + (0.4375, 0.63137254901960782, 0.63137254901960782), + (0.5, 0.90588235294117647, 0.90588235294117647), + (0.5625, 0.047058823529411764, 0.047058823529411764), + (0.625, 0.10980392156862745, 0.10980392156862745), + (0.6875, 0.20784313725490197, 0.20784313725490197), + (0.75, 0.28627450980392155, 0.28627450980392155), + (0.8125, 0.3411764705882353, 0.3411764705882353), + (0.875, 0.46666666666666667, 0.46666666666666667), + (0.9375, 0.41568627450980394, 0.41568627450980394), + (1.0, 0.25098039215686274, 0.25098039215686274), + ], + 'green': [ + (0.0, 0.062745098039215685, 0.062745098039215685), + (0.0625, 0.11764705882352941, 0.11764705882352941), + (0.125, 0.36078431372549019, 0.36078431372549019), + (0.1875, 0.68235294117647061, 0.68235294117647061), + (0.25, 0.54117647058823526, 0.54117647058823526), + (0.3125, 0.65098039215686276, 0.65098039215686276), + (0.375, 0.7686274509803922, 0.7686274509803922), + (0.4375, 0.81568627450980391, 0.81568627450980391), + (0.5, 0.90196078431372551, 0.90196078431372551), + (0.5625, 0.85882352941176465, 0.85882352941176465), + (0.625, 0.74901960784313726, 0.74901960784313726), + (0.6875, 0.63921568627450975, 0.63921568627450975), + (0.75, 0.53333333333333333, 0.53333333333333333), + (0.8125, 0.4392156862745098, 0.4392156862745098), + (0.875, 0.37254901960784315, 0.37254901960784315), + (0.9375, 0.27450980392156865, 0.27450980392156865), + (1.0, 0.15294117647058825, 0.15294117647058825), + ], + 'red': [ + (0.0, 0.53725490196078429, 0.53725490196078429), + (0.0625, 0.29019607843137257, 0.29019607843137257), + (0.125, 0.45882352941176469, 0.45882352941176469), + (0.1875, 0.43529411764705883, 0.43529411764705883), + (0.25, 0.062745098039215685, 0.062745098039215685), + (0.3125, 0.12156862745098039, 0.12156862745098039), + (0.375, 0.42745098039215684, 0.42745098039215684), + (0.4375, 0.63137254901960782, 0.63137254901960782), + (0.5, 0.90588235294117647, 0.90588235294117647), + (0.5625, 0.98039215686274506, 0.98039215686274506), + (0.625, 0.98039215686274506, 0.98039215686274506), + (0.6875, 0.8784313725490196, 0.8784313725490196), + (0.75, 0.74901960784313726, 0.74901960784313726), + (0.8125, 0.62745098039215685, 0.62745098039215685), + (0.875, 0.87058823529411766, 0.87058823529411766), + (0.9375, 0.94117647058823528, 0.94117647058823528), + (1.0, 0.80784313725490198, 0.80784313725490198), + ], +} + +_RRate11_data = { + 'blue': [ + (0.0, 0.50196078431372548, 0.50196078431372548), + (0.10000000000000001, 0.62745098039215685, 0.62745098039215685), + (0.20000000000000001, 0.93333333333333335, 0.93333333333333335), + (0.30000000000000004, 0.027450980392156862, 0.027450980392156862), + (0.40000000000000002, 0.34509803921568627, 0.34509803921568627), + (0.5, 0.92156862745098034, 0.92156862745098034), + (0.60000000000000009, 0.031372549019607843, 0.031372549019607843), + (0.70000000000000007, 0.15294117647058825, 0.15294117647058825), + (0.80000000000000004, 0.30588235294117649, 0.30588235294117649), + (0.90000000000000002, 0.43137254901960786, 0.43137254901960786), + (1.0, 0.23529411764705882, 0.23529411764705882), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.10000000000000001, 0.17254901960784313, 0.17254901960784313), + (0.20000000000000001, 0.36078431372549019, 0.36078431372549019), + (0.30000000000000004, 0.52156862745098043, 0.52156862745098043), + (0.40000000000000002, 0.74509803921568629, 0.74509803921568629), + (0.5, 0.93333333333333335, 0.93333333333333335), + (0.60000000000000009, 0.85490196078431369, 0.85490196078431369), + (0.70000000000000007, 0.60784313725490191, 0.60784313725490191), + (0.80000000000000004, 0.38823529411764707, 0.38823529411764707), + (0.90000000000000002, 0.3843137254901961, 0.3843137254901961), + (1.0, 0.062745098039215685, 0.062745098039215685), + ], + 'red': [ + (0.0, 0.50196078431372548, 0.50196078431372548), + (0.10000000000000001, 0.29803921568627451, 0.29803921568627451), + (0.20000000000000001, 0.42352941176470588, 0.42352941176470588), + (0.30000000000000004, 0.035294117647058823, 0.035294117647058823), + (0.40000000000000002, 0.36470588235294116, 0.36470588235294116), + (0.5, 0.94117647058823528, 0.94117647058823528), + (0.60000000000000009, 0.99215686274509807, 0.99215686274509807), + (0.70000000000000007, 0.93333333333333335, 0.93333333333333335), + (0.80000000000000004, 0.58823529411764708, 0.58823529411764708), + (0.90000000000000002, 0.93333333333333335, 0.93333333333333335), + (1.0, 0.83137254901960789, 0.83137254901960789), + ], +} + +_BlueBrown10_data = { + 'blue': [ + (0.0, 0.75294117647058822, 0.75294117647058822), + (0.1111111111111111, 0.81176470588235294, 0.81176470588235294), + (0.22222222222222221, 0.87450980392156863, 0.87450980392156863), + (0.33333333333333331, 0.93725490196078431, 0.93725490196078431), + (0.44444444444444442, 1.0, 1.0), + (0.55555555555555558, 0.69411764705882351, 0.69411764705882351), + (0.66666666666666663, 0.60392156862745094, 0.60392156862745094), + (0.77777777777777768, 0.51372549019607838, 0.51372549019607838), + (0.88888888888888884, 0.42745098039215684, 0.42745098039215684), + (1.0, 0.33725490196078434, 0.33725490196078434), + ], + 'green': [ + (0.0, 0.37647058823529411, 0.37647058823529411), + (0.1111111111111111, 0.51372549019607838, 0.51372549019607838), + (0.22222222222222221, 0.65098039215686276, 0.65098039215686276), + (0.33333333333333331, 0.78823529411764703, 0.78823529411764703), + (0.44444444444444442, 0.92941176470588238, 0.92941176470588238), + (0.55555555555555558, 0.90196078431372551, 0.90196078431372551), + (0.66666666666666663, 0.76078431372549016, 0.76078431372549016), + (0.77777777777777768, 0.62352941176470589, 0.62352941176470589), + (0.88888888888888884, 0.48627450980392156, 0.48627450980392156), + (1.0, 0.34509803921568627, 0.34509803921568627), + ], + 'red': [ + (0.0, 0.0039215686274509803, 0.0039215686274509803), + (0.1111111111111111, 0.0039215686274509803, 0.0039215686274509803), + (0.22222222222222221, 0.0039215686274509803, 0.0039215686274509803), + (0.33333333333333331, 0.0039215686274509803, 0.0039215686274509803), + (0.44444444444444442, 0.0078431372549019607, 0.0078431372549019607), + (0.55555555555555558, 1.0, 1.0), + (0.66666666666666663, 0.90196078431372551, 0.90196078431372551), + (0.77777777777777768, 0.80392156862745101, 0.80392156862745101), + (0.88888888888888884, 0.70588235294117652, 0.70588235294117652), + (1.0, 0.60784313725490191, 0.60784313725490191), + ], +} + +_BlueBrown11_data = { + 'blue': [ + (0.0, 0.75294117647058822, 0.75294117647058822), + (0.10000000000000001, 0.81176470588235294, 0.81176470588235294), + (0.20000000000000001, 0.87450980392156863, 0.87450980392156863), + (0.30000000000000004, 0.93725490196078431, 0.93725490196078431), + (0.40000000000000002, 1.0, 1.0), + (0.5, 0.90588235294117647, 0.90588235294117647), + (0.60000000000000009, 0.69411764705882351, 0.69411764705882351), + (0.70000000000000007, 0.60392156862745094, 0.60392156862745094), + (0.80000000000000004, 0.51372549019607838, 0.51372549019607838), + (0.90000000000000002, 0.42745098039215684, 0.42745098039215684), + (1.0, 0.33725490196078434, 0.33725490196078434), + ], + 'green': [ + (0.0, 0.37647058823529411, 0.37647058823529411), + (0.10000000000000001, 0.51372549019607838, 0.51372549019607838), + (0.20000000000000001, 0.65098039215686276, 0.65098039215686276), + (0.30000000000000004, 0.78823529411764703, 0.78823529411764703), + (0.40000000000000002, 0.92941176470588238, 0.92941176470588238), + (0.5, 0.90196078431372551, 0.90196078431372551), + (0.60000000000000009, 0.90196078431372551, 0.90196078431372551), + (0.70000000000000007, 0.76078431372549016, 0.76078431372549016), + (0.80000000000000004, 0.62352941176470589, 0.62352941176470589), + (0.90000000000000002, 0.48627450980392156, 0.48627450980392156), + (1.0, 0.34509803921568627, 0.34509803921568627), + ], + 'red': [ + (0.0, 0.0039215686274509803, 0.0039215686274509803), + (0.10000000000000001, 0.0039215686274509803, 0.0039215686274509803), + (0.20000000000000001, 0.0039215686274509803, 0.0039215686274509803), + (0.30000000000000004, 0.0039215686274509803, 0.0039215686274509803), + (0.40000000000000002, 0.0078431372549019607, 0.0078431372549019607), + (0.5, 0.90588235294117647, 0.90588235294117647), + (0.60000000000000009, 1.0, 1.0), + (0.70000000000000007, 0.90196078431372551, 0.90196078431372551), + (0.80000000000000004, 0.80392156862745101, 0.80392156862745101), + (0.90000000000000002, 0.70588235294117652, 0.70588235294117652), + (1.0, 0.60784313725490191, 0.60784313725490191), + ], +} + +_Theodore16_data = { + 'blue': [ + (0.0, 0.99215686274509807, 0.99215686274509807), + (0.066666666666666666, 0.99215686274509807, 0.99215686274509807), + (0.13333333333333333, 0.82745098039215681, 0.82745098039215681), + (0.20000000000000001, 0.6705882352941176, 0.6705882352941176), + (0.26666666666666666, 0.0, 0.0), + (0.33333333333333331, 0.36470588235294116, 0.36470588235294116), + (0.40000000000000002, 0.59215686274509804, 0.59215686274509804), + (0.46666666666666667, 0.82352941176470584, 0.82352941176470584), + (0.53333333333333333, 0.58431372549019611, 0.58431372549019611), + (0.59999999999999998, 0.0039215686274509803, 0.0039215686274509803), + (0.66666666666666663, 0.062745098039215685, 0.062745098039215685), + (0.73333333333333328, 0.17647058823529413, 0.17647058823529413), + (0.80000000000000004, 0.11372549019607843, 0.11372549019607843), + (0.8666666666666667, 0.34901960784313724, 0.34901960784313724), + (0.93333333333333335, 0.24705882352941178, 0.24705882352941178), + (1.0, 0.46666666666666667, 0.46666666666666667), + ], + 'green': [ + (0.0, 0.67450980392156867, 0.67450980392156867), + (0.066666666666666666, 0.55686274509803924, 0.55686274509803924), + (0.13333333333333333, 0.45098039215686275, 0.45098039215686275), + (0.20000000000000001, 0.30980392156862746, 0.30980392156862746), + (0.26666666666666666, 0.56862745098039214, 0.56862745098039214), + (0.33333333333333331, 0.70588235294117652, 0.70588235294117652), + (0.40000000000000002, 0.80000000000000004, 0.80000000000000004), + (0.46666666666666667, 0.89411764705882357, 0.89411764705882357), + (0.53333333333333333, 0.8901960784313725, 0.8901960784313725), + (0.59999999999999998, 0.79607843137254897, 0.79607843137254897), + (0.66666666666666663, 0.70196078431372544, 0.70196078431372544), + (0.73333333333333328, 0.52941176470588236, 0.52941176470588236), + (0.80000000000000004, 0.11372549019607843, 0.11372549019607843), + (0.8666666666666667, 0.35294117647058826, 0.35294117647058826), + (0.93333333333333335, 0.24705882352941178, 0.24705882352941178), + (1.0, 0.29019607843137257, 0.29019607843137257), + ], + 'red': [ + (0.0, 0.67450980392156867, 0.67450980392156867), + (0.066666666666666666, 0.55686274509803924, 0.55686274509803924), + (0.13333333333333333, 0.45098039215686275, 0.45098039215686275), + (0.20000000000000001, 0.30588235294117649, 0.30588235294117649), + (0.26666666666666666, 0.12941176470588237, 0.12941176470588237), + (0.33333333333333331, 0.36470588235294116, 0.36470588235294116), + (0.40000000000000002, 0.59215686274509804, 0.59215686274509804), + (0.46666666666666667, 0.82352941176470584, 0.82352941176470584), + (0.53333333333333333, 0.93725490196078431, 0.93725490196078431), + (0.59999999999999998, 0.93725490196078431, 0.93725490196078431), + (0.66666666666666663, 0.93725490196078431, 0.93725490196078431), + (0.73333333333333328, 0.75686274509803919, 0.75686274509803919), + (0.80000000000000004, 0.64313725490196083, 0.64313725490196083), + (0.8666666666666667, 0.74117647058823533, 0.74117647058823533), + (0.93333333333333335, 0.86274509803921573, 0.86274509803921573), + (1.0, 0.97254901960784312, 0.97254901960784312), + ], +} + +_EWilson17_data = { + 'blue': [ + (0.0, 0.97647058823529409, 0.97647058823529409), + (0.0625, 0.97647058823529409, 0.97647058823529409), + (0.125, 0.93725490196078431, 0.93725490196078431), + (0.1875, 0.97647058823529409, 0.97647058823529409), + (0.25, 0.89411764705882357, 0.89411764705882357), + (0.3125, 0.0, 0.0), + (0.375, 0.30980392156862746, 0.30980392156862746), + (0.4375, 0.0, 0.0), + (0.5, 0.93725490196078431, 0.93725490196078431), + (0.5625, 0.27058823529411763, 0.27058823529411763), + (0.625, 0.46666666666666667, 0.46666666666666667), + (0.6875, 0.0, 0.0), + (0.75, 0.0, 0.0), + (0.8125, 0.0, 0.0), + (0.875, 0.68235294117647061, 0.68235294117647061), + (0.9375, 0.46666666666666667, 0.46666666666666667), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.0625, 0.38823529411764707, 0.38823529411764707), + (0.125, 0.9882352941176471, 0.9882352941176471), + (0.1875, 0.62352941176470589, 0.62352941176470589), + (0.25, 0.0, 0.0), + (0.3125, 0.97647058823529409, 0.97647058823529409), + (0.375, 0.74117647058823533, 0.74117647058823533), + (0.4375, 0.53725490196078429, 0.53725490196078429), + (0.5, 0.93725490196078431, 0.93725490196078431), + (0.5625, 0.48627450980392156, 0.48627450980392156), + (0.625, 0.62352941176470589, 0.62352941176470589), + (0.6875, 0.48627450980392156, 0.48627450980392156), + (0.75, 0.64313725490196083, 0.64313725490196083), + (0.8125, 0.81960784313725488, 0.81960784313725488), + (0.875, 0.68235294117647061, 0.68235294117647061), + (0.9375, 0.46666666666666667, 0.46666666666666667), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.93725490196078431, 0.93725490196078431), + (0.0625, 0.68235294117647061, 0.68235294117647061), + (0.125, 0.0, 0.0), + (0.1875, 0.0, 0.0), + (0.25, 0.0, 0.0), + (0.3125, 0.0, 0.0), + (0.375, 0.30980392156862746, 0.30980392156862746), + (0.4375, 0.0, 0.0), + (0.5, 0.93725490196078431, 0.93725490196078431), + (0.5625, 0.70196078431372544, 0.70196078431372544), + (0.625, 0.74117647058823533, 0.74117647058823533), + (0.6875, 0.97647058823529409, 0.97647058823529409), + (0.75, 0.97647058823529409, 0.97647058823529409), + (0.8125, 0.93725490196078431, 0.93725490196078431), + (0.875, 0.99215686274509807, 0.99215686274509807), + (0.9375, 0.97647058823529409, 0.97647058823529409), + (1.0, 0.99215686274509807, 0.99215686274509807), + ], +} + +_Wild25_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.041666666666666664, 1.0, 1.0), + (0.083333333333333329, 1.0, 1.0), + (0.125, 1.0, 1.0), + (0.16666666666666666, 1.0, 1.0), + (0.20833333333333331, 1.0, 1.0), + (0.25, 1.0, 1.0), + (0.29166666666666663, 1.0, 1.0), + (0.33333333333333331, 0.066666666666666666, 0.066666666666666666), + (0.375, 0.066666666666666666, 0.066666666666666666), + (0.41666666666666663, 0.066666666666666666, 0.066666666666666666), + (0.45833333333333331, 0.066666666666666666, 0.066666666666666666), + (0.5, 0.78431372549019607, 0.78431372549019607), + (0.54166666666666663, 0.011764705882352941, 0.011764705882352941), + (0.58333333333333326, 0.37647058823529411, 0.37647058823529411), + (0.625, 0.12156862745098039, 0.12156862745098039), + (0.66666666666666663, 0.011764705882352941, 0.011764705882352941), + (0.70833333333333326, 0.74509803921568629, 0.74509803921568629), + (0.75, 0.53333333333333333, 0.53333333333333333), + (0.79166666666666663, 0.3411764705882353, 0.3411764705882353), + (0.83333333333333326, 0.0, 0.0), + (0.875, 0.0, 0.0), + (0.91666666666666663, 0.0, 0.0), + (0.95833333333333326, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.015686274509803921, 0.015686274509803921), + (0.041666666666666664, 0.015686274509803921, 0.015686274509803921), + (0.083333333333333329, 0.015686274509803921, 0.015686274509803921), + (0.125, 0.015686274509803921, 0.015686274509803921), + (0.16666666666666666, 0.015686274509803921, 0.015686274509803921), + (0.20833333333333331, 0.015686274509803921, 0.015686274509803921), + (0.25, 0.50196078431372548, 0.50196078431372548), + (0.29166666666666663, 0.75686274509803919, 0.75686274509803919), + (0.33333333333333331, 0.9882352941176471, 0.9882352941176471), + (0.375, 0.66274509803921566, 0.66274509803921566), + (0.41666666666666663, 0.51764705882352946, 0.51764705882352946), + (0.45833333333333331, 0.32549019607843138, 0.32549019607843138), + (0.5, 0.78431372549019607, 0.78431372549019607), + (0.54166666666666663, 0.28235294117647058, 0.28235294117647058), + (0.58333333333333326, 0.58431372549019611, 0.58431372549019611), + (0.625, 0.72156862745098038, 0.72156862745098038), + (0.66666666666666663, 1.0, 1.0), + (0.70833333333333326, 0.74509803921568629, 0.74509803921568629), + (0.75, 0.53333333333333333, 0.53333333333333333), + (0.79166666666666663, 0.3411764705882353, 0.3411764705882353), + (0.83333333333333326, 0.46666666666666667, 0.46666666666666667), + (0.875, 0.31372549019607843, 0.31372549019607843), + (0.91666666666666663, 0.0, 0.0), + (0.95833333333333326, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.99607843137254903, 0.99607843137254903), + (0.041666666666666664, 0.85098039215686272, 0.85098039215686272), + (0.083333333333333329, 0.70588235294117652, 0.70588235294117652), + (0.125, 0.5725490196078431, 0.5725490196078431), + (0.16666666666666666, 0.38823529411764707, 0.38823529411764707), + (0.20833333333333331, 0.015686274509803921, 0.015686274509803921), + (0.25, 0.015686274509803921, 0.015686274509803921), + (0.29166666666666663, 0.015686274509803921, 0.015686274509803921), + (0.33333333333333331, 0.015686274509803921, 0.015686274509803921), + (0.375, 0.015686274509803921, 0.015686274509803921), + (0.41666666666666663, 0.015686274509803921, 0.015686274509803921), + (0.45833333333333331, 0.015686274509803921, 0.015686274509803921), + (0.5, 0.78431372549019607, 0.78431372549019607), + (0.54166666666666663, 0.65490196078431373, 0.65490196078431373), + (0.58333333333333326, 0.85098039215686272, 0.85098039215686272), + (0.625, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.70833333333333326, 0.99607843137254903, 0.99607843137254903), + (0.75, 0.99607843137254903, 0.99607843137254903), + (0.79166666666666663, 0.99607843137254903, 0.99607843137254903), + (0.83333333333333326, 0.99607843137254903, 0.99607843137254903), + (0.875, 0.87450980392156863, 0.87450980392156863), + (0.91666666666666663, 0.54117647058823526, 0.54117647058823526), + (0.95833333333333326, 0.82352941176470584, 0.82352941176470584), + (1.0, 1.0, 1.0), + ], +} + +_SCook18_data = { + 'blue': [ + (0.0, 0.9137254901960784, 0.9137254901960784), + (0.058823529411764705, 0.9137254901960784, 0.9137254901960784), + (0.11764705882352941, 0.88627450980392153, 0.88627450980392153), + (0.1764705882352941, 0.85490196078431369, 0.85490196078431369), + (0.23529411764705882, 0.69019607843137254, 0.69019607843137254), + (0.29411764705882354, 0.42352941176470588, 0.42352941176470588), + (0.3529411764705882, 0.054901960784313725, 0.054901960784313725), + (0.41176470588235292, 0.011764705882352941, 0.011764705882352941), + (0.47058823529411764, 0.3843137254901961, 0.3843137254901961), + (0.52941176470588236, 0.45098039215686275, 0.45098039215686275), + (0.58823529411764708, 0.30980392156862746, 0.30980392156862746), + (0.6470588235294118, 0.18823529411764706, 0.18823529411764706), + (0.70588235294117641, 0.066666666666666666, 0.066666666666666666), + (0.76470588235294112, 0.058823529411764705, 0.058823529411764705), + (0.82352941176470584, 0.2196078431372549, 0.2196078431372549), + (0.88235294117647056, 0.3411764705882353, 0.3411764705882353), + (0.94117647058823528, 0.070588235294117646, 0.070588235294117646), + (1.0, 0.074509803921568626, 0.074509803921568626), + ], + 'green': [ + (0.0, 0.070588235294117646, 0.070588235294117646), + (0.058823529411764705, 0.21176470588235294, 0.21176470588235294), + (0.11764705882352941, 0.36078431372549019, 0.36078431372549019), + (0.1764705882352941, 0.52156862745098043, 0.52156862745098043), + (0.23529411764705882, 0.71372549019607845, 0.71372549019607845), + (0.29411764705882354, 0.88235294117647056, 0.88235294117647056), + (0.3529411764705882, 0.7803921568627451, 0.7803921568627451), + (0.41176470588235292, 0.66666666666666663, 0.66666666666666663), + (0.47058823529411764, 0.58431372549019611, 0.58431372549019611), + (0.52941176470588236, 0.58039215686274515, 0.58039215686274515), + (0.58823529411764708, 0.54117647058823526, 0.54117647058823526), + (0.6470588235294118, 0.55686274509803924, 0.55686274509803924), + (0.70588235294117641, 0.58823529411764708, 0.58823529411764708), + (0.76470588235294112, 0.67450980392156867, 0.67450980392156867), + (0.82352941176470584, 0.51372549019607838, 0.51372549019607838), + (0.88235294117647056, 0.49019607843137253, 0.49019607843137253), + (0.94117647058823528, 0.070588235294117646, 0.070588235294117646), + (1.0, 0.074509803921568626, 0.074509803921568626), + ], + 'red': [ + (0.0, 0.76078431372549016, 0.76078431372549016), + (0.058823529411764705, 0.57647058823529407, 0.57647058823529407), + (0.11764705882352941, 0.32549019607843138, 0.32549019607843138), + (0.1764705882352941, 0.082352941176470587, 0.082352941176470587), + (0.23529411764705882, 0.0078431372549019607, 0.0078431372549019607), + (0.29411764705882354, 0.0078431372549019607, 0.0078431372549019607), + (0.3529411764705882, 0.0039215686274509803, 0.0039215686274509803), + (0.41176470588235292, 0.0078431372549019607, 0.0078431372549019607), + (0.47058823529411764, 0.3843137254901961, 0.3843137254901961), + (0.52941176470588236, 0.70196078431372544, 0.70196078431372544), + (0.58823529411764708, 0.75294117647058822, 0.75294117647058822), + (0.6470588235294118, 0.85882352941176465, 0.85882352941176465), + (0.70588235294117641, 0.95294117647058818, 0.95294117647058818), + (0.76470588235294112, 0.97254901960784312, 0.97254901960784312), + (0.82352941176470584, 0.89803921568627454, 0.89803921568627454), + (0.88235294117647056, 0.96862745098039216, 0.96862745098039216), + (0.94117647058823528, 0.99215686274509807, 0.99215686274509807), + (1.0, 0.85490196078431369, 0.85490196078431369), + ], +} + +_PD17_data = { + 'blue': [ + (0.0, 0.71372549019607845, 0.71372549019607845), + (0.0625, 0.60784313725490191, 0.60784313725490191), + (0.125, 0.0, 0.0), + (0.1875, 0.039215686274509803, 0.039215686274509803), + (0.25, 0.18431372549019609, 0.18431372549019609), + (0.3125, 0.1803921568627451, 0.1803921568627451), + (0.375, 0.14509803921568629, 0.14509803921568629), + (0.4375, 0.027450980392156862, 0.027450980392156862), + (0.5, 0.0, 0.0), + (0.5625, 1.0, 1.0), + (0.625, 0.93725490196078431, 0.93725490196078431), + (0.6875, 0.75294117647058822, 0.75294117647058822), + (0.75, 1.0, 1.0), + (0.8125, 0.71372549019607845, 0.71372549019607845), + (0.875, 0.97254901960784312, 0.97254901960784312), + (0.9375, 0.50196078431372548, 0.50196078431372548), + (1.0, 0.6470588235294118, 0.6470588235294118), + ], + 'green': [ + (0.0, 0.81176470588235294, 0.81176470588235294), + (0.0625, 0.84705882352941175, 0.84705882352941175), + (0.125, 0.58823529411764708, 0.58823529411764708), + (0.1875, 0.46666666666666667, 0.46666666666666667), + (0.25, 0.18431372549019609, 0.18431372549019609), + (0.3125, 0.98039215686274506, 0.98039215686274506), + (0.375, 0.98039215686274506, 0.98039215686274506), + (0.4375, 0.77647058823529413, 0.77647058823529413), + (0.5, 0.5725490196078431, 0.5725490196078431), + (0.5625, 0.87450980392156863, 0.87450980392156863), + (0.625, 0.58039215686274515, 0.58039215686274515), + (0.6875, 0.32941176470588235, 0.32941176470588235), + (0.75, 0.792156862745098, 0.792156862745098), + (0.8125, 0.60392156862745094, 0.60392156862745094), + (0.875, 0.97254901960784312, 0.97254901960784312), + (0.9375, 0.62745098039215685, 0.62745098039215685), + (1.0, 0.11372549019607843, 0.11372549019607843), + ], + 'red': [ + (0.0, 0.81568627450980391, 0.81568627450980391), + (0.0625, 1.0, 1.0), + (0.125, 1.0, 1.0), + (0.1875, 0.80392156862745101, 0.80392156862745101), + (0.25, 1.0, 1.0), + (0.3125, 0.98039215686274506, 0.98039215686274506), + (0.375, 0.14117647058823529, 0.14117647058823529), + (0.4375, 0.10196078431372549, 0.10196078431372549), + (0.5, 0.0, 0.0), + (0.5625, 0.30196078431372547, 0.30196078431372547), + (0.625, 0.3843137254901961, 0.3843137254901961), + (0.6875, 0.37254901960784315, 0.37254901960784315), + (0.75, 1.0, 1.0), + (0.8125, 0.96862745098039216, 0.96862745098039216), + (0.875, 0.97254901960784312, 0.97254901960784312), + (0.9375, 0.62745098039215685, 0.62745098039215685), + (1.0, 0.7686274509803922, 0.7686274509803922), + ], +} + +_Gray5_data = { + 'blue': [ + (0.0, 0.42352941176470588, 0.42352941176470588), + (0.25, 0.53333333333333333, 0.53333333333333333), + (0.5, 0.6588235294117647, 0.6588235294117647), + (0.75, 0.81568627450980391, 0.81568627450980391), + (1.0, 0.93725490196078431, 0.93725490196078431), + ], + 'green': [ + (0.0, 0.42352941176470588, 0.42352941176470588), + (0.25, 0.53333333333333333, 0.53333333333333333), + (0.5, 0.6588235294117647, 0.6588235294117647), + (0.75, 0.81568627450980391, 0.81568627450980391), + (1.0, 0.93725490196078431, 0.93725490196078431), + ], + 'red': [ + (0.0, 0.42352941176470588, 0.42352941176470588), + (0.25, 0.53333333333333333, 0.53333333333333333), + (0.5, 0.6588235294117647, 0.6588235294117647), + (0.75, 0.81568627450980391, 0.81568627450980391), + (1.0, 0.93725490196078431, 0.93725490196078431), + ], +} + +_Gray9_data = { + 'blue': [ + (0.0, 0.37647058823529411, 0.37647058823529411), + (0.125, 0.45098039215686275, 0.45098039215686275), + (0.25, 0.52549019607843139, 0.52549019607843139), + (0.375, 0.59999999999999998, 0.59999999999999998), + (0.5, 0.67450980392156867, 0.67450980392156867), + (0.625, 0.75294117647058822, 0.75294117647058822), + (0.75, 0.82352941176470584, 0.82352941176470584), + (0.875, 0.90196078431372551, 0.90196078431372551), + (1.0, 0.97647058823529409, 0.97647058823529409), + ], + 'green': [ + (0.0, 0.37647058823529411, 0.37647058823529411), + (0.125, 0.45098039215686275, 0.45098039215686275), + (0.25, 0.52549019607843139, 0.52549019607843139), + (0.375, 0.59999999999999998, 0.59999999999999998), + (0.5, 0.67450980392156867, 0.67450980392156867), + (0.625, 0.75294117647058822, 0.75294117647058822), + (0.75, 0.82352941176470584, 0.82352941176470584), + (0.875, 0.90196078431372551, 0.90196078431372551), + (1.0, 0.97647058823529409, 0.97647058823529409), + ], + 'red': [ + (0.0, 0.37647058823529411, 0.37647058823529411), + (0.125, 0.45098039215686275, 0.45098039215686275), + (0.25, 0.52549019607843139, 0.52549019607843139), + (0.375, 0.59999999999999998, 0.59999999999999998), + (0.5, 0.67450980392156867, 0.67450980392156867), + (0.625, 0.75294117647058822, 0.75294117647058822), + (0.75, 0.82352941176470584, 0.82352941176470584), + (0.875, 0.90196078431372551, 0.90196078431372551), + (1.0, 0.97647058823529409, 0.97647058823529409), + ], +} + +_SymGray12_data = { + 'blue': [ + (0.0, 0.75294117647058822, 0.75294117647058822), + (0.090909090909090912, 0.80000000000000004, 0.80000000000000004), + (0.18181818181818182, 0.84313725490196079, 0.84313725490196079), + (0.27272727272727271, 0.8901960784313725, 0.8901960784313725), + (0.36363636363636365, 0.93725490196078431, 0.93725490196078431), + (0.45454545454545459, 0.98431372549019602, 0.98431372549019602), + (0.54545454545454541, 0.69019607843137254, 0.69019607843137254), + (0.63636363636363635, 0.63529411764705879, 0.63529411764705879), + (0.72727272727272729, 0.57647058823529407, 0.57647058823529407), + (0.81818181818181823, 0.52156862745098043, 0.52156862745098043), + (0.90909090909090917, 0.46666666666666667, 0.46666666666666667), + (1.0, 0.41176470588235292, 0.41176470588235292), + ], + 'green': [ + (0.0, 0.75294117647058822, 0.75294117647058822), + (0.090909090909090912, 0.80000000000000004, 0.80000000000000004), + (0.18181818181818182, 0.84313725490196079, 0.84313725490196079), + (0.27272727272727271, 0.8901960784313725, 0.8901960784313725), + (0.36363636363636365, 0.93725490196078431, 0.93725490196078431), + (0.45454545454545459, 0.98431372549019602, 0.98431372549019602), + (0.54545454545454541, 0.69019607843137254, 0.69019607843137254), + (0.63636363636363635, 0.63529411764705879, 0.63529411764705879), + (0.72727272727272729, 0.57647058823529407, 0.57647058823529407), + (0.81818181818181823, 0.52156862745098043, 0.52156862745098043), + (0.90909090909090917, 0.46666666666666667, 0.46666666666666667), + (1.0, 0.41176470588235292, 0.41176470588235292), + ], + 'red': [ + (0.0, 0.75294117647058822, 0.75294117647058822), + (0.090909090909090912, 0.80000000000000004, 0.80000000000000004), + (0.18181818181818182, 0.84313725490196079, 0.84313725490196079), + (0.27272727272727271, 0.8901960784313725, 0.8901960784313725), + (0.36363636363636365, 0.93725490196078431, 0.93725490196078431), + (0.45454545454545459, 0.98431372549019602, 0.98431372549019602), + (0.54545454545454541, 0.69019607843137254, 0.69019607843137254), + (0.63636363636363635, 0.63529411764705879, 0.63529411764705879), + (0.72727272727272729, 0.57647058823529407, 0.57647058823529407), + (0.81818181818181823, 0.52156862745098043, 0.52156862745098043), + (0.90909090909090917, 0.46666666666666667, 0.46666666666666667), + (1.0, 0.41176470588235292, 0.41176470588235292), + ], +} + +_Carbone42_data = { + 'blue': [ + (0.0, 0.63921568627450975, 0.63921568627450975), + (0.024390243902439025, 0.55686274509803924, 0.55686274509803924), + (0.04878048780487805, 0.58039215686274515, 0.58039215686274515), + (0.073170731707317083, 0.6705882352941176, 0.6705882352941176), + (0.097560975609756101, 0.76470588235294112, 0.76470588235294112), + (0.12195121951219512, 0.89411764705882357, 0.89411764705882357), + (0.14634146341463417, 0.99215686274509807, 0.99215686274509807), + (0.17073170731707318, 0.99215686274509807, 0.99215686274509807), + (0.1951219512195122, 0.59999999999999998, 0.59999999999999998), + (0.21951219512195122, 0.36862745098039218, 0.36862745098039218), + (0.24390243902439024, 0.0, 0.0), + (0.26829268292682928, 0.0, 0.0), + (0.29268292682926833, 0.0, 0.0), + (0.31707317073170732, 0.058823529411764705, 0.058823529411764705), + (0.34146341463414637, 0.17254901960784313, 0.17254901960784313), + (0.36585365853658536, 0.28627450980392155, 0.28627450980392155), + (0.3902439024390244, 0.40000000000000002, 0.40000000000000002), + (0.41463414634146345, 0.51764705882352946, 0.51764705882352946), + (0.43902439024390244, 0.63137254901960782, 0.63137254901960782), + (0.46341463414634149, 0.74901960784313726, 0.74901960784313726), + (0.48780487804878048, 0.81568627450980391, 0.81568627450980391), + (0.51219512195121952, 0.69019607843137254, 0.69019607843137254), + (0.53658536585365857, 0.34901960784313724, 0.34901960784313724), + (0.56097560975609762, 0.0, 0.0), + (0.58536585365853666, 0.019607843137254902, 0.019607843137254902), + (0.6097560975609756, 0.054901960784313725, 0.054901960784313725), + (0.63414634146341464, 0.082352941176470587, 0.082352941176470587), + (0.65853658536585369, 0.11372549019607843, 0.11372549019607843), + (0.68292682926829273, 0.14509803921568629, 0.14509803921568629), + (0.70731707317073178, 0.17647058823529413, 0.17647058823529413), + (0.73170731707317072, 0.20784313725490197, 0.20784313725490197), + (0.75609756097560976, 0.23921568627450981, 0.23921568627450981), + (0.78048780487804881, 0.24705882352941178, 0.24705882352941178), + (0.80487804878048785, 0.24705882352941178, 0.24705882352941178), + (0.8292682926829269, 0.29411764705882354, 0.29411764705882354), + (0.85365853658536583, 0.37254901960784315, 0.37254901960784315), + (0.87804878048780488, 0.0, 0.0), + (0.90243902439024393, 0.18431372549019609, 0.18431372549019609), + (0.92682926829268297, 0.27058823529411763, 0.27058823529411763), + (0.95121951219512202, 0.35294117647058826, 0.35294117647058826), + (0.97560975609756095, 0.35294117647058826, 0.35294117647058826), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.019607843137254902, 0.019607843137254902), + (0.024390243902439025, 0.22352941176470589, 0.22352941176470589), + (0.04878048780487805, 0.054901960784313725, 0.054901960784313725), + (0.073170731707317083, 0.054901960784313725, 0.054901960784313725), + (0.097560975609756101, 0.054901960784313725, 0.054901960784313725), + (0.12195121951219512, 0.13725490196078433, 0.13725490196078433), + (0.14634146341463417, 0.37254901960784315, 0.37254901960784315), + (0.17073170731707318, 0.55686274509803924, 0.55686274509803924), + (0.1951219512195122, 0.58823529411764708, 0.58823529411764708), + (0.21951219512195122, 0.52156862745098043, 0.52156862745098043), + (0.24390243902439024, 0.44313725490196076, 0.44313725490196076), + (0.26829268292682928, 0.49019607843137253, 0.49019607843137253), + (0.29268292682926833, 0.53725490196078429, 0.53725490196078429), + (0.31707317073170732, 0.58431372549019611, 0.58431372549019611), + (0.34146341463414637, 0.63137254901960782, 0.63137254901960782), + (0.36585365853658536, 0.67843137254901964, 0.67843137254901964), + (0.3902439024390244, 0.72156862745098038, 0.72156862745098038), + (0.41463414634146345, 0.7686274509803922, 0.7686274509803922), + (0.43902439024390244, 0.81568627450980391, 0.81568627450980391), + (0.46341463414634149, 0.86274509803921573, 0.86274509803921573), + (0.48780487804878048, 0.8901960784313725, 0.8901960784313725), + (0.51219512195121952, 0.8901960784313725, 0.8901960784313725), + (0.53658536585365857, 0.85882352941176465, 0.85882352941176465), + (0.56097560975609762, 0.81176470588235294, 0.81176470588235294), + (0.58536585365853666, 0.76470588235294112, 0.76470588235294112), + (0.6097560975609756, 0.71764705882352942, 0.71764705882352942), + (0.63414634146341464, 0.6705882352941176, 0.6705882352941176), + (0.65853658536585369, 0.62352941176470589, 0.62352941176470589), + (0.68292682926829273, 0.57647058823529407, 0.57647058823529407), + (0.70731707317073178, 0.52941176470588236, 0.52941176470588236), + (0.73170731707317072, 0.4823529411764706, 0.4823529411764706), + (0.75609756097560976, 0.43529411764705883, 0.43529411764705883), + (0.78048780487804881, 0.38823529411764707, 0.38823529411764707), + (0.80487804878048785, 0.3411764705882353, 0.3411764705882353), + (0.8292682926829269, 0.32549019607843138, 0.32549019607843138), + (0.85365853658536583, 0.30980392156862746, 0.30980392156862746), + (0.87804878048780488, 0.0, 0.0), + (0.90243902439024393, 0.082352941176470587, 0.082352941176470587), + (0.92682926829268297, 0.14509803921568629, 0.14509803921568629), + (0.95121951219512202, 0.20784313725490197, 0.20784313725490197), + (0.97560975609756095, 0.27058823529411763, 0.27058823529411763), + (1.0, 0.011764705882352941, 0.011764705882352941), + ], + 'red': [ + (0.0, 0.46666666666666667, 0.46666666666666667), + (0.024390243902439025, 0.40000000000000002, 0.40000000000000002), + (0.04878048780487805, 0.16078431372549021, 0.16078431372549021), + (0.073170731707317083, 0.22352941176470589, 0.22352941176470589), + (0.097560975609756101, 0.28627450980392155, 0.28627450980392155), + (0.12195121951219512, 0.34901960784313724, 0.34901960784313724), + (0.14634146341463417, 0.41176470588235292, 0.41176470588235292), + (0.17073170731707318, 0.44313725490196076, 0.44313725490196076), + (0.1951219512195122, 0.27843137254901962, 0.27843137254901962), + (0.21951219512195122, 0.18431372549019609, 0.18431372549019609), + (0.24390243902439024, 0.0039215686274509803, 0.0039215686274509803), + (0.26829268292682928, 0.0, 0.0), + (0.29268292682926833, 0.0, 0.0), + (0.31707317073170732, 0.058823529411764705, 0.058823529411764705), + (0.34146341463414637, 0.17254901960784313, 0.17254901960784313), + (0.36585365853658536, 0.28627450980392155, 0.28627450980392155), + (0.3902439024390244, 0.40000000000000002, 0.40000000000000002), + (0.41463414634146345, 0.51764705882352946, 0.51764705882352946), + (0.43902439024390244, 0.63137254901960782, 0.63137254901960782), + (0.46341463414634149, 0.74901960784313726, 0.74901960784313726), + (0.48780487804878048, 0.81568627450980391, 0.81568627450980391), + (0.51219512195121952, 0.92549019607843142, 0.92549019607843142), + (0.53658536585365857, 0.93725490196078431, 0.93725490196078431), + (0.56097560975609762, 0.93725490196078431, 0.93725490196078431), + (0.58536585365853666, 0.93725490196078431, 0.93725490196078431), + (0.6097560975609756, 0.93725490196078431, 0.93725490196078431), + (0.63414634146341464, 0.92549019607843142, 0.92549019607843142), + (0.65853658536585369, 0.87058823529411766, 0.87058823529411766), + (0.68292682926829273, 0.81568627450980391, 0.81568627450980391), + (0.70731707317073178, 0.75686274509803919, 0.75686274509803919), + (0.73170731707317072, 0.70196078431372544, 0.70196078431372544), + (0.75609756097560976, 0.6470588235294118, 0.6470588235294118), + (0.78048780487804881, 0.58823529411764708, 0.58823529411764708), + (0.80487804878048785, 0.53333333333333333, 0.53333333333333333), + (0.8292682926829269, 0.4823529411764706, 0.4823529411764706), + (0.85365853658536583, 0.62745098039215685, 0.62745098039215685), + (0.87804878048780488, 0.62352941176470589, 0.62352941176470589), + (0.90243902439024393, 0.71764705882352942, 0.71764705882352942), + (0.92682926829268297, 0.81176470588235294, 0.81176470588235294), + (0.95121951219512202, 0.8784313725490196, 0.8784313725490196), + (0.97560975609756095, 0.94509803921568625, 0.94509803921568625), + (1.0, 1.0, 1.0), + ], +} + +# Colormaps from Data Graphics Research +# http://geography.uoregon.edu/datagraphics/color_scales.htm + +_BrBu12_data = { + 'blue': [ + (0.0, 0.0, 0.0), + (0.090909090909090912, 0.0, 0.0), + (0.18181818181818182, 0.20999999999999999, 0.20999999999999999), + (0.27272727272727271, 0.47999999999999998, 0.47999999999999998), + (0.36363636363636365, 0.59499999999999997, 0.59499999999999997), + (0.45454545454545459, 0.80800000000000005, 0.80800000000000005), + (0.54545454545454541, 1.0, 1.0), + (0.63636363636363635, 1.0, 1.0), + (0.72727272727272729, 1.0, 1.0), + (0.81818181818181823, 1.0, 1.0), + (0.90909090909090917, 0.80000000000000004, 0.80000000000000004), + (1.0, 0.59999999999999998, 0.59999999999999998), + ], + 'green': [ + (0.0, 0.10000000000000001, 0.10000000000000001), + (0.090909090909090912, 0.187, 0.187), + (0.18181818181818182, 0.379, 0.379), + (0.27272727272727271, 0.60799999999999998, 0.60799999999999998), + (0.36363636363636365, 0.68799999999999994, 0.68799999999999994), + (0.45454545454545459, 0.85499999999999998, 0.85499999999999998), + (0.54545454545454541, 0.99299999999999999, 0.99299999999999999), + (0.63636363636363635, 0.97299999999999998, 0.97299999999999998), + (0.72727272727272729, 0.93999999999999995, 0.93999999999999995), + (0.81818181818181823, 0.89300000000000002, 0.89300000000000002), + (0.90909090909090917, 0.66700000000000004, 0.66700000000000004), + (1.0, 0.47999999999999998, 0.47999999999999998), + ], + 'red': [ + (0.0, 0.20000000000000001, 0.20000000000000001), + (0.090909090909090912, 0.40000000000000002, 0.40000000000000002), + (0.18181818181818182, 0.59999999999999998, 0.59999999999999998), + (0.27272727272727271, 0.80000000000000004, 0.80000000000000004), + (0.36363636363636365, 0.84999999999999998, 0.84999999999999998), + (0.45454545454545459, 0.94999999999999996, 0.94999999999999996), + (0.54545454545454541, 0.80000000000000004, 0.80000000000000004), + (0.63636363636363635, 0.59999999999999998, 0.59999999999999998), + (0.72727272727272729, 0.40000000000000002, 0.40000000000000002), + (0.81818181818181823, 0.20000000000000001, 0.20000000000000001), + (0.90909090909090917, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], +} + +_GrMg16_data = { + 'blue': [ + (0.0, 0.0, 0.0), + (0.066666666666666666, 0.0, 0.0), + (0.13333333333333333, 0.0, 0.0), + (0.20000000000000001, 0.0, 0.0), + (0.26666666666666666, 0.316, 0.316), + (0.33333333333333331, 0.52600000000000002, 0.52600000000000002), + (0.40000000000000002, 0.73699999999999999, 0.73699999999999999), + (0.46666666666666667, 1.0, 1.0), + (0.53333333333333333, 1.0, 1.0), + (0.59999999999999998, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.73333333333333328, 1.0, 1.0), + (0.80000000000000004, 0.94699999999999995, 0.94699999999999995), + (0.8666666666666667, 0.73699999999999999, 0.73699999999999999), + (0.93333333333333335, 0.52600000000000002, 0.52600000000000002), + (1.0, 0.316, 0.316), + ], + 'green': [ + (0.0, 0.316, 0.316), + (0.066666666666666666, 0.52600000000000002, 0.52600000000000002), + (0.13333333333333333, 0.73699999999999999, 0.73699999999999999), + (0.20000000000000001, 0.94699999999999995, 0.94699999999999995), + (0.26666666666666666, 1.0, 1.0), + (0.33333333333333331, 1.0, 1.0), + (0.40000000000000002, 1.0, 1.0), + (0.46666666666666667, 1.0, 1.0), + (0.53333333333333333, 0.94699999999999995, 0.94699999999999995), + (0.59999999999999998, 0.73699999999999999, 0.73699999999999999), + (0.66666666666666663, 0.52600000000000002, 0.52600000000000002), + (0.73333333333333328, 0.316, 0.316), + (0.80000000000000004, 0.0, 0.0), + (0.8666666666666667, 0.0, 0.0), + (0.93333333333333335, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.066666666666666666, 0.0, 0.0), + (0.13333333333333333, 0.0, 0.0), + (0.20000000000000001, 0.0, 0.0), + (0.26666666666666666, 0.316, 0.316), + (0.33333333333333331, 0.52600000000000002, 0.52600000000000002), + (0.40000000000000002, 0.73699999999999999, 0.73699999999999999), + (0.46666666666666667, 1.0, 1.0), + (0.53333333333333333, 1.0, 1.0), + (0.59999999999999998, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.73333333333333328, 1.0, 1.0), + (0.80000000000000004, 0.94699999999999995, 0.94699999999999995), + (0.8666666666666667, 0.73699999999999999, 0.73699999999999999), + (0.93333333333333335, 0.52600000000000002, 0.52600000000000002), + (1.0, 0.316, 0.316), + ], +} + +_BrBu10_data = { + 'blue': [ + (0.0, 0.0, 0.0), + (0.1111111111111111, 0.20999999999999999, 0.20999999999999999), + (0.22222222222222221, 0.47999999999999998, 0.47999999999999998), + (0.33333333333333331, 0.59499999999999997, 0.59499999999999997), + (0.44444444444444442, 0.80800000000000005, 0.80800000000000005), + (0.55555555555555558, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.77777777777777768, 1.0, 1.0), + (0.88888888888888884, 1.0, 1.0), + (1.0, 0.80000000000000004, 0.80000000000000004), + ], + 'green': [ + (0.0, 0.187, 0.187), + (0.1111111111111111, 0.379, 0.379), + (0.22222222222222221, 0.60799999999999998, 0.60799999999999998), + (0.33333333333333331, 0.68799999999999994, 0.68799999999999994), + (0.44444444444444442, 0.85499999999999998, 0.85499999999999998), + (0.55555555555555558, 0.99299999999999999, 0.99299999999999999), + (0.66666666666666663, 0.97299999999999998, 0.97299999999999998), + (0.77777777777777768, 0.93999999999999995, 0.93999999999999995), + (0.88888888888888884, 0.89300000000000002, 0.89300000000000002), + (1.0, 0.66700000000000004, 0.66700000000000004), + ], + 'red': [ + (0.0, 0.40000000000000002, 0.40000000000000002), + (0.1111111111111111, 0.59999999999999998, 0.59999999999999998), + (0.22222222222222221, 0.80000000000000004, 0.80000000000000004), + (0.33333333333333331, 0.84999999999999998, 0.84999999999999998), + (0.44444444444444442, 0.94999999999999996, 0.94999999999999996), + (0.55555555555555558, 0.80000000000000004, 0.80000000000000004), + (0.66666666666666663, 0.59999999999999998, 0.59999999999999998), + (0.77777777777777768, 0.40000000000000002, 0.40000000000000002), + (0.88888888888888884, 0.20000000000000001, 0.20000000000000001), + (1.0, 0.0, 0.0), + ], +} + +_Bu10_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.1111111111111111, 1.0, 1.0), + (0.22222222222222221, 1.0, 1.0), + (0.33333333333333331, 1.0, 1.0), + (0.44444444444444442, 1.0, 1.0), + (0.55555555555555558, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.77777777777777768, 1.0, 1.0), + (0.88888888888888884, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], + 'green': [ + (0.0, 1.0, 1.0), + (0.1111111111111111, 0.98299999999999998, 0.98299999999999998), + (0.22222222222222221, 0.94999999999999996, 0.94999999999999996), + (0.33333333333333331, 0.90000000000000002, 0.90000000000000002), + (0.44444444444444442, 0.83299999999999996, 0.83299999999999996), + (0.55555555555555558, 0.75, 0.75), + (0.66666666666666663, 0.65000000000000002, 0.65000000000000002), + (0.77777777777777768, 0.53300000000000003, 0.53300000000000003), + (0.88888888888888884, 0.40000000000000002, 0.40000000000000002), + (1.0, 0.25, 0.25), + ], + 'red': [ + (0.0, 0.90000000000000002, 0.90000000000000002), + (0.1111111111111111, 0.80000000000000004, 0.80000000000000004), + (0.22222222222222221, 0.69999999999999996, 0.69999999999999996), + (0.33333333333333331, 0.59999999999999998, 0.59999999999999998), + (0.44444444444444442, 0.5, 0.5), + (0.55555555555555558, 0.40000000000000002, 0.40000000000000002), + (0.66666666666666663, 0.29999999999999999, 0.29999999999999999), + (0.77777777777777768, 0.20000000000000001, 0.20000000000000001), + (0.88888888888888884, 0.10000000000000001, 0.10000000000000001), + (1.0, 0.0, 0.0), + ], +} + +_BuDOr12_data = { + 'blue': [ + (0.0, 0.59999999999999998, 0.59999999999999998), + (0.090909090909090912, 0.80000000000000004, 0.80000000000000004), + (0.18181818181818182, 1.0, 1.0), + (0.27272727272727271, 1.0, 1.0), + (0.36363636363636365, 1.0, 1.0), + (0.45454545454545459, 1.0, 1.0), + (0.54545454545454541, 0.80000000000000004, 0.80000000000000004), + (0.63636363636363635, 0.59999999999999998, 0.59999999999999998), + (0.72727272727272729, 0.40000000000000002, 0.40000000000000002), + (0.81818181818181823, 0.20000000000000001, 0.20000000000000001), + (0.90909090909090917, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.56000000000000005, 0.56000000000000005), + (0.090909090909090912, 0.76800000000000002, 0.76800000000000002), + (0.18181818181818182, 0.97999999999999998, 0.97999999999999998), + (0.27272727272727271, 0.98999999999999999, 0.98999999999999999), + (0.36363636363636365, 0.997, 0.997), + (0.45454545454545459, 1.0, 1.0), + (0.54545454545454541, 0.90000000000000002, 0.90000000000000002), + (0.63636363636363635, 0.79300000000000004, 0.79300000000000004), + (0.72727272727272729, 0.68000000000000005, 0.68000000000000005), + (0.81818181818181823, 0.56000000000000005, 0.56000000000000005), + (0.90909090909090917, 0.34699999999999998, 0.34699999999999998), + (1.0, 0.25, 0.25), + ], + 'red': [ + (0.0, 0.12, 0.12), + (0.090909090909090912, 0.32000000000000001, 0.32000000000000001), + (0.18181818181818182, 0.59999999999999998, 0.59999999999999998), + (0.27272727272727271, 0.69999999999999996, 0.69999999999999996), + (0.36363636363636365, 0.80000000000000004, 0.80000000000000004), + (0.45454545454545459, 0.90000000000000002, 0.90000000000000002), + (0.54545454545454541, 1.0, 1.0), + (0.63636363636363635, 1.0, 1.0), + (0.72727272727272729, 1.0, 1.0), + (0.81818181818181823, 1.0, 1.0), + (0.90909090909090917, 0.80000000000000004, 0.80000000000000004), + (1.0, 0.59999999999999998, 0.59999999999999998), + ], +} + +_StepSeq25_data = { + 'blue': [ + (0.0, 0.059999999999999998, 0.059999999999999998), + (0.041666666666666664, 0.17499999999999999, 0.17499999999999999), + (0.083333333333333329, 0.32000000000000001, 0.32000000000000001), + (0.125, 0.495, 0.495), + (0.16666666666666666, 0.69999999999999996, 0.69999999999999996), + (0.20833333333333331, 0.059999999999999998, 0.059999999999999998), + (0.25, 0.17499999999999999, 0.17499999999999999), + (0.29166666666666663, 0.32000000000000001, 0.32000000000000001), + (0.33333333333333331, 0.495, 0.495), + (0.375, 0.69999999999999996, 0.69999999999999996), + (0.41666666666666663, 0.059999999999999998, 0.059999999999999998), + (0.45833333333333331, 0.17499999999999999, 0.17499999999999999), + (0.5, 0.32000000000000001, 0.32000000000000001), + (0.54166666666666663, 0.495, 0.495), + (0.58333333333333326, 0.69999999999999996, 0.69999999999999996), + (0.625, 0.59999999999999998, 0.59999999999999998), + (0.66666666666666663, 0.69999999999999996, 0.69999999999999996), + (0.70833333333333326, 0.80000000000000004, 0.80000000000000004), + (0.75, 0.90000000000000002, 0.90000000000000002), + (0.79166666666666663, 1.0, 1.0), + (0.83333333333333326, 0.59999999999999998, 0.59999999999999998), + (0.875, 0.69999999999999996, 0.69999999999999996), + (0.91666666666666663, 0.80000000000000004, 0.80000000000000004), + (0.95833333333333326, 0.90000000000000002, 0.90000000000000002), + (1.0, 1.0, 1.0), + ], + 'green': [ + (0.0, 0.059999999999999998, 0.059999999999999998), + (0.041666666666666664, 0.17499999999999999, 0.17499999999999999), + (0.083333333333333329, 0.32000000000000001, 0.32000000000000001), + (0.125, 0.495, 0.495), + (0.16666666666666666, 0.69999999999999996, 0.69999999999999996), + (0.20833333333333331, 0.33000000000000002, 0.33000000000000002), + (0.25, 0.438, 0.438), + (0.29166666666666663, 0.56000000000000005, 0.56000000000000005), + (0.33333333333333331, 0.69699999999999995, 0.69699999999999995), + (0.375, 0.84999999999999998, 0.84999999999999998), + (0.41666666666666663, 0.59999999999999998, 0.59999999999999998), + (0.45833333333333331, 0.69999999999999996, 0.69999999999999996), + (0.5, 0.80000000000000004, 0.80000000000000004), + (0.54166666666666663, 0.90000000000000002, 0.90000000000000002), + (0.58333333333333326, 1.0, 1.0), + (0.625, 0.41999999999999998, 0.41999999999999998), + (0.66666666666666663, 0.52500000000000002, 0.52500000000000002), + (0.70833333333333326, 0.64000000000000001, 0.64000000000000001), + (0.75, 0.76500000000000001, 0.76500000000000001), + (0.79166666666666663, 0.90000000000000002, 0.90000000000000002), + (0.83333333333333326, 0.059999999999999998, 0.059999999999999998), + (0.875, 0.17499999999999999, 0.17499999999999999), + (0.91666666666666663, 0.32000000000000001, 0.32000000000000001), + (0.95833333333333326, 0.495, 0.495), + (1.0, 0.69999999999999996, 0.69999999999999996), + ], + 'red': [ + (0.0, 0.59999999999999998, 0.59999999999999998), + (0.041666666666666664, 0.69999999999999996, 0.69999999999999996), + (0.083333333333333329, 0.80000000000000004, 0.80000000000000004), + (0.125, 0.90000000000000002, 0.90000000000000002), + (0.16666666666666666, 1.0, 1.0), + (0.20833333333333331, 0.59999999999999998, 0.59999999999999998), + (0.25, 0.69999999999999996, 0.69999999999999996), + (0.29166666666666663, 0.80000000000000004, 0.80000000000000004), + (0.33333333333333331, 0.90000000000000002, 0.90000000000000002), + (0.375, 1.0, 1.0), + (0.41666666666666663, 0.41999999999999998, 0.41999999999999998), + (0.45833333333333331, 0.52500000000000002, 0.52500000000000002), + (0.5, 0.64000000000000001, 0.64000000000000001), + (0.54166666666666663, 0.76500000000000001, 0.76500000000000001), + (0.58333333333333326, 0.90000000000000002, 0.90000000000000002), + (0.625, 0.059999999999999998, 0.059999999999999998), + (0.66666666666666663, 0.17499999999999999, 0.17499999999999999), + (0.70833333333333326, 0.32000000000000001, 0.32000000000000001), + (0.75, 0.495, 0.495), + (0.79166666666666663, 0.69999999999999996, 0.69999999999999996), + (0.83333333333333326, 0.14999999999999999, 0.14999999999999999), + (0.875, 0.26200000000000001, 0.26200000000000001), + (0.91666666666666663, 0.40000000000000002, 0.40000000000000002), + (0.95833333333333326, 0.56200000000000006, 0.56200000000000006), + (1.0, 0.75, 0.75), + ], +} + +_RdYlBu11b_data = { + 'blue': [ + (0.0, 0.13, 0.13), + (0.10000000000000001, 0.19600000000000001, 0.19600000000000001), + (0.20000000000000001, 0.37, 0.37), + (0.30000000000000004, 0.45000000000000001, 0.45000000000000001), + (0.40000000000000002, 0.59999999999999998, 0.59999999999999998), + (0.5, 0.75, 0.75), + (0.60000000000000009, 1.0, 1.0), + (0.70000000000000007, 1.0, 1.0), + (0.80000000000000004, 1.0, 1.0), + (0.90000000000000002, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.10000000000000001, 0.14999999999999999, 0.14999999999999999), + (0.20000000000000001, 0.42999999999999999, 0.42999999999999999), + (0.30000000000000004, 0.68000000000000005, 0.68000000000000005), + (0.40000000000000002, 0.88, 0.88), + (0.5, 1.0, 1.0), + (0.60000000000000009, 1.0, 1.0), + (0.70000000000000007, 0.96999999999999997, 0.96999999999999997), + (0.80000000000000004, 0.84999999999999998, 0.84999999999999998), + (0.90000000000000002, 0.63, 0.63), + (1.0, 0.29999999999999999, 0.29999999999999999), + ], + 'red': [ + (0.0, 0.65000000000000002, 0.65000000000000002), + (0.10000000000000001, 0.84999999999999998, 0.84999999999999998), + (0.20000000000000001, 0.96999999999999997, 0.96999999999999997), + (0.30000000000000004, 1.0, 1.0), + (0.40000000000000002, 1.0, 1.0), + (0.5, 1.0, 1.0), + (0.60000000000000009, 0.88, 0.88), + (0.70000000000000007, 0.67000000000000004, 0.67000000000000004), + (0.80000000000000004, 0.45000000000000001, 0.45000000000000001), + (0.90000000000000002, 0.25, 0.25), + (1.0, 0.14999999999999999, 0.14999999999999999), + ], +} + +_Bu7_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.16666666666666666, 1.0, 1.0), + (0.33333333333333331, 1.0, 1.0), + (0.5, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.83333333333333326, 0.80000000000000004, 0.80000000000000004), + (1.0, 0.59999999999999998, 0.59999999999999998), + ], + 'green': [ + (0.0, 1.0, 1.0), + (0.16666666666666666, 0.99299999999999999, 0.99299999999999999), + (0.33333333333333331, 0.97299999999999998, 0.97299999999999998), + (0.5, 0.93999999999999995, 0.93999999999999995), + (0.66666666666666663, 0.89300000000000002, 0.89300000000000002), + (0.83333333333333326, 0.66700000000000004, 0.66700000000000004), + (1.0, 0.47999999999999998, 0.47999999999999998), + ], + 'red': [ + (0.0, 1.0, 1.0), + (0.16666666666666666, 0.80000000000000004, 0.80000000000000004), + (0.33333333333333331, 0.59999999999999998, 0.59999999999999998), + (0.5, 0.40000000000000002, 0.40000000000000002), + (0.66666666666666663, 0.20000000000000001, 0.20000000000000001), + (0.83333333333333326, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], +} + +_BuOr12_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.090909090909090912, 1.0, 1.0), + (0.18181818181818182, 1.0, 1.0), + (0.27272727272727271, 1.0, 1.0), + (0.36363636363636365, 1.0, 1.0), + (0.45454545454545459, 1.0, 1.0), + (0.54545454545454541, 0.80000000000000004, 0.80000000000000004), + (0.63636363636363635, 0.59999999999999998, 0.59999999999999998), + (0.72727272727272729, 0.40000000000000002, 0.40000000000000002), + (0.81818181818181823, 0.20000000000000001, 0.20000000000000001), + (0.90909090909090917, 0.10000000000000001, 0.10000000000000001), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.16700000000000001, 0.16700000000000001), + (0.090909090909090912, 0.40000000000000002, 0.40000000000000002), + (0.18181818181818182, 0.59999999999999998, 0.59999999999999998), + (0.27272727272727271, 0.80000000000000004, 0.80000000000000004), + (0.36363636363636365, 0.93300000000000005, 0.93300000000000005), + (0.45454545454545459, 1.0, 1.0), + (0.54545454545454541, 1.0, 1.0), + (0.63636363636363635, 0.93300000000000005, 0.93300000000000005), + (0.72727272727272729, 0.80000000000000004, 0.80000000000000004), + (0.81818181818181823, 0.59999999999999998, 0.59999999999999998), + (0.90909090909090917, 0.40000000000000002, 0.40000000000000002), + (1.0, 0.16700000000000001, 0.16700000000000001), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.090909090909090912, 0.10000000000000001, 0.10000000000000001), + (0.18181818181818182, 0.20000000000000001, 0.20000000000000001), + (0.27272727272727271, 0.40000000000000002, 0.40000000000000002), + (0.36363636363636365, 0.59999999999999998, 0.59999999999999998), + (0.45454545454545459, 0.80000000000000004, 0.80000000000000004), + (0.54545454545454541, 1.0, 1.0), + (0.63636363636363635, 1.0, 1.0), + (0.72727272727272729, 1.0, 1.0), + (0.81818181818181823, 1.0, 1.0), + (0.90909090909090917, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], +} + +_BuGr14_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.076923076923076927, 1.0, 1.0), + (0.15384615384615385, 1.0, 1.0), + (0.23076923076923078, 1.0, 1.0), + (0.30769230769230771, 1.0, 1.0), + (0.38461538461538464, 1.0, 1.0), + (0.46153846153846156, 1.0, 1.0), + (0.53846153846153855, 0.90000000000000002, 0.90000000000000002), + (0.61538461538461542, 0.80000000000000004, 0.80000000000000004), + (0.69230769230769229, 0.69999999999999996, 0.69999999999999996), + (0.76923076923076927, 0.59999999999999998, 0.59999999999999998), + (0.84615384615384626, 0.40000000000000002, 0.40000000000000002), + (0.92307692307692313, 0.20000000000000001, 0.20000000000000001), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.076923076923076927, 0.20000000000000001, 0.20000000000000001), + (0.15384615384615385, 0.40000000000000002, 0.40000000000000002), + (0.23076923076923078, 0.59999999999999998, 0.59999999999999998), + (0.30769230769230771, 0.69999999999999996, 0.69999999999999996), + (0.38461538461538464, 0.80000000000000004, 0.80000000000000004), + (0.46153846153846156, 0.90000000000000002, 0.90000000000000002), + (0.53846153846153855, 1.0, 1.0), + (0.61538461538461542, 1.0, 1.0), + (0.69230769230769229, 1.0, 1.0), + (0.76923076923076927, 1.0, 1.0), + (0.84615384615384626, 1.0, 1.0), + (0.92307692307692313, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.076923076923076927, 0.20000000000000001, 0.20000000000000001), + (0.15384615384615385, 0.40000000000000002, 0.40000000000000002), + (0.23076923076923078, 0.59999999999999998, 0.59999999999999998), + (0.30769230769230771, 0.69999999999999996, 0.69999999999999996), + (0.38461538461538464, 0.80000000000000004, 0.80000000000000004), + (0.46153846153846156, 0.90000000000000002, 0.90000000000000002), + (0.53846153846153855, 0.90000000000000002, 0.90000000000000002), + (0.61538461538461542, 0.80000000000000004, 0.80000000000000004), + (0.69230769230769229, 0.69999999999999996, 0.69999999999999996), + (0.76923076923076927, 0.59999999999999998, 0.59999999999999998), + (0.84615384615384626, 0.40000000000000002, 0.40000000000000002), + (0.92307692307692313, 0.20000000000000001, 0.20000000000000001), + (1.0, 0.0, 0.0), + ], +} + +_BuDRd18_data = { + 'blue': [ + (0.0, 0.84999999999999998, 0.84999999999999998), + (0.058823529411764705, 0.96999999999999997, 0.96999999999999997), + (0.11764705882352941, 1.0, 1.0), + (0.1764705882352941, 1.0, 1.0), + (0.23529411764705882, 1.0, 1.0), + (0.29411764705882354, 1.0, 1.0), + (0.3529411764705882, 1.0, 1.0), + (0.41176470588235292, 1.0, 1.0), + (0.47058823529411764, 1.0, 1.0), + (0.52941176470588236, 0.92000000000000004, 0.92000000000000004), + (0.58823529411764708, 0.73999999999999999, 0.73999999999999999), + (0.6470588235294118, 0.59999999999999998, 0.59999999999999998), + (0.70588235294117641, 0.46000000000000002, 0.46000000000000002), + (0.76470588235294112, 0.34000000000000002, 0.34000000000000002), + (0.82352941176470584, 0.23999999999999999, 0.23999999999999999), + (0.88235294117647056, 0.20999999999999999, 0.20999999999999999), + (0.94117647058823528, 0.187, 0.187), + (1.0, 0.13, 0.13), + ], + 'green': [ + (0.0, 0.0, 0.0), + (0.058823529411764705, 0.112, 0.112), + (0.11764705882352941, 0.34200000000000003, 0.34200000000000003), + (0.1764705882352941, 0.53100000000000003, 0.53100000000000003), + (0.23529411764705882, 0.69199999999999995, 0.69199999999999995), + (0.29411764705882354, 0.82899999999999996, 0.82899999999999996), + (0.3529411764705882, 0.92000000000000004, 0.92000000000000004), + (0.41176470588235292, 0.97799999999999998, 0.97799999999999998), + (0.47058823529411764, 1.0, 1.0), + (0.52941176470588236, 1.0, 1.0), + (0.58823529411764708, 0.94799999999999995, 0.94799999999999995), + (0.6470588235294118, 0.83999999999999997, 0.83999999999999997), + (0.70588235294117641, 0.67600000000000005, 0.67600000000000005), + (0.76470588235294112, 0.47199999999999998, 0.47199999999999998), + (0.82352941176470584, 0.23999999999999999, 0.23999999999999999), + (0.88235294117647056, 0.155, 0.155), + (0.94117647058823528, 0.085000000000000006, 0.085000000000000006), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.14199999999999999, 0.14199999999999999), + (0.058823529411764705, 0.097000000000000003, 0.097000000000000003), + (0.11764705882352941, 0.16, 0.16), + (0.1764705882352941, 0.23999999999999999, 0.23999999999999999), + (0.23529411764705882, 0.34000000000000002, 0.34000000000000002), + (0.29411764705882354, 0.46000000000000002, 0.46000000000000002), + (0.3529411764705882, 0.59999999999999998, 0.59999999999999998), + (0.41176470588235292, 0.73999999999999999, 0.73999999999999999), + (0.47058823529411764, 0.92000000000000004, 0.92000000000000004), + (0.52941176470588236, 1.0, 1.0), + (0.58823529411764708, 1.0, 1.0), + (0.6470588235294118, 1.0, 1.0), + (0.70588235294117641, 1.0, 1.0), + (0.76470588235294112, 1.0, 1.0), + (0.82352941176470584, 1.0, 1.0), + (0.88235294117647056, 0.96999999999999997, 0.96999999999999997), + (0.94117647058823528, 0.84999999999999998, 0.84999999999999998), + (1.0, 0.65000000000000002, 0.65000000000000002), + ], +} + +_BuDOr18_data = { + 'blue': [ + (0.0, 0.40000000000000002, 0.40000000000000002), + (0.058823529411764705, 0.59999999999999998, 0.59999999999999998), + (0.11764705882352941, 0.80000000000000004, 0.80000000000000004), + (0.1764705882352941, 1.0, 1.0), + (0.23529411764705882, 1.0, 1.0), + (0.29411764705882354, 1.0, 1.0), + (0.3529411764705882, 1.0, 1.0), + (0.41176470588235292, 1.0, 1.0), + (0.47058823529411764, 1.0, 1.0), + (0.52941176470588236, 1.0, 1.0), + (0.58823529411764708, 0.80000000000000004, 0.80000000000000004), + (0.6470588235294118, 0.59999999999999998, 0.59999999999999998), + (0.70588235294117641, 0.40000000000000002, 0.40000000000000002), + (0.76470588235294112, 0.20000000000000001, 0.20000000000000001), + (0.82352941176470584, 0.0, 0.0), + (0.88235294117647056, 0.0, 0.0), + (0.94117647058823528, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.40000000000000002, 0.40000000000000002), + (0.058823529411764705, 0.59999999999999998, 0.59999999999999998), + (0.11764705882352941, 0.80000000000000004, 0.80000000000000004), + (0.1764705882352941, 1.0, 1.0), + (0.23529411764705882, 1.0, 1.0), + (0.29411764705882354, 1.0, 1.0), + (0.3529411764705882, 1.0, 1.0), + (0.41176470588235292, 1.0, 1.0), + (0.47058823529411764, 1.0, 1.0), + (0.52941176470588236, 1.0, 1.0), + (0.58823529411764708, 0.90000000000000002, 0.90000000000000002), + (0.6470588235294118, 0.79300000000000004, 0.79300000000000004), + (0.70588235294117641, 0.68000000000000005, 0.68000000000000005), + (0.76470588235294112, 0.56000000000000005, 0.56000000000000005), + (0.82352941176470584, 0.433, 0.433), + (0.88235294117647056, 0.33300000000000002, 0.33300000000000002), + (0.94117647058823528, 0.23999999999999999, 0.23999999999999999), + (1.0, 0.153, 0.153), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.058823529411764705, 0.0, 0.0), + (0.11764705882352941, 0.0, 0.0), + (0.1764705882352941, 0.0, 0.0), + (0.23529411764705882, 0.20000000000000001, 0.20000000000000001), + (0.29411764705882354, 0.40000000000000002, 0.40000000000000002), + (0.3529411764705882, 0.59999999999999998, 0.59999999999999998), + (0.41176470588235292, 0.69999999999999996, 0.69999999999999996), + (0.47058823529411764, 0.80000000000000004, 0.80000000000000004), + (0.52941176470588236, 0.90000000000000002, 0.90000000000000002), + (0.58823529411764708, 1.0, 1.0), + (0.6470588235294118, 1.0, 1.0), + (0.70588235294117641, 1.0, 1.0), + (0.76470588235294112, 1.0, 1.0), + (0.82352941176470584, 1.0, 1.0), + (0.88235294117647056, 0.80000000000000004, 0.80000000000000004), + (0.94117647058823528, 0.59999999999999998, 0.59999999999999998), + (1.0, 0.40000000000000002, 0.40000000000000002), + ], +} + +_BuOr8_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.14285714285714285, 1.0, 1.0), + (0.2857142857142857, 1.0, 1.0), + (0.42857142857142855, 1.0, 1.0), + (0.5714285714285714, 0.80000000000000004, 0.80000000000000004), + (0.71428571428571419, 0.59999999999999998, 0.59999999999999998), + (0.8571428571428571, 0.29999999999999999, 0.29999999999999999), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.5, 0.5), + (0.14285714285714285, 0.76700000000000002, 0.76700000000000002), + (0.2857142857142857, 0.93300000000000005, 0.93300000000000005), + (0.42857142857142855, 1.0, 1.0), + (0.5714285714285714, 1.0, 1.0), + (0.71428571428571419, 0.93300000000000005, 0.93300000000000005), + (0.8571428571428571, 0.76700000000000002, 0.76700000000000002), + (1.0, 0.5, 0.5), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.14285714285714285, 0.29999999999999999, 0.29999999999999999), + (0.2857142857142857, 0.59999999999999998, 0.59999999999999998), + (0.42857142857142855, 0.80000000000000004, 0.80000000000000004), + (0.5714285714285714, 1.0, 1.0), + (0.71428571428571419, 1.0, 1.0), + (0.8571428571428571, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], +} + +_Cat12_data = { + 'blue': [ + (0.0, 0.5, 0.5), + (0.090909090909090912, 0.0, 0.0), + (0.18181818181818182, 0.59999999999999998, 0.59999999999999998), + (0.27272727272727271, 0.20000000000000001, 0.20000000000000001), + (0.36363636363636365, 0.55000000000000004, 0.55000000000000004), + (0.45454545454545459, 0.0, 0.0), + (0.54545454545454541, 1.0, 1.0), + (0.63636363636363635, 1.0, 1.0), + (0.72727272727272729, 1.0, 1.0), + (0.81818181818181823, 1.0, 1.0), + (0.90909090909090917, 0.75, 0.75), + (1.0, 0.20000000000000001, 0.20000000000000001), + ], + 'green': [ + (0.0, 0.75, 0.75), + (0.090909090909090912, 0.5, 0.5), + (0.18181818181818182, 1.0, 1.0), + (0.27272727272727271, 1.0, 1.0), + (0.36363636363636365, 1.0, 1.0), + (0.45454545454545459, 1.0, 1.0), + (0.54545454545454541, 0.93000000000000005, 0.93000000000000005), + (0.63636363636363635, 0.69999999999999996, 0.69999999999999996), + (0.72727272727272729, 0.75, 0.75), + (0.81818181818181823, 0.29999999999999999, 0.29999999999999999), + (0.90909090909090917, 0.59999999999999998, 0.59999999999999998), + (1.0, 0.10000000000000001, 0.10000000000000001), + ], + 'red': [ + (0.0, 1.0, 1.0), + (0.090909090909090912, 1.0, 1.0), + (0.18181818181818182, 1.0, 1.0), + (0.27272727272727271, 1.0, 1.0), + (0.36363636363636365, 0.69999999999999996, 0.69999999999999996), + (0.45454545454545459, 0.20000000000000001, 0.20000000000000001), + (0.54545454545454541, 0.65000000000000002, 0.65000000000000002), + (0.63636363636363635, 0.10000000000000001, 0.10000000000000001), + (0.72727272727272729, 0.80000000000000004, 0.80000000000000004), + (0.81818181818181823, 0.40000000000000002, 0.40000000000000002), + (0.90909090909090917, 1.0, 1.0), + (1.0, 0.90000000000000002, 0.90000000000000002), + ], +} + +_BuGy8_data = { + 'blue': [ + (0.0, 0.80000000000000004, 0.80000000000000004), + (0.14285714285714285, 1.0, 1.0), + (0.2857142857142857, 1.0, 1.0), + (0.42857142857142855, 1.0, 1.0), + (0.5714285714285714, 0.90000000000000002, 0.90000000000000002), + (0.71428571428571419, 0.59999999999999998, 0.59999999999999998), + (0.8571428571428571, 0.40000000000000002, 0.40000000000000002), + (1.0, 0.20000000000000001, 0.20000000000000001), + ], + 'green': [ + (0.0, 0.59999999999999998, 0.59999999999999998), + (0.14285714285714285, 0.90000000000000002, 0.90000000000000002), + (0.2857142857142857, 1.0, 1.0), + (0.42857142857142855, 1.0, 1.0), + (0.5714285714285714, 0.90000000000000002, 0.90000000000000002), + (0.71428571428571419, 0.59999999999999998, 0.59999999999999998), + (0.8571428571428571, 0.40000000000000002, 0.40000000000000002), + (1.0, 0.20000000000000001, 0.20000000000000001), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.14285714285714285, 0.40000000000000002, 0.40000000000000002), + (0.2857142857142857, 0.59999999999999998, 0.59999999999999998), + (0.42857142857142855, 0.80000000000000004, 0.80000000000000004), + (0.5714285714285714, 0.90000000000000002, 0.90000000000000002), + (0.71428571428571419, 0.59999999999999998, 0.59999999999999998), + (0.8571428571428571, 0.40000000000000002, 0.40000000000000002), + (1.0, 0.20000000000000001, 0.20000000000000001), + ], +} + +_BuOrR14_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.076923076923076927, 1.0, 1.0), + (0.15384615384615385, 1.0, 1.0), + (0.23076923076923078, 1.0, 1.0), + (0.30769230769230771, 1.0, 1.0), + (0.38461538461538464, 1.0, 1.0), + (0.46153846153846156, 1.0, 1.0), + (0.53846153846153855, 0.80000000000000004, 0.80000000000000004), + (0.61538461538461542, 0.59999999999999998, 0.59999999999999998), + (0.69230769230769229, 0.0, 0.0), + (0.76923076923076927, 0.0, 0.0), + (0.84615384615384626, 0.0, 0.0), + (0.92307692307692313, 0.0, 0.0), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.35299999999999998, 0.35299999999999998), + (0.076923076923076927, 0.46700000000000003, 0.46700000000000003), + (0.15384615384615385, 0.56699999999999995, 0.56699999999999995), + (0.23076923076923078, 0.69999999999999996, 0.69999999999999996), + (0.30769230769230771, 0.83299999999999996, 0.83299999999999996), + (0.38461538461538464, 0.93300000000000005, 0.93300000000000005), + (0.46153846153846156, 0.97999999999999998, 0.97999999999999998), + (0.53846153846153855, 1.0, 1.0), + (0.61538461538461542, 1.0, 1.0), + (0.69230769230769229, 1.0, 1.0), + (0.76923076923076927, 0.80000000000000004, 0.80000000000000004), + (0.84615384615384626, 0.59999999999999998, 0.59999999999999998), + (0.92307692307692313, 0.40000000000000002, 0.40000000000000002), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.029999999999999999, 0.029999999999999999), + (0.076923076923076927, 0.20000000000000001, 0.20000000000000001), + (0.15384615384615385, 0.34999999999999998, 0.34999999999999998), + (0.23076923076923078, 0.55000000000000004, 0.55000000000000004), + (0.30769230769230771, 0.75, 0.75), + (0.38461538461538464, 0.90000000000000002, 0.90000000000000002), + (0.46153846153846156, 0.96999999999999997, 0.96999999999999997), + (0.53846153846153855, 1.0, 1.0), + (0.61538461538461542, 1.0, 1.0), + (0.69230769230769229, 1.0, 1.0), + (0.76923076923076927, 1.0, 1.0), + (0.84615384615384626, 1.0, 1.0), + (0.92307692307692313, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], +} + +_BuOr10_data = { + 'blue': [ + (0.0, 1.0, 1.0), + (0.1111111111111111, 1.0, 1.0), + (0.22222222222222221, 1.0, 1.0), + (0.33333333333333331, 1.0, 1.0), + (0.44444444444444442, 1.0, 1.0), + (0.55555555555555558, 0.80000000000000004, 0.80000000000000004), + (0.66666666666666663, 0.59999999999999998, 0.59999999999999998), + (0.77777777777777768, 0.40000000000000002, 0.40000000000000002), + (0.88888888888888884, 0.20000000000000001, 0.20000000000000001), + (1.0, 0.0, 0.0), + ], + 'green': [ + (0.0, 0.33300000000000002, 0.33300000000000002), + (0.1111111111111111, 0.59999999999999998, 0.59999999999999998), + (0.22222222222222221, 0.80000000000000004, 0.80000000000000004), + (0.33333333333333331, 0.93300000000000005, 0.93300000000000005), + (0.44444444444444442, 1.0, 1.0), + (0.55555555555555558, 1.0, 1.0), + (0.66666666666666663, 0.93300000000000005, 0.93300000000000005), + (0.77777777777777768, 0.80000000000000004, 0.80000000000000004), + (0.88888888888888884, 0.59999999999999998, 0.59999999999999998), + (1.0, 0.33300000000000002, 0.33300000000000002), + ], + 'red': [ + (0.0, 0.0, 0.0), + (0.1111111111111111, 0.20000000000000001, 0.20000000000000001), + (0.22222222222222221, 0.40000000000000002, 0.40000000000000002), + (0.33333333333333331, 0.59999999999999998, 0.59999999999999998), + (0.44444444444444442, 0.80000000000000004, 0.80000000000000004), + (0.55555555555555558, 1.0, 1.0), + (0.66666666666666663, 1.0, 1.0), + (0.77777777777777768, 1.0, 1.0), + (0.88888888888888884, 1.0, 1.0), + (1.0, 1.0, 1.0), + ], +} + +_BuDRd12_data = { + 'blue': [ + (0.0, 0.84999999999999998, 0.84999999999999998), + (0.090909090909090912, 1.0, 1.0), + (0.18181818181818182, 1.0, 1.0), + (0.27272727272727271, 1.0, 1.0), + (0.36363636363636365, 1.0, 1.0), + (0.45454545454545459, 1.0, 1.0), + (0.54545454545454541, 0.75, 0.75), + (0.63636363636363635, 0.59999999999999998, 0.59999999999999998), + (0.72727272727272729, 0.45000000000000001, 0.45000000000000001), + (0.81818181818181823, 0.37, 0.37), + (0.90909090909090917, 0.19600000000000001, 0.19600000000000001), + (1.0, 0.13, 0.13), + ], + 'green': [ + (0.0, 0.042999999999999997, 0.042999999999999997), + (0.090909090909090912, 0.30599999999999999, 0.30599999999999999), + (0.18181818181818182, 0.63, 0.63), + (0.27272727272727271, 0.85299999999999998, 0.85299999999999998), + (0.36363636363636365, 0.97299999999999998, 0.97299999999999998), + (0.45454545454545459, 1.0, 1.0), + (0.54545454545454541, 1.0, 1.0), + (0.63636363636363635, 0.88, 0.88), + (0.72727272727272729, 0.67900000000000005, 0.67900000000000005), + (0.81818181818181823, 0.42999999999999999, 0.42999999999999999), + (0.90909090909090917, 0.14999999999999999, 0.14999999999999999), + (1.0, 0.0, 0.0), + ], + 'red': [ + (0.0, 0.16400000000000001, 0.16400000000000001), + (0.090909090909090912, 0.14999999999999999, 0.14999999999999999), + (0.18181818181818182, 0.25, 0.25), + (0.27272727272727271, 0.45000000000000001, 0.45000000000000001), + (0.36363636363636365, 0.67000000000000004, 0.67000000000000004), + (0.45454545454545459, 0.88, 0.88), + (0.54545454545454541, 1.0, 1.0), + (0.63636363636363635, 1.0, 1.0), + (0.72727272727272729, 1.0, 1.0), + (0.81818181818181823, 0.96999999999999997, 0.96999999999999997), + (0.90909090909090917, 0.84999999999999998, 0.84999999999999998), + (1.0, 0.65000000000000002, 0.65000000000000002), + ], +} + +# LangRainbow12 developed to be friendlier to color blindness and B&W printing +# than most rainbow color scales. +_LangRainbow12_data = { + 'blue': [ + (0.0, 0.97000000000000008, 0.97000000000000008), + (0.090909090909090912, 0.95599999999999996, 0.95599999999999996), + (0.18181818181818182, 0.94500000000000006, 0.94500000000000006), + (0.27272727272727271, 0.93700000000000006, 0.93700000000000006), + (0.36363636363636365, 0.93199999999999994, 0.93199999999999994), + (0.45454545454545459, 0.92999999999999994, 0.92999999999999994), + (0.54545454545454541, 0.14900000000000002, 0.14900000000000002), + (0.63636363636363635, 0.060000000000000053, 0.060000000000000053), + (0.72727272727272729, 0.042000000000000037, 0.042000000000000037), + (0.81818181818181823, 0.027000000000000024, 0.027000000000000024), + (0.90909090909090917, 0.015000000000000013, 0.015000000000000013), + (1.0, 0.0060000000000000053, 0.0060000000000000053), + ], + 'green': [ + (0.0, 0.82999999999999996, 0.82999999999999996), + (0.090909090909090912, 0.7240000000000002, 0.7240000000000002), + (0.18181818181818182, 0.64799999999999991, 0.64799999999999991), + (0.27272727272727271, 0.67660000000000009, 0.67660000000000009), + (0.36363636363636365, 0.76879999999999971, 0.76879999999999971), + (0.45454545454545459, 0.92999999999999983, 0.92999999999999983), + (0.54545454545454541, 0.93100000000000005, 0.93100000000000005), + (0.63636363636363635, 0.75929999999999997, 0.75929999999999997), + (0.72727272727272729, 0.54600000000000004, 0.54600000000000004), + (0.81818181818181823, 0.35999999999999999, 0.35999999999999999), + (0.90909090909090917, 0.20500000000000002, 0.20500000000000002), + (1.0, 0.08415600000000005, 0.08415600000000005), + ], + 'red': [ + (0.0, 0.89999999999999991, 0.89999999999999991), + (0.090909090909090912, 0.77039999999999997, 0.77039999999999997), + (0.18181818181818182, 0.61499999999999999, 0.61499999999999999), + (0.27272727272727271, 0.50300000000000011, 0.50300000000000011), + (0.36363636363636365, 0.38800000000000012, 0.38800000000000012), + (0.45454545454545459, 0.27000000000000024, 0.27000000000000024), + (0.54545454545454541, 0.93099999999999983, 0.93099999999999983), + (0.63636363636363635, 0.89999999999999991, 0.89999999999999991), + (0.72727272727272729, 0.79800000000000004, 0.79800000000000004), + (0.81818181818181823, 0.69299999999999995, 0.69299999999999995), + (0.90909090909090917, 0.58500000000000008, 0.58500000000000008), + (1.0, 0.4740000000000002, 0.4740000000000002), + ], +} + +datad = { + 'NWSRef': _NWSRef_data, + 'NWSVel': _NWSVel_data, + 'NWS_SPW': _NWS_SPW_data, + 'RefDiff': _RefDiff_data, + 'Carbone11': _Carbone11_data, + 'Carbone17': _Carbone17_data, + 'RRate11': _RRate11_data, + 'BlueBrown10': _BlueBrown10_data, + 'BlueBrown11': _BlueBrown11_data, + 'Theodore16': _Theodore16_data, + 'EWilson17': _EWilson17_data, + 'Wild25': _Wild25_data, + 'SCook18': _SCook18_data, + 'PD17': _PD17_data, + 'Gray5': _Gray5_data, + 'Gray9': _Gray9_data, + 'SymGray12': _SymGray12_data, + 'Carbone42': _Carbone42_data, + 'BrBu12': _BrBu12_data, + 'GrMg16': _GrMg16_data, + 'BrBu10': _BrBu10_data, + 'Bu10': _Bu10_data, + 'BuDOr12': _BuDOr12_data, + 'StepSeq25': _StepSeq25_data, + 'RdYlBu11b': _RdYlBu11b_data, + 'Bu7': _Bu7_data, + 'BuOr12': _BuOr12_data, + 'BuGr14': _BuGr14_data, + 'BuDRd18': _BuDRd18_data, + 'BuDOr18': _BuDOr18_data, + 'BuOr8': _BuOr8_data, + 'Cat12': _Cat12_data, + 'BuGy8': _BuGy8_data, + 'BuOrR14': _BuOrR14_data, + 'BuOr10': _BuOr10_data, + 'BuDRd12': _BuDRd12_data, + 'LangRainbow12': _LangRainbow12_data, +} diff --git a/cmweather/_cm_colorblind.py b/cmweather/_cm_colorblind.py new file mode 100644 index 0000000..e55c0d5 --- /dev/null +++ b/cmweather/_cm_colorblind.py @@ -0,0 +1,60 @@ +""" +Data for colorblind friendly radar colormaps + +""" +import os + +import numpy as np + + +def yuv_rainbow_24(nc): + path1 = np.linspace(0.8 * np.pi, 1.8 * np.pi, nc) + path2 = np.linspace(-0.33 * np.pi, 0.33 * np.pi, nc) + + y = np.concatenate( + [np.linspace(0.3, 0.85, nc * 2 // 5), np.linspace(0.9, 0.0, nc - nc * 2 // 5)] + ) + u = 0.40 * np.sin(path1) + v = 0.55 * np.sin(path2) + 0.1 + + rgb_from_yuv = np.array([[1, 0, 1.13983], [1, -0.39465, -0.58060], [1, 2.03211, 0]]) + cmap_dict = {'blue': [], 'green': [], 'red': []} + for i in range(len(y)): + yuv = np.array([y[i], u[i], v[i]]) + rgb = rgb_from_yuv.dot(yuv) + red_tuple = (i / (len(y) - 1.0), rgb[0], rgb[0]) + green_tuple = (i / (len(y) - 1.0), rgb[1], rgb[1]) + blue_tuple = (i / (len(y) - 1.0), rgb[2], rgb[2]) + cmap_dict['blue'].append(blue_tuple) + cmap_dict['red'].append(red_tuple) + cmap_dict['green'].append(green_tuple) + + return cmap_dict + + +# balance colormap from cmocean project +# courtesy Kristen Thyng + +# Thyng, K. M., Greene, C. A., Hetland, R. D., Zimmerle, H. M., & DiMarco, S. F. (2016). +# True colors of oceanography. Oceanography, 29(3), 10. + +data_dir = os.path.split(__file__)[0] +bal_rgb_vals = np.genfromtxt(os.path.join(data_dir, 'balance-rgb.txt')) + + +# "Spectral"-like colormaps for radar reflectivity +# ChaseSpectral developed by Randy Chase with assistance from Sam Gardner and Jonathan Thielen +# SpectralExtended developed by Jonathan Thielen based on ChaseSpectral + +chase_spectral_rgb_vals = np.genfromtxt(os.path.join(data_dir, 'chase-spectral-rgb.txt')) +spectral_ext_rgb_vals = np.genfromtxt(os.path.join(data_dir, 'spectral-extended-rgb.txt')) + + +# HomeyerRainbow developed by Cameron Homeyer with assistance from Bobby Jackson + +datad = { + 'HomeyerRainbow': yuv_rainbow_24(15), + 'balance': bal_rgb_vals, + 'ChaseSpectral': chase_spectral_rgb_vals, + 'SpectralExtended': spectral_ext_rgb_vals, +} diff --git a/cmweather/balance-rgb.txt b/cmweather/balance-rgb.txt new file mode 100644 index 0000000..5d41696 --- /dev/null +++ b/cmweather/balance-rgb.txt @@ -0,0 +1,256 @@ +9.317630180115785143e-02 1.111733294776027225e-01 2.615123885530547532e-01 +9.697151501690241815e-02 1.168702109792841837e-01 2.730963071061036085e-01 +1.009688451686782534e-01 1.223931506799195018e-01 2.849103610759459171e-01 +1.049927013864766501e-01 1.278243708004132007e-01 2.968738052891420898e-01 +1.089874020283561201e-01 1.331935038256579495e-01 3.089538370897204067e-01 +1.129223008178065757e-01 1.385131449459734432e-01 3.211528356563003173e-01 +1.167787372671460905e-01 1.437907235567953967e-01 3.334763137669404798e-01 +1.205463368759411846e-01 1.490330498991488395e-01 3.459192712822865556e-01 +1.242159653236002137e-01 1.542448960991174289e-01 3.584824902114073786e-01 +1.277778433781233958e-01 1.594292997650425259e-01 3.711737182907450250e-01 +1.312243830518974863e-01 1.645899274655008293e-01 3.839938980982077199e-01 +1.345490385720651272e-01 1.697307784244891371e-01 3.969402498465131601e-01 +1.377440294143187915e-01 1.748552489081271477e-01 4.100132193954066917e-01 +1.407996250839473606e-01 1.799660943911219058e-01 4.232173781877683894e-01 +1.437072840727513789e-01 1.850671827584920992e-01 4.365502201613832844e-01 +1.464560785040432134e-01 1.901619264187031366e-01 4.500130967746718835e-01 +1.490348239402249919e-01 1.952544786288682443e-01 4.636036238706138235e-01 +1.514309258266629821e-01 2.003493745808981319e-01 4.773185296806868871e-01 +1.536266468153191511e-01 2.054503782969492598e-01 4.911623505831314018e-01 +1.556073044691906326e-01 2.105638989188344801e-01 5.051241984185815825e-01 +1.573534941852142433e-01 2.156962129560367203e-01 5.191977165014443063e-01 +1.588411077773489166e-01 2.208540630983729658e-01 5.333780986311171812e-01 +1.600396310676128475e-01 2.260448054488821412e-01 5.476626851250718797e-01 +1.609205321230856855e-01 2.312792188936386995e-01 5.620307968352061812e-01 +1.614455266589641669e-01 2.365687572657042548e-01 5.764661948566720540e-01 +1.615687582201552897e-01 2.419271731798259828e-01 5.909472809712390529e-01 +1.612352769386722617e-01 2.473711867632350236e-01 6.054446786315181850e-01 +1.603793369556453796e-01 2.529213001868846900e-01 6.199179403497330210e-01 +1.589165703217830516e-01 2.586022090180682964e-01 6.343183928801525706e-01 +1.567387388150081051e-01 2.644444177118183137e-01 6.485832602021305293e-01 +1.537422741701028883e-01 2.704875236386605764e-01 6.625942914402649375e-01 +1.497539850217274870e-01 2.767772906869140348e-01 6.762428866538948702e-01 +1.446190280141932405e-01 2.833703371099008383e-01 6.893303155405390292e-01 +1.381506719438430897e-01 2.903290266080994497e-01 7.016166706228140759e-01 +1.301937481102784511e-01 2.977137475582261605e-01 7.127928058673724809e-01 +1.207056294812082625e-01 3.055623316038361126e-01 7.225101391519437311e-01 +1.098226938414934850e-01 3.138651882979107688e-01 7.304694442052537262e-01 +9.795843445627248902e-02 3.225431024585883599e-01 7.365271649499161022e-01 +8.570023827886968926e-02 3.314661612751826358e-01 7.407718073497575606e-01 +7.367688675533522191e-02 3.404967458048910878e-01 7.434693436710165804e-01 +6.252232597310111717e-02 3.495197377754474255e-01 7.449562973790243570e-01 +5.283258403911513662e-02 3.584600781237165523e-01 7.455451847703780111e-01 +4.520938539971628561e-02 3.672749347230809258e-01 7.454889092261348660e-01 +4.023631323597558207e-02 3.759418522020857023e-01 7.449841371058433248e-01 +3.831576485736640919e-02 3.844536826035842014e-01 7.441746283479093726e-01 +3.948349528027724625e-02 3.928137536670130436e-01 7.431581338661337188e-01 +4.345843888396401511e-02 4.010237097170425424e-01 7.420243047032398787e-01 +4.962431895510652918e-02 4.090953160508887798e-01 7.408166831290733390e-01 +5.739800117053886486e-02 4.170346954168047682e-01 7.395877539875740370e-01 +6.626017539288729663e-02 4.248521500099918247e-01 7.383650122111450331e-01 +7.582789138192139178e-02 4.325572249230948407e-01 7.371697936237424642e-01 +8.583710398799437868e-02 4.401583433039914506e-01 7.360206802189788178e-01 +9.611023898027164225e-02 4.476635745571445613e-01 7.349312516211791158e-01 +1.065303883460570755e-01 4.550804241299538089e-01 7.339117735870001047e-01 +1.170216465020320479e-01 4.624159111924117660e-01 7.329693696980987827e-01 +1.275357983203295742e-01 4.696767197731893662e-01 7.321074968220891988e-01 +1.380432121650685962e-01 4.768686794858796318e-01 7.313295149248254523e-01 +1.485266661140711986e-01 4.839970747487774561e-01 7.306374469250058734e-01 +1.589774367328510296e-01 4.910666599003393196e-01 7.300322634722052895e-01 +1.693927097070233589e-01 4.980816767007848478e-01 7.295140990156090410e-01 +1.797738575018875684e-01 5.050458714090990675e-01 7.290824177866462863e-01 +1.901252883653588299e-01 5.119625097219066001e-01 7.287361439246872186e-01 +2.004536741991692628e-01 5.188343886055641896e-01 7.284737667569484154e-01 +2.107674308545827713e-01 5.256638445778923918e-01 7.282934299212738827e-01 +2.210763664417479957e-01 5.324527583974503209e-01 7.281930113726282627e-01 +2.313914398990180310e-01 5.392025564688637251e-01 7.281702001646749300e-01 +2.417245888287989919e-01 5.459142096302009861e-01 7.282225751002735503e-01 +2.520885959217774586e-01 5.525882304010224511e-01 7.283476897674903139e-01 +2.624969693582706598e-01 5.592246702775622857e-01 7.285431679898072277e-01 +2.729638158446638374e-01 5.658231192947545951e-01 7.288068131774058100e-01 +2.835036864649327915e-01 5.723827108458280355e-01 7.291367343046032401e-01 +2.941313761905648416e-01 5.789021356407471064e-01 7.295314900628433463e-01 +3.048616586033888742e-01 5.853796696249742304e-01 7.299902509334000866e-01 +3.157089391891977348e-01 5.918132215225327952e-01 7.305129762764809298e-01 +3.266868146870496870e-01 5.982004061606387424e-01 7.311005998876300982e-01 +3.378075337747806772e-01 6.045386495071959354e-01 7.317552128195412564e-01 +3.490818000871770965e-01 6.108253115449155946e-01 7.324796800093837934e-01 +3.605169723334935572e-01 6.170578982409773428e-01 7.332792190500567742e-01 +3.721163789840524760e-01 6.232343167456089184e-01 7.341612307067191256e-01 +3.838798790902256397e-01 6.293530561660979350e-01 7.351337469132933622e-01 +3.958028137607393915e-01 6.354134382185918639e-01 7.362060213183361235e-01 +4.078755353103907799e-01 6.414158575290970221e-01 7.373884640869047269e-01 +4.200825599604326444e-01 6.473620651543986471e-01 7.386930839012650907e-01 +4.324066537782813580e-01 6.532548504780409937e-01 7.401294470548486215e-01 +4.448270147115060968e-01 6.590982595876608841e-01 7.417069328868316491e-01 +4.573210929073768805e-01 6.648973878622411737e-01 7.434335263117878290e-01 +4.698658823662555939e-01 6.706581495075844002e-01 7.453153847182404368e-01 +4.824391638200489774e-01 6.763869948243975694e-01 7.473565606883062484e-01 +4.950205546820442004e-01 6.820906132919950515e-01 7.495589040396917202e-01 +5.075922656244505893e-01 6.877756591216436233e-01 7.519221394187723950e-01 +5.201395209800695474e-01 6.934485275105084501e-01 7.544440922042097153e-01 +5.326506556783058288e-01 6.991151975856019218e-01 7.571210204550441469e-01 +5.451151059190834092e-01 7.047815278674717243e-01 7.599492971931861574e-01 +5.575181558550945660e-01 7.104543187762520917e-01 7.629291415211207905e-01 +5.698635397781144363e-01 7.161365136199150383e-01 7.660488334775965580e-01 +5.821485860154738123e-01 7.218322109491160932e-01 7.693023567855580280e-01 +5.943602368020499682e-01 7.275477994362923306e-01 7.726916325476315128e-01 +6.065080899095934841e-01 7.332844479726540188e-01 7.762041114816310428e-01 +6.185864665812587093e-01 7.390466790641196937e-01 7.798383670352863062e-01 +6.305963554035781682e-01 7.448373397672364282e-01 7.835892177406345027e-01 +6.425403291413834816e-01 7.506587685331359561e-01 7.874510644025978223e-01 +6.544185977825304201e-01 7.565137308188258913e-01 7.914204294842384080e-01 +6.662315287143806275e-01 7.624048800378464552e-01 7.954941819359623301e-01 +6.779850393157120791e-01 7.683332855369554570e-01 7.996659972294575258e-01 +6.896755013217630292e-01 7.743024253591546113e-01 8.039360994237751967e-01 +7.013107513266423343e-01 7.803126348729136907e-01 8.082975524678305268e-01 +7.128885314512861671e-01 7.863668558670167119e-01 8.127502175082055302e-01 +7.244112448085553435e-01 7.924667152464015540e-01 8.172911293271547528e-01 +7.358836989688380958e-01 7.986130654557248576e-01 8.219158971644889844e-01 +7.473044386446877629e-01 8.048084510111997991e-01 8.266243361574353576e-01 +7.586759860087319840e-01 8.110542493572184819e-01 8.314137476978961105e-01 +7.700007022560961811e-01 8.173518180665149124e-01 8.362815657919246970e-01 +7.812789490175476859e-01 8.237030526155880716e-01 8.412265533654796901e-01 +7.925116214732782494e-01 8.301096652946458043e-01 8.462470956714009951e-01 +8.036997510351909790e-01 8.365733017623517842e-01 8.513414099007207136e-01 +8.148431081888104499e-01 8.430959697406819053e-01 8.565084542610862384e-01 +8.259421593641688153e-01 8.496794646156250463e-01 8.617465433522450979e-01 +8.369967539127278755e-01 8.563257710703112702e-01 8.670541605111352634e-01 +8.480038340013845710e-01 8.630377874332209043e-01 8.724315628924932398e-01 +8.589628398368314155e-01 8.698176873531217046e-01 8.778768407867350021e-01 +8.698718779534676537e-01 8.766681056859056964e-01 8.833884311630415542e-01 +8.807225950585577667e-01 8.835937613774932364e-01 8.889689808541467730e-01 +8.915125639987498962e-01 8.905976582376062822e-01 8.946157932523199907e-01 +9.022321856472953483e-01 8.976851819173250480e-01 9.003303399902121695e-01 +9.128629530771473766e-01 9.048646775143293075e-01 9.061201920398328502e-01 +9.233906674988954233e-01 9.121434538185491103e-01 9.119872701021832784e-01 +9.337690699519377580e-01 9.195389121458987791e-01 9.179604265763980919e-01 +9.438768578707728008e-01 9.270905817099515112e-01 9.241478407896098757e-01 +9.450241336950316873e-01 9.267273985243987822e-01 9.232017297254778709e-01 +9.401771503305338396e-01 9.175010969420787088e-01 9.127353023021862466e-01 +9.357788176131993652e-01 9.081849602977229985e-01 9.019958970504049489e-01 +9.316195516453253944e-01 8.988455936080792519e-01 8.911247259869568005e-01 +9.276366903952597553e-01 8.895015346080178409e-01 8.801625091446737548e-01 +9.237963723082156520e-01 8.801619939913720714e-01 8.691306632065185500e-01 +9.200767818087643990e-01 8.708323115565800299e-01 8.580426479951916985e-01 +9.164622665155582881e-01 8.615158650696722598e-01 8.469079246742292622e-01 +9.129409700010679973e-01 8.522148302070590153e-01 8.357335125969563849e-01 +9.095033897880691054e-01 8.429306461313940124e-01 8.245249535921664874e-01 +9.061413505699446036e-01 8.336643536120030840e-01 8.132870275157044748e-01 +9.028482401464246188e-01 8.244164969479621519e-01 8.020234992942889551e-01 +8.996183458250350817e-01 8.151873435674267254e-01 7.907375926293952473e-01 +8.964464017336835067e-01 8.059770371403549571e-01 7.794323253122593664e-01 +8.933280984986637918e-01 7.967854062668440207e-01 7.681100636805964221e-01 +8.902585423162623357e-01 7.876125240246927284e-01 7.567737971546929510e-01 +8.872341531517662361e-01 7.784580066111700392e-01 7.454255275413548265e-01 +8.842515223931736168e-01 7.693214239645329577e-01 7.340672060990318659e-01 +8.813075692568397290e-01 7.602022354826803996e-01 7.227005864751234743e-01 +8.783989821496545058e-01 7.511000050313838550e-01 7.113277185683902770e-01 +8.755220238171187441e-01 7.420144833045193566e-01 6.999511354610528091e-01 +8.726749843514796101e-01 7.329446408023255755e-01 6.885716411869530207e-01 +8.698547215416584377e-01 7.238900130170270453e-01 6.771913952144653637e-01 +8.670596624933959440e-01 7.148495108503407636e-01 6.658111988100340328e-01 +8.642855405275950975e-01 7.058231520382152180e-01 6.544344321908397433e-01 +8.615312235931757989e-01 6.968096810882964398e-01 6.430616521710770250e-01 +8.587945613193220806e-01 6.878082471826545419e-01 6.316944172411573799e-01 +8.560737697641845889e-01 6.788178389092562881e-01 6.203340096274330140e-01 +8.533647514077651319e-01 6.698384520573987810e-01 6.089840337795546787e-01 +8.506671813652186831e-01 6.608684511065675560e-01 5.976445430267850467e-01 +8.479803760976425409e-01 6.519062997089123401e-01 5.863159553827915760e-01 +8.452992890124730874e-01 6.429524288345007665e-01 5.750030931030669645e-01 +8.426233261680482478e-01 6.340052727647743636e-01 5.637064935396088883e-01 +8.399526706457652869e-01 6.250628349958033958e-01 5.524259435430849408e-01 +8.372823606159069953e-01 6.161255232979981900e-01 5.411665126797099434e-01 +8.346115013722664733e-01 6.071918418882036317e-01 5.299292934604437066e-01 +8.319416971332159738e-01 5.982589838531851001e-01 5.187128588454869016e-01 +8.292658393187906096e-01 5.893284247613858051e-01 5.075248627530006829e-01 +8.265865191963318592e-01 5.803968068112989043e-01 4.963630791145096643e-01 +8.239007716165898110e-01 5.714634777707676694e-01 4.852311209906218226e-01 +8.212047236427109098e-01 5.625283035002011101e-01 4.741337367172645534e-01 +8.185028441784485409e-01 5.535866371885466153e-01 4.630669974760600605e-01 +8.157857974447502158e-01 5.446412013022012832e-01 4.520417208585162938e-01 +8.130598755024439628e-01 5.356861530869529986e-01 4.410523109242584505e-01 +8.103157295614864530e-01 5.267242547499885186e-01 4.301100025814295069e-01 +8.075600763067809496e-01 5.177491168092126506e-01 4.192090517728162546e-01 +8.047829983640772955e-01 5.087638530967844019e-01 4.083617627821872209e-01 +8.019913643823087801e-01 4.997616265469864705e-01 3.975626288212918968e-01 +7.991776069093209367e-01 4.907441098507538402e-01 3.868219510427612362e-01 +7.963412506983238437e-01 4.817086347924898759e-01 3.761426799347312722e-01 +7.934853391750592566e-01 4.726500967551418020e-01 3.655242898980974875e-01 +7.906020861628313412e-01 4.635701843716890092e-01 3.549783159786080722e-01 +7.876922078438237662e-01 4.544650164439674178e-01 3.445075235304189132e-01 +7.847584433242353885e-01 4.453290095612297272e-01 3.341130019968927001e-01 +7.817943763481589592e-01 4.361626378195018194e-01 3.238062118505327658e-01 +7.787986023472407426e-01 4.269628178617235204e-01 3.135938243777520174e-01 +7.757700306772615795e-01 4.177259860608659170e-01 3.034828822113839197e-01 +7.727073763310282617e-01 4.084484227667745659e-01 2.934814547614346680e-01 +7.696090956246998127e-01 3.991262801626034307e-01 2.835988305456279002e-01 +7.664733140591651894e-01 3.897556205902359405e-01 2.738457322824414675e-01 +7.632977462662783319e-01 3.803324674237734127e-01 2.642345539395078435e-01 +7.600796083228246180e-01 3.708528707479538111e-01 2.547796171102231777e-01 +7.568155232311498670e-01 3.613129902046505748e-01 2.454974414736316723e-01 +7.535014210471865370e-01 3.517091973617619272e-01 2.364070204678299647e-01 +7.501324359996863755e-01 3.420381997805444496e-01 2.275300884680255264e-01 +7.467083678923864820e-01 3.322917332197801166e-01 2.188868097223075626e-01 +7.432206214135255173e-01 3.224689513722865386e-01 2.105072965395320406e-01 +7.396626352495903056e-01 3.125667176366879740e-01 2.024226257801388651e-01 +7.360276592028781595e-01 3.025817058357924139e-01 1.946669682951213953e-01 +7.323075054306246168e-01 2.925115926125090304e-01 1.872788656593587786e-01 +7.284886793139783157e-01 2.823599622393618280e-01 1.803025816545419935e-01 +7.245597795551689257e-01 2.721283507524605572e-01 1.737830391183990686e-01 +7.205052554891407945e-01 2.618237699935750395e-01 1.677681078164939554e-01 +7.163077524522897255e-01 2.514568470079543427e-01 1.623050371038979034e-01 +7.119477511381474555e-01 2.410431671523047270e-01 1.574376915741905747e-01 +7.074046106878864038e-01 2.306029576903746436e-01 1.532027782639572566e-01 +7.026577763956233236e-01 2.201603247696940491e-01 1.496264194674281345e-01 +6.976856380676357272e-01 2.097462458983016809e-01 1.467193374830310926e-01 +6.924700993857928477e-01 1.993923480969033712e-01 1.444757571309586708e-01 +6.869956304794752056e-01 1.891326217641629281e-01 1.428720296451389260e-01 +6.812509389222788370e-01 1.790005719286615893e-01 1.418684919672574540e-01 +6.752290404511711586e-01 1.690283951735306323e-01 1.414126182563193168e-01 +6.689272347019628029e-01 1.592460113853382819e-01 1.414436246187784352e-01 +6.623462930327670417e-01 1.496814992323431404e-01 1.418966965532167945e-01 +6.554894621920681619e-01 1.403622590219790744e-01 1.427060758527507467e-01 +6.483618361407726960e-01 1.313154491044398742e-01 1.438093776439538507e-01 +6.409690900196458596e-01 1.225708994915949840e-01 1.451466621124405387e-01 +6.333171868548845840e-01 1.141616381299322275e-01 1.466635532234118466e-01 +6.254117682555888624e-01 1.061263207405454406e-01 1.483083323541042609e-01 +6.172580943089347461e-01 9.850955940169045522e-02 1.500342818055006577e-01 +6.088612137441752337e-01 9.136271116346880716e-02 1.517946748017894032e-01 +6.002260075568476294e-01 8.474268845605749390e-02 1.535471889644061949e-01 +5.913580665313180607e-01 7.870937974751122945e-02 1.552475962263118736e-01 +5.822640724597829553e-01 7.332110668924821106e-02 1.568528524628541587e-01 +5.729523242155735163e-01 6.862870182587510470e-02 1.583209522546889236e-01 +5.634337248699358147e-01 6.466696013382158825e-02 1.596097119552595534e-01 +5.537224099506778963e-01 6.144626935987178989e-02 1.606779590153868675e-01 +5.438351395676241928e-01 5.894914800814857886e-02 1.614895452047331870e-01 +5.337912133736735232e-01 5.712858102881844535e-02 1.620138116792186611e-01 +5.236119994512118403e-01 5.591095129374230172e-02 1.622265257547594042e-01 +5.133214710039554207e-01 5.519900277454217047e-02 1.621082697921440163e-01 +5.029415119053961547e-01 5.489268743951671026e-02 1.616521201270082198e-01 +4.924920560465744224e-01 5.489497800522934179e-02 1.608594568967110505e-01 +4.819970419875420631e-01 5.509874164212420766e-02 1.597294678457327477e-01 +4.714685312956432006e-01 5.543752958786138385e-02 1.582803570073196830e-01 +4.609298385556733768e-01 5.581817450175154821e-02 1.565161535498545142e-01 +4.503882306974699712e-01 5.620093240974462917e-02 1.544603609580012249e-01 +4.398550445667638309e-01 5.653967482715421822e-02 1.521296397207116124e-01 +4.293395854267749168e-01 5.679892905513854451e-02 1.495413040881575784e-01 +4.188488052114383020e-01 5.695351275720081374e-02 1.467131019928892832e-01 +4.083874753510262079e-01 5.698679735961746651e-02 1.436626150429021476e-01 +3.979584206972520133e-01 5.688899115379054960e-02 1.404067946849407167e-01 +3.875661805934746962e-01 5.664744510513378128e-02 1.369596232193354413e-01 +3.772162562473511671e-01 5.624858727791105101e-02 1.333332882463785507e-01 +3.669009710312429173e-01 5.571027577451325569e-02 1.295456315830630090e-01 +3.566289201162299305e-01 5.501236188184371184e-02 1.256041268313332904e-01 +3.463946141954395985e-01 5.416713051157899528e-02 1.215221064681567403e-01 +3.362018241761821069e-01 5.316577293008726418e-02 1.173074037138401304e-01 +3.260424402261492549e-01 5.202497987647033972e-02 1.129713889339670624e-01 +3.159278573165507087e-01 5.071934147936141973e-02 1.085175153831856448e-01 +3.058440467352613878e-01 4.927677960771512794e-02 1.039569210271578392e-01 +2.957906289005873823e-01 4.769542811326495796e-02 9.929501197500162357e-02 +2.857761694878986902e-01 4.595516903310007534e-02 9.453469664208309642e-02 +2.757883929056377248e-01 4.407729543414404955e-02 8.968329380554104779e-02 +2.658251433737037206e-01 4.206161274965801444e-02 8.474472186508703875e-02 +2.558840557281191197e-01 3.990046570244704105e-02 7.972236454569985031e-02 +2.459622220783502511e-01 3.762595141506584057e-02 7.461913567560218841e-02 +2.360563646646140490e-01 3.529747994604028744e-02 6.943744239412558139e-02 diff --git a/cmweather/chase-spectral-rgb.txt b/cmweather/chase-spectral-rgb.txt new file mode 100644 index 0000000..142b10d --- /dev/null +++ b/cmweather/chase-spectral-rgb.txt @@ -0,0 +1,180 @@ +2.491587318630544227e-03 0.000000000000000000e+00 1.238497574313402773e-02 +1.921773759405308313e-02 1.328624481639428985e-02 3.231025819473654775e-02 +3.658093634274969114e-02 2.805423983363999896e-02 5.381675386098778296e-02 +5.294470009390365300e-02 4.244028154055207863e-02 7.213062231236241906e-02 +6.658209706708043130e-02 5.494952540396814272e-02 8.788848915960603692e-02 +7.828532464084167475e-02 6.569663206458462024e-02 1.019133473263799106e-01 +8.774627903391646333e-02 7.532763064627764904e-02 1.160366283830516765e-01 +9.608542813730694410e-02 8.388232266148029637e-02 1.305319484336847080e-01 +1.051990600061633307e-01 9.139766310160754581e-02 1.453366611350159210e-01 +1.143925332853241994e-01 9.895719929230178957e-02 1.603565455412020724e-01 +1.236459743440020964e-01 1.065867695949899718e-01 1.755810433757895583e-01 +1.329594056770956323e-01 1.142846467839237490e-01 1.910026176979827961e-01 +1.423326780515855872e-01 1.220491880997151557e-01 2.066143053850765243e-01 +1.517655114876109712e-01 1.298788305108602437e-01 2.224096588254607099e-01 +1.612575264712807765e-01 1.377720860108199441e-01 2.383826936302203547e-01 +1.708082679545429305e-01 1.457275370563173578e-01 2.545278421651003264e-01 +1.804172239592328475e-01 1.537438322082816111e-01 2.708399124412158576e-01 +1.900838400977104548e-01 1.618196820080670395e-01 2.873140518120346765e-01 +1.998075309712657455e-01 1.699538551029381450e-01 3.039457149186380325e-01 +2.095876891591502700e-01 1.781451746228690791e-01 3.207306353596305337e-01 +2.194236923329696554e-01 1.863925148032264389e-01 3.376648006126894974e-01 +2.293149089017260112e-01 1.946947978433819226e-01 3.547444297895380738e-01 +2.392607024975815788e-01 2.030509909887441289e-01 3.719659538591549297e-01 +2.492604355416123130e-01 2.114601038224409590e-01 3.893259980226194128e-01 +2.593134720756320455e-01 2.199211857524749347e-01 4.068213659661921167e-01 +2.694191800058509667e-01 2.284333236803017253e-01 4.244490257569572544e-01 +2.795769328732853332e-01 2.369956398372606854e-01 4.422060971779609995e-01 +2.897861112420852536e-01 2.456072897759570273e-01 4.600898403277725035e-01 +3.000461037784800111e-01 2.542674605044711322e-01 4.780976453333534715e-01 +3.103563080786291284e-01 2.629753687521054761e-01 4.962270230455848030e-01 +3.207161312923115792e-01 2.717302593562054835e-01 5.144755966042726669e-01 +3.311249905804125038e-01 2.805314037604059729e-01 5.328410937743832676e-01 +3.415823584034797800e-01 2.893781878355812243e-01 5.513208663517170649e-01 +3.520864698846795648e-01 2.982709895139585288e-01 5.699100705078143925e-01 +3.626292452733528293e-01 3.072149700795872573e-01 5.885931009906794076e-01 +3.731725126883799759e-01 3.162349022923335307e-01 6.073166391422907262e-01 +3.835684996112458944e-01 3.254178172965314642e-01 6.259301309289746484e-01 +3.933843749267976198e-01 3.349944088647703877e-01 6.441067607805428530e-01 +4.016713180922427684e-01 3.454222331875328456e-01 6.613179588797127861e-01 +4.069156093882402847e-01 3.573463785025636219e-01 6.769567442797975731e-01 +4.074599054729932113e-01 3.713274293086404332e-01 6.905909806936888495e-01 +4.022968399432315101e-01 3.874670617414102125e-01 7.021598000653095362e-01 +3.916190272313544996e-01 4.052882310067690286e-01 7.119412504953325227e-01 +3.766076548944487512e-01 4.240177096535736601e-01 7.203375941837565355e-01 +3.586879168051679834e-01 4.429805325403826655e-01 7.276780477656282775e-01 +3.389684950526641316e-01 4.617722727676918937e-01 7.341484532598764323e-01 +3.182701330608626034e-01 4.801975992804505267e-01 7.397743004894358210e-01 +2.975380777560406309e-01 4.981643586862719020e-01 7.443189423745032451e-01 +2.782356343097356355e-01 5.156450695105297966e-01 7.470997393591877200e-01 +2.624369809124530439e-01 5.326711207928083169e-01 7.469866546910617355e-01 +2.523316670179955312e-01 5.493025406502458630e-01 7.428566828712679371e-01 +2.491179225414517084e-01 5.655840527839965937e-01 7.343172939531251719e-01 +2.522199829625308976e-01 5.815309105792504374e-01 7.220388721983573843e-01 +2.597984989666126121e-01 5.971520290969289935e-01 7.073314124740867070e-01 +2.699418598131884117e-01 6.124761563034991640e-01 6.913968891923087945e-01 +2.813751612175088845e-01 6.275493875453178605e-01 6.749240519450622200e-01 +2.935126820811935766e-01 6.424053926032058381e-01 6.582127371770206681e-01 +3.063185037098662411e-01 6.570224289209322110e-01 6.415967764035395149e-01 +3.202520046229441197e-01 6.712877289433464290e-01 6.258365919199179173e-01 +3.361767323789121020e-01 6.850088089981186679e-01 6.121319301833816340e-01 +3.549770745820060580e-01 6.979979864067664685e-01 6.015997055370958524e-01 +3.769746644442351635e-01 7.101849199617357167e-01 5.945972934672992816e-01 +4.016592555188410740e-01 7.216625973555056417e-01 5.905427889573091615e-01 +4.279927783460485413e-01 7.326300747025513704e-01 5.883846980218587763e-01 +4.549589537484718949e-01 7.432906607111362529e-01 5.872050838318993993e-01 +4.819169604718663291e-01 7.537845486656257199e-01 5.864561680492161866e-01 +5.086265718380801326e-01 7.641818771945083633e-01 5.858423203908765808e-01 +5.350793431627743901e-01 7.745114539811094323e-01 5.851363495209892518e-01 +5.613104434757932859e-01 7.847933147539455367e-01 5.840978366506985875e-01 +5.872849105771840161e-01 7.950573993163035924e-01 5.825078415106638152e-01 +6.128844828768119646e-01 8.053428878825712456e-01 5.802646269966033055e-01 +6.379939021096188156e-01 8.156801806857338910e-01 5.774330409641608153e-01 +6.626184816022165913e-01 8.260702180199759326e-01 5.741685512701821814e-01 +6.869079831407115533e-01 8.364827703370800727e-01 5.705948745714631842e-01 +7.110428610159712504e-01 8.468792024067447466e-01 5.667905704270348455e-01 +7.350865447037018274e-01 8.572398237629603734e-01 5.629180508629930690e-01 +7.589321151074746030e-01 8.675724108554083713e-01 5.593878412660627797e-01 +7.823504956513493980e-01 8.779001029436256376e-01 5.569777403249801528e-01 +8.050554698778819018e-01 8.882474809582021624e-01 5.568616413755242966e-01 +8.267512092510692634e-01 8.986387786400020783e-01 5.604108141197535753e-01 +8.472095149843594797e-01 9.091006838255575317e-01 5.686604283247991276e-01 +8.663811145860760288e-01 9.196556199980889801e-01 5.817274532333130965e-01 +8.844526825034170203e-01 9.303074257189875018e-01 5.987181648235022635e-01 +9.017752049790235258e-01 9.410357991358145879e-01 6.182485505649488733e-01 +9.187153956842156743e-01 9.518062481845422917e-01 6.390932676023294290e-01 +9.355553305055087643e-01 9.625851523600569282e-01 6.604473764758707066e-01 +9.524981387722576409e-01 9.733495708555574000e-01 6.817314683792630170e-01 +9.697427075190795387e-01 9.840891707348572437e-01 7.022161781556218729e-01 +9.875564727577291757e-01 9.947988126567285372e-01 7.208193646517077058e-01 +9.980407582045668358e-01 9.973360522701887332e-01 7.285604345804711501e-01 +9.901081341662908430e-01 9.805280486371984461e-01 7.139421557523695228e-01 +9.832921183557173928e-01 9.636719697773511450e-01 6.953632580311194245e-01 +9.773247105504668797e-01 9.467720315871103187e-01 6.736725338087442561e-01 +9.718012632191853628e-01 9.298537865135397817e-01 6.500943381243378116e-01 +9.663890021662356888e-01 9.129414783025250335e-01 6.256850968508929078e-01 +9.609540913422064401e-01 8.960319858754917099e-01 6.010808973083388018e-01 +9.555703321549603446e-01 8.790785433496510759e-01 5.765990298015855053e-01 +9.504686901658377929e-01 8.619848588841476644e-01 5.524940776715514534e-01 +9.459565461927416097e-01 8.446168450986671905e-01 5.291397436626922302e-01 +9.422938604457962164e-01 8.268438187355671154e-01 5.070074252916694224e-01 +9.395729615486616559e-01 8.085927166950097611e-01 4.864503172310807311e-01 +9.376981768110149718e-01 7.898713125314273942e-01 4.674718760614883784e-01 +9.364676752058403997e-01 7.707444542112941166e-01 4.497070119696764956e-01 +9.356527829986327482e-01 7.512973497424082492e-01 4.326419511471316093e-01 +9.350195740872602190e-01 7.316173915660021398e-01 4.158722656183817534e-01 +9.343573494980812466e-01 7.117791695881325875e-01 3.992230218226498484e-01 +9.335648756142448379e-01 6.918074664813864683e-01 3.827490810251897857e-01 +9.327101603754452963e-01 6.716444449334502131e-01 3.667140568017910884e-01 +9.319595477552291563e-01 6.511713889089448815e-01 3.515520705284561620e-01 +9.314169854435215834e-01 6.302839565213184114e-01 3.377209433706351849e-01 +9.310296827682809084e-01 6.089545159356072324e-01 3.254539980932857901e-01 +9.306432638093524723e-01 5.872242187691005810e-01 3.145970957378831923e-01 +9.301245783303129233e-01 5.651424372654756390e-01 3.046934957439262348e-01 +9.294267649644918361e-01 5.427160958250945022e-01 2.952352339035276829e-01 +9.285558487843162956e-01 5.199094507764837614e-01 2.858706783655494132e-01 +9.274643902597414780e-01 4.967005378030532881e-01 2.764880193747087933e-01 +9.259240389407737970e-01 4.731756982138288214e-01 2.672639230506010932e-01 +9.234711163596823758e-01 4.496035876395663711e-01 2.587467580210295326e-01 +9.195129965638397795e-01 4.264099494946080315e-01 2.518593801540759958e-01 +9.135736866352892616e-01 4.040267237927211430e-01 2.475981287011050358e-01 +9.055280333993521724e-01 3.826919211952165556e-01 2.464654113583631956e-01 +8.956528296047865378e-01 3.623437102019935185e-01 2.480965004984162503e-01 +8.844577644744280320e-01 3.426902787839808950e-01 2.514863799218179929e-01 +8.724404890113568456e-01 3.233794743789056847e-01 2.555998932478791286e-01 +8.599410549929589198e-01 3.041242778043479200e-01 2.598006529424506383e-01 +8.471298230752026814e-01 2.847363627062785008e-01 2.638605711868699522e-01 +8.340532096652387706e-01 2.651172313043368978e-01 2.677304454377096854e-01 +8.206709470780187976e-01 2.452608083507071268e-01 2.713113994435089049e-01 +8.068823812198757661e-01 2.252642569365564396e-01 2.743528736776507659e-01 +7.925681574071996582e-01 2.052990065432801492e-01 2.765327557716383833e-01 +7.776437086548244615e-01 1.855231800585573354e-01 2.776620930726645953e-01 +7.620881787474551583e-01 1.659938811053616181e-01 2.778098473048807304e-01 +7.459252040529300576e-01 1.466621507519489664e-01 2.772148588299371275e-01 +7.291837579643043465e-01 1.274402995743348366e-01 2.760954516834964734e-01 +7.118643606327572648e-01 1.082736208210070550e-01 2.746220501928834379e-01 +6.939114128763002043e-01 8.917323459852671830e-02 2.731619874805619186e-01 +6.751925157681596401e-01 7.018975339513075506e-02 2.726604632714438869e-01 +6.555544703778218851e-01 5.112188655540585852e-02 2.747104787145964733e-01 +6.350589782820527107e-01 3.082192500319925338e-02 2.807508245877506359e-01 +6.143394151378338552e-01 9.946609770185134772e-03 2.905377427866415174e-01 +6.096174471715584131e-01 1.689067352390654503e-02 3.132536812924263114e-01 +6.304362302694949127e-01 6.415999880604145167e-02 3.523023872285024338e-01 +6.545332720619715383e-01 9.240290591553368404e-02 3.867931688005283863e-01 +6.816771386719749914e-01 1.121795130427629683e-01 4.165734585630757048e-01 +7.106931461283616525e-01 1.285922649813384111e-01 4.432172748824148578e-01 +7.401742431623169471e-01 1.447501537429476681e-01 4.684441576756514514e-01 +7.687478120884442268e-01 1.630208970332134855e-01 4.933201793214440634e-01 +7.950315753590273538e-01 1.853358302944488334e-01 5.182632140904128715e-01 +8.177791370615994371e-01 2.127627953382852377e-01 5.432386337435157753e-01 +8.362698416153079295e-01 2.450086989067829513e-01 5.678838319976026172e-01 +8.505563725418664456e-01 2.806737230285537565e-01 5.916628811036308555e-01 +8.613070089309564636e-01 3.180749603252363000e-01 6.141010127652497541e-01 +8.694116302737093793e-01 3.558810711006659688e-01 6.350145273064313756e-01 +8.757161388545896541e-01 3.932313368152108302e-01 6.546177707919846878e-01 +8.809154887212219398e-01 4.296236382495501882e-01 6.735307717661165317e-01 +8.853268404597925967e-01 4.649163816409356831e-01 6.927624045682388987e-01 +8.884310704284409388e-01 4.994546810769878165e-01 7.137490323869131181e-01 +8.887111971501618912e-01 5.339646188625030154e-01 7.383284867848654009e-01 +8.846323716875585941e-01 5.689236616662907142e-01 7.682007948833130540e-01 +8.767267275991816877e-01 6.037553329925489098e-01 8.037105842040241921e-01 +8.463768910989423189e-01 6.154197987084349952e-01 8.207155904920702127e-01 +7.884451339599858333e-01 5.910998057946171835e-01 8.040760682356380418e-01 +7.414676382011815559e-01 5.625639310187692255e-01 7.851649477259431409e-01 +7.050881789462218885e-01 5.302805297690829089e-01 7.636124721626524892e-01 +6.762693114550958340e-01 4.953415569730459933e-01 7.404207375243810896e-01 +6.517912360501287861e-01 4.587593976723408074e-01 7.166589548313024860e-01 +6.294171674813368034e-01 4.212253612177472295e-01 6.928095728598714365e-01 +6.077882060069819126e-01 3.831868627309770736e-01 6.688349720194523007e-01 +5.860059395082031219e-01 3.449961231831933373e-01 6.444254002678728721e-01 +5.633019127215219690e-01 3.070716971501701309e-01 6.191087573569722391e-01 +5.388922630410429848e-01 2.700276638574735100e-01 5.923009006765995732e-01 +5.121182005529967274e-01 2.346165576727894941e-01 5.634752525056647698e-01 +4.827461836049378729e-01 2.014304616321936914e-01 5.324428187371255117e-01 +4.511233066836186079e-01 1.705617177957048647e-01 4.995004888153025679e-01 +4.180000933862609291e-01 1.415324018359887526e-01 4.652975085785351905e-01 +3.841911983452363510e-01 1.134918877382977420e-01 4.305617096124739196e-01 +3.503684772212236065e-01 8.531603060917344883e-02 3.959457343993016964e-01 +3.170584348590873569e-01 5.515718708797005126e-02 3.620573876341695585e-01 +2.846879783788356377e-01 2.120036336828947862e-02 3.295099346165862864e-01 +2.535503873992720481e-01 0.000000000000000000e+00 2.988424429514020542e-01 diff --git a/cmweather/cm.py b/cmweather/cm.py new file mode 100644 index 0000000..0f79003 --- /dev/null +++ b/cmweather/cm.py @@ -0,0 +1,144 @@ +""" +Radar related colormaps. + +Available colormaps, reversed versions (_r) are also provided, these +colormaps are available within matplotlib with names 'pyart_COLORMAP': + + * BlueBrown10 + * BlueBrown11 + * BrBu10 + * BrBu12 + * Bu10 + * Bu7 + * BuDOr12 + * BuDOr18 + * BuDRd12 + * BuDRd18 + * BuGr14 + * BuGy8 + * BuOr10 + * BuOr12 + * BuOr8 + * BuOrR14 + * Carbone11 + * Carbone17 + * Carbone42 + * Cat12 + * EWilson17 + * GrMg16 + * Gray5 + * Gray9 + * NWSRef + * NWSVel + * NWS_SPW + * PD17 + * RRate11 + * RdYlBu11b + * RefDiff + * SCook18 + * StepSeq25 + * SymGray12 + * Theodore16 + * Wild25 + * LangRainbow12 + +""" + +# This file was adapted from the cm.py file of the matplotlib project, +# http://matplotlib.org/. +# Copyright (c) 2012-2013 Matplotlib Development Team; All Rights Reserved + +import warnings + +import matplotlib as mpl +import matplotlib.colors as colors + +from ._cm import datad + +cmap_d = dict() + +# reverse all the colormaps. +# reversed colormaps have '_r' appended to the name. + + +def _reverser(f): + """perform reversal.""" + + def freversed(x): + """f specific reverser.""" + return f(1 - x) + + return freversed + + +def revcmap(data): + """Can only handle specification *data* in dictionary format.""" + data_r = {} + for key, val in data.items(): + if callable(val): + valnew = _reverser(val) + # This doesn't work: lambda x: val(1-x) + # The same "val" (the first one) is used + # each time, so the colors are identical + # and the result is shades of gray. + else: + # Flip x and exchange the y values facing x = 0 and x = 1. + valnew = [(1.0 - x, y1, y0) for x, y0, y1 in reversed(val)] + data_r[key] = valnew + return data_r + + +def _reverse_cmap_spec(spec): + """Reverses cmap specification *spec*, can handle both dict and tuple + type specs.""" + with warnings.catch_warnings(): + warnings.simplefilter('ignore', FutureWarning) + if isinstance(spec, dict) and 'red' in spec.keys(): + return revcmap(spec) + else: + revspec = list(reversed(spec)) + if len(revspec[0]) == 2: # e.g., (1, (1.0, 0.0, 1.0)) + revspec = [(1.0 - a, b) for a, b in revspec] + return revspec + + +def _generate_cmap(name, lutsize): + """Generates the requested cmap from it's name *name*. The lut size is + *lutsize*.""" + + spec = datad[name] + + # Generate the colormap object. + if isinstance(spec, dict) and 'red' in spec.keys(): + return colors.LinearSegmentedColormap(name, spec, lutsize) + else: + return colors.LinearSegmentedColormap.from_list(name, spec, lutsize) + + +LUTSIZE = mpl.rcParams['image.lut'] + +# need this list because datad is changed in loop +_cmapnames = list(datad.keys()) + +# Generate the reversed specifications ... + +for cmapname in _cmapnames: + spec = datad[cmapname] + spec_reversed = _reverse_cmap_spec(spec) + datad[cmapname + '_r'] = spec_reversed + +# Precache the cmaps with ``lutsize = LUTSIZE`` ... + +# Use datad.keys() to also add the reversed ones added in the section above: +for cmapname in datad.keys(): + cmap_d[cmapname] = _generate_cmap(cmapname, LUTSIZE) + +locals().update(cmap_d) + +# register the colormaps so that can be accessed with the names pyart_XXX +for name, cmap in cmap_d.items(): + # Matplotlib 3.6.0 colormap registering changed. + try: + mpl.colormaps.register(name=name, cmap=cmap, force=True) + except AttributeError: + mpl.cm.register_cmap(name=name, cmap=cmap) diff --git a/cmweather/cm_colorblind.py b/cmweather/cm_colorblind.py new file mode 100644 index 0000000..dda624f --- /dev/null +++ b/cmweather/cm_colorblind.py @@ -0,0 +1,67 @@ +""" +Colorblind friendly radar colormaps + +Available colormaps, reversed versions are also provided, these +colormaps are available within matplotlib with names pyart_COLORMAP': + + * HomeyerRainbow + * balance + * ChaseSpectral + * SpectralExtended +""" + +import warnings + +import matplotlib as mpl +import matplotlib.colors as colors + +from ._cm_colorblind import datad +from .cm import _reverse_cmap_spec + + +def _generate_cmap(name, lutsize): + """Generates the requested cmap from it's name *name*. The lut size is + *lutsize*.""" + + spec = datad[name] + # Generate the colormap object. + with warnings.catch_warnings(): + warnings.simplefilter('ignore', FutureWarning) + if isinstance(spec, dict) and 'red' in spec.keys(): + return colors.LinearSegmentedColormap(name, spec, lutsize) + else: + return colors.LinearSegmentedColormap.from_list(name, spec, lutsize) + + +cmap_d = dict() + +# reverse all the colormaps. +# reversed colormaps have '_r' appended to the name. + +LUTSIZE = mpl.rcParams['image.lut'] + +# need this list because datad is changed in loop +_cmapnames = list(datad.keys()) + +# Generate the reversed specifications ... + +for cmapname in _cmapnames: + spec = datad[cmapname] + spec_reversed = _reverse_cmap_spec(spec) + datad[cmapname + '_r'] = spec_reversed + +# Precache the cmaps with ``lutsize = LUTSIZE`` ... + +# Use datad.keys() to also add the reversed ones added in the section above: +for cmapname in datad.keys(): + cmap_d[cmapname] = _generate_cmap(cmapname, LUTSIZE) + +locals().update(cmap_d) + +# register the colormaps so that can be accessed with the names pyart_XXX +for name, cmap in cmap_d.items(): + # Matplotlib 3.6.0 colormap registering changed. + try: + mpl.colormaps.register(name=name, cmap=cmap, force=True) + except AttributeError: + mpl.cm.register_cmap(name=name, cmap=cmap) diff --git a/cmweather/core.py b/cmweather/core.py deleted file mode 100644 index 607dfa6..0000000 --- a/cmweather/core.py +++ /dev/null @@ -1,26 +0,0 @@ -import xarray as xr - - -def my_mean_func(data): - """ - Computes mean of an xarray object. - - Parameters - ---------- - data : xarray.DataArray, xarray.Dataset - Input data - - Returns - ------- - mean : xarray.DataArray, xarray.Dataset - - Raises - ------ - TypeError - if input data is not an xarray DataArray or xarray Dataset. - """ - - if isinstance(data, (xr.Dataset, xr.DataArray)): - return data.mean() - - raise TypeError('input data must be xarray DataArray or xarray Dataset!') diff --git a/cmweather/spectral-extended-rgb.txt b/cmweather/spectral-extended-rgb.txt new file mode 100644 index 0000000..8e9f793 --- /dev/null +++ b/cmweather/spectral-extended-rgb.txt @@ -0,0 +1,180 @@ +7.959147299103611073e-02 6.647558492714741862e-02 1.045726997595241847e-01 +8.073045518328400560e-02 6.761264811292452825e-02 1.061401083833245218e-01 +8.290153602823913115e-02 6.982558504352573414e-02 1.092585259199206349e-01 +8.591114534445465356e-02 7.300325551098113541e-02 1.138945127963576776e-01 +8.951109590787198478e-02 7.700278999126289325e-02 1.199968319554120255e-01 +9.378566221102949130e-02 8.154973024079711919e-02 1.275008997508187691e-01 +9.918195340116894854e-02 8.626887416512279971e-02 1.363284500926722487e-01 +1.054046424076473809e-01 9.140087144498826310e-02 1.463492598123308508e-01 +1.122480103015721375e-01 9.705303188267169756e-02 1.574367559884072842e-01 +1.196319334713024651e-01 1.031606942150487261e-01 1.694743576934913953e-01 +1.274794935881096714e-01 1.096614567565062648e-01 1.823471029307589530e-01 +1.357191564823542473e-01 1.164970497527424986e-01 1.959452542869422609e-01 +1.442863135018101484e-01 1.236147178938120372e-01 2.101671779832966491e-01 +1.531241722718969522e-01 1.309680861535170160e-01 2.249213592106039661e-01 +1.621840345905675163e-01 1.385175389930088097e-01 2.401275190164792739e-01 +1.714250337652426792e-01 1.462301894927255930e-01 2.557168896874402186e-01 +1.808134276524254180e-01 1.540795432603876136e-01 2.716317740392488744e-01 +1.903215563900753082e-01 1.620449713778708278e-01 2.878245518696216920e-01 +1.999265692169769904e-01 1.701111025053571868e-01 3.042563038537445252e-01 +2.096090038709633174e-01 1.782672315790595485e-01 3.208952059329976403e-01 +2.193512752120891363e-01 1.865068234666351354e-01 3.377148164877421532e-01 +2.291361067810147034e-01 1.948271660167623098e-01 3.546923457468231788e-01 +2.389449237745931987e-01 2.032292011454129854e-01 3.718069680952632572e-01 +2.487562205743801269e-01 2.117175378455504187e-01 3.890382122373722829e-01 +2.585439236860112566e-01 2.203006278792830619e-01 4.063644406115695662e-01 +2.682757910793269196e-01 2.289910620705115085e-01 4.237614153907300341e-01 +2.779119160851196146e-01 2.378059218117546392e-01 4.412009514198724225e-01 +2.874034334097996801e-01 2.467670980319073837e-01 4.586496720060818100e-01 +2.966915532218268314e-01 2.559014715577878629e-01 4.760678999058476912e-01 +3.057069559673253889e-01 2.652407310214515146e-01 4.934086064040388853e-01 +3.143701079595965231e-01 2.748210817229806424e-01 5.106168756618215676e-01 +3.225922990147400138e-01 2.846824240393669991e-01 5.276295620665821806e-01 +3.302773199372101010e-01 2.948667554781008171e-01 5.443749615770362427e-01 +3.373243304154094901e-01 3.054162357047723875e-01 5.607730153070219492e-01 +3.436317255552699401e-01 3.163708054329131825e-01 5.767358618750311194e-01 +3.491019355229523224e-01 3.277655200726502516e-01 5.921687521943315158e-01 +3.536470082360088640e-01 3.396278325383250696e-01 6.069713190128596114e-01 +3.571947424927285897e-01 3.519751072172809248e-01 6.210391759542966961e-01 +3.596950660241797215e-01 3.648126525112107554e-01 6.342658151091270513e-01 +3.611262963997214359e-01 3.781325157019488348e-01 6.465447765229366262e-01 +3.615008856831722905e-01 3.919131963358077897e-01 6.577720704431756493e-01 +3.608702306473749455e-01 4.061203186676177190e-01 6.678488387647185665e-01 +3.593281252886444399e-01 4.207081823295961143e-01 6.766842409225740651e-01 +3.570124380320331414e-01 4.356220062817706129e-01 6.841985361554031586e-01 +3.541046111266861196e-01 4.508006120806057893e-01 6.903263059852636774e-01 +3.508266107475581097e-01 4.661792670178171449e-01 6.950197200028594979e-01 +3.474350263658521620e-01 4.816924239451370604e-01 6.982516987260910524e-01 +3.442121668904340459e-01 4.972761433015626120e-01 7.000187754809288343e-01 +3.414542720095634643e-01 5.128700512144641621e-01 7.003434153093187620e-01 +3.394573719786597721e-01 5.284187624634965053e-01 6.992755265545987919e-01 +3.385018569612127104e-01 5.438727671213804404e-01 6.968929104529584251e-01 +3.388373422416445235e-01 5.591888362913115529e-01 6.933004396771994537e-01 +3.406697342328875999e-01 5.743300408442411076e-01 6.886278386229178761e-01 +3.441522909789181406e-01 5.892654964991628219e-01 6.830260541889426884e-01 +3.493818305376555911e-01 6.039699505601199281e-01 6.766623437460339563e-01 +3.564002119084053177e-01 6.184233130354810370e-01 6.697143435340348061e-01 +3.652001467909685162e-01 6.326102116523214525e-01 6.623634936868909584e-01 +3.757336785303606042e-01 6.465196213007566861e-01 6.547882738875248076e-01 +3.879214996228287915e-01 6.601445886654497830e-01 6.471577413189065764e-01 +4.016616269753213175e-01 6.734820462538469998e-01 6.396258561954487609e-01 +4.168365794034923910e-01 6.865326895196159906e-01 6.323270290561490148e-01 +4.333186877517255509e-01 6.993007316473748292e-01 6.253730893350112341e-01 +4.509741415771013062e-01 7.117938845249605073e-01 6.188522736290673620e-01 +4.696657719865688363e-01 7.240230905140672135e-01 6.128298648776979718e-01 +4.892551442843893761e-01 7.360021034890209535e-01 6.073505052598986431e-01 +5.096045354047374909e-01 7.477471465750414881e-01 6.024421494481483341e-01 +5.305785298566415564e-01 7.592761648212922321e-01 5.981207892863068531e-01 +5.520455903628074257e-01 7.706079863889458981e-01 5.943957303092465283e-01 +5.738794746959497983e-01 7.817613144372587142e-01 5.912747459709642994e-01 +5.959604017987559788e-01 7.927535606745834684e-01 5.887685018191998187e-01 +6.181758652319407910e-01 8.035995345769391118e-01 5.868936864512387386e-01 +6.404210159903399591e-01 8.143100032786239062e-01 5.856743863591433730e-01 +6.625985709976299765e-01 8.248901403766597529e-01 5.851413914346840217e-01 +6.846182390146854368e-01 8.353378907668309594e-01 5.853293112517259367e-01 +7.063956983863167727e-01 8.456422933647234075e-01 5.862716095245250614e-01 +7.278512162360851745e-01 8.557818233392611162e-01 5.879939056781191553e-01 +7.489080575265074646e-01 8.657228405048492670e-01 5.905061228064122369e-01 +7.694908790172138024e-01 8.754182602887310427e-01 5.937942541568311805e-01 +7.895243271175770294e-01 8.848065942725550359e-01 5.978126495629132453e-01 +8.089320573022135141e-01 8.938115309300815881e-01 6.024777666068298343e-01 +8.276363665352869381e-01 9.023422345683445034e-01 6.076642735523902772e-01 +8.455585790940522983e-01 9.102945239387606469e-01 6.132042245965863003e-01 +8.626202519954684345e-01 9.175530471309770730e-01 6.188897568595336240e-01 +8.787451752576680430e-01 9.239944954757592921e-01 6.244794104536306456e-01 +8.938620462140344225e-01 9.294917998564128370e-01 6.297077969255604479e-01 +9.079076110322242821e-01 9.339191372321701268e-01 6.342979857045154546e-01 +9.208300026548933426e-01 9.371574585675285229e-01 6.379756794656018526e-01 +9.325919702386654686e-01 9.391001502953207902e-01 6.404840395645747808e-01 +9.431736940785498957e-01 9.396583781220109177e-01 6.415979290063021923e-01 +9.525749099295707234e-01 9.387656493352846132e-01 6.411363736969654115e-01 +9.608161205997257648e-01 9.363811760961288089e-01 6.389721981998278677e-01 +9.679387436779899323e-01 9.324917252081926788e-01 6.350380597468359145e-01 +9.740041273289689050e-01 9.271117862070459292e-01 6.293284656422339918e-01 +9.790914543013290450e-01 9.202820593123550719e-01 6.218977715017525165e-01 +9.832946405451113980e-01 9.120664346105038511e-01 6.128545552233133353e-01 +9.867184145164032971e-01 9.025477796596380609e-01 6.023530831310218714e-01 +9.894738297196780108e-01 8.918229543614475396e-01 5.905827974161248495e-01 +9.916735069416652282e-01 8.799975177703909246e-01 5.777568489248827710e-01 +9.934269178744022932e-01 8.671805795866250888e-01 5.641006773269551244e-01 +9.948360070645206887e-01 8.534801864790825254e-01 5.498415134338413557e-01 +9.959914064062390660e-01 8.389995341583059707e-01 5.351994731424959406e-01 +9.969694311920690444e-01 8.238341781243665451e-01 5.203806652657535503e-01 +9.978299672741043347e-01 8.080702976588781672e-01 5.055724805955424950e-01 +9.986152755200011777e-01 7.917839643213361311e-01 4.909409971699357222e-01 +9.993496644342189095e-01 7.750412875856198536e-01 4.766302525630438658e-01 +1.000000000000000000e+00 7.578992596689748673e-01 4.627630115977645064e-01 +1.000000000000000000e+00 7.404070982128728717e-01 4.494425965876829854e-01 +1.000000000000000000e+00 7.226078853558431936e-01 4.367553372312334981e-01 +1.000000000000000000e+00 7.045403189475895056e-01 4.247732275957959436e-01 +1.000000000000000000e+00 6.862404190815422078e-01 4.135564310273877608e-01 +1.000000000000000000e+00 6.677430645795988662e-01 4.031553357596466269e-01 +1.000000000000000000e+00 6.490832665343708729e-01 3.936119444620202468e-01 +1.000000000000000000e+00 6.302971189242915218e-01 3.849605032325212894e-01 +1.000000000000000000e+00 6.114223973011004842e-01 3.772274190273837702e-01 +9.987143223576534501e-01 5.924988011064784565e-01 3.704306154646974103e-01 +9.966750572458377144e-01 5.735678535899910724e-01 3.645785180317929197e-01 +9.940253003746631899e-01 5.546724916184571086e-01 3.596688894704767048e-01 +9.907131801447089936e-01 5.358563980565791418e-01 3.556877751435070234e-01 +9.866953852620946597e-01 5.171632258732753451e-01 3.526089033257215899e-01 +9.819380407907557506e-01 4.986354759502349965e-01 3.503934769142552641e-01 +9.764174278578449107e-01 4.803135498542445148e-01 3.489909168254815564e-01 +9.701202614286646986e-01 4.622347865047098936e-01 3.483403550970441964e-01 +9.630433962778782719e-01 4.444323881066749027e-01 3.483726724103061723e-01 +9.551935181791487706e-01 4.269346871356953232e-01 3.490132856080493395e-01 +9.465864403814977512e-01 4.097643694148530025e-01 3.501850668480632756e-01 +9.372462608518417060e-01 3.929377811936853315e-01 3.518112247408826110e-01 +9.272044599697516487e-01 3.764642997966962112e-01 3.538178448973089973e-01 +9.164989919920020212e-01 3.603457603821017541e-01 3.561358208613781828e-01 +9.051733868469687971e-01 3.445759591910168562e-01 3.587019702490814033e-01 +8.932758437887721170e-01 3.291402869594022285e-01 3.614592179451823761e-01 +8.808582715141434205e-01 3.140155774084079643e-01 3.643558278922833238e-01 +8.679752061674695929e-01 2.991702864618860924e-01 3.673437753322991162e-01 +8.546825133079478665e-01 2.845651533881089490e-01 3.703764763574156627e-01 +8.410357700696978744e-01 2.701545198544624826e-01 3.734062105644784246e-01 +8.270882633981374576e-01 2.558884609359898255e-01 3.763816390592134575e-01 +8.128886267625741180e-01 2.417158101372383627e-01 3.792458146365308980e-01 +7.984782267327027450e-01 2.275880853576436880e-01 3.819350292013608539e-01 +7.838884773993184396e-01 2.134642810224467446e-01 3.843787657047838535e-01 +7.691383169451568858e-01 1.993164770947806752e-01 3.865009103136440860e-01 +7.542321316504898565e-01 1.851362175274934296e-01 3.882222324229723798e-01 +7.391584402435399381e-01 1.709416324041624358e-01 3.894639769776152560e-01 +7.238896390542415293e-01 1.567853063429178739e-01 3.901522664992533862e-01 +7.083830515063570532e-01 1.427628704751509325e-01 3.902229027986255372e-01 +6.925834256463139216e-01 1.290220834532910532e-01 3.896261003276241253e-01 +6.764268848807574175e-01 1.157715098880473525e-01 3.883306754130895211e-01 +6.598461728871937160e-01 1.032863505908989121e-01 3.863272557251372641e-01 +6.427768662935301469e-01 9.190598531768404134e-02 3.836301597552764231e-01 +6.251640863478575838e-01 8.201350077216837398e-02 3.802777185370084800e-01 +6.069691458647389348e-01 7.398490337887758672e-02 3.763309541013383219e-01 +5.881755328416535811e-01 6.810303053659069739e-02 3.718706692572659178e-01 +5.687936622291205335e-01 6.445638017581523105e-02 3.669931268191238827e-01 +5.488639201777438803e-01 6.287386254161608790e-02 3.618046012852911275e-01 +5.284579031598465315e-01 6.294342685412240845e-02 3.564153740473430809e-01 +5.076771686626675439e-01 6.410787037625603757e-02 3.509331506348410401e-01 +4.866497878088127949e-01 6.578196090071078417e-02 3.454565641706477952e-01 +4.655253382608708912e-01 6.743874407703651097e-02 3.400695762692915181e-01 +4.444682766600520640e-01 6.864897758214305590e-02 3.348368121305085321e-01 +4.236503229070958110e-01 6.908577446983940606e-02 3.298002998507838512e-01 +4.032424129931614920e-01 6.851147219478972983e-02 3.249778750895409574e-01 +3.834067874107578433e-01 6.675819938627222672e-02 3.203633956830531093e-01 +3.642897534880149557e-01 6.370724252061271686e-02 3.159287815286221934e-01 +3.460156019524993631e-01 5.926800252917770878e-02 3.116277591999295771e-01 +3.286820827717469307e-01 5.335431378279093667e-02 3.074010590632726414e-01 +3.123577637098835513e-01 4.585205692616727696e-02 3.031827008661945877e-01 +2.970815051726980460e-01 3.660852180738822376e-02 2.989069247664139506e-01 +2.828641688706141633e-01 2.653877237753106758e-02 2.945152797935748912e-01 +2.696925137296155017e-01 1.632180081618199094e-02 2.899633666616674432e-01 +2.575350150609929667e-01 6.302384894788494452e-03 2.852267426395614369e-01 +2.463490990355240440e-01 0.000000000000000000e+00 2.803055275650705447e-01 +2.360890586945984526e-01 0.000000000000000000e+00 2.752273049381980252e-01 +2.267137515836473161e-01 0.000000000000000000e+00 2.700480118231524118e-01 +2.181931228923175148e-01 0.000000000000000000e+00 2.648506664183972736e-01 +2.105127189048587866e-01 0.000000000000000000e+00 2.597419550297703217e-01 +2.036756624999893628e-01 0.000000000000000000e+00 2.548468520964998763e-01 +1.977615140884450007e-01 0.000000000000000000e+00 2.503076628606556997e-01 +1.929046655677319477e-01 0.000000000000000000e+00 2.462736956007085531e-01 +1.890760172775479975e-01 0.000000000000000000e+00 2.428711469817661506e-01 +1.862414647995699057e-01 0.000000000000000000e+00 2.402115163945445220e-01 +1.843709148334545522e-01 0.000000000000000000e+00 2.383851520678009206e-01 +1.834417329885095482e-01 0.000000000000000000e+00 2.374555838818699360e-01 diff --git a/requirements.txt b/requirements.txt index 0170bc2..d078311 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ netcdf4 xarray pooch +numpy +matplotlib diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_cm.py b/tests/test_cm.py new file mode 100644 index 0000000..dd81fdd --- /dev/null +++ b/tests/test_cm.py @@ -0,0 +1,47 @@ +""" Unit Tests for cmweather's cm.py module. """ + + +import matplotlib + +from cmweather import cm + + +def test_colormaps_exist(): + assert isinstance(cm.NWSRef, matplotlib.colors.Colormap) + assert isinstance(cm.NWSRef_r, matplotlib.colors.Colormap) + + +def test_colormaps_registered(): + cmap = matplotlib.colormaps.get_cmap('NWSRef') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('NWSRef_r') + assert isinstance(cmap, matplotlib.colors.Colormap) + + +def test_tuple_spec(): + # None of the cmweather colormaps use the tuple spec, so for coverage in the + # unit tests define a colormap using a tuple + + # data borrowed from matplotlib's lib/matplotlib/_cm.py + _seismic_data = ( + (0.0, 0.0, 0.3), + (0.0, 0.0, 1.0), + (1.0, 1.0, 1.0), + (1.0, 0.0, 0.0), + (0.5, 0.0, 0.0), + ) + cm._reverse_cmap_spec(_seismic_data) + + spec = ((0, 1), (0, 1)) + cm._reverse_cmap_spec(spec) + + cm.datad['foo'] = _seismic_data + cm._generate_cmap('foo', 1) + assert isinstance(cm.NWSRef_r, matplotlib.colors.Colormap) + + +def test_revcmap_callable(): + # reversing a callable is not exercised in cmweather + data_r = cm.revcmap({'foo': lambda x: x}) + assert data_r['foo'](0) == 1 diff --git a/tests/test_cm_colorblind.py b/tests/test_cm_colorblind.py new file mode 100644 index 0000000..07a699a --- /dev/null +++ b/tests/test_cm_colorblind.py @@ -0,0 +1,43 @@ +""" Unit Tests for cmweather's cm_colorblind.py module. """ + + +import matplotlib + +from cmweather import cm_colorblind + + +def test_colormaps_exist(): + assert isinstance(cm_colorblind.HomeyerRainbow, matplotlib.colors.Colormap) + assert isinstance(cm_colorblind.HomeyerRainbow_r, matplotlib.colors.Colormap) + assert isinstance(cm_colorblind.balance, matplotlib.colors.Colormap) + assert isinstance(cm_colorblind.balance_r, matplotlib.colors.Colormap) + assert isinstance(cm_colorblind.ChaseSpectral, matplotlib.colors.Colormap) + assert isinstance(cm_colorblind.ChaseSpectral_r, matplotlib.colors.Colormap) + assert isinstance(cm_colorblind.SpectralExtended, matplotlib.colors.Colormap) + assert isinstance(cm_colorblind.SpectralExtended_r, matplotlib.colors.Colormap) + + +def test_colormaps_registered(): + cmap = matplotlib.colormaps.get_cmap('HomeyerRainbow') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('HomeyerRainbow_r') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('balance') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('balance_r') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('ChaseSpectral') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('ChaseSpectral_r') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('SpectralExtended') + assert isinstance(cmap, matplotlib.colors.Colormap) + + cmap = matplotlib.colormaps.get_cmap('SpectralExtended_r') + assert isinstance(cmap, matplotlib.colors.Colormap) diff --git a/tests/test_core.py b/tests/test_core.py deleted file mode 100644 index 0467a75..0000000 --- a/tests/test_core.py +++ /dev/null @@ -1,15 +0,0 @@ -import pytest -import xarray as xr - - -def test_foo(): - assert 'foo' == 'foo' - - -@pytest.mark.parametrize('dataset_name', ['rasm', 'air_temperature']) -def test_mean_func(dataset_name): - from cmweather.core import my_mean_func - - ds = xr.tutorial.open_dataset(dataset_name) - results = my_mean_func(ds) - assert isinstance(results, xr.Dataset)