diff --git a/README.rst b/README.rst index 89e1827bef..13d6bd1fe9 100644 --- a/README.rst +++ b/README.rst @@ -1,191 +1,192 @@ -======================================== -Atmospheric data Community Toolkit (ACT) -======================================== - -|AnacondaCloud| |CodeCovStatus| |Build| |Docs| - -|CondaDownloads| |Zenodo| |ARM| - -.. |AnacondaCloud| image:: https://anaconda.org/conda-forge/act-atmos/badges/version.svg - :target: https://anaconda.org/conda-forge/act-atmos - -.. |CondaDownloads| image:: https://anaconda.org/conda-forge/act-atmos/badges/downloads.svg - :target: https://anaconda.org/conda-forge/act-atmos/files - -.. |Zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3855537.svg - :target: https://doi.org/10.5281/zenodo.3855537 - -.. |CodeCovStatus| image:: https://codecov.io/gh/ARM-DOE/ACT/branch/main/graph/badge.svg - :target: https://codecov.io/gh/ARM-DOE/ACT - -.. |ARM| image:: https://img.shields.io/badge/Sponsor-ARM-blue.svg?colorA=00c1de&colorB=00539c - :target: https://www.arm.gov/ - -.. |Docs| image:: https://github.com/ARM-DOE/ACT/actions/workflows/build-docs.yml/badge.svg - :target: https://github.com/ARM-DOE/ACT/actions/workflows/build-docs.yml - -.. |Build| image:: https://github.com/ARM-DOE/ACT/actions/workflows/python-package-conda.yml/badge.svg - :target: https://github.com/ARM-DOE/ACT/actions/workflows/python-package-conda_linux.yml - -The Atmospheric data Community Toolkit (ACT) is an open source Python toolkit for working with atmospheric time-series datasets of varying dimensions. The toolkit has functions for every part of the scientific process; discovery, IO, quality control, corrections, retrievals, visualization, and analysis. It is a community platform for sharing code with the goal of reducing duplication of effort and better connecting the science community with programs such as the `Atmospheric Radiation Measurement (ARM) User Facility `_. Overarching development goals will be updated on a regular basis as part of the `Roadmap `_ . - -|act| - -.. |act| image:: ./docs/source/act_plots.png - -Please report any issues or feature requests by sumitting an `Issue `_. Additionally, our `discussions boards `_ are open for ideas, general discussions or questions, and show and tell! - -Announcements -~~~~~~~~~~~~~ - -Following GitHub standards for a more open community and inclusiveness, ACT main branch will be renamed from master to main. - -https://github.com/github/renaming -https://www.git-tower.com/learn/git/faq/git-rename-master-to-main - -For those using ACT with anaconda and pip, there will be no changes. If you are using a fork of ACT with GitHub under branch settings on GitHub you can rename the branch to main. - -commands to switch naming locally can be found here: -https://www.git-tower.com/learn/git/faq/git-rename-master-to-main - -Important Links -~~~~~~~~~~~~~~~ - -* Documentation: https://arm-doe.github.io/ACT/ -* Examples: https://arm-doe.github.io/ACT/source/auto_examples/index.html -* Issue Tracker: https://github.com/ARM-DOE/ACT/issues - -Citing -~~~~~~ - -If you use ACT to prepare a publication, please cite the DOI listed in the badge above, which is updated with every version release to ensure that contributors get appropriate credit. DOI is provided through Zenodo. - -Dependencies -~~~~~~~~~~~~ - -* `xarray `_ -* `NumPy `_ -* `SciPy `_ -* `matplotlib `_ -* `skyfield `_ -* `pandas `_ -* `dask `_ -* `Pint `_ -* `PyProj `_ -* `Six `_ -* `Requests `_ -* `MetPy `_ -* `ffspec `_ -* `lazy_loader `_ - -Optional Dependencies -~~~~~~~~~~~~~~~~~~~~~ - -* `MPL2NC `_ Reading binary MPL data. -* `Cartopy `_ Mapping and geoplots -* `Py-ART `_ Reading radar files, plotting and corrections -* `scikit-posthocs `_ Using interquartile range or generalized Extreme Studentized Deviate quality control tests -* `icartt `_ icartt is an ICARTT file format reader and writer for Python -* `PySP2 `_ PySP2 is a python package for reading and processing Single Particle Soot Photometer (SP2) datasets. - -Installation -~~~~~~~~~~~~ - -ACT can be installed a few different ways. One way is to install using pip. -When installing with pip, the ACT dependencies found in -`requirements.txt `_ will also be installed. To install using pip:: - - pip install act-atmos - -The easiest method for installing ACT is to use the conda packages from -the latest release. To do this you must download and install -`Anaconda `_ or -`Miniconda `_. -With Anaconda or Miniconda install, it is recommended to create a new conda -environment when using ACT or even other packages. To create a new -environment based on the `environment.yml `_:: - - conda env create -f environment.yml - -Or for a basic environment and downloading optional dependencies as needed:: - - conda create -n act_env -c conda-forge python=3.11 act-atmos - -Basic command in a terminal or command prompt to install the latest version of -ACT:: - - conda install -c conda-forge act-atmos - -To update an older version of ACT to the latest release use:: - - conda update -c conda-forge act-atmos - -If you are using mamba:: - - mamba install -c conda-forge act-atmos - -If you do not wish to use Anaconda or Miniconda as a Python environment or want -to use the latest, unreleased version of ACT see the section below on -**Installing from source**. - -Installing from Source -~~~~~~~~~~~~~~~~~~~~~~ - -Installing ACT from source is the only way to get the latest updates and -enhancement to the software that have no yet made it into a release. -The latest source code for ACT can be obtained from the GitHub repository, -https://github.com/ARM-DOE/ACT. Either download and unpack the -`zip file `_ of -the source code or use git to checkout the repository:: - - git clone https://github.com/ARM-DOE/ACT.git - -To install in your home directory, use:: - - python setup.py install --user - -To install for all users on Unix/Linux:: - - python setup.py build - sudo python setup.py install - -Development install using pip from within the ACT directory:: - - pip install -e . - -Contributing -~~~~~~~~~~~~ - -ACT is an open source, community software project. Contributions to the -package are welcomed from all users. - -The latest source code can be obtained with the command:: - - git clone https://github.com/ARM-DOE/ACT.git - -If you are planning on making changes that you would like included in ACT, -forking the repository is highly recommended. - -We welcome contributions for all uses of ACT, provided the code can be -distributed under the BSD 3-clause license. A copy of this license is -available in the **LICENSE.txt** file in this directory. For more on -contributing, see the `contributor's guide. `_ - -Testing -~~~~~~~ -For testing, we use pytest. To install pytest:: - - $ conda install -c conda-forge pytest - -And for matplotlib image testing with pytest:: - - $ conda install -c conda-forge pytest-mpl - -After installation, you can launch the test suite from outside the -source directory (you will need to have pytest installed and for the mpl -argument need pytest-mpl):: - - $ pytest --mpl --pyargs act - -In-place installs can be tested using the `pytest` command from within -the source directory. +======================================== +Atmospheric data Community Toolkit (ACT) +======================================== + +|AnacondaCloud| |CodeCovStatus| |Build| |Docs| + +|CondaDownloads| |Zenodo| |ARM| + +.. |AnacondaCloud| image:: https://anaconda.org/conda-forge/act-atmos/badges/version.svg + :target: https://anaconda.org/conda-forge/act-atmos + +.. |CondaDownloads| image:: https://anaconda.org/conda-forge/act-atmos/badges/downloads.svg + :target: https://anaconda.org/conda-forge/act-atmos/files + +.. |Zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3855537.svg + :target: https://doi.org/10.5281/zenodo.3855537 + +.. |CodeCovStatus| image:: https://codecov.io/gh/ARM-DOE/ACT/branch/main/graph/badge.svg + :target: https://codecov.io/gh/ARM-DOE/ACT + +.. |ARM| image:: https://img.shields.io/badge/Sponsor-ARM-blue.svg?colorA=00c1de&colorB=00539c + :target: https://www.arm.gov/ + +.. |Docs| image:: https://github.com/ARM-DOE/ACT/actions/workflows/build-docs.yml/badge.svg + :target: https://github.com/ARM-DOE/ACT/actions/workflows/build-docs.yml + +.. |Build| image:: https://github.com/ARM-DOE/ACT/actions/workflows/python-package-conda.yml/badge.svg + :target: https://github.com/ARM-DOE/ACT/actions/workflows/python-package-conda_linux.yml + +The Atmospheric data Community Toolkit (ACT) is an open source Python toolkit for working with atmospheric time-series datasets of varying dimensions. The toolkit has functions for every part of the scientific process; discovery, IO, quality control, corrections, retrievals, visualization, and analysis. It is a community platform for sharing code with the goal of reducing duplication of effort and better connecting the science community with programs such as the `Atmospheric Radiation Measurement (ARM) User Facility `_. Overarching development goals will be updated on a regular basis as part of the `Roadmap `_ . + +|act| + +.. |act| image:: ./docs/source/act_plots.png + +Please report any issues or feature requests by sumitting an `Issue `_. Additionally, our `discussions boards `_ are open for ideas, general discussions or questions, and show and tell! + +Announcements +~~~~~~~~~~~~~ + +Following GitHub standards for a more open community and inclusiveness, ACT main branch will be renamed from master to main. + +https://github.com/github/renaming +https://www.git-tower.com/learn/git/faq/git-rename-master-to-main + +For those using ACT with anaconda and pip, there will be no changes. If you are using a fork of ACT with GitHub under branch settings on GitHub you can rename the branch to main. + +commands to switch naming locally can be found here: +https://www.git-tower.com/learn/git/faq/git-rename-master-to-main + +Important Links +~~~~~~~~~~~~~~~ + +* Documentation: https://arm-doe.github.io/ACT/ +* Examples: https://arm-doe.github.io/ACT/source/auto_examples/index.html +* Issue Tracker: https://github.com/ARM-DOE/ACT/issues + +Citing +~~~~~~ + +If you use ACT to prepare a publication, please cite the DOI listed in the badge above, which is updated with every version release to ensure that contributors get appropriate credit. DOI is provided through Zenodo. + +Dependencies +~~~~~~~~~~~~ + +* `xarray `_ +* `NumPy `_ +* `SciPy `_ +* `matplotlib `_ +* `skyfield `_ +* `pandas `_ +* `dask `_ +* `Pint `_ +* `PyProj `_ +* `Six `_ +* `Requests `_ +* `MetPy `_ +* `ffspec `_ +* `lazy_loader `_ +* `cmweather `_ + +Optional Dependencies +~~~~~~~~~~~~~~~~~~~~~ + +* `MPL2NC `_ Reading binary MPL data. +* `Cartopy `_ Mapping and geoplots +* `Py-ART `_ Reading radar files, plotting and corrections +* `scikit-posthocs `_ Using interquartile range or generalized Extreme Studentized Deviate quality control tests +* `icartt `_ icartt is an ICARTT file format reader and writer for Python +* `PySP2 `_ PySP2 is a python package for reading and processing Single Particle Soot Photometer (SP2) datasets. + +Installation +~~~~~~~~~~~~ + +ACT can be installed a few different ways. One way is to install using pip. +When installing with pip, the ACT dependencies found in +`requirements.txt `_ will also be installed. To install using pip:: + + pip install act-atmos + +The easiest method for installing ACT is to use the conda packages from +the latest release. To do this you must download and install +`Anaconda `_ or +`Miniconda `_. +With Anaconda or Miniconda install, it is recommended to create a new conda +environment when using ACT or even other packages. To create a new +environment based on the `environment.yml `_:: + + conda env create -f environment.yml + +Or for a basic environment and downloading optional dependencies as needed:: + + conda create -n act_env -c conda-forge python=3.11 act-atmos + +Basic command in a terminal or command prompt to install the latest version of +ACT:: + + conda install -c conda-forge act-atmos + +To update an older version of ACT to the latest release use:: + + conda update -c conda-forge act-atmos + +If you are using mamba:: + + mamba install -c conda-forge act-atmos + +If you do not wish to use Anaconda or Miniconda as a Python environment or want +to use the latest, unreleased version of ACT see the section below on +**Installing from source**. + +Installing from Source +~~~~~~~~~~~~~~~~~~~~~~ + +Installing ACT from source is the only way to get the latest updates and +enhancement to the software that have no yet made it into a release. +The latest source code for ACT can be obtained from the GitHub repository, +https://github.com/ARM-DOE/ACT. Either download and unpack the +`zip file `_ of +the source code or use git to checkout the repository:: + + git clone https://github.com/ARM-DOE/ACT.git + +To install in your home directory, use:: + + python setup.py install --user + +To install for all users on Unix/Linux:: + + python setup.py build + sudo python setup.py install + +Development install using pip from within the ACT directory:: + + pip install -e . + +Contributing +~~~~~~~~~~~~ + +ACT is an open source, community software project. Contributions to the +package are welcomed from all users. + +The latest source code can be obtained with the command:: + + git clone https://github.com/ARM-DOE/ACT.git + +If you are planning on making changes that you would like included in ACT, +forking the repository is highly recommended. + +We welcome contributions for all uses of ACT, provided the code can be +distributed under the BSD 3-clause license. A copy of this license is +available in the **LICENSE.txt** file in this directory. For more on +contributing, see the `contributor's guide. `_ + +Testing +~~~~~~~ +For testing, we use pytest. To install pytest:: + + $ conda install -c conda-forge pytest + +And for matplotlib image testing with pytest:: + + $ conda install -c conda-forge pytest-mpl + +After installation, you can launch the test suite from outside the +source directory (you will need to have pytest installed and for the mpl +argument need pytest-mpl):: + + $ pytest --mpl --pyargs act + +In-place installs can be tested using the `pytest` command from within +the source directory. diff --git a/act/plotting/__init__.py b/act/plotting/__init__.py index 10e4b2fd88..4830bd667a 100644 --- a/act/plotting/__init__.py +++ b/act/plotting/__init__.py @@ -17,8 +17,11 @@ import lazy_loader as lazy -# Eagerly load in act_cmap and common -from . import act_cmap, common +# Load colormaps +import cmweather + +# Eagerly load in common +from . import common __getattr__, __dir__, __all__ = lazy.attach( __name__, diff --git a/act/plotting/_act_cmap.py b/act/plotting/_act_cmap.py deleted file mode 100644 index 3720e46dd9..0000000000 --- a/act/plotting/_act_cmap.py +++ /dev/null @@ -1,60 +0,0 @@ -""" -Data for colorblind friendly 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. - -# HomeyerRainbow developed by Cameron Homeyer with assistance from Bobby Jackson - -# "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 - -data_dir = os.path.split(__file__)[0] -bal_rgb_vals = np.genfromtxt(os.path.join(data_dir, 'balance-rgb.txt')) - -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") -) - -datad = {"HomeyerRainbow": yuv_rainbow_24(15), - "balance": bal_rgb_vals, - "ChaseSpectral": chase_spectral_rgb_vals, - "SpectralExtended": spectral_ext_rgb_vals} diff --git a/act/plotting/act_cmap.py b/act/plotting/act_cmap.py deleted file mode 100644 index 5f8322b649..0000000000 --- a/act/plotting/act_cmap.py +++ /dev/null @@ -1,101 +0,0 @@ -""" -Available colormaps (reversed versions also provided), these -colormaps are available within matplotlib with names act_COLORMAP': - - * HomeyerRainbow - * balance - * ChaseSpectral - * SpectralExtended - -""" - - -import matplotlib as mpl -import matplotlib.cm -import matplotlib.colors as colors - -from ._act_cmap import datad, yuv_rainbow_24 - - -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.""" - - 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) - - -cmap_d = dict() - -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 they can be accessed with the names act_XXX -for name, cmap in cmap_d.items(): - full_name = 'act_' + name - try: - matplotlib.colormaps.register(name=full_name, cmap=cmap, force=True) - except AttributeError: - matplotlib.cm.register_cmap(name=full_name, cmap=cmap) diff --git a/act/plotting/balance-rgb.txt b/act/plotting/balance-rgb.txt deleted file mode 100644 index 5d41696c83..0000000000 --- a/act/plotting/balance-rgb.txt +++ /dev/null @@ -1,256 +0,0 @@ -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/act/plotting/chase-spectral-rgb.txt b/act/plotting/chase-spectral-rgb.txt deleted file mode 100644 index 142b10daca..0000000000 --- a/act/plotting/chase-spectral-rgb.txt +++ /dev/null @@ -1,180 +0,0 @@ -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/act/plotting/timeseriesdisplay.py b/act/plotting/timeseriesdisplay.py index 67fe621be1..53b21fa793 100644 --- a/act/plotting/timeseriesdisplay.py +++ b/act/plotting/timeseriesdisplay.py @@ -438,7 +438,7 @@ def plot( kwargs['linestyle'] = '' if cb_friendly: - cmap = 'act_HomeyerRainbow' + cmap = 'HomeyerRainbow' assessment_overplot_category_color['Bad'] = (0.9285714285714286, 0.7130901016453677, 0.7130901016453677) assessment_overplot_category_color['Incorrect'] = (0.9285714285714286, 0.7130901016453677, 0.7130901016453677) assessment_overplot_category_color['Not Failing'] = (0.0, 0.4240129715562796, 0.4240129715562796), diff --git a/act/qc/qctests.py b/act/qc/qctests.py index 0ef2bf0bbc..45bfb7d179 100644 --- a/act/qc/qctests.py +++ b/act/qc/qctests.py @@ -1132,7 +1132,7 @@ def add_difference_test( tolerance = pd.Timedelta(tolerance) index = [] - if type(dataset2) == xr.core.dataset.Dataset: + if isinstance(dataset2, xr.core.dataset.Dataset): if apply_assessment_to_dataset2 is not None or apply_tests_to_dataset2 is not None: dataset2[ds2_var_name].values = dataset2.qcfilter.get_masked_data( ds2_var_name, diff --git a/act/tests/test_plotting.py b/act/tests/test_plotting.py index 2a5042ec8c..96624a5c50 100644 --- a/act/tests/test_plotting.py +++ b/act/tests/test_plotting.py @@ -20,7 +20,6 @@ WindRoseDisplay, XSectionDisplay, DistributionDisplay, - act_cmap, ) from act.utils.data_utils import accumulate_precip @@ -214,7 +213,7 @@ def test_xsection_errors(): display = XSectionDisplay(ds, figsize=(10, 8), subplot_shape=(1,)) with np.testing.assert_raises(RuntimeError): - display.plot_xsection(None, 'backscatter', x='time', cmap='act_HomeyerRainbow') + display.plot_xsection(None, 'backscatter', x='time', cmap='HomeyerRainbow') ds.close() matplotlib.pyplot.close(fig=display.fig) @@ -1281,40 +1280,3 @@ def test_scatter(): ds.close() return display.fig - - -def test_colormaps_exist(): - assert isinstance(act_cmap.HomeyerRainbow, matplotlib.colors.Colormap) - assert isinstance(act_cmap.HomeyerRainbow_r, matplotlib.colors.Colormap) - assert isinstance(act_cmap.balance, matplotlib.colors.Colormap) - assert isinstance(act_cmap.balance_r, matplotlib.colors.Colormap) - assert isinstance(act_cmap.ChaseSpectral, matplotlib.colors.Colormap) - assert isinstance(act_cmap.ChaseSpectral_r, matplotlib.colors.Colormap) - assert isinstance(act_cmap.SpectralExtended, matplotlib.colors.Colormap) - assert isinstance(act_cmap.SpectralExtended_r, matplotlib.colors.Colormap) - - -def test_colormaps_registered(): - cmap = matplotlib.colormaps.get_cmap("act_HomeyerRainbow") - assert isinstance(cmap, matplotlib.colors.Colormap) - - cmap = matplotlib.colormaps.get_cmap("act_HomeyerRainbow_r") - assert isinstance(cmap, matplotlib.colors.Colormap) - - cmap = matplotlib.colormaps.get_cmap("act_balance") - assert isinstance(cmap, matplotlib.colors.Colormap) - - cmap = matplotlib.colormaps.get_cmap("act_balance_r") - assert isinstance(cmap, matplotlib.colors.Colormap) - - cmap = matplotlib.colormaps.get_cmap("act_ChaseSpectral") - assert isinstance(cmap, matplotlib.colors.Colormap) - - cmap = matplotlib.colormaps.get_cmap("act_ChaseSpectral_r") - assert isinstance(cmap, matplotlib.colors.Colormap) - - cmap = matplotlib.colormaps.get_cmap("act_SpectralExtended") - assert isinstance(cmap, matplotlib.colors.Colormap) - - cmap = matplotlib.colormaps.get_cmap("act_SpectralExtended_r") - assert isinstance(cmap, matplotlib.colors.Colormap) diff --git a/continuous_integration/environment_actions.yml b/continuous_integration/environment_actions.yml index 88118f4ad6..b81ccaae9a 100644 --- a/continuous_integration/environment_actions.yml +++ b/continuous_integration/environment_actions.yml @@ -1,34 +1,35 @@ -# Basic environment for ACT. -name: act_env -channels: - - conda-forge - - defaults -dependencies: - - cartopy - - pyproj - - matplotlib>=3.7 - - numpy - - scipy - - netcdf4 - - dask - - xarray - - ipython - - pint=0.8.1 - - skyfield - - lxml - - scikit-posthocs - - flake8 - - pytest - - pytest-cov - - pytest-mpl - - coveralls - - pandas<2.0 - - shapely<1.8.3 - - pip - - lazy_loader - - pip: - - mpl2nc - - metpy - - pysp2 - - arm_pyart - - icartt +# Basic environment for ACT. +name: act_env +channels: + - conda-forge + - defaults +dependencies: + - cartopy + - pyproj + - matplotlib>=3.7 + - numpy + - scipy + - netcdf4 + - dask + - xarray + - ipython + - pint=0.8.1 + - skyfield + - lxml + - scikit-posthocs + - flake8 + - pytest + - pytest-cov + - pytest-mpl + - coveralls + - pandas<2.0 + - shapely<1.8.3 + - pip + - lazy_loader + - cmweather + - pip: + - mpl2nc + - metpy + - pysp2 + - arm_pyart + - icartt diff --git a/docs/environment_docs.yml b/docs/environment_docs.yml index 4b373a26fd..8b0ccf89cf 100644 --- a/docs/environment_docs.yml +++ b/docs/environment_docs.yml @@ -33,3 +33,4 @@ dependencies: - nbsphinx - pooch - icartt + - cmweather diff --git a/environment.yml b/environment.yml index f36143cd84..9c0e11f0a8 100644 --- a/environment.yml +++ b/environment.yml @@ -1,21 +1,22 @@ -# Basic environment for ACT. -name: act_env -channels: - - conda-forge -dependencies: - - python - - numpy - - scipy - - xarray - - matplotlib - - dask - - distributed - - pandas - - pint - - requests - - pre-commit - - pyproj>=2.0.0 - - cartopy - - skyfield - - lazy_loader - - lxml +# Basic environment for ACT. +name: act_env +channels: + - conda-forge +dependencies: + - python + - numpy + - scipy + - xarray + - matplotlib + - dask + - distributed + - pandas + - pint + - requests + - pre-commit + - pyproj>=2.0.0 + - cartopy + - skyfield + - lazy_loader + - lxml + - cmweather diff --git a/examples/discovery/plot_noaa_fmcw_moment.py b/examples/discovery/plot_noaa_fmcw_moment.py index 818ab133fd..50bad32ead 100644 --- a/examples/discovery/plot_noaa_fmcw_moment.py +++ b/examples/discovery/plot_noaa_fmcw_moment.py @@ -45,13 +45,13 @@ display.plot( 'reflectivity_uncalibrated', dsname='NOAA Site KPS PSL Radar FMCW', - cmap='act_HomeyerRainbow', + cmap='HomeyerRainbow', subplot_index=(0,), ) display.plot( 'number_density_drops', dsname='NOAA Site KPS Parsivel', - cmap='act_HomeyerRainbow', + cmap='HomeyerRainbow', subplot_index=(1,), ) # Adjust ylims of parsivel plot. diff --git a/examples/plotting/plot_ceil.py b/examples/plotting/plot_ceil.py index 7f05b810f4..ef84721782 100644 --- a/examples/plotting/plot_ceil.py +++ b/examples/plotting/plot_ceil.py @@ -28,7 +28,7 @@ ceil_ds = act.corrections.ceil.correct_ceil(ceil_ds, -9999.0) # Plot up ceilometer backscatter using HomeyerRainbow cb friendly colormap -# The same could be done with keyword 'cmap='act_HomeyRainbow' +# The same could be done with keyword 'cmap='HomeyerRainbow' display = act.plotting.TimeSeriesDisplay(ceil_ds, subplot_shape=(1,), figsize=(15, 5)) display.plot('backscatter', subplot_index=(0,), cb_friendly=True) plt.show() diff --git a/examples/workflows/plot_aerioe_with_cbh.py b/examples/workflows/plot_aerioe_with_cbh.py index d5901f1199..b6ea3ff86a 100644 --- a/examples/workflows/plot_aerioe_with_cbh.py +++ b/examples/workflows/plot_aerioe_with_cbh.py @@ -51,7 +51,7 @@ display.plot('first_cbh', dsname='Ceilometer', marker='+', color='black', markeredgewidth=3, linewidth=0, subplot_index=(1,), label='cbh') - display.plot('waterVapor', dsname='AERIoe', cmap='act_HomeyerRainbow', set_shading='nearest', + display.plot('waterVapor', dsname='AERIoe', cmap='HomeyerRainbow', set_shading='nearest', add_nan=True, subplot_index=(1,)) # If you want to save it you can diff --git a/requirements.txt b/requirements.txt index 0b30130097..e6060b502f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,19 +1,20 @@ -# List required packages in this file, one per line. -pyproj -numpy -pandas<2.0 -matplotlib -scipy -xarray -dask -distributed -pint -requests -six -skyfield -cftime -netcdf4 -lazy_loader -fsspec -metpy -lxml +# List required packages in this file, one per line. +pyproj +numpy +pandas<2.0 +matplotlib +scipy +xarray +dask +distributed +pint +requests +six +skyfield +cftime +netcdf4 +lazy_loader +fsspec +metpy +lxml +cmweather \ No newline at end of file