diff --git a/README.md b/README.md index d7ff8384..9870560d 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,18 @@ # PyFlexPlot -PyFlexPlot is a Python-based tool to visualize FLEXPART dispersion simulation results stored in NetCDF format. +PyFlexPlot is a Python-based tool to visualize/post-process FLEXPART dispersion simulation results stored in NetCDF format. ## Table of Contents - [Prerequisites and Cloning the Repository](#prerequisites-and-cloning-the-repository) -- [Quick Start](#quick-start) +- [Getting Started](#getting-started) - [Usage](#usage) - [Usage Example](#usage-example) -- [The Developer's Guide through the Project](#the-developers-guide-through-the-project) - - [Getting Started](#getting-started) +- [Developer Notes](#developer-notes) - [Implemented Debugging Features](#implemented-debugging-features) - [Roadmap to your first Contribution](#roadmap-to-your-first-contribution) - [Testing and Coding Standards](#testing-and-coding-standards) - [Pre-commit on GitHub Actions](#pre-commit-on-github-actions) - [Jenkins](#jenkins) -- [Features](#features) + - [Updating the Test References](#updating-the-test-references) +- [Features](#key-features) - [Credits](#credits) - [External Links](#external-links) - [License](#license) @@ -23,15 +23,45 @@ To get a local copy of this repository, run following commands and naviate into git clone https://github.com/MeteoSwiss-APN/pyflexplot cd ``` -## Quick Start -For a quick setup to use pyflexplot, run the following commands within the root folder: -1. Install pinned environment: ```tools/setup_env.sh``` -2. Activate the environment and build the package: + +## Getting Started + +Once you created or cloned this repository, make sure the installation is running properly. Install the package dependencies with the provided script `setup_env.sh`. +Check available options with ```bash -conda activate pyflexplot -pip install --no-deps . +tools/setup_env.sh -h ``` -3. To check if the tool runs properly you can run the tests by running ```pytest tests``` +We distinguish pinned installations based on exported (reproducible) environments and free installations where the installation +is based on top-level dependencies listed in `requirements/requirements.yml`. If you start developing, you might want to do an unpinned installation and export the environment: + +```bash +tools/setup_env.sh -u -e -n +``` +*Hint*: If you are the package administrator, it is a good idea to understand what this script does, you can do everything manually with `conda` instructions. + +*Hint*: Use the flag `-m` to speed up the installation using mamba. Of course you will have to install mamba first (we recommend to install mamba into your base +environment `conda install -c conda-forge mamba`. If you install mamba in another (maybe dedicated) environment, environments installed with mamba will be located +in `/envs/mamba/envs`, which is not very practical. + +The package itself is installed with `pip`. For development, install in editable mode: + +```bash +conda activate +pip install --editable . +``` + +*Warning:* Make sure you use the right pip, i.e. the one from the installed conda environment (`which pip` should point to something like `path/to/miniconda/envs//bin/pip`). + +Once your package is installed, navigate to the root directory and run the tests by typing: + +```bash +cd +conda activate +pytest +``` + +If the tests pass, you are good to go. If not, contact the package administrator Stefan Ruedisuehli. Make sure to update your requirement files and export your environments after installation +every time you add new imports while developing. Check the next section to find some guidance on the development process if you are new to Python and/or SEN. ## Usage To utilize pyflexplot, first ensure you are in the root directory of the project and have activated the necessary conda environment: @@ -55,12 +85,13 @@ To utilize all available CPUs for the command, use the option: ### Usage Example After you've set up pyflexplot ([Prerequisites and cloning the repository](#prerequisites-and-cloning-the-repository) and [Getting started](#getting-started)), you'll need to specify a configuration file and an output directory. -Define an output directory: +Create an output directory using: ```bash dest=test_output/ ``` -Note: The directory will be created on run time if it doesn't already exist. +Note: The directory will be automatically created if it doesn't already exist. +There are several default config files available under ```src/pyflexplot/data/presets/opr```. Furthermore, there are already several default config files available in the directory ```src/pyflexplot/data/presets/opr```. To run the program for all presets in the PDF graphics format with the default input data, use: ```bash @@ -81,46 +112,7 @@ After selecting a preset, run pyflexplot interactively: pyflexplot --preset "$preset" --merge-pdfs --dest=$dest ``` -## The Developer's Guide through the Project - -### Getting Started - -Once you created or cloned this repository, make sure the installation is running properly. Install the package dependencies with the provided script `setup_env.sh`. -Check available options with -```bash -tools/setup_env.sh -h -``` -We distinguish pinned installations based on exported (reproducible) environments and free installations where the installation -is based on top-level dependencies listed in `requirements/requirements.yml`. If you start developing, you might want to do an unpinned installation and export the environment: - -```bash -tools/setup_env.sh -u -e -n -``` -*Hint*: If you are the package administrator, it is a good idea to understand what this script does, you can do everything manually with `conda` instructions. - -*Hint*: Use the flag `-m` to speed up the installation using mamba. Of course you will have to install mamba first (we recommend to install mamba into your base -environment `conda install -c conda-forge mamba`. If you install mamba in another (maybe dedicated) environment, environments installed with mamba will be located -in `/envs/mamba/envs`, which is not very practical. - -The package itself is installed with `pip`. For development, install in editable mode: - -```bash -conda activate -pip install --editable . -``` - -*Warning:* Make sure you use the right pip, i.e. the one from the installed conda environment (`which pip` should point to something like `path/to/miniconda/envs//bin/pip`). - -Once your package is installed, navigate to the root directory and run the tests by typing: - -```bash -cd -conda activate -pytest -``` - -If the tests pass, you are good to go. Make sure to update your requirement files and export your environments after installation -every time you add new imports while developing. Check the next section to find some guidance on the development process if you are new to Python and/or SEN. +## Developer Notes As this package was created with the SEN Python blueprint, it comes with a stack of development tools, which are described in more detail on the [Website](https://meteoswiss-apn.github.io/mch-python-blueprint/). Here, we give a brief overview on what is implemented. @@ -139,8 +131,8 @@ Here are some of the key debugging features: ### Roadmap to your first Contribution -Generally, the source code of your library is located in `src/`. `cli.py` thereby serves as an entry -point for functionalities you want to execute from the command line and it is based on the Click library. If you do not need interactions with the command line, you should remove `cli.py`. Moreover, of course there exist other options for command line interfaces, +Generally, the source code of your library is located in `src/`. The blueprint will generate some example code in `mutable_number.py`, `utils.py` and `cli.py`. `cli.py` thereby serves as an entry +point for functionalities you want to execute from the command line, it is based on the Click library. If you do not need interactions with the command line, you should remove `cli.py`. Moreover, of course there exist other options for command line interfaces, a good overview may be found [here](https://realpython.com/comparing-python-command-line-parsing-libraries-argparse-docopt-click/), we recommend however to use click. The provided example code should provide some guidance on how the individual source code files interact within the library. In addition to the example code in `src/`, there are examples for unit tests in `tests//`, which can be triggered with `pytest` from the command line. Once you implemented a feature (and of course you also @@ -186,10 +178,25 @@ both commits on branches and PRs. Your jenkins pipeline will not be set up automatically. If you need to run your tests on CSCS machines, contact DevOps to help you with the setup of the pipelines. Otherwise, you can ignore the jenkinsfiles and exclusively run your tests and checks on GitHub actions. -## Features - -- TODO - +### Updating the Test References +Pyflexplot includes a set of functionality tests that compare generated output against predefined reference data. +These reference files, which are in the .py format, are derived from and stored alongside the original data in the tests/data directory. +To update these references, uncomment the lines of code in the test file you wish to update and run the test. + +## Key Features + +### PDF and PNG Files +Pyflexplot allows to visualize data on a map plot and save the output in either PDF or PNG format. To utilize this feature, simply adjust the outfile variable with the appropriate file extension. +![Example Image Output](img/integrated_concentration_site-Goesgen_species-1_domain-full_lang-de_ts-20200217T0900.png) +### Shape File Generation +Furthermore, Pyflexplot provides the functionality to export data into shape files (.shp) to utilize them in GIS programs such as QGIS 3. The output is a ZIP archive containing the essential components of a shapefile: .shp, .dbf, .shx, .prj, and .shp.xml. +Key aspects of this feature include: +* __Filtering Zero Values__: The tool initially removes zero values from fields (e.g., concentration) before processing. +* __Logarithmic Transformation__: Field values undergo a log_10 transformation to optimize the visualization of data ranges. +* __Precision Handling__: The transformed field values are recorded with 15 decimal places, accommodating the precision limitations of some GIS software. +* __Metadata Storage__: Information, such as details about released materials, are stored within a .shp.xml file as metadata. +### Scaling the field values +Another feature is to manipulate the field values by scaling with an arbitrary factor. This factor can be set in the preset with the variable `multiplier`. ## Credits This package was created with [`copier`](https://github.com/copier-org/copier) and the [`MeteoSwiss-APN/mch-python-blueprint`](https://github.com/MeteoSwiss-APN/mch-python-blueprint) project template. @@ -198,6 +205,7 @@ This package was created with [`copier`](https://github.com/copier-org/copier) a * [copier](https://github.com/copier-org/copier) - Based library and CLI app for rendering project templates. * [mch-python-blueprint](https://github.com/MeteoSwiss-APN/mch-python-blueprint) - Project template embedded in this project based on copier. +* [pyshp](https://github.com/GeospatialPython/pyshp) - Python module to generate Shapefiles ## License diff --git a/README.meteoswiss.md b/README.meteoswiss.md index 1f3167fa..7ab5f916 100644 --- a/README.meteoswiss.md +++ b/README.meteoswiss.md @@ -286,7 +286,7 @@ and without committing it as new tag (--no-commit --no-tag) bumpversion --verbose --allow-dirty --no-commit --no-tag --new-version=1.0.6-pre-1 dummy -Save environment specificatons to allow for an exact replication of +Save environment specifications to allow for an exact replication of environment with make install make install-dev diff --git a/VERSION b/VERSION index 7ee7020b..9084fa2f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.10 +1.1.0 diff --git a/img/integrated_concentration_site-Goesgen_species-1_domain-full_lang-de_ts-20200217T0900.png b/img/integrated_concentration_site-Goesgen_species-1_domain-full_lang-de_ts-20200217T0900.png new file mode 100644 index 00000000..1d88c764 Binary files /dev/null and b/img/integrated_concentration_site-Goesgen_species-1_domain-full_lang-de_ts-20200217T0900.png differ diff --git a/jenkins/Jenkinsfile b/jenkins/Jenkinsfile index 0d421026..596195dc 100644 --- a/jenkins/Jenkinsfile +++ b/jenkins/Jenkinsfile @@ -28,7 +28,7 @@ pipeline { ''' } } - stage('build package') { + stage('build unpinned') { steps { sh '''#!/usr/bin/env bash set -e @@ -41,7 +41,7 @@ pipeline { ''' } } - stage('test') { + stage('test unpinned') { steps { sh '''#!/usr/bin/env bash source $WORKSPACE/miniconda/etc/profile.d/conda.sh @@ -51,69 +51,25 @@ pipeline { ''' } } - stage('dev-environment') { + stage('build unpinned') { steps { sh '''#!/usr/bin/env bash set -e - source $WORKSPACE/miniconda/etc/profile.d/conda.sh - conda init bash --no-user --install --system - conda activate - bash tools/setup_env.sh -n dev-pyflexplot -u - conda activate dev-pyflexplot - pip install --no-deps --editable . - ''' - } - } - stage('dev-test') { - steps { - sh '''#!/usr/bin/env bash - source $WORKSPACE/miniconda/etc/profile.d/conda.sh - conda init bash --no-user --install --system - conda activate dev-pyflexplot - pytest tests - ''' - } - } - stage('pinned-environment') { - steps { - sh '''#!/usr/bin/env bash - set -e - source $WORKSPACE/miniconda/etc/profile.d/conda.sh + source ${WORKSPACE}/miniconda/etc/profile.d/conda.sh conda init bash --no-user --install --system conda activate - bash tools/setup_env.sh -n pinned-pyflexplot - conda activate pinned-pyflexplot + bash tools/setup_env.sh -n pyflexplot-pinned + conda activate pyflexplot-pinned pip install --no-deps . ''' } } - stage('pinned-test') { + stage('test pinned') { steps { sh '''#!/usr/bin/env bash source $WORKSPACE/miniconda/etc/profile.d/conda.sh - conda activate pinned-pyflexplot - pytest tests - ''' - } - } - stage('pinned-dev-environment') { - steps { - sh '''#!/usr/bin/env bash - set -e - source $WORKSPACE/miniconda/etc/profile.d/conda.sh conda init bash --no-user --install --system - conda activate - bash tools/setup_env.sh -n pinned-dev-pyflexplot - conda activate pinned-dev-pyflexplot - pip install --no-deps --editable . - ''' - } - } - stage('pinned-dev-test') { - steps { - sh '''#!/usr/bin/env bash - source $WORKSPACE/miniconda/etc/profile.d/conda.sh - conda activate pinned-dev-pyflexplot + conda activate pyflexplot-pinned pytest tests ''' } diff --git a/pyproject.toml b/pyproject.toml index f1c2fad4..92b23a9a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta" [project] name = "pyflexplot" -version = "1.0.12" +version = "1.1.0" description = "Stefan Ruedisuehli's PyFlexPlot" readme = "README.md" keywords = [ @@ -195,4 +195,4 @@ ignore_directives = [ [tool.codespell] ignore-words-list = "ende,ue,fo,activ,nd,feld,nd" -skip = "requirements/*,*.pdf" +skip = "requirements/*,*.pdf,environment.yml" diff --git a/requirements/requirements.yml b/requirements/requirements.yml index d35fdf6e..1168e59d 100644 --- a/requirements/requirements.yml +++ b/requirements/requirements.yml @@ -12,7 +12,7 @@ dependencies: - netcdf4 - numpy >= 1.20 - pillow >= 8.4.0 - - pypdf2 == 1.* + - pypdf >= 3.10.0 - scipy - toml - typing-extensions diff --git a/src/pyflexplot/cli/cli.py b/src/pyflexplot/cli/cli.py index 0ff4fce2..ba54145a 100644 --- a/src/pyflexplot/cli/cli.py +++ b/src/pyflexplot/cli/cli.py @@ -79,7 +79,7 @@ ), metavar="DEST_DIR", type=click.Path(exists=False), - default=None, + default="output/", ) @click.option( "--merge-pdfs/--no-merge-pdfs", diff --git a/src/pyflexplot/cli/click.py b/src/pyflexplot/cli/click.py index 092cd858..77ed7a77 100644 --- a/src/pyflexplot/cli/click.py +++ b/src/pyflexplot/cli/click.py @@ -76,7 +76,7 @@ def click_set_verbosity(ctx, param, value) -> None: def wrap_callback(fct): - """Wrapp click callback functions to conditionally drop into ipdb.""" + """Wrap click callback functions to conditionally drop into ipdb.""" def wrapper(ctx, param, value): fct_loc = wrap_pdb(fct) if (ctx.obj or {}).get("pdb") else fct diff --git a/src/pyflexplot/cli/main.py b/src/pyflexplot/cli/main.py index cee08748..43a1e302 100644 --- a/src/pyflexplot/cli/main.py +++ b/src/pyflexplot/cli/main.py @@ -2,7 +2,9 @@ # Standard library import multiprocessing as mp import os +import shutil import time +import zipfile from copy import copy from functools import partial from multiprocessing.pool import Pool @@ -95,6 +97,7 @@ def main( show_version, tmp_dir, ) + if num_procs == 1: all_out_file_paths = fct() else: @@ -116,7 +119,10 @@ def main( dry_run=pdf_dry_run, ) except PdfReadError as e: - log(err=f"Error merging PDFs ({e}); retry {iter_i + 1}/{iter_max}") + log( + err=f"""Error merging PDFs ({e}); + retry {iter_i + 1}/{iter_max}""" + ) continue else: all_out_file_paths = all_out_file_paths_tmp @@ -128,17 +134,23 @@ def main( else: log(err="Could not merge PDFs in {iter_max} attempts") - # Move output files (remaining after PDF merging) to destination - if abspath(dest_dir) != abspath(tmp_dir): - log(inf=f"{tmp_dir} -> {dest_dir}") - for file_path in all_out_file_paths: - if not abspath(file_path).startswith(abspath(tmp_dir)): - continue - file_path_dest = f"{dest_dir}/{relpath(file_path, start=tmp_dir)}" - log(vbs=f"{file_path} -> {file_path_dest}") + # Merge Shape Files (already packed in .zip files each) + log(vbs="merging shape files") + all_out_file_paths_tmp = list(all_out_file_paths) + try: + redundant_shape_files = merge_shape_files( + all_out_file_paths_tmp, + tmp_dir=tmp_dir, + dest_dir=dest_dir, + dry_run=pdf_dry_run, + ) + except FileNotFoundError: + log(err="Error merging shape files.") + else: + for path in redundant_shape_files: if not dry_run: - os.makedirs(os.path.dirname(file_path_dest), exist_ok=True) - os.replace(file_path, file_path_dest) + log(dbg=f"remove {path}") + Path(path).unlink() # Remove temporary directory (if given) unless it already existed before remove_tmpdir = tmp_dir and not dry_run and not os.listdir(tmp_dir) @@ -170,11 +182,14 @@ def create_all_plots( log(vbs="read fields and create plots") all_out_file_paths: List[str] = [] iter_state = SharedIterationState(n_input_files=len(setup_groups)) - for iter_state.i_input_file, setup_group in enumerate(setup_groups, start=1): + for iter_state.i_input_file, setup_group in enumerate( + setup_groups, start=1 + ): # noqa: E501 if only and iter_state.n_field_groups_curr >= only: log( dbg=( - f"[only:{only}] skip {ordinal(iter_state.n_field_groups_curr)}" + f"""[only:{only}] skip + {ordinal(iter_state.n_field_groups_curr)}""" " field group" ) ) @@ -222,8 +237,14 @@ def create_all_plots( fct(*args) log(dbg=f"done processing {setup_group.infile}") n_input_files_todo = iter_state.n_input_files - iter_state.i_input_file - if only and iter_state.n_field_groups_curr >= only and n_input_files_todo: - log(vbs=f"[only:{only}] skip remaining {n_input_files_todo} input files") + maximum_reached = ( + only and iter_state.n_field_groups_curr >= only and n_input_files_todo + ) + if maximum_reached: + log( + vbs=f"""[only:{only}] skip remaining + {n_input_files_todo} input files""" + ) break # Sort output file paths with numbered duplicates are in the correct order @@ -255,7 +276,6 @@ def prepare_setups( setup_groups = [ setup_group.compress_partially("files.output") for setup_group in setup_groups ] - if only: # Restrict the total number of setup objects in the setup groups # Note that the number of plots is likely still higher than only because @@ -263,7 +283,6 @@ def prepare_setups( setup_groups = restrict_grouped_setups( setup_groups, only, grouped_by="files.input" ) - return setup_groups @@ -283,12 +302,20 @@ def read_setup_groups( if path not in setup_file_paths: setup_file_paths.append(path) if not setup_file_paths: - return [PlotSetupGroup.create(SetupFile.prepare_raw_params(input_setup_params))] + return [ + PlotSetupGroup.create( + SetupFile.prepare_raw_params(input_setup_params) + ) # noqa: E501 + ] return SetupFile.read_many(setup_file_paths, override=input_setup_params) +# noqa: E501 def restrict_grouped_setups( - setup_groups: Sequence[PlotSetupGroup], only: int, *, grouped_by: str = "group" + setup_groups: Sequence[PlotSetupGroup], + only: int, + *, + grouped_by: str = "group", # noqa: E501 ) -> List[PlotSetupGroup]: """Restrict total number of ``Setup``s in ``SetupGroup``s.""" old_setup_groups = copy(setup_groups) @@ -297,7 +324,9 @@ def restrict_grouped_setups( n_setups_new = 0 for setup_group in old_setup_groups: if n_setups_new + len(setup_group) > only: - setup_group = PlotSetupGroup(list(setup_group)[: only - n_setups_new]) + setup_group = PlotSetupGroup( + list(setup_group)[: only - n_setups_new] + ) # noqa: E501 new_setup_groups.append(setup_group) n_setups_new += len(setup_group) assert n_setups_new == only @@ -309,7 +338,7 @@ def restrict_grouped_setups( if n_setups_new < n_setups_old: log( dbg=( - f"[only:{only}] skip {n_setups_old - n_setups_new}/{n_setups_old}" + f"[only:{only}] skip {n_setups_old - n_setups_new}/{n_setups_old}" # noqa: E501 f" setups and {n_groups_old - n_groups_new}" f"/{n_groups_old} {grouped_by}s" ) @@ -324,7 +353,9 @@ def get_pid() -> int: elif name.startswith("ForkPoolWorker-"): return int(name.split("-")[1]) else: - raise NotImplementedError(f"cannot derive pid from process name: {name}") + raise NotImplementedError( + f"cannot derive pid from process name: {name}" + ) # noqa: E501 class SharedIterationState: @@ -340,7 +371,7 @@ def __init__( n_field_groups_i: int = -1, ) -> None: """Create an instance of ``SharedIterationState``.""" - self._dict: Dict[str, Any] = mp.Manager().dict() + self._dict: Dict[str, Any] = mp.Manager().dict() # type: ignore self.n_plot_files_curr = n_plot_files_curr self.n_input_files = n_input_files self.i_input_file = i_input_file @@ -390,7 +421,9 @@ def n_field_groups_i(self, value: int) -> None: def __repr__(self) -> str: return ( f"{type(self).__name__}(" - + ", ".join([f"{key}={sfmt(value)}" for key, value in self._dict.items()]) + + ", ".join( + [f"{key}={sfmt(value)}" for key, value in self._dict.items()] + ) # noqa: E501 + ")" ) @@ -407,7 +440,9 @@ def create_plots_i( pid = get_pid() log( dbg=( - f"[P{pid}][{iter_state.i_input_file}/{iter_state.n_input_files}][{ip_fld}" + f"""[P{pid}] + [{iter_state.i_input_file}/{iter_state.n_input_files}] + [{ip_fld}""" f"/{iter_state.n_field_groups_i}] prepare plot" ) ) @@ -417,7 +452,8 @@ def create_plots_i( log( inf=f"{field_group.attrs.format_path()} -> {out_file_path}", vbs=( - f"[P{pid}][{iter_state.i_input_file}/{iter_state.n_input_files}]" + f"""[P{pid}] + [{iter_state.i_input_file}/{iter_state.n_input_files}]""" f"[{ip_fld}{iter_state.n_field_groups_i}][{ip_out}/{n_out}]" f" plot {out_file_path}" ), @@ -431,25 +467,23 @@ def create_plots_i( def merge_pdf_plots( paths: List[str], *, - tmp_dir: str = None, - dest_dir: str = None, + tmp_dir: Optional[str] = None, + dest_dir: Optional[str] = None, keep_merged: bool = True, dry_run: bool = False, ) -> List[str]: # Collect PDFs - pdf_paths: List[str] = [] - for path in paths: - if path.endswith(".pdf"): - pdf_paths.append(path) + pdf_paths: List[str] = [path for path in paths if path.endswith(".pdf")] paths_organizer = PathsOrganizer(suffix="pdf", dup_sep=".") grouped_pdf_paths = paths_organizer.group_related(pdf_paths) merged_pages: List[str] = [] for group in grouped_pdf_paths: - merged = f"{dest_dir}/{relpath(paths_organizer.merge(group), start=tmp_dir)}" + merged = f"{dest_dir}/{relpath(paths_organizer.merge(group), start=tmp_dir)}" # noqa: E501 if keep_merged and abspath(merged) == abspath(group[0]): raise Exception( - "input and output files are the same file, which is not allowed for" + """input and output files are the same file, + which is not allowed for""" f" remove_merged=T: '{merged}'" + ("" if merged == group[0] else f" == '{merged[0]}'") ) @@ -464,6 +498,44 @@ def merge_pdf_plots( return merged_pages +def merge_shape_files( + paths: List[str], + *, + tmp_dir: Optional[str] = None, + dest_dir: Optional[str] = None, + dry_run: bool = False, +) -> List[str]: + # Collect PDFs + shape_paths: List[str] = [ + f"{path}.zip" for path in paths if path.endswith(".shp") + ] # noqa: E501 + paths_organizer = PathsOrganizer(suffix="shp.zip", dup_sep=".") + grouped_file_paths = paths_organizer.group_related(shape_paths) + merged_files: List[str] = [] + n = 0 + for i, group in enumerate(grouped_file_paths): + merged = f"""{dest_dir}{relpath(paths_organizer.merge(group), start=tmp_dir)}""" + tmp_zip_name = f"{dest_dir}temp_shape{i}.zip" + if not dry_run: + with zipfile.ZipFile(tmp_zip_name, "w") as main_zip: + for file in group: + with zipfile.ZipFile(file, "r") as zip_to_merge: + n += len(zip_to_merge.namelist()) + for sub_file in zip_to_merge.namelist(): + main_zip.writestr( + sub_file, zip_to_merge.open(sub_file).read() + ) + shutil.copy(tmp_zip_name, merged) + os.remove(tmp_zip_name) + for path in group: + base_name = path.rsplit(".", 1)[0] + paths.remove(base_name) + if abspath(path) != abspath(merged): + merged_files.append(path) + paths.append(merged) + return merged_files + + def open_plots(cmd: str, file_paths: Collection[str], dry_run: bool) -> None: """Open a plot file using a shell command.""" file_paths = sorted(file_paths) diff --git a/src/pyflexplot/data/presets/opr/cosmo-1e/all_shp.toml b/src/pyflexplot/data/presets/opr/cosmo-1e/all_shp.toml new file mode 100644 index 00000000..68ca1474 --- /dev/null +++ b/src/pyflexplot/data/presets/opr/cosmo-1e/all_shp.toml @@ -0,0 +1,51 @@ +# PyFlexPlot setup file to create ensemble CCOSMO-1E plots + +[_base] +# Data source: tsa:/scratch/ruestefa/shared/test/pyflexplot/ +infile = "data/cosmo-1e/2021030503/{ens_member:03}/grid_conc_20210305030000.nc_GOE" +ens_member_id = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +model = "COSMO-1E" +lang = "de" +outfile_time_format = "%Y%m%dT%H%M" +combine_species = true + +[_base._concentration] +plot_variable = "concentration" +level = 0 +integrate = false +time = "*" + +[_base._concentration._integr] +integrate = true +time = -1 + +[_base._tot_deposition] +plot_variable = "tot_deposition" +integrate = true +time = -1 + +[_base._affected_area] +plot_variable = "affected_area" +integrate = true +level = 0 +time = -1 + +[_base._concentration."_probability+"] +outfile = "{release_start}_{release_site}_FLEXPART-{model}_probability_{domain}.shp" +ens_variable = "probability" +ens_param_thr = 0 +[_base._concentration._integr."_probability+"] +outfile = "{release_start}_{release_site}_FLEXPART-{model}_probability_{domain}.shp" +ens_variable = "probability" +ens_param_thr = 0 +[_base._tot_deposition."_probability+"] +outfile = "{release_start}_{release_site}_FLEXPART-{model}_probability_{domain}.shp" +ens_variable = "probability" +ens_param_thr = 0 +[_base._affected_area."_probability+"] +outfile = "{release_start}_{release_site}_FLEXPART-{model}_probability_{domain}.shp" +ens_variable = "probability" +ens_param_thr = 0 + +["**".ch] +domain = "ch" diff --git a/src/pyflexplot/data_transformation/rotated_pole.py b/src/pyflexplot/data_transformation/rotated_pole.py new file mode 100644 index 00000000..464e2071 --- /dev/null +++ b/src/pyflexplot/data_transformation/rotated_pole.py @@ -0,0 +1,68 @@ +"""Functions to convert from rotated to unrotated coordinates.""" +# Third-party +import numpy as np + + +def latrot2lat( + phirot: np.ndarray, + rlarot: np.ndarray, + polphi: float, + polgam: float = 0, +) -> np.ndarray: + rad_to_deg = 180 / np.pi + deg_to_rad = np.pi / 180 + + zsinpol = np.sin(deg_to_rad * polphi) + zcospol = np.cos(deg_to_rad * polphi) + + zphis = deg_to_rad * phirot + zrlas = np.where(rlarot > 180.0, rlarot - 360.0, rlarot) + zrlas = deg_to_rad * zrlas + + zgam = deg_to_rad * polgam + zarg = zsinpol * np.sin(zphis) + zcospol * np.cos(zphis) * ( + np.cos(zrlas) * np.cos(zgam) - np.sin(zgam) * np.sin(zrlas) + ) + + return rad_to_deg * np.arcsin(zarg) + + +def lonrot2lon( + phirot: np.ndarray, + rlarot: np.ndarray, + polphi: float, + pollam: float, + polgam: float = 0, +) -> np.ndarray: + rad_to_deg = 57.2957795 + deg_to_rad = 0.0174532925 + + zsinpol = np.sin(deg_to_rad * polphi) + zcospol = np.cos(deg_to_rad * polphi) + zlampol = deg_to_rad * pollam + zphis = deg_to_rad * phirot + + zrlas = np.where(rlarot > 180.0, rlarot - 360.0, rlarot) + zrlas = deg_to_rad * zrlas + + zgam = deg_to_rad * polgam + zarg1 = np.sin(zlampol) * ( + -zsinpol + * np.cos(zphis) + * (np.cos(zrlas) * np.cos(zgam) - np.sin(zrlas) * np.sin(zgam)) + + zcospol * np.sin(zphis) + ) - np.cos(zlampol) * np.cos(zphis) * ( + np.sin(zrlas) * np.cos(zgam) + np.cos(zrlas) * np.sin(zgam) + ) + + zarg2 = np.cos(zlampol) * ( + -zsinpol + * np.cos(zphis) + * (np.cos(zrlas) * np.cos(zgam) - np.sin(zrlas) * np.sin(zgam)) + + zcospol * np.sin(zphis) + ) + np.sin(zlampol) * np.cos(zphis) * ( + np.sin(zrlas) * np.cos(zgam) + np.cos(zrlas) * np.sin(zgam) + ) + zarg2 = np.where(zarg2 == 0.0, 1.0e-20, zarg2) + + return rad_to_deg * np.arctan2(zarg1, zarg2) diff --git a/src/pyflexplot/input/meta_data.py b/src/pyflexplot/input/meta_data.py index 2fd922ac..8775a476 100644 --- a/src/pyflexplot/input/meta_data.py +++ b/src/pyflexplot/input/meta_data.py @@ -276,7 +276,9 @@ def merge_with(self, others: Collection["MetaData"]) -> "MetaData": # Species meta data species_params = compress_multival_dicts( - [params["species"] for params in merged_params_lst], tuple, skip_compr=True + [params["species"] for params in merged_params_lst], + tuple, + skip_compr=True, ) species_mdata = SpeciesMetaData(**species_params) @@ -346,7 +348,7 @@ def dict(self) -> Dict[str, Any]: return dct def __eq__(self, other: Any) -> bool: - self_dct = dc.asdict(self) + self_dct = dc.asdict(self) # type: ignore try: other_dct = dc.asdict(other) except TypeError: @@ -583,10 +585,10 @@ def from_file(cls, fi: nc4.Dataset, dimensions: Dimensions) -> "ReleaseMetaData" duration=duration, duration_unit=duration_unit, end_rel=end_rel, - height=np.mean([raw.zbot, raw.ztop]), + height=np.mean([raw.zbot, raw.ztop], dtype=float), height_unit=height_unit, - lat=np.mean([raw.lllat, raw.urlat]), - lon=np.mean([raw.lllon, raw.urlon]), + lat=np.mean([raw.lllat, raw.urlat], dtype=float), + lon=np.mean([raw.lllon, raw.urlon], dtype=float), mass=mass, mass_unit=mass_unit, rate=mass / duration.total_seconds() if duration else np.nan, @@ -916,7 +918,13 @@ def read_time_steps(file_handle: nc4.Dataset) -> List[str]: file_handle: Open NetCDF file handle. """ - attrs_select: List[str] = ["ibdate", "ibtime", "iedate", "ietime", "loutstep"] + attrs_select: List[str] = [ + "ibdate", + "ibtime", + "iedate", + "ietime", + "loutstep", + ] attrs_try_select: List[str] = [] ncattrs: Dict[str, Any] = {} for attr in attrs_select: diff --git a/src/pyflexplot/input/read_fields.py b/src/pyflexplot/input/read_fields.py index 43385378..bfbc5f53 100644 --- a/src/pyflexplot/input/read_fields.py +++ b/src/pyflexplot/input/read_fields.py @@ -58,8 +58,8 @@ class InputConfig: correspond to the beginning of the simulation, but constitute the sum over the first few hours of the simulation. - dry_run (optional): Perform dry run without reading the fields from disk - (meta data are still read). + dry_run (optional): Perform dry run without reading the + fields from disk (meta data are still read). cache_on (optional): Cache input fields to avoid reading the same field multiple times. @@ -99,8 +99,8 @@ def read_fields( _override_indir (optional): Override directory of ``setups.files.input``; should not be used outside of tests. - _override_infile (optional): Override ``setups.files.input``; should not - be used outside of tests. + _override_infile (optional): Override ``setups.files.input``; + should not be used outside of tests. """ setup_group = setup_group.copy() @@ -137,16 +137,17 @@ def read_fields( model_setup.base_time = int(time_steps[0]) for plot_type_setup in setup_group: plot_type_setup.model.base_time = model_setup.base_time - # SR_TODO Consider moving group_setups_by_plot_type into complete_dimensions setup_group = setup_group.complete_dimensions( raw_dimensions=raw_dimensions, species_ids=species_ids, ) - # Limit number of plots if only and len(setup_group) > only: - log(dbg=f"[only:{only}] skip {len(setup_group) - only}/{len(setup_group)}") + log( + dbg=f"""[only:{only}] + skip {len(setup_group) - only}/{len(setup_group)}""" + ) setup_group = PlotSetupGroup(list(setup_group)[:only]) # Separate setups of different plot types @@ -158,7 +159,7 @@ def read_fields( for plot_type_setup in plot_type_setups: field_groups_i = files.read_fields_over_time(plot_type_setup) if only and len(field_groups) + len(field_groups_i) > only: - log(dbg=f"[only:{only}] skip reading remaining fields after {only}") + log(dbg=f"""[only:{only}] skip reading remaining fields after {only}""") field_groups.extend(field_groups_i[: only - len(field_groups)]) break field_groups.extend(field_groups_i) @@ -267,7 +268,8 @@ def __init__( paths of the files on disk; if passed, the paths derived from ``raw_path`` are only passed to the returned ``FieldGroup`` object as attributes; useful in tests to read files from a - temporary directory that should not be stored in the attributes, + temporary directory that should + not be stored in the attributes, in which case a simplified, reproducible path can be passed to ``raw_path``, and the actual path to ``override_raw_path``. @@ -329,14 +331,19 @@ def read_fields_over_time(self, plot_setup: PlotSetup) -> List[FieldGroup]: # Compute some statistics across all time steps time_stats = FieldTimeProperties(fld_time) - + scale_factor = panel_setup_i.dimensions.get("multiplier") # Create Field objects at requested time steps for panel_setup_req_time, mdata_req_time in zip( panel_setups_req_time, self.mdata_tss ): time_idx: int = panel_setup_req_time.dimensions.time + output_field = ( + fld_time[time_idx] * scale_factor + if scale_factor is not None + else fld_time[time_idx] + ) field = Field( - fld=fld_time[time_idx], + fld=output_field, lat=self.lat, lon=self.lon, mdata=mdata_req_time, @@ -427,7 +434,9 @@ def _read_member_fields_over_time( """Read field over all time steps for each member.""" plot_variable = timeless_panel_setup.plot_variable - def read_fld_time_of_dimensions(sub_setup: PlotPanelSetup) -> List[np.ndarray]: + def read_fld_time_of_dimensions( + sub_setup: PlotPanelSetup, + ) -> List[np.ndarray]: fld_time_lst: List[np.ndarray] = [] for dimensions in sub_setup.dimensions.decompress(): fld_time_lst.append( @@ -435,7 +444,7 @@ def read_fld_time_of_dimensions(sub_setup: PlotPanelSetup) -> List[np.ndarray]: ) return fld_time_lst - # Read fields for all dimensions that are to be merged (e.g., summed up) + # Read fields for all dimensions that are to be merged if plot_variable == "affected_area": fld_time_lst = [] for variable in timeless_panel_setup.dimensions.variable: @@ -496,7 +505,9 @@ def _collect_meta_data_tss( return mdata_lst def _get_shape_mem_time( - self, raw_dimensions: Mapping[str, Mapping[str, Any]], plot_variable: str + self, + raw_dimensions: Mapping[str, Mapping[str, Any]], + plot_variable: str, ) -> Tuple[int, int, int, int, int]: """Get the shape of an array of fields across members and time steps.""" renamed_dims = self._renamed_dims() @@ -553,7 +564,10 @@ def _add_ts0_to_fld_time(fld_time: np.ndarray) -> np.ndarray: return new_fld_time def _reduce_ensemble_etc( - self, fld_time_mem: np.ndarray, panel_setup: PlotPanelSetup, ts_hrs: float + self, + fld_time_mem: np.ndarray, + panel_setup: PlotPanelSetup, + ts_hrs: float, ) -> np.ndarray: def reduce_last_dimension(arr: np.ndarray) -> np.ndarray: """Reduce the last dimension used for the affect area fields.""" @@ -599,7 +613,10 @@ def reduce_last_dimension(arr: np.ndarray) -> np.ndarray: # pylint: disable=R0912 # too-many-branches # pylint: disable=R1702 # too-many-nested-blocks (>5) def _reduce_ensemble( - self, fld_time_mem: np.ndarray, panel_setup: PlotPanelSetup, ts_hrs: float + self, + fld_time_mem: np.ndarray, + panel_setup: PlotPanelSetup, + ts_hrs: float, ) -> np.ndarray: """Reduce the ensemble to a single field (time, lat, lon).""" if len(self.paths) == 1 or self.config.dry_run: diff --git a/src/pyflexplot/input/species.py b/src/pyflexplot/input/species.py index 3e01bdd8..40b53902 100644 --- a/src/pyflexplot/input/species.py +++ b/src/pyflexplot/input/species.py @@ -50,12 +50,12 @@ class Species: id_cosmo: int = -99 id_ifs: int = -99 name: str = "N/A" - weight: SpeciesAttribute = dc.field(default=SpeciesAttribute) - half_life: SpeciesAttribute = dc.field(default=SpeciesAttribute) - deposition_velocity: SpeciesAttribute = dc.field(default=SpeciesAttribute) - sedimentation_velocity: SpeciesAttribute = dc.field(default=SpeciesAttribute) - washout_coefficient: SpeciesAttribute = dc.field(default=SpeciesAttribute) - washout_exponent: SpeciesAttribute = dc.field(default=SpeciesAttribute) + weight: SpeciesAttribute = dc.field(default=SpeciesAttribute) # type: ignore + half_life: SpeciesAttribute = dc.field(default=SpeciesAttribute) # type: ignore + deposition_velocity: SpeciesAttribute = dc.field(default=SpeciesAttribute) # type: ignore # noqa: E501 + sedimentation_velocity: SpeciesAttribute = dc.field(default=SpeciesAttribute) # type: ignore # noqa: E501 + washout_coefficient: SpeciesAttribute = dc.field(default=SpeciesAttribute) # type: ignore # noqa: E501 + washout_exponent: SpeciesAttribute = dc.field(default=SpeciesAttribute) # type: ignore # noqa: E501 @classmethod def create(cls, **params: Any) -> "Species": diff --git a/src/pyflexplot/output.py b/src/pyflexplot/output.py index d1c3895c..6217c4e5 100644 --- a/src/pyflexplot/output.py +++ b/src/pyflexplot/output.py @@ -1,5 +1,6 @@ """Output.""" # Standard library +import os import re from datetime import datetime from typing import Any @@ -34,6 +35,7 @@ def format( release_site: str, release_start: datetime, time_steps: Sequence[Union[int, datetime]], + species_name=str, ) -> str: log(dbg=f"formatting path '{template}'") path = self._format_template( @@ -42,6 +44,7 @@ def format( release_site=release_site, release_start=release_start, time_steps=time_steps, + species_name=species_name, ) while path in self.previous: template = self.derive_unique_path( @@ -51,6 +54,7 @@ def format( release_site=release_site, release_start=release_start, time_steps=time_steps, + species_name=species_name, ) ) path = self._format_template( @@ -59,6 +63,7 @@ def format( release_site=release_site, release_start=release_start, time_steps=time_steps, + species_name=species_name, ) self.previous.append(path) log(dbg=f"formatted path '{path}'") @@ -73,6 +78,7 @@ def _format_template( release_site: str, release_start: datetime, time_steps: Sequence[Union[int, datetime]], + species_name: str, ) -> str: # Prepare base time base_time = self._format_time_step( @@ -164,6 +170,7 @@ def prepare_ens_variable(ens_variable: str) -> str: "release_site": release_site, "release_start": release_start_fmtd, "species_id": setup.panels.collect_equal("dimensions.species_id"), + "species_name": species_name, "time_idx": time_idx if time_idx is not None else time_idx_seq, "time_step": time_step if time_step is not None else time_step_seq, } @@ -218,9 +225,8 @@ def derive_unique_path(path: str, sep: str = ".") -> str: # log(dbg=f"deriving unique path from '{path}'") # Extract suffix - if path.endswith(".png") or path.endswith(".pdf"): - suffix = f".{path.split('.')[-1]}" - else: + _, suffix = os.path.splitext(path) + if suffix not in [".pdf", ".png", ".shp"]: raise NotImplementedError(f"unknown suffix: {path}") path_base = path[: -len(suffix)] diff --git a/src/pyflexplot/plots.py b/src/pyflexplot/plots.py index 35ea3a33..bd0ae6d7 100644 --- a/src/pyflexplot/plots.py +++ b/src/pyflexplot/plots.py @@ -6,9 +6,8 @@ centralize it. There's tons of nested if-statements etc. because the goal during the cleanup -phase that included the centralization was to avoid falling into the trap of -premature design/overdesign again (as has happened repeatedly during the early -stages of development). +phase was to avoid falling into the trap of premature design/overdesign again +(as has happened repeatedly during the early stages of development). Instead, all the logic is collected here in a straightforward but dirty way until sane design choices emerge from the code mess. @@ -20,7 +19,6 @@ import os from datetime import datetime from datetime import timedelta -from pathlib import Path from pprint import pformat from typing import Any from typing import cast @@ -38,6 +36,7 @@ from matplotlib.colors import Colormap # First-party +from pyflexplot.save_data import DataSaver from srutils.datetime import init_datetime from srutils.format import format_numbers_range from srutils.format import ordinal @@ -93,6 +92,7 @@ def format_out_file_paths( release_start_rel = _mdata.release.start_rel simulation_start = _mdata.simulation.start simulation_time_steps = _mdata.simulation.time_steps + species_name = _mdata.species.name for idx, field in enumerate(field_group): if idx == 0: continue @@ -116,6 +116,11 @@ def format_out_file_paths( "simulation time steps differ between fields:" f"\n{simulation_time_steps}\n!=\n{field.mdata.simulation.time_steps}" ) + if species_name != field.mdata.species.name: + raise NotImplementedError( + "species name differs between fields:" + f"\n{species_name}\n!=\n{field.mdata.species.name}" + ) out_file_templates: Sequence[str] = ( [plot_setup.files.output] if isinstance(plot_setup.files.output, str) @@ -138,6 +143,7 @@ def format_out_file_paths( release_site=release_site_name, release_start=simulation_start + release_start_rel, time_steps=tuple(simulation_time_steps), + species_name=species_name, ) log(dbg=f"preparing plot '{out_file_path}'") out_file_paths.append(out_file_path) @@ -201,64 +207,13 @@ def create_plot( if dir_path: os.makedirs(dir_path, exist_ok=True) log(dbg=f"writing plot {file_path}") - plot.write(file_path) - # SR_TMP < TODO clean this up; add optional setup param for file name - if "standalone_release_info" in plot.config.labels: - write_standalone_release_info( - file_path, - plot.config, - ) - # SR_TMP > + data_saver = DataSaver.create_saver(file_path) + data_saver.save(file_path, plot, field_group) log(dbg=f"created plot {file_path}") plot.clean() return plot -def write_standalone_release_info(plot_path: str, plot_config: BoxedPlotConfig) -> str: - path = Path(plot_path).with_suffix(f".release_info{Path(plot_path).suffix}") - log(inf=f"write standalone release info to {path}") - layout = BoxedPlotLayout( - plot_config.setup.layout.derive({"type": "standalone_release_info"}), - aspects={"tot": 1.5}, - rects={"tot": (0, 0, 1, 1)}, - ) - species_id = plot_config.setup.panels.collect_equal("dimensions.species_id") - n_species = 1 if isinstance(species_id, int) else len(species_id) - width = 1.67 + 0.67 * n_species - config = BoxedPlotConfig( - fig_size=(width, 2.5), - layout=layout, - labels=plot_config.labels, - panels=[], - setup=plot_config.setup, - ) - - def fill_box(box: TextBoxAxes, plot: BoxedPlot) -> None: - labels = plot.config.labels["standalone_release_info"] - - # Box title - box.text( - s=labels["title"], - loc="tc", - fontname=plot.config.font.name, - size=plot.config.font.sizes.title_small, - ) - - # Add lines bottom-up (to take advantage of baseline alignment) - box.text_blocks_hfill( - labels["lines_str"], - dy_unit=-10.0, - dy_line=8.0, - fontname=plot.config.font.name, - size=plot.config.font.sizes.content_small, - ) - - plt = BoxedPlot(config) - plt.add_text_box("standalone_release_info", (0, 0, 1, 1), fill=fill_box) - plt.write(path) - return str(path) - - # pylint: disable=R0912 # too-many-branches (>12) def get_domain(field: Field, aspect: float) -> Domain: """Initialize Domain object (projection and extent).""" @@ -902,13 +857,10 @@ def cmap2colors( n_colors += 1 if extend in ["max", "both"] and not color_over: n_colors += 1 - cmap = mpl.pyplot.get_cmap(cmap) - if n_colors > 1: - cmap = mpl.colors.ListedColormap(cmap(np.linspace(0, 1, n_colors))) - + cmap = mpl.pyplot.get_cmap(cmap, lut=n_colors) colors: list[ColorType] try: - colors = cmap.colors.tolist() + colors = cmap.colors.tolist() # type: ignore except AttributeError: if n_colors == 1: colors = [cmap(0.0)] diff --git a/src/pyflexplot/plotting/boxed_plot.py b/src/pyflexplot/plotting/boxed_plot.py index f4d7d538..1bec7e9a 100644 --- a/src/pyflexplot/plotting/boxed_plot.py +++ b/src/pyflexplot/plotting/boxed_plot.py @@ -283,10 +283,11 @@ def _add_panel_label( linewidth=1, ) ) + panel_text = panel_config.label ax.ax.text( x=0.5 * width, y=1.0 - 0.55 * height, - s=panel_config.label, + s=panel_text if panel_text is not None else "", transform=ax.ax.transAxes, zorder=zorder, ha="center", diff --git a/src/pyflexplot/plotting/coord_trans.py b/src/pyflexplot/plotting/coord_trans.py index a0e4c28a..4e82ecd8 100644 --- a/src/pyflexplot/plotting/coord_trans.py +++ b/src/pyflexplot/plotting/coord_trans.py @@ -6,6 +6,7 @@ import warnings from collections.abc import Sequence from typing import overload +from typing import Tuple from typing import Union # Third-party @@ -63,13 +64,13 @@ class CoordinateTransformer: invalid_warn: bool = True @overload - def axes_to_data(self, x: float, y: float) -> tuple[float, float]: + def axes_to_data(self, x: float, y: float) -> Tuple[float, float]: ... @overload def axes_to_data( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def axes_to_data(self, x, y): @@ -80,13 +81,13 @@ def axes_to_data(self, x, y): return (x, y) @overload - def axes_to_geo(self, x: float, y: float) -> tuple[float, float]: + def axes_to_geo(self, x: float, y: float) -> Tuple[float, float]: ... @overload def axes_to_geo( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def axes_to_geo(self, x, y): @@ -120,13 +121,13 @@ def axes_to_geo(self, x, y): return (x, y) @overload - def axes_to_map(self, x: float, y: float) -> tuple[float, float]: + def axes_to_map(self, x: float, y: float) -> Tuple[float, float]: ... @overload def axes_to_map( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def axes_to_map(self, x, y): @@ -153,13 +154,13 @@ def axes_to_map(self, x, y): return (x_map, y_map) @overload - def data_to_axes(self, x: float, y: float) -> tuple[float, float]: + def data_to_axes(self, x: float, y: float) -> Tuple[float, float]: ... @overload def data_to_axes( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def data_to_axes(self, x, y): @@ -170,13 +171,13 @@ def data_to_axes(self, x, y): return (x, y) @overload - def data_to_geo(self, x: float, y: float) -> tuple[float, float]: + def data_to_geo(self, x: float, y: float) -> Tuple[float, float]: ... @overload def data_to_geo( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def data_to_geo(self, x, y): @@ -194,13 +195,13 @@ def data_to_geo(self, x, y): return (x, y) @overload - def data_to_map(self, x: float, y: float) -> tuple[float, float]: + def data_to_map(self, x: float, y: float) -> Tuple[float, float]: ... @overload def data_to_map( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def data_to_map(self, x, y): @@ -211,13 +212,13 @@ def data_to_map(self, x, y): return (x, y) @overload - def geo_to_axes(self, x: float, y: float) -> tuple[float, float]: + def geo_to_axes(self, x: float, y: float) -> Tuple[float, float]: ... @overload def geo_to_axes( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def geo_to_axes(self, x, y): @@ -258,13 +259,13 @@ def geo_to_axes(self, x, y): return (x, y) @overload - def geo_to_data(self, x: float, y: float) -> tuple[float, float]: + def geo_to_data(self, x: float, y: float) -> Tuple[float, float]: ... @overload def geo_to_data( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def geo_to_data(self, x, y): @@ -282,13 +283,13 @@ def geo_to_data(self, x, y): return (x, y) @overload - def geo_to_map(self, x: float, y: float) -> tuple[float, float]: + def geo_to_map(self, x: float, y: float) -> Tuple[float, float]: ... @overload def geo_to_map( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def geo_to_map(self, x, y): @@ -306,13 +307,13 @@ def geo_to_map(self, x, y): return (x, y) @overload - def map_to_axes(self, x: float, y: float) -> tuple[float, float]: + def map_to_axes(self, x: float, y: float) -> Tuple[float, float]: ... @overload def map_to_axes( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def map_to_axes(self, x, y): @@ -323,13 +324,13 @@ def map_to_axes(self, x, y): return (x, y) @overload - def map_to_data(self, x: float, y: float) -> tuple[float, float]: + def map_to_data(self, x: float, y: float) -> Tuple[float, float]: ... @overload def map_to_data( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def map_to_data(self, x, y): @@ -340,13 +341,13 @@ def map_to_data(self, x, y): return (x, y) @overload - def map_to_geo(self, x: float, y: float) -> tuple[float, float]: + def map_to_geo(self, x: float, y: float) -> Tuple[float, float]: ... @overload def map_to_geo( self, x: FloatArray1DLike_T, y: FloatArray1DLike_T - ) -> tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: + ) -> Tuple[npt.NDArray[np.float_], npt.NDArray[np.float_]]: ... def map_to_geo(self, x, y): @@ -381,12 +382,12 @@ def __repr__(self) -> str: @overload -def check_valid_coords(xy: tuple[float, float], allow, warn): +def check_valid_coords(xy: Tuple[float, float], allow, warn): ... @overload -def check_valid_coords(xy: tuple[FloatArray1DLike_T, FloatArray1DLike_T], allow, warn): +def check_valid_coords(xy: Tuple[FloatArray1DLike_T, FloatArray1DLike_T], allow, warn): ... diff --git a/src/pyflexplot/plotting/domain.py b/src/pyflexplot/plotting/domain.py index 253fd578..ac760042 100644 --- a/src/pyflexplot/plotting/domain.py +++ b/src/pyflexplot/plotting/domain.py @@ -107,7 +107,7 @@ def get_center(self) -> Tuple[float, float]: clat = 0.5 * (lllat + urlat) return (clon, clat) - def get_bbox_size(self) -> tuple[float, float]: + def get_bbox_size(self) -> Tuple[float, float]: """Return the domain size as the distance between the bbox corners.""" lllon, urlon, lllat, urlat = self.get_bbox_extent() dlon = urlon - lllon @@ -233,7 +233,7 @@ def crosses_dateline(self) -> bool: # pylint: disable=R0912 # too-many-branches (>12) # pylint: disable=R0914 # too-many-locals (>15) # pylint: disable=R0915 # too-many-statements (>50) - def _get_bbox_extent(self) -> tuple[tuple[float, float, float, float], bool]: + def _get_bbox_extent(self) -> Tuple[Tuple[float, float, float, float], bool]: """Return ``((lllon, lllat, urlon, urlat), crosses_dateline)``.""" lat_min: float = self.lat[0] lat_max: float = self.lat[-1] @@ -364,19 +364,19 @@ def __init__( self.crosses_dateline: bool (self.lllon, self.urlon), self.crosses_dateline = self._get_lon_extent() - def get_extent(self) -> tuple[float, float, float, float]: + def get_extent(self) -> Tuple[float, float, float, float]: """Get ``(lllon, urlon, lllat, urlat)``.""" return (self.lllon, self.urlon, self.lllat, self.urlat) - def get_lat_extent(self) -> tuple[float, float]: + def get_lat_extent(self) -> Tuple[float, float]: """Get ``(lllat, urlat)``.""" return (self.lllat, self.urlat) - def get_lon_extent(self) -> tuple[float, float]: + def get_lon_extent(self) -> Tuple[float, float]: """Get ``(lllon, urlon)``.""" return (self.lllon, self.urlon) - def _get_lat_extent(self) -> tuple[float, float]: + def _get_lat_extent(self) -> Tuple[float, float]: """Return ``(lllat, urlat)``.""" if not any(self.mask_lat): lllat = self.lat.min() @@ -386,7 +386,7 @@ def _get_lat_extent(self) -> tuple[float, float]: urlat = self.lat[self.mask_lat].max() return (lllat, urlat) - def _get_lon_extent(self) -> tuple[tuple[float, float], bool]: + def _get_lon_extent(self) -> Tuple[Tuple[float, float], bool]: """Return ``((lllon, urlon), crosses_dateline)``.""" if self.mask_lon.all(): lllon = self.lon.min() diff --git a/src/pyflexplot/plotting/map_axes.py b/src/pyflexplot/plotting/map_axes.py index 253ad267..1f3e9afd 100644 --- a/src/pyflexplot/plotting/map_axes.py +++ b/src/pyflexplot/plotting/map_axes.py @@ -18,7 +18,7 @@ import matplotlib as mpl import numpy as np from cartopy.io.shapereader import Record # type: ignore -from matplotlib.axes import Axes +from cartopy.mpl.geoaxes import GeoAxes from matplotlib.figure import Figure from matplotlib.lines import Line2D from matplotlib.text import Text @@ -177,7 +177,7 @@ def _create_ax( fig: Figure, rect: RectType, domain: Domain, - ) -> Axes: + ) -> GeoAxes: """Initialize Axes.""" with warnings.catch_warnings(): warnings.filterwarnings( @@ -185,7 +185,7 @@ def _create_ax( category=RuntimeWarning, message="numpy.ufunc size changed", ) - ax: Axes = fig.add_axes(rect, projection=self.projs.map) + ax: GeoAxes = fig.add_axes(rect, projection=self.projs.map) ax.set_adjustable("datalim") ax.spines["geo"].set_edgecolor("none") ax.set_aspect("auto") @@ -193,7 +193,7 @@ def _create_ax( ax.set_extent(bbox, self.projs.map) return ax - self.ax: Axes = _create_ax( + self.ax: GeoAxes = _create_ax( self.fig, self.rect, self.domain, @@ -345,10 +345,10 @@ def _ax_add_grid(self) -> None: linestyle=":", linewidth=1, color="black", zorder=self.zorder["grid"] ) gl.xlocator = mpl.ticker.FixedLocator( - np.arange(-180, 180, self.config.d_lon_grid) + np.arange(-180, 180, self.config.d_lon_grid) # type: ignore ) gl.ylocator = mpl.ticker.FixedLocator( - np.arange(-90, 90.1, self.config.d_lat_grid) + np.arange(-90, 90.1, self.config.d_lat_grid) # type: ignore ) def _ax_add_geography(self) -> None: @@ -601,7 +601,7 @@ def _ax_add_frame(self) -> None: # pylint: disable=E0633 # unpacking-non-sequence (false negative?!?) def _get_domain_bbox( self, n: int = 20, pad: float = 1.0 - ) -> tuple[float, float, float, float]: + ) -> Tuple[float, float, float, float]: """Get ``(lon0, lat0, lon1, lat1)`` bounding box of domain.""" trans = self.trans.axes_to_geo lons_s, lats_s = trans(np.linspace(0, 1, n), np.full([n], 0)) diff --git a/src/pyflexplot/plotting/proj_bbox.py b/src/pyflexplot/plotting/proj_bbox.py index c43edb7a..d90374e5 100644 --- a/src/pyflexplot/plotting/proj_bbox.py +++ b/src/pyflexplot/plotting/proj_bbox.py @@ -220,7 +220,7 @@ def zoom(self, fact, rel_offset) -> ProjectedBoundingBox: Args: fact (float): Zoom factor, > 1.0 to zoom in, < 1.0 to zoom out. - rel_offset (tuple[float, float], optional): Relative offset in x + rel_offset (Tuple[float, float], optional): Relative offset in x and y direction as a fraction of the respective domain extent. Defaults to (0.0, 0.0). diff --git a/src/pyflexplot/plotting/ref_dist_indicator.py b/src/pyflexplot/plotting/ref_dist_indicator.py index ce59d1c4..d42dae89 100644 --- a/src/pyflexplot/plotting/ref_dist_indicator.py +++ b/src/pyflexplot/plotting/ref_dist_indicator.py @@ -271,7 +271,7 @@ def run(self, x0, y0, dist, dir_="east"): dist = dists[i_sel] # Note: We could also check `dists[-2]` and return that # if it were sufficiently close (based on the relative - # error) and closer to the targest dist than `dist[-1]`. + # error) and closer to the target's distance than `dist[-1]`. # Compute the relative error err = abs(dist - self.dist) / self.dist diff --git a/src/pyflexplot/plotting/text_box_axes.py b/src/pyflexplot/plotting/text_box_axes.py index 42241c60..1c24222a 100644 --- a/src/pyflexplot/plotting/text_box_axes.py +++ b/src/pyflexplot/plotting/text_box_axes.py @@ -136,9 +136,9 @@ def __init__(self, box, loc, *, w, h, fc, ec, x_anker=None, **kwargs): h (float): Height (box coordinates). - fc (str or tuple[float]): Face color. + fc (str or Tuple[float]): Face color. - ec (str or tuple[float]): Edge color. + ec (str or Tuple[float]): Edge color. x_anker (str): Horizontal anker. Options: 'l' or 'left'; 'c' or 'center'; 'r' or 'right'; and None, in which case it is derived @@ -442,7 +442,7 @@ def _prepare_line_colors(blocks, colors, default_color): f"{len(colors_blocks[i])} != {len(block)}" ) for j in range(len(block)): - if colors_blocks[i][j] is None: + if colors_blocks[i][j] is not None: colors_blocks[i][j] = default_color return colors_blocks diff --git a/src/pyflexplot/save_data.py b/src/pyflexplot/save_data.py new file mode 100644 index 00000000..7280ac3b --- /dev/null +++ b/src/pyflexplot/save_data.py @@ -0,0 +1,257 @@ +"""Contains the implementation for data saving strategies.""" +# Standard library +import os +import zipfile +from pathlib import Path + +# Third-party +import numpy as np +import shapefile # type: ignore + +# First-party +from pyflexplot.plot_layouts import BoxedPlotLayout +from pyflexplot.plotting.boxed_plot import BoxedPlot +from pyflexplot.plotting.boxed_plot import BoxedPlotConfig +from pyflexplot.plotting.text_box_axes import TextBoxAxes + +# Local +from .data_transformation.rotated_pole import latrot2lat +from .data_transformation.rotated_pole import lonrot2lon +from .input.field import FieldGroup +from .utils.logging import log + + +class DataSaver: + """A class that employs a strategy to save the data.""" + + @staticmethod + def create_saver(filename: str) -> "DataSaver": + _, extension = os.path.splitext(filename) + if extension == ".pdf": + return DataSaver(GeneralDataSaver()) + elif extension == ".png": + return DataSaver(GeneralDataSaver()) + elif extension == ".shp": + return DataSaver(ShapeFileSaver()) + else: + raise ValueError(f"Unsupported file extension: {extension}") + + def __init__(self, strategy) -> None: + """Initialize a DataSaver with a specified saving strategy.""" + self.strategy = strategy + + def save(self, filename: str, plot: BoxedPlot, data: FieldGroup) -> None: + return self.strategy.save(filename, plot, data) + + +class GeneralDataSaver: + """General strategy to save data in PDF and PNG formats.""" + + def save(self, filename: str, plot: BoxedPlot, _data: FieldGroup) -> None: + plot.write(filename) + # SR_TMP < TODO clean this up; add optional setup param for file name + if "standalone_release_info" in plot.config.labels: + self.write_standalone_release_info( + filename, + plot.config, + ) + + def write_standalone_release_info( + self, plot_path: str, plot_config: BoxedPlotConfig + ) -> str: + """Write standalone release information for the plot.""" + path = Path(plot_path).with_suffix(f".release_info{Path(plot_path).suffix}") + + log(inf=f"write standalone release info to {path}") + layout = BoxedPlotLayout( + plot_config.setup.layout.derive({"type": "standalone_release_info"}), + aspects={"tot": 1.5}, + rects={"tot": (0, 0, 1, 1)}, + ) + species_id = plot_config.setup.panels.collect_equal("dimensions.species_id") + n_species = 1 if isinstance(species_id, int) else len(species_id) + width = 1.67 + 0.67 * n_species + config = BoxedPlotConfig( + fig_size=(width, 2.5), + layout=layout, + labels=plot_config.labels, + panels=[], + setup=plot_config.setup, + ) + + def fill_box(box: TextBoxAxes, plot: BoxedPlot) -> None: + labels = plot.config.labels["standalone_release_info"] + + # Box title + box.text( + s=labels["title"], + loc="tc", + fontname=plot.config.font.name, + size=plot.config.font.sizes.title_small, + ) + + # Add lines bottom-up (to take advantage of baseline alignment) + box.text_blocks_hfill( + labels["lines_str"], + dy_unit=-10.0, + dy_line=8.0, + fontname=plot.config.font.name, + size=plot.config.font.sizes.content_small, + ) + + plot = BoxedPlot(config) + plot.add_text_box("standalone_release_info", (0, 0, 1, 1), fill=fill_box) + plot.write(path) + return str(path) + + +class ShapeFileSaver: + """Provides functionality to save data as shapefiles and pack inside a ZIP.""" + + replacements = { + "\\\\": "", # Remove double backslashes + "\\mathrm": "", # Remove the \mathrm command + "\\circ": "°", # Degree symbol + '\\,"': "", # Remove small space + '\\"o': "ö", # ö character + '\\"a': "ä", # ä character + '\\"u': "ü", # ü character + "$": "", # Remove dollar signs used for math mode + "^": "", # Superscript (might not be needed in plain text) + "s^{-1}": "s-1", # Inverse seconds + "\\t": " ", # Tab character + "\\n": " ", # + "{": "", + "}": "", + "\\,": " ", + } + + def save(self, filename: str, plot: BoxedPlot, data: FieldGroup) -> None: + base_file_dir, _ = os.path.splitext(filename) + with zipfile.ZipFile(f"{filename}.zip", "w") as zip_file: + lat_values = [] + lon_values = [] + shapefile_writer = shapefile.Writer(filename, shapeType=shapefile.POINT) + for n, field in enumerate(data): + grid_north_pole_lat = field.mdata.simulation.grid_north_pole_lat + grid_north_pole_lon = field.mdata.simulation.grid_north_pole_lon + fld = field.fld.ravel() + relevant_indices = np.where(fld > 0) + fld = np.log10(fld[relevant_indices]) + field_name = str(field.mdata.species.name) + shapefile_writer.field(field_name, "F", 8, 15) + if len(fld) == 0: + shapefile_writer.point( + field.mdata.release.lon, field.mdata.release.lat + ) + shapefile_writer.record(field_name=[-100.0]) + lat_values.extend([field.mdata.release.lat]) + lon_values.extend([field.mdata.release.lon]) + continue + + coordinates = np.array( + [[lon, lat] for lat in field.lat for lon in field.lon] + )[relevant_indices] + + true_lat = latrot2lat( + coordinates[:, 1], coordinates[:, 0], grid_north_pole_lat + ) + true_lon = lonrot2lon( + coordinates[:, 1], + coordinates[:, 0], + grid_north_pole_lat, + grid_north_pole_lon, + ) + coordinates = np.array( + [[lon, lat] for lon, lat in zip(true_lon, true_lat)] + ) + lat_values.extend([np.max(true_lat), np.min(true_lat)]) + lon_values.extend([np.max(true_lon), np.min(true_lon)]) + for coord, conc in zip(coordinates, fld): + shapefile_writer.point(*coord) + shapefile_writer.record(conc) + + shapefile_writer.close() + + min_lon, max_lon = np.min(lon_values), np.max(lon_values) + min_lat, max_lat = np.min(lat_values), np.max(lat_values) + domain_metadata = {"DomainBoundaries": [min_lon, max_lon, min_lat, max_lat]} + self._write_metadata_file( + base_file_dir, + zip_file, + {**plot.config.labels, **domain_metadata}, + ) + self._move_shape_file_to_zip(base_file_dir, zip_file) + # Some GIS Software require information about the projection + self._write_projection_file_to_zip( + os.path.basename(base_file_dir), zip_file + ) + zip_file.close() + + def _move_shape_file_to_zip(self, base_file_dir: str, zip_file: zipfile.ZipFile): + """Move the generated shapefile components into a ZIP archive.""" + extensions = [".shp", ".shx", ".dbf"] + if "_domain" not in base_file_dir: + extensions += [".shp.xml"] + for ext in extensions: + file_to_copy = f"{base_file_dir}{ext}" + with open(file_to_copy, "rb") as file_in_zip: + zip_file.writestr( + f"{os.path.basename(base_file_dir)}{ext}", + file_in_zip.read(), + ) + file_in_zip.close() + os.remove(file_to_copy) + + def _write_metadata_file( + self, filename: str, zip_file: zipfile.ZipFile, metadata: dict + ): + """Write the metadata of the shapefile as an XML content (.shp.xml).""" + title_string, *_ = metadata["title"].values() + title_latex_string = "
".join(list(metadata["title"].values())) + release_latex_string = metadata["release_info"]["lines_str"].replace( + "\n", "
" + ) + model_info_string = "
".join(list(metadata["bottom"].values())) + + for key, value in ShapeFileSaver.replacements.items(): + release_latex_string = release_latex_string.replace(key, value) + title_latex_string = title_latex_string.replace(key, value) + title_string = title_string.replace(key, value) + model_info_string = model_info_string.replace(key, value) + + total_content = f"""{title_latex_string}

+ {release_latex_string}

{model_info_string}""" + domain_boundaries = metadata["DomainBoundaries"] + xml_content = f""" + + + + + + {domain_boundaries[0]} + {domain_boundaries[1]} + {domain_boundaries[2]} + {domain_boundaries[3]} + + + + {title_string} + + + + +""" + + with open(f"{filename}.shp.xml", "w", encoding="utf-8") as f: + f.write(xml_content) + + def _write_projection_file_to_zip(self, base_name: str, zip_file: zipfile.ZipFile): + """Write the projection file content to the ZIP archive.""" + proj_file_content = ( + 'GEOGCS["WGS 84",DATUM["WGS_1984",' + 'SPHEROID["WGS 84",6378137,298.257223563]],' + 'PRIMEM["Greenwich",0],' + 'UNIT["degree",0.0174532925199433]]' + ) + zip_file.writestr(f"{base_name}.prj", proj_file_content) diff --git a/src/pyflexplot/setups/base_setup.py b/src/pyflexplot/setups/base_setup.py index 97d2d622..9edd9782 100644 --- a/src/pyflexplot/setups/base_setup.py +++ b/src/pyflexplot/setups/base_setup.py @@ -38,12 +38,13 @@ def copy(self: SetupT) -> SetupT: return self.create(self.dict()) def derive(self: SetupT, params: Dict[str, Any]) -> SetupT: - return type(self).create(merge_dicts(self.dict(), params, overwrite_seqs=True)) + merged_dictionaries = merge_dicts(self.dict(), params, overwrite_seqs=True) + return type(self).create(merged_dictionaries) def dict(self: SetupT, rec: bool = False) -> Dict[str, Any]: if rec: raise NotImplementedError("rec=T") - return dc.asdict(self) + return dc.asdict(self) # type: ignore def tuple(self: SetupT) -> Tuple[Tuple[str, Any], ...]: return tuple(self.dict().items()) diff --git a/src/pyflexplot/setups/dimensions.py b/src/pyflexplot/setups/dimensions.py index fd286161..5f46868f 100644 --- a/src/pyflexplot/setups/dimensions.py +++ b/src/pyflexplot/setups/dimensions.py @@ -54,6 +54,7 @@ class CoreDimensions: species_id: Optional[int] = None time: Optional[int] = None variable: Optional[str] = None + multiplier: Optional[float] = None def __post_init__(self) -> None: # Check variable diff --git a/src/pyflexplot/setups/plot_panel_setup.py b/src/pyflexplot/setups/plot_panel_setup.py index 32c3272f..32c81e46 100644 --- a/src/pyflexplot/setups/plot_panel_setup.py +++ b/src/pyflexplot/setups/plot_panel_setup.py @@ -495,15 +495,16 @@ def decompress( a separate group is returned for each decompressed setup object. """ + sub_setups: List[PlotPanelSetup] | PlotPanelSetupGroup if internal: - sub_setups: List[PlotPanelSetup] = [ + sub_setups = [ sub_setup for setup in self for sub_setup in setup.decompress(select=select, skip=skip) ] return type(self)(sub_setups) if skip is None: - sub_setups: PlotPanelSetupGroup = self.decompress(select, internal=True) + sub_setups = self.decompress(select, internal=True) return [ type(self)([setup]) for setup in sub_setups # pylint: disable=E1133 # unpacking-non-sequence # noqa diff --git a/src/pyflexplot/setups/plot_setup.py b/src/pyflexplot/setups/plot_setup.py index 98c6e806..c205a402 100644 --- a/src/pyflexplot/setups/plot_setup.py +++ b/src/pyflexplot/setups/plot_setup.py @@ -203,7 +203,7 @@ def decompress(self, select=None, skip=None, *, internal=True): both ``select`` and ``skip`` will be skipped. internal (optional): Decompress setup group internally and return - one group containing the decompressed setup objectss; otherwise, + one group containing the decompressed setup objects; otherwise, a separate group is returned for each decompressed setup object. """ @@ -716,7 +716,7 @@ def decompress( ``skip`` and ``select`` will be skipped. internal (optional): Decompress setup group internally and return - one group containing the decompressed setup objectss; otherwise, + one group containing the decompressed setup objects; otherwise, a separate group is returned for each decompressed setup object. """ diff --git a/src/srtools/crop_netcdf.py b/src/srtools/crop_netcdf.py index cbaed43b..0e8cbd99 100644 --- a/src/srtools/crop_netcdf.py +++ b/src/srtools/crop_netcdf.py @@ -6,6 +6,7 @@ import sys from typing import Any from typing import Optional +from typing import Tuple from typing import Union # Third-party @@ -147,7 +148,7 @@ def transfer_dimension( def len_slice( - arg: Union[slice, tuple[Optional[int], Optional[int], Optional[int]]], n: int + arg: Union[slice, Tuple[Optional[int], Optional[int], Optional[int]]], n: int ) -> int: """Count number of elements selected by slice.""" if not isinstance(arg, slice): diff --git a/src/srutils/dataclasses.py b/src/srutils/dataclasses.py index 62ee08eb..71c24eb7 100644 --- a/src/srutils/dataclasses.py +++ b/src/srutils/dataclasses.py @@ -10,15 +10,14 @@ from typing import Collection from typing import get_args from typing import get_type_hints -from typing import get_origin from typing import Iterable from typing import Optional from typing import Sequence +from typing import Tuple from typing import Type from typing import TypeVar from typing import Union - # First-party from srutils.datetime import derive_datetime_fmt from srutils.exceptions import IncompatibleTypesError @@ -26,7 +25,6 @@ from srutils.exceptions import InvalidParameterValueError from srutils.exceptions import UnsupportedTypeError from srutils.format import sfmt -from srutils.str import split_outside_parens DataclassT = TypeVar("DataclassT") @@ -140,7 +138,7 @@ def cast_field_value(cls: Type, name: str, value: Any, **kwargs: Any) -> Any: try: if isinstance(value, arg): return value - except TypeError as e: + except TypeError: pass exc = InvalidParameterNameError msg = f"type {type_name} not supported" @@ -159,7 +157,7 @@ def cast_value( *, auto_wrap: bool = False, bool_mode: str = "native", - datetime_fmt: Union[str, tuple[str, ...]] = "auto", + datetime_fmt: Union[str, Tuple[str, ...]] = "auto", timedelta_unit: str = "days", unpack_str: bool = True, ) -> Any: @@ -188,7 +186,7 @@ def cast_value( sequence of one-character strings, as is their default behavior. """ - type_name = None + type_name = "" try: type_name = type_.__name__ # type: ignore except AttributeError: @@ -314,12 +312,12 @@ def prepare_wrapped_value( raise error(value, type_name) from e elif "Union" in type_name: - inner_types = get_args(type_) - if "NoneType" in inner_types: - inner_types.remove("NoneType") - inner_types.insert(0, "NoneType") + inner_types = list(get_args(type_)) + if type(None) in inner_types: + inner_types.remove(type(None)) + inner_types.insert(0, type(None)) for inner_type in inner_types: - if type(value) == inner_type: + if type(value) == inner_type: # noqa: E721 return value for inner_type in inner_types: try: @@ -331,7 +329,7 @@ def prepare_wrapped_value( elif "Optional" in type_name: if value in [None, "None"]: return None - inner_type = [i for i in get_args(type_) if not i == type(None)][0] + inner_type = [i for i in get_args(type_) if not isinstance(i, type(None))][0] try: return cast_value(inner_type, value, **kwargs) except IncompatibleTypesError: @@ -386,7 +384,7 @@ def prepare_wrapped_value( elif "Sequence" in type_name: value = prepare_wrapped_value(value, type_name) - inner_types = get_args(type_) + inner_types = get_args(type_) # type: ignore if len(inner_types) == 0: return prepare_wrapped_value(value, type_name) inner_type = inner_types[0] diff --git a/src/srutils/dict.py b/src/srutils/dict.py index 588708b3..e6356949 100644 --- a/src/srutils/dict.py +++ b/src/srutils/dict.py @@ -17,6 +17,7 @@ from typing import Optional from typing import overload from typing import Sequence +from typing import Tuple from typing import Type from typing import Union @@ -153,7 +154,7 @@ def merge_seqs(*seqs: Sequence[Any]) -> Sequence[Any]: # pylint: disable=R0912 # too-many-branches def compress_multival_dicts( dcts: Sequence[Mapping[str, Any]], - cls_seq: Type[Union[list[Any], tuple[Any, ...]]] = list, + cls_seq: Type[Union[list[Any], Tuple[Any, ...]]] = list, *, dedup: bool = True, skip_compr: bool = False, @@ -399,7 +400,7 @@ def flatten_nested_dict( return_paths: Literal[True], return_depths: Literal[False] = False, tie_breaker: Optional[Callable] = None, -) -> tuple[dict[Hashable, Any], dict[Hashable, tuple[Hashable]]]: +) -> Tuple[dict[Hashable, Any], dict[Hashable, Tuple[Hashable]]]: ... @@ -410,7 +411,7 @@ def flatten_nested_dict( return_paths: Literal[False] = False, return_depths: Literal[True], tie_breaker: Optional[Callable] = None, -) -> tuple[dict[Hashable, Any], dict[Hashable, int]]: +) -> Tuple[dict[Hashable, Any], dict[Hashable, int]]: ... @@ -421,9 +422,9 @@ def flatten_nested_dict( return_paths: Literal[True], return_depths: Literal[True], tie_breaker: Optional[Callable] = None, -) -> tuple[ +) -> Tuple[ dict[Hashable, Any], - dict[Hashable, tuple[Hashable, ...]], + dict[Hashable, Tuple[Hashable, ...]], dict[Hashable, int], ]: ... @@ -492,7 +493,7 @@ def collect_children(dct): flat = run_rec(dct) values: dict[Hashable, Any] = {} - paths: dict[Hashable, tuple[Hashable, ...]] = {} + paths: dict[Hashable, Tuple[Hashable, ...]] = {} depths: dict[Hashable, int] = {} for key, val in flat.items(): values[key] = val["value"] diff --git a/src/srutils/geo.py b/src/srutils/geo.py index 181695b6..56f4d970 100644 --- a/src/srutils/geo.py +++ b/src/srutils/geo.py @@ -74,7 +74,7 @@ def frac(self) -> float: """Return degrees as a fraction.""" return self._frac - def dms(self) -> tuple[FullDegsT, FullMinsT, FullSecsT]: + def dms(self) -> Tuple[FullDegsT, FullMinsT, FullSecsT]: """Return full degrees, minutes, and seconds.""" degs = self._frac mins = degs % 1 * 60 diff --git a/src/srutils/paths.py b/src/srutils/paths.py index fe06d378..9f746f64 100644 --- a/src/srutils/paths.py +++ b/src/srutils/paths.py @@ -44,7 +44,7 @@ def group_related(self, paths: Sequence[str]) -> list[list[str]]: f"{re.escape(self._dup_sep)}[0-9]+{re.escape(self._suffix)}$" ) paths = list(paths) - grouped_pdf_paths: list[list[str]] = [] + grouped_file_paths: list[list[str]] = [] for path in list(paths): if path not in paths: # Already handled @@ -52,19 +52,19 @@ def group_related(self, paths: Sequence[str]) -> list[list[str]]: if rx_numbered.search(path): # Numbered, so not the first continue - path_base = path.rstrip(self._suffix) + path_base = path.split(self._dup_sep)[0] paths.remove(path) - grouped_pdf_paths.append([path]) + grouped_file_paths.append([path]) rx_related = re.compile( f"{re.escape(path_base)}\\.[0-9]+{re.escape(self._suffix)}" ) for other_path in list(paths): if rx_related.search(other_path): paths.remove(other_path) - grouped_pdf_paths[-1].append(other_path) + grouped_file_paths[-1].append(other_path) return [ sorted_paths(group, dup_sep=self._dup_sep) - for group in grouped_pdf_paths + for group in grouped_file_paths if len(group) > 1 ] diff --git a/src/srutils/plotting.py b/src/srutils/plotting.py index 5a004e6c..a80bbafa 100644 --- a/src/srutils/plotting.py +++ b/src/srutils/plotting.py @@ -6,6 +6,7 @@ # Third-party import matplotlib as mpl +import matplotlib.pyplot as plt import numpy as np from matplotlib.colors import Colormap @@ -13,7 +14,7 @@ def truncate_cmap( - cmap: Union[str, Colormap], minval: float = 0.0, maxval: float = 1.0, n: int = 100 + cmap: str | Colormap, minval: float = 0.0, maxval: float = 1.0, n: int = 100 ) -> Colormap: """Truncate a color map. @@ -21,7 +22,7 @@ def truncate_cmap( """ if isinstance(cmap, str): - cmap = mpl.pyplot.get_cmap(cmap) + cmap = plt.get_cmap(cmap) return mpl.colors.LinearSegmentedColormap.from_list( f"truncated({cmap.name}, {minval:.2f}, {maxval:.2f})", cmap(np.linspace(minval, maxval, n)), diff --git a/src/srutils/str.py b/src/srutils/str.py index 59f9cb6a..343669ac 100644 --- a/src/srutils/str.py +++ b/src/srutils/str.py @@ -129,12 +129,15 @@ def sorted_paths( dup_sep = dup_sep.replace("-", "") + "-" grouped_paths: Dict[str, Dict[int, str]] = {} rx = re.compile( - r"^(?P.*?)([" + str(dup_sep) + r"](?P[0-9]+))?(?P\.\w+)$" + r"^(?P.*?)([" + + str(dup_sep) + + r"](?P[0-9]+))?((?P\.\w+)(?P\.\w+)?)?$" ) for path in paths: match = rx.match(path) if match: - base_path = match.group("base") + match.group("suffix") + suffix2 = match.group("suffix2") or "" + base_path = match.group("base") + match.group("suffix1") + suffix2 num = int(match.group("num")) if match.group("num") else -1 if base_path not in grouped_paths: grouped_paths[base_path] = {} diff --git a/src/srutils/testing.py b/src/srutils/testing.py index a95109b3..0ccc3c57 100644 --- a/src/srutils/testing.py +++ b/src/srutils/testing.py @@ -25,10 +25,10 @@ def property_obj(cls, *args, **kwargs): """Define a class property creating a given object on-the-fly. The purpose of creating the object on-the-fly in a property method is to - isolate any errors during instatiation in the test methods using the + isolate any errors during instantiation in the test methods using the property. This prevents the whole test suite from being aborted, as it would if the object were defined as a simple class attribute and its - instatiation failed -- instead, only the tests attempting to use the object + instantiation failed -- instead, only the tests attempting to use the object will fail. And yes, this is indeed merely a convenience function to save two lines of @@ -44,10 +44,8 @@ def property_obj(cls, *args, **kwargs): >>> class C2: ... w = property_obj(en='train', de='Zug') - """ - # pylint: disable=W0613 # unused-argument (self) def create_obj(self): return cls(*args, **kwargs) @@ -141,7 +139,7 @@ def check_is_sub_element( in recursive calls Notes: - Elements of ``subdict`` of certain types recieve special treatment: + Elements of ``subdict`` of certain types receive special treatment: ``IgnoredElement``: Not not compared to the respective ``superdict`` elements. @@ -418,7 +416,7 @@ def recurse(obj1, obj2, path): def check_equivalent(obj1, obj2, type_, path): if not isinstance(obj1, type_) or not isinstance(obj2, type_): raise error( - f"unequivalent types: expected {type_name(type_)}, got " + f"inequal types: expected {type_name(type_)}, got " f"{type_name(type(obj1))} and {type_name(type(obj2))}", *[path, obj1, obj2], ) @@ -478,7 +476,7 @@ def check_equivalent(obj1, obj2, type_, path): elif np.isreal(obj1): if not np.isreal(obj2): raise error( - f"unequivalent types (expected real numbers): " + f"inequal types (expected real numbers): " f"{type_name(type(obj1))} vs. {type_name(type(obj2))}, ", path, obj1, diff --git a/src/srutils/various.py b/src/srutils/various.py index 2a685393..e550ddfd 100644 --- a/src/srutils/various.py +++ b/src/srutils/various.py @@ -6,11 +6,12 @@ from typing import Callable from typing import Optional from typing import Sequence +from typing import Tuple from typing import Union def check_array_indices( - shape: tuple[int, ...], inds: Sequence[Union[int, slice]] + shape: Tuple[int, ...], inds: Sequence[Union[int, slice]] ) -> None: """Check that slicing indices are consistent with array shape.""" diff --git a/src/srutils/varname.py b/src/srutils/varname.py index 30c582ee..20f0fac5 100644 --- a/src/srutils/varname.py +++ b/src/srutils/varname.py @@ -21,9 +21,9 @@ class VariableName: """ def __init__(self, s: str) -> None: - """Crate an instance of ``VariableName``. + """Create an instance of ``VariableName``. - No validity check is performed during instatiation; use the method + No validity check is performed during instantiation; use the method ``is_valid`` to perform one. Args: diff --git a/src/words/word.py b/src/words/word.py index 0df2404c..0ea252f3 100644 --- a/src/words/word.py +++ b/src/words/word.py @@ -209,7 +209,7 @@ def langs(self) -> list[str]: return list(self._translations.keys()) def set_active_lang( - self, lang: Optional[str] = None, query: Callable[[], str] = None + self, lang: Optional[str] = None, query: Optional[Callable[[], str]] = None ) -> None: """Set the active language, either hard-coded or queryable. diff --git a/src/words/words.py b/src/words/words.py index 5e293129..46eb0c17 100644 --- a/src/words/words.py +++ b/src/words/words.py @@ -7,6 +7,7 @@ from typing import Mapping from typing import Optional from typing import overload +from typing import Tuple from typing import Type from typing import Union @@ -180,9 +181,9 @@ def __getitem__( self, key: Union[ str, - tuple[str], - tuple[str, Optional[str]], - tuple[str, Optional[str], Optional[str]], + Tuple[str], + Tuple[str, Optional[str]], + Tuple[str, Optional[str], Optional[str]], ], ) -> WordT: if not isinstance(key, tuple): diff --git a/tests/fast/test_pyflexplot/test_plotting/test_text_box_axes.py b/tests/fast/test_pyflexplot/test_plotting/test_text_box_axes.py index 5d9c324c..e23b5159 100644 --- a/tests/fast/test_pyflexplot/test_plotting/test_text_box_axes.py +++ b/tests/fast/test_pyflexplot/test_plotting/test_text_box_axes.py @@ -23,7 +23,8 @@ def create_text_box(self, name, **kwargs): "fig": { "type": "Figure", "bbox": {"type": "TransformedBbox", "bounds": (0.0, 0.0, 100.0, 100.0)}, - "axes": [{}, + "axes": [ + {}, { "type": "Axes", "bbox": { diff --git a/tests/fast/test_pyflexplot/test_setups/shared.py b/tests/fast/test_pyflexplot/test_setups/shared.py index d04ae458..c96e8e7f 100644 --- a/tests/fast/test_pyflexplot/test_setups/shared.py +++ b/tests/fast/test_pyflexplot/test_setups/shared.py @@ -54,6 +54,7 @@ "species_id": None, "time": None, "variable": "concentration", + "multiplier": None, }, "domain": "full", "domain_size_lat": None, diff --git a/tests/fast/test_pyflexplot/test_setups/test_core_dimensions.py b/tests/fast/test_pyflexplot/test_setups/test_core_dimensions.py index 64bb6644..b3afad96 100644 --- a/tests/fast/test_pyflexplot/test_setups/test_core_dimensions.py +++ b/tests/fast/test_pyflexplot/test_setups/test_core_dimensions.py @@ -19,6 +19,7 @@ def test_no_args(self): "species_id": None, "time": None, "variable": None, + "multiplier": None, } assert res == sol @@ -30,6 +31,7 @@ def test_all_args(self): "species_id": 2, "time": 0, "variable": "dry_deposition", + "multiplier": 1, } cdims = CoreDimensions(**params) res = cdims.dict() @@ -41,6 +43,7 @@ def test_some_args(self): "release": 1, "species_id": 2, "variable": "concentration", + "multiplier": 10, } cdims = CoreDimensions(**params) res = cdims.dict() @@ -51,6 +54,7 @@ def test_some_args(self): "species_id": 2, "time": None, "variable": "concentration", + "multiplier": 10, } assert res == sol diff --git a/tests/fast/test_pyflexplot/test_setups/test_dimensions.py b/tests/fast/test_pyflexplot/test_setups/test_dimensions.py index 0604501e..12bfa8fa 100644 --- a/tests/fast/test_pyflexplot/test_setups/test_dimensions.py +++ b/tests/fast/test_pyflexplot/test_setups/test_dimensions.py @@ -21,6 +21,7 @@ def test_no_args(self): "species_id": (None,), "time": (None,), "variable": (None,), + "multiplier": (None,), } assert res == sol @@ -32,6 +33,7 @@ def test_single_core(self): species_id=2, time=0, variable="wet_deposition", + multiplier=1, ) dims = Dimensions([cdims]) res = dims.raw_dict() @@ -42,6 +44,7 @@ def test_single_core(self): "species_id": (2,), "time": (0,), "variable": ("wet_deposition",), + "multiplier": (1,), } assert res == sol @@ -56,6 +59,7 @@ def test_double_default_core(self): "species_id": (None, None), "time": (None, None), "variable": (None, None), + "multiplier": (None, None), } assert res == sol @@ -69,6 +73,7 @@ def test_multi_core(self): species_id=0, time=2, variable="dry_deposition", + multiplier=1, ), CoreDimensions( level=1, @@ -77,6 +82,7 @@ def test_multi_core(self): species_id=2, time=1, variable="dry_deposition", + multiplier=2, ), ] dims = Dimensions(core) @@ -93,6 +99,7 @@ def test_multi_core(self): "dry_deposition", "dry_deposition", ), + "multiplier": (None, None, 1, 2), } assert res == sol @@ -114,6 +121,7 @@ def test_almost_no_args(self): "species_id": None, "time": None, "variable": "concentration", + "multiplier": None, } assert res == sol @@ -125,6 +133,7 @@ def test_single_core(self): "species_id": 2, "time": 0, "variable": "dry_deposition", + "multiplier": 1, } dims = Dimensions.create(params) res = dims.dict() @@ -139,6 +148,7 @@ def test_multi_core(self): "species_id": (0, 2), "time": (2, 1, 0), "variable": ("wet_deposition", "dry_deposition"), + "multiplier": (1, 10), } dims = Dimensions.create(params) res = dims.dict() @@ -174,6 +184,7 @@ def test_no_args(self): "species_id": None, "time": None, "variable": None, + "multiplier": None, } assert res == sol @@ -185,6 +196,7 @@ def test_single_core(self): species_id=2, time=0, variable="dry_deposition", + multiplier=1, ) dims = Dimensions([cdims]) res = dims.dict() @@ -195,6 +207,7 @@ def test_single_core(self): "species_id": 2, "time": 0, "variable": "dry_deposition", + "multiplier": 1, } assert res == sol @@ -209,19 +222,24 @@ def test_double_default_core(self): "species_id": None, "time": None, "variable": None, + "multiplier": None, } assert res == sol def test_multi_core(self): core = [ CoreDimensions(nageclass=0, time=0, variable="concentration"), - CoreDimensions(variable="wet_deposition"), + CoreDimensions( + variable="wet_deposition", + multiplier=1, + ), CoreDimensions( nageclass=3, species_id=0, time=2, level=1, variable="dry_deposition", + multiplier=10, ), CoreDimensions( nageclass=0, @@ -229,6 +247,7 @@ def test_multi_core(self): time=1, level=1, variable="dry_deposition", + multiplier=100, ), ] dims = Dimensions(core) @@ -240,6 +259,7 @@ def test_multi_core(self): "species_id": (0, 2), "time": (0, 1, 2), "variable": ("concentration", "dry_deposition", "wet_deposition"), + "multiplier": (1, 10, 100), } assert res == sol @@ -333,6 +353,7 @@ class Test_Interact: "concentration", "dry_deposition", ), + "multiplier": (None, 1, 10), } def create_dims(self): @@ -394,6 +415,10 @@ def test_set_raw(self): "variable", ("dry_deposition", "wet_deposition", "concentration", "dry_deposition"), ) + dims.set( + "multiplier", + (1, 10, None, None), + ) res = dims.dict() sol = self.create_dims().dict() assert res == sol @@ -407,6 +432,10 @@ def test_set_compact(self): dims.set("species_id", (0, 2)) dims.set("time", (0, 1, 2)) dims.set("variable", ("concentration", "dry_deposition", "wet_deposition")) + dims.set( + "multiplier", + (1, 10), + ) res = dims.dict() sol = self.create_dims().dict() assert res == sol @@ -425,6 +454,7 @@ def test_set_property_raw(self): "concentration", "dry_deposition", ) + dims.multiplier = (1, 10, None, None) res = dims.dict() sol = self.create_dims().dict() assert res == sol @@ -438,6 +468,7 @@ def test_set_property_compact(self): dims.species_id = (0, 2) dims.time = (0, 1, 2) dims.variable = ("concentration", "dry_deposition", "wet_deposition") + dims.multiplier = (1, 10, None, None) res = dims.dict() sol = self.create_dims().dict() assert res == sol @@ -464,6 +495,7 @@ def test_update_empty_with_partial(self): "species_id": None, "time": None, "variable": "wet_deposition", + "multiplier": None, } assert res == sol diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_affected_area.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_affected_area.py index 99f63d77..7f25779f 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_affected_area.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_affected_area.py @@ -195,6 +195,7 @@ "species_id": 1, "time": 11, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -264,6 +265,7 @@ "species_id": 1, "time": 11, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -327,6 +329,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, } ], @@ -382,6 +385,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "colors": [ @@ -752,6 +756,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "model_setup": { @@ -2779,7 +2784,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3465,7 +3470,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3494,7 +3499,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3523,7 +3528,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3552,7 +3557,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3581,7 +3586,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3610,7 +3615,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3639,7 +3644,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3668,7 +3673,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3697,7 +3702,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3726,7 +3731,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3755,7 +3760,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3784,7 +3789,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3813,7 +3818,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3842,7 +3847,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3871,7 +3876,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3900,7 +3905,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3929,7 +3934,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3958,7 +3963,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3987,7 +3992,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4016,7 +4021,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4045,7 +4050,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4074,7 +4079,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4103,7 +4108,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4132,7 +4137,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4161,7 +4166,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4190,7 +4195,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4219,7 +4224,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4248,7 +4253,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_cloud_arrival_time.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_cloud_arrival_time.py index fa575860..b1f4ef38 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_cloud_arrival_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_cloud_arrival_time.py @@ -195,6 +195,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -264,6 +265,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -323,6 +325,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -374,6 +377,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -756,6 +760,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2783,7 +2788,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2813,7 +2818,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2843,7 +2848,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2873,7 +2878,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2903,7 +2908,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2933,7 +2938,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2963,7 +2968,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2993,7 +2998,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3854,7 +3859,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3883,7 +3888,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3912,7 +3917,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3941,7 +3946,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3970,7 +3975,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3999,7 +4004,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4028,7 +4033,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4057,7 +4062,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4086,7 +4091,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4115,7 +4120,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4144,7 +4149,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4173,7 +4178,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4202,7 +4207,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4231,7 +4236,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4260,7 +4265,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4289,7 +4294,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4318,7 +4323,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4347,7 +4352,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4376,7 +4381,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4405,7 +4410,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4434,7 +4439,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4463,7 +4468,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4492,7 +4497,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4521,7 +4526,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4550,7 +4555,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4579,7 +4584,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4608,7 +4613,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4637,7 +4642,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_concentration.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_concentration.py index c3cdde23..ebcae1e1 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_concentration.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_concentration.py @@ -193,6 +193,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -262,6 +263,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, } ], @@ -321,6 +323,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, } ], @@ -372,6 +375,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -768,6 +772,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2805,7 +2810,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2835,7 +2840,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2865,7 +2870,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2895,7 +2900,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2925,7 +2930,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2955,7 +2960,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2985,7 +2990,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3015,7 +3020,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3912,7 +3917,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3941,7 +3946,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3970,7 +3975,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3999,7 +4004,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4028,7 +4033,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4057,7 +4062,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4086,7 +4091,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4115,7 +4120,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4144,7 +4149,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4173,7 +4178,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4202,7 +4207,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4231,7 +4236,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4260,7 +4265,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4289,7 +4294,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4318,7 +4323,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4347,7 +4352,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4376,7 +4381,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4405,7 +4410,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4434,7 +4439,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4463,7 +4468,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4492,7 +4497,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4521,7 +4526,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4550,7 +4555,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4579,7 +4584,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4608,7 +4613,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4637,7 +4642,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4666,7 +4671,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4695,7 +4700,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_integrated_concentration.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_integrated_concentration.py index b3825048..af38d2db 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_integrated_concentration.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_integrated_concentration.py @@ -193,6 +193,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -262,6 +263,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, } ], @@ -321,6 +323,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, } ], @@ -372,6 +375,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -768,6 +772,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2818,7 +2823,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2848,7 +2853,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2878,7 +2883,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2908,7 +2913,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2938,7 +2943,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2968,7 +2973,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2998,7 +3003,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3028,7 +3033,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3946,7 +3951,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3975,7 +3980,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4004,7 +4009,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4033,7 +4038,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4062,7 +4067,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4091,7 +4096,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4120,7 +4125,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4149,7 +4154,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4178,7 +4183,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4207,7 +4212,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4236,7 +4241,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4265,7 +4270,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4294,7 +4299,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4323,7 +4328,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4352,7 +4357,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4381,7 +4386,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4410,7 +4415,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4439,7 +4444,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4468,7 +4473,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4497,7 +4502,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4526,7 +4531,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4555,7 +4560,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4584,7 +4589,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4613,7 +4618,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4642,7 +4647,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4671,7 +4676,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4700,7 +4705,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4729,7 +4734,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_total_deposition.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_total_deposition.py index 9122491f..8ca38687 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_total_deposition.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1_total_deposition.py @@ -193,6 +193,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -262,6 +263,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -321,6 +323,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -372,6 +375,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -766,6 +770,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -2803,7 +2808,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2833,7 +2838,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2863,7 +2868,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2893,7 +2898,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2923,7 +2928,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2953,7 +2958,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2983,7 +2988,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3013,7 +3018,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3043,7 +3048,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3965,7 +3970,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3994,7 +3999,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4023,7 +4028,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4052,7 +4057,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4081,7 +4086,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4110,7 +4115,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4139,7 +4144,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4168,7 +4173,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4197,7 +4202,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4226,7 +4231,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4255,7 +4260,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4284,7 +4289,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4313,7 +4318,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4342,7 +4347,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4371,7 +4376,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4400,7 +4405,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4429,7 +4434,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4458,7 +4463,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4487,7 +4492,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4516,7 +4521,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4545,7 +4550,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4574,7 +4579,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4603,7 +4608,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4632,7 +4637,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4661,7 +4666,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4690,7 +4695,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4719,7 +4724,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4748,7 +4753,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_affected_area.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_affected_area.py index 9f606883..0c316e79 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_affected_area.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_affected_area.py @@ -195,6 +195,7 @@ "species_id": 1, "time": 11, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -264,6 +265,7 @@ "species_id": 1, "time": 11, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -327,6 +329,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, } ], @@ -382,6 +385,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "colors": [ @@ -752,6 +756,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "model_setup": { @@ -2770,7 +2775,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3453,7 +3458,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3482,7 +3487,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3511,7 +3516,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3540,7 +3545,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3569,7 +3574,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3598,7 +3603,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3627,7 +3632,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3656,7 +3661,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3685,7 +3690,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3714,7 +3719,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3743,7 +3748,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3772,7 +3777,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3801,7 +3806,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3830,7 +3835,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3859,7 +3864,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3888,7 +3893,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3917,7 +3922,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3946,7 +3951,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -3975,7 +3980,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4004,7 +4009,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4033,7 +4038,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4062,7 +4067,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4091,7 +4096,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4120,7 +4125,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4149,7 +4154,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4178,7 +4183,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4207,7 +4212,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4236,7 +4241,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_concentration_multipanel_time.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_concentration_multipanel_time.py index 74d8852b..fa93cec0 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_concentration_multipanel_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_concentration_multipanel_time.py @@ -193,6 +193,7 @@ "species_id": 1, "time": 2, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -397,6 +398,7 @@ "species_id": 1, "time": 4, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -601,6 +603,7 @@ "species_id": 1, "time": 6, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -805,6 +808,7 @@ "species_id": 1, "time": 8, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -874,6 +878,7 @@ "species_id": 1, "time": 2, "variable": "concentration", + "multiplier": None, }, }, { @@ -900,6 +905,7 @@ "species_id": 1, "time": 4, "variable": "concentration", + "multiplier": None, }, }, { @@ -926,6 +932,7 @@ "species_id": 1, "time": 6, "variable": "concentration", + "multiplier": None, }, }, { @@ -952,6 +959,7 @@ "species_id": 1, "time": 8, "variable": "concentration", + "multiplier": None, }, }, ], @@ -1011,6 +1019,7 @@ "species_id": 1, "time": 2, "variable": "concentration", + "multiplier": None, }, }, { @@ -1037,6 +1046,7 @@ "species_id": 1, "time": 4, "variable": "concentration", + "multiplier": None, }, }, { @@ -1063,6 +1073,7 @@ "species_id": 1, "time": 6, "variable": "concentration", + "multiplier": None, }, }, { @@ -1089,6 +1100,7 @@ "species_id": 1, "time": 8, "variable": "concentration", + "multiplier": None, }, }, ], @@ -1140,6 +1152,7 @@ "species_id": 1, "time": 2, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1233,6 +1246,7 @@ "species_id": 1, "time": 4, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1326,6 +1340,7 @@ "species_id": 1, "time": 6, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1419,6 +1434,7 @@ "species_id": 1, "time": 8, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1814,6 +1830,7 @@ "species_id": 1, "time": 2, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2517,6 +2534,7 @@ "species_id": 1, "time": 4, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -3220,6 +3238,7 @@ "species_id": 1, "time": 6, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -3923,6 +3942,7 @@ "species_id": 1, "time": 8, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -7473,7 +7493,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7503,7 +7523,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7533,7 +7553,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7563,7 +7583,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7593,7 +7613,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7623,7 +7643,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7653,7 +7673,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7683,7 +7703,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -9027,7 +9047,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9056,7 +9076,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9085,7 +9105,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9114,7 +9134,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9143,7 +9163,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9172,7 +9192,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9201,7 +9221,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9230,7 +9250,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9259,7 +9279,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9288,7 +9308,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9317,7 +9337,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9346,7 +9366,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9375,7 +9395,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9404,7 +9424,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9433,7 +9453,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9462,7 +9482,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9491,7 +9511,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9520,7 +9540,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9549,7 +9569,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9578,7 +9598,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9607,7 +9627,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9636,7 +9656,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9665,7 +9685,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9694,7 +9714,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9723,7 +9743,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9752,7 +9772,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9781,7 +9801,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -9810,7 +9830,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_tot_deposition_multipanel_time.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_tot_deposition_multipanel_time.py index bf8a81cb..90f9eb1a 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_tot_deposition_multipanel_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e-ctrl_tot_deposition_multipanel_time.py @@ -195,6 +195,7 @@ "species_id": 1, "time": 2, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -399,6 +400,7 @@ "species_id": 1, "time": 4, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -603,6 +605,7 @@ "species_id": 1, "time": 6, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -807,6 +810,7 @@ "species_id": 1, "time": 8, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -876,6 +880,7 @@ "species_id": 1, "time": 2, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, { @@ -902,6 +907,7 @@ "species_id": 1, "time": 4, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, { @@ -928,6 +934,7 @@ "species_id": 1, "time": 6, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, { @@ -954,6 +961,7 @@ "species_id": 1, "time": 8, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, ], @@ -1013,6 +1021,7 @@ "species_id": 1, "time": 2, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, { @@ -1039,6 +1048,7 @@ "species_id": 1, "time": 4, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, { @@ -1065,6 +1075,7 @@ "species_id": 1, "time": 6, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, { @@ -1091,6 +1102,7 @@ "species_id": 1, "time": 8, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, ], @@ -1142,6 +1154,7 @@ "species_id": 1, "time": 2, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -1238,6 +1251,7 @@ "species_id": 1, "time": 4, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -1334,6 +1348,7 @@ "species_id": 1, "time": 6, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -1430,6 +1445,7 @@ "species_id": 1, "time": 8, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -1823,6 +1839,7 @@ "species_id": 1, "time": 2, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -2626,6 +2643,7 @@ "species_id": 1, "time": 4, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -3429,6 +3447,7 @@ "species_id": 1, "time": 6, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -4232,6 +4251,7 @@ "species_id": 1, "time": 8, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -8182,7 +8202,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8212,7 +8232,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8242,7 +8262,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8272,7 +8292,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8302,7 +8322,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8332,7 +8352,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8362,7 +8382,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8392,7 +8412,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -8422,7 +8442,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -9891,7 +9911,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9920,7 +9940,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9949,7 +9969,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -9978,7 +9998,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10007,7 +10027,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10036,7 +10056,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10065,7 +10085,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10094,7 +10114,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10123,7 +10143,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10152,7 +10172,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10181,7 +10201,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10210,7 +10230,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10239,7 +10259,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10268,7 +10288,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -10297,7 +10317,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10326,7 +10346,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10355,7 +10375,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10384,7 +10404,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10413,7 +10433,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10442,7 +10462,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10471,7 +10491,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10500,7 +10520,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10529,7 +10549,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10558,7 +10578,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10587,7 +10607,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10616,7 +10636,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10645,7 +10665,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -10674,7 +10694,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e_total_deposition_dummy.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e_total_deposition_dummy.py index ceaf2779..b73adf48 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e_total_deposition_dummy.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-1e_total_deposition_dummy.py @@ -195,6 +195,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -264,6 +265,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -323,6 +325,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -374,6 +377,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -768,6 +772,7 @@ "species_id": 1, "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -3062,7 +3067,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3092,7 +3097,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3122,7 +3127,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3152,7 +3157,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3182,7 +3187,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3212,7 +3217,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3242,7 +3247,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3272,7 +3277,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3302,7 +3307,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4243,7 +4248,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4272,7 +4277,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4301,7 +4306,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4330,7 +4335,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4359,7 +4364,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4388,7 +4393,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4417,7 +4422,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4446,7 +4451,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4475,7 +4480,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4504,7 +4509,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4533,7 +4538,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4562,7 +4567,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4591,7 +4596,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4620,7 +4625,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4649,7 +4654,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4678,7 +4683,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4707,7 +4712,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4736,7 +4741,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4765,7 +4770,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4794,7 +4799,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4823,7 +4828,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4852,7 +4857,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4881,7 +4886,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4910,7 +4915,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4939,7 +4944,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4968,7 +4973,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4997,7 +5002,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5026,7 +5031,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_arrival_time.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_arrival_time.py index f1a7c353..283d1077 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_arrival_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_arrival_time.py @@ -199,6 +199,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -268,6 +269,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -333,6 +335,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -384,6 +387,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -780,6 +784,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2162,7 +2167,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2191,7 +2196,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2220,7 +2225,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2249,7 +2254,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2278,7 +2283,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2307,7 +2312,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2336,7 +2341,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2365,7 +2370,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2394,7 +2399,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2423,7 +2428,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2452,7 +2457,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2481,7 +2486,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -3081,7 +3086,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3111,7 +3116,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3141,7 +3146,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3171,7 +3176,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3201,7 +3206,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3231,7 +3236,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3261,7 +3266,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3291,7 +3296,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3321,7 +3326,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4201,7 +4206,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4230,7 +4235,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4259,7 +4264,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4288,7 +4293,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4317,7 +4322,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4346,7 +4351,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4375,7 +4380,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4404,7 +4409,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4433,7 +4438,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4462,7 +4467,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4491,7 +4496,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4520,7 +4525,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4549,7 +4554,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4578,7 +4583,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4607,7 +4612,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4636,7 +4641,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4665,7 +4670,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4694,7 +4699,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4723,7 +4728,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4752,7 +4757,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4781,7 +4786,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4810,7 +4815,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4839,7 +4844,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4868,7 +4873,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4897,7 +4902,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4926,7 +4931,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4955,7 +4960,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4984,7 +4989,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_departure_time.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_departure_time.py index f559be4a..39ef1de0 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_departure_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_ens_cloud_departure_time.py @@ -199,6 +199,7 @@ "species_id": 1, "time": 3, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -268,6 +269,7 @@ "species_id": 1, "time": 3, "variable": "concentration", + "multiplier": None, }, } ], @@ -333,6 +335,7 @@ "species_id": 1, "time": 3, "variable": "concentration", + "multiplier": None, }, } ], @@ -384,6 +387,7 @@ "species_id": 1, "time": 3, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -780,6 +784,7 @@ "species_id": 1, "time": 3, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2104,7 +2109,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2133,7 +2138,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2162,7 +2167,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2191,7 +2196,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2220,7 +2225,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2249,7 +2254,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2278,7 +2283,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2307,7 +2312,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2336,7 +2341,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2365,7 +2370,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2394,7 +2399,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2423,7 +2428,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -3019,7 +3024,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3049,7 +3054,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3079,7 +3084,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3109,7 +3114,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3139,7 +3144,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3169,7 +3174,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3199,7 +3204,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3229,7 +3234,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3259,7 +3264,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4135,7 +4140,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4164,7 +4169,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4193,7 +4198,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4222,7 +4227,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4251,7 +4256,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4280,7 +4285,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4309,7 +4314,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4338,7 +4343,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4367,7 +4372,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4396,7 +4401,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4425,7 +4430,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4454,7 +4459,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4483,7 +4488,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4512,7 +4517,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4541,7 +4546,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4570,7 +4575,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4599,7 +4604,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4628,7 +4633,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4657,7 +4662,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4686,7 +4691,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4715,7 +4720,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4744,7 +4749,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4773,7 +4778,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4802,7 +4807,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4831,7 +4836,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4860,7 +4865,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4889,7 +4894,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4918,7 +4923,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_multipanel_ens_stats_integr_concentration.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_multipanel_ens_stats_integr_concentration.py index ae79a7b9..02738528 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_multipanel_ens_stats_integr_concentration.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-2e_multipanel_ens_stats_integr_concentration.py @@ -197,6 +197,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -405,6 +406,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -613,6 +615,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -821,6 +824,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -890,6 +894,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, { @@ -916,6 +921,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, { @@ -942,6 +948,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, { @@ -968,6 +975,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, ], @@ -1033,6 +1041,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, { @@ -1059,6 +1068,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, { @@ -1085,6 +1095,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, { @@ -1111,6 +1122,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, ], @@ -1162,6 +1174,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1255,6 +1268,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1348,6 +1362,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1441,6 +1456,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -1842,6 +1858,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2249,6 +2266,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2656,6 +2674,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -3063,6 +3082,7 @@ "species_id": 1, "time": 15, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -5178,7 +5198,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -5207,7 +5227,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -5236,7 +5256,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -5265,7 +5285,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -5294,7 +5314,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -5323,7 +5343,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -5352,7 +5372,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -5381,7 +5401,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -6367,7 +6387,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -6397,7 +6417,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -6427,7 +6447,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -6457,7 +6477,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -6487,7 +6507,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -6517,7 +6537,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -6547,7 +6567,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -6577,7 +6597,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -7871,7 +7891,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -7900,7 +7920,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -7929,7 +7949,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -7958,7 +7978,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -7987,7 +8007,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8016,7 +8036,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8045,7 +8065,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8074,7 +8094,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8103,7 +8123,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8132,7 +8152,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8161,7 +8181,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8190,7 +8210,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8219,7 +8239,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8248,7 +8268,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -8277,7 +8297,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8306,7 +8326,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8335,7 +8355,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8364,7 +8384,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8393,7 +8413,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8422,7 +8442,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8451,7 +8471,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8480,7 +8500,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8509,7 +8529,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8538,7 +8558,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8567,7 +8587,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8596,7 +8616,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8625,7 +8645,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -8654,7 +8674,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_arrival_time.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_arrival_time.py index d5eca65e..e73b791b 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_arrival_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_arrival_time.py @@ -195,6 +195,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -264,6 +265,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -330,6 +332,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -381,6 +384,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -771,6 +775,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2200,7 +2205,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2229,7 +2234,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2258,7 +2263,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2287,7 +2292,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2316,7 +2321,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2345,7 +2350,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2374,7 +2379,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2403,7 +2408,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2432,7 +2437,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2461,7 +2466,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2490,7 +2495,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2519,7 +2524,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -3105,7 +3110,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3135,7 +3140,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3165,7 +3170,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3195,7 +3200,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3225,7 +3230,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3255,7 +3260,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3285,7 +3290,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3315,7 +3320,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4156,7 +4161,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4185,7 +4190,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4214,7 +4219,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4243,7 +4248,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4272,7 +4277,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4301,7 +4306,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4330,7 +4335,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4359,7 +4364,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4388,7 +4393,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4417,7 +4422,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4446,7 +4451,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4475,7 +4480,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4504,7 +4509,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4533,7 +4538,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4562,7 +4567,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4591,7 +4596,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4620,7 +4625,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4649,7 +4654,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4678,7 +4683,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4707,7 +4712,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4736,7 +4741,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4765,7 +4770,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4794,7 +4799,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4823,7 +4828,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4852,7 +4857,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4881,7 +4886,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4910,7 +4915,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4939,7 +4944,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_departure_time.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_departure_time.py index ad2c8551..f87a9c94 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_departure_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_cloud_departure_time.py @@ -195,6 +195,7 @@ "species_id": [1, 2], "time": 3, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -264,6 +265,7 @@ "species_id": [1, 2], "time": 3, "variable": "concentration", + "multiplier": None, }, } ], @@ -330,6 +332,7 @@ "species_id": [1, 2], "time": 3, "variable": "concentration", + "multiplier": None, }, } ], @@ -381,6 +384,7 @@ "species_id": [1, 2], "time": 3, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -771,6 +775,7 @@ "species_id": [1, 2], "time": 3, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2156,7 +2161,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2185,7 +2190,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2214,7 +2219,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2243,7 +2248,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2272,7 +2277,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2301,7 +2306,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2330,7 +2335,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2359,7 +2364,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2388,7 +2393,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2417,7 +2422,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2446,7 +2451,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2475,7 +2480,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -3089,7 +3094,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3119,7 +3124,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3149,7 +3154,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3179,7 +3184,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3209,7 +3214,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3239,7 +3244,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3269,7 +3274,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3299,7 +3304,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4168,7 +4173,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4197,7 +4202,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4226,7 +4231,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4255,7 +4260,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4284,7 +4289,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4313,7 +4318,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4342,7 +4347,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4371,7 +4376,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4400,7 +4405,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4429,7 +4434,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4458,7 +4463,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4487,7 +4492,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4516,7 +4521,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4545,7 +4550,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4574,7 +4579,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4603,7 +4608,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4632,7 +4637,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4661,7 +4666,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4690,7 +4695,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4719,7 +4724,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4748,7 +4753,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4777,7 +4782,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4806,7 +4811,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4835,7 +4840,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4864,7 +4869,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4893,7 +4898,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4922,7 +4927,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4951,7 +4956,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_max_integrated_concentration.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_max_integrated_concentration.py index 4dbb36d3..83a7fea2 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_max_integrated_concentration.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_max_integrated_concentration.py @@ -193,6 +193,7 @@ "species_id": 2, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -262,6 +263,7 @@ "species_id": 2, "time": 10, "variable": "concentration", + "multiplier": None, }, } ], @@ -328,6 +330,7 @@ "species_id": 2, "time": 10, "variable": "concentration", + "multiplier": None, }, } ], @@ -379,6 +382,7 @@ "species_id": 2, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -776,6 +780,7 @@ "species_id": 2, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2180,7 +2185,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2209,7 +2214,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2238,7 +2243,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2267,7 +2272,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2296,7 +2301,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2325,7 +2330,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2354,7 +2359,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2383,7 +2388,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -3001,7 +3006,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3031,7 +3036,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3061,7 +3066,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3091,7 +3096,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3121,7 +3126,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3151,7 +3156,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3181,7 +3186,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3211,7 +3216,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4137,7 +4142,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4166,7 +4171,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4195,7 +4200,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4224,7 +4229,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4253,7 +4258,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4282,7 +4287,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4311,7 +4316,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4340,7 +4345,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4369,7 +4374,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4398,7 +4403,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4427,7 +4432,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4456,7 +4461,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4485,7 +4490,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4514,7 +4519,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4543,7 +4548,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4572,7 +4577,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4601,7 +4606,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4630,7 +4635,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4659,7 +4664,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4688,7 +4693,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4717,7 +4722,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4746,7 +4751,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4775,7 +4780,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4804,7 +4809,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4833,7 +4838,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4862,7 +4867,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4891,7 +4896,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4920,7 +4925,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_concentration.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_concentration.py index 241faa20..ec7cacf1 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_concentration.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_concentration.py @@ -193,6 +193,7 @@ "species_id": [1, 2], "time": 5, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -262,6 +263,7 @@ "species_id": [1, 2], "time": 5, "variable": "concentration", + "multiplier": None, }, } ], @@ -328,6 +330,7 @@ "species_id": [1, 2], "time": 5, "variable": "concentration", + "multiplier": None, }, } ], @@ -379,6 +382,7 @@ "species_id": [1, 2], "time": 5, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -776,6 +780,7 @@ "species_id": [1, 2], "time": 5, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -2224,7 +2229,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2253,7 +2258,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2282,7 +2287,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2311,7 +2316,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2340,7 +2345,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2369,7 +2374,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2398,7 +2403,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2427,7 +2432,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -3017,7 +3022,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3047,7 +3052,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3077,7 +3082,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3107,7 +3112,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3137,7 +3142,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3167,7 +3172,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3197,7 +3202,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3227,7 +3232,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4125,7 +4130,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4154,7 +4159,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4183,7 +4188,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4212,7 +4217,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4241,7 +4246,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4270,7 +4275,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4299,7 +4304,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4328,7 +4333,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4357,7 +4362,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4386,7 +4391,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4415,7 +4420,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4444,7 +4449,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4473,7 +4478,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4502,7 +4507,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4531,7 +4536,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4560,7 +4565,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4589,7 +4594,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4618,7 +4623,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4647,7 +4652,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4676,7 +4681,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4705,7 +4710,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4734,7 +4739,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4763,7 +4768,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4792,7 +4797,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4821,7 +4826,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4850,7 +4855,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4879,7 +4884,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4908,7 +4913,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_total_deposition.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_total_deposition.py index 4c17cdb0..67f9efe3 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_total_deposition.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_mean_total_deposition.py @@ -193,6 +193,7 @@ "species_id": [1, 2], "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -262,6 +263,7 @@ "species_id": [1, 2], "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -328,6 +330,7 @@ "species_id": [1, 2], "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -379,6 +382,7 @@ "species_id": [1, 2], "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -777,6 +781,7 @@ "species_id": [1, 2], "time": 11, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -2225,7 +2230,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2254,7 +2259,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2283,7 +2288,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2312,7 +2317,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2341,7 +2346,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2370,7 +2375,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2960,7 +2965,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -2990,7 +2995,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3020,7 +3025,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3050,7 +3055,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3080,7 +3085,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3110,7 +3115,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3140,7 +3145,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3170,7 +3175,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3200,7 +3205,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4123,7 +4128,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4152,7 +4157,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4181,7 +4186,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4210,7 +4215,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4239,7 +4244,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4268,7 +4273,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4297,7 +4302,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4326,7 +4331,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4355,7 +4360,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4384,7 +4389,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4413,7 +4418,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4442,7 +4447,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4471,7 +4476,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4500,7 +4505,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4529,7 +4534,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4558,7 +4563,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4587,7 +4592,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4616,7 +4621,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4645,7 +4650,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4674,7 +4679,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4703,7 +4708,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4732,7 +4737,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4761,7 +4766,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4790,7 +4795,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4819,7 +4824,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4848,7 +4853,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4877,7 +4882,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4906,7 +4911,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_min_affected_area.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_min_affected_area.py index 16ed0d68..de5569a7 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_min_affected_area.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_min_affected_area.py @@ -199,6 +199,7 @@ "species_id": 1, "time": 15, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -268,6 +269,7 @@ "species_id": 1, "time": 15, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -337,6 +339,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, } ], @@ -392,6 +395,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "colors": [ @@ -770,6 +774,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "model_setup": { @@ -2171,7 +2176,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2200,7 +2205,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2229,7 +2234,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2258,7 +2263,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2287,7 +2292,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2316,7 +2321,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2920,7 +2925,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3657,7 +3662,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3686,7 +3691,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3715,7 +3720,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3744,7 +3749,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3773,7 +3778,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3802,7 +3807,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3831,7 +3836,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3860,7 +3865,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3889,7 +3894,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3918,7 +3923,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3947,7 +3952,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3976,7 +3981,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4005,7 +4010,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4034,7 +4039,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4063,7 +4068,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4092,7 +4097,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4121,7 +4126,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4150,7 +4155,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4179,7 +4184,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4208,7 +4213,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4237,7 +4242,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4266,7 +4271,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4295,7 +4300,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4324,7 +4329,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4353,7 +4358,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4382,7 +4387,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4411,7 +4416,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4440,7 +4445,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_probability_wet_deposition.py b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_probability_wet_deposition.py index 2c4f4c6e..92777848 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_probability_wet_deposition.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_cosmo-e_ens_probability_wet_deposition.py @@ -193,6 +193,7 @@ "species_id": 1, "time": 11, "variable": "wet_deposition", + "multiplier": None, }, }, "model_setup": { @@ -262,6 +263,7 @@ "species_id": 1, "time": 11, "variable": "wet_deposition", + "multiplier": None, }, } ], @@ -328,6 +330,7 @@ "species_id": 1, "time": 11, "variable": "wet_deposition", + "multiplier": None, }, } ], @@ -379,6 +382,7 @@ "species_id": 1, "time": 11, "variable": "wet_deposition", + "multiplier": None, }, }, "colors": [ @@ -764,6 +768,7 @@ "species_id": 1, "time": 11, "variable": "wet_deposition", + "multiplier": None, }, }, "model_setup": { @@ -2193,7 +2198,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2222,7 +2227,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2251,7 +2256,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2280,7 +2285,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "left", @@ -2309,7 +2314,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2338,7 +2343,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2367,7 +2372,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2396,7 +2401,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 10.0, "ha": "right", @@ -2982,7 +2987,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3012,7 +3017,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3042,7 +3047,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3072,7 +3077,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3102,7 +3107,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3132,7 +3137,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3162,7 +3167,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4008,7 +4013,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4037,7 +4042,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4066,7 +4071,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4095,7 +4100,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4124,7 +4129,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4153,7 +4158,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4182,7 +4187,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4211,7 +4216,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4240,7 +4245,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4269,7 +4274,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4298,7 +4303,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4327,7 +4332,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4356,7 +4361,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4385,7 +4390,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4414,7 +4419,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4443,7 +4448,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4472,7 +4477,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4501,7 +4506,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4530,7 +4535,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4559,7 +4564,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4588,7 +4593,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4617,7 +4622,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4646,7 +4651,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4675,7 +4680,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4704,7 +4709,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4733,7 +4738,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4762,7 +4767,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4791,7 +4796,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_affected_area.py b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_affected_area.py index 759456bc..8be106be 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_affected_area.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_affected_area.py @@ -200,6 +200,7 @@ "species_id": 1, "time": 16, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -267,6 +268,7 @@ "species_id": 1, "time": 16, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -330,6 +332,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, } ], @@ -385,6 +388,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "colors": [ @@ -766,6 +770,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "model_setup": { @@ -3645,7 +3650,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4367,7 +4372,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4396,7 +4401,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4425,7 +4430,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4454,7 +4459,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4483,7 +4488,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4512,7 +4517,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4541,7 +4546,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4570,7 +4575,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4599,7 +4604,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4628,7 +4633,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4657,7 +4662,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4686,7 +4691,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4715,7 +4720,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4744,7 +4749,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4773,7 +4778,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4802,7 +4807,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4831,7 +4836,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4860,7 +4865,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4889,7 +4894,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4918,7 +4923,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4947,7 +4952,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4976,7 +4981,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5005,7 +5010,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5034,7 +5039,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5063,7 +5068,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5092,7 +5097,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5121,7 +5126,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5150,7 +5155,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_integrated_concentration.py b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_integrated_concentration.py index c896bcd5..0a8194d4 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_integrated_concentration.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_integrated_concentration.py @@ -198,6 +198,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -265,6 +266,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, } ], @@ -324,6 +326,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, } ], @@ -375,6 +378,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -782,6 +786,7 @@ "species_id": 1, "time": 10, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -3684,7 +3689,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3714,7 +3719,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3744,7 +3749,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3774,7 +3779,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3804,7 +3809,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3834,7 +3839,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3864,7 +3869,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3894,7 +3899,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4848,7 +4853,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4877,7 +4882,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4906,7 +4911,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4935,7 +4940,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4964,7 +4969,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4993,7 +4998,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5022,7 +5027,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5051,7 +5056,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5080,7 +5085,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5109,7 +5114,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5138,7 +5143,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5167,7 +5172,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5196,7 +5201,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5225,7 +5230,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5254,7 +5259,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5283,7 +5288,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5312,7 +5317,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5341,7 +5346,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5370,7 +5375,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5399,7 +5404,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5428,7 +5433,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5457,7 +5462,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5486,7 +5491,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5515,7 +5520,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5544,7 +5549,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5573,7 +5578,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5602,7 +5607,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5631,7 +5636,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_total_deposition.py b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_total_deposition.py index 20a01e53..3601cc15 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_total_deposition.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres-eu_total_deposition.py @@ -200,6 +200,7 @@ "species_id": 1, "time": 16, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -267,6 +268,7 @@ "species_id": 1, "time": 16, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -326,6 +328,7 @@ "species_id": 1, "time": 16, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -377,6 +380,7 @@ "species_id": 1, "time": 16, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -782,6 +786,7 @@ "species_id": 1, "time": 16, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -3908,7 +3913,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3938,7 +3943,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3968,7 +3973,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3998,7 +4003,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4028,7 +4033,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4058,7 +4063,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4088,7 +4093,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4118,7 +4123,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4148,7 +4153,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -5135,7 +5140,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5164,7 +5169,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5193,7 +5198,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5222,7 +5227,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5251,7 +5256,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5280,7 +5285,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5309,7 +5314,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5338,7 +5343,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5367,7 +5372,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5396,7 +5401,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5425,7 +5430,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5454,7 +5459,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5483,7 +5488,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5512,7 +5517,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5541,7 +5546,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5570,7 +5575,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5599,7 +5604,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5628,7 +5633,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5657,7 +5662,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5686,7 +5691,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5715,7 +5720,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5744,7 +5749,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5773,7 +5778,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5802,7 +5807,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5831,7 +5836,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5860,7 +5865,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5889,7 +5894,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5918,7 +5923,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_affected_area.py b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_affected_area.py index 330e8aca..d230627b 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_affected_area.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_affected_area.py @@ -200,6 +200,7 @@ "species_id": 1, "time": 16, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -267,6 +268,7 @@ "species_id": 1, "time": 16, "variable": ["concentration", "dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -330,6 +332,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, } ], @@ -385,6 +388,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "colors": [ @@ -766,6 +770,7 @@ "dry_deposition", "wet_deposition", ], + "multiplier": None, }, }, "model_setup": { @@ -3101,7 +3106,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3775,7 +3780,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3804,7 +3809,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3833,7 +3838,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3862,7 +3867,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3891,7 +3896,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3920,7 +3925,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3949,7 +3954,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -3978,7 +3983,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4007,7 +4012,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4036,7 +4041,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4065,7 +4070,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4094,7 +4099,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4123,7 +4128,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4152,7 +4157,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4181,7 +4186,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4210,7 +4215,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4239,7 +4244,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4268,7 +4273,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4297,7 +4302,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4326,7 +4331,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4355,7 +4360,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4384,7 +4389,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4413,7 +4418,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4442,7 +4447,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4471,7 +4476,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4500,7 +4505,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4529,7 +4534,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4558,7 +4563,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_cloud_departure_time.py b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_cloud_departure_time.py index 8277efe2..17937f05 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_cloud_departure_time.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_cloud_departure_time.py @@ -200,6 +200,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -267,6 +268,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -326,6 +328,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, } ], @@ -377,6 +380,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -772,6 +776,7 @@ "species_id": 1, "time": 0, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -3167,7 +3172,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3197,7 +3202,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3227,7 +3232,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3257,7 +3262,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3287,7 +3292,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3317,7 +3322,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3347,7 +3352,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3377,7 +3382,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3407,7 +3412,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4301,7 +4306,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4330,7 +4335,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4359,7 +4364,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4388,7 +4393,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4417,7 +4422,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4446,7 +4451,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4475,7 +4480,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4504,7 +4509,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4533,7 +4538,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4562,7 +4567,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4591,7 +4596,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4620,7 +4625,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4649,7 +4654,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4678,7 +4683,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4707,7 +4712,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4736,7 +4741,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4765,7 +4770,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4794,7 +4799,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4823,7 +4828,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4852,7 +4857,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4881,7 +4886,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4910,7 +4915,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4939,7 +4944,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4968,7 +4973,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4997,7 +5002,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5026,7 +5031,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5055,7 +5060,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5084,7 +5089,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_concentration.py b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_concentration.py index d16a06a6..00261fde 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_concentration.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_concentration.py @@ -198,6 +198,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -265,6 +266,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, } ], @@ -324,6 +326,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, } ], @@ -375,6 +378,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, }, "colors": [ @@ -782,6 +786,7 @@ "species_id": 1, "time": 5, "variable": "concentration", + "multiplier": None, }, }, "model_setup": { @@ -3200,7 +3205,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3230,7 +3235,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3260,7 +3265,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3290,7 +3295,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3320,7 +3325,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3350,7 +3355,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3380,7 +3385,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3410,7 +3415,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4336,7 +4341,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4365,7 +4370,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4394,7 +4399,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4423,7 +4428,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4452,7 +4457,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4481,7 +4486,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4510,7 +4515,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4539,7 +4544,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4568,7 +4573,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4597,7 +4602,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4626,7 +4631,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4655,7 +4660,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4684,7 +4689,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4713,7 +4718,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4742,7 +4747,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4771,7 +4776,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4800,7 +4805,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4829,7 +4834,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4858,7 +4863,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4887,7 +4892,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4916,7 +4921,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4945,7 +4950,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -4974,7 +4979,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5003,7 +5008,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5032,7 +5037,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5061,7 +5066,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5090,7 +5095,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5119,7 +5124,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_total_deposition.py b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_total_deposition.py index eaccd88c..e554f1c0 100644 --- a/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_total_deposition.py +++ b/tests/slow/test_pyflexplot/test_plots/ref_ifs-hres_total_deposition.py @@ -200,6 +200,7 @@ "species_id": 3, "time": 0, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -267,6 +268,7 @@ "species_id": 3, "time": 0, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -326,6 +328,7 @@ "species_id": 3, "time": 0, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, } ], @@ -377,6 +380,7 @@ "species_id": 3, "time": 0, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "colors": [ @@ -782,6 +786,7 @@ "species_id": 3, "time": 0, "variable": ["dry_deposition", "wet_deposition"], + "multiplier": None, }, }, "model_setup": { @@ -3545,7 +3550,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3575,7 +3580,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3605,7 +3610,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3635,7 +3640,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3665,7 +3670,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3695,7 +3700,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3725,7 +3730,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3755,7 +3760,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -3785,7 +3790,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "ha": "left", "fontname": "Liberation Sans", "size": 10.0, @@ -4751,7 +4756,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4780,7 +4785,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4809,7 +4814,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4838,7 +4843,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4867,7 +4872,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4896,7 +4901,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4925,7 +4930,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4954,7 +4959,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -4983,7 +4988,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5012,7 +5017,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5041,7 +5046,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5070,7 +5075,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5099,7 +5104,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5128,7 +5133,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "left", @@ -5157,7 +5162,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5186,7 +5191,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5215,7 +5220,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5244,7 +5249,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5273,7 +5278,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5302,7 +5307,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5331,7 +5336,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5360,7 +5365,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5389,7 +5394,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5418,7 +5423,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5447,7 +5452,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5476,7 +5481,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5505,7 +5510,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", @@ -5534,7 +5539,7 @@ "replace_edge_spaces": False, "edge_spaces_replacement_char": "␣", "kwargs": { - "color": "black", + "color": None, "fontname": "Liberation Sans", "size": 9.0, "ha": "right", diff --git a/tests/slow/test_pyflexplot/test_plots/test_cosmo-1.py b/tests/slow/test_pyflexplot/test_plots/test_cosmo-1.py index e2945845..529999ce 100644 --- a/tests/slow/test_pyflexplot/test_plots/test_cosmo-1.py +++ b/tests/slow/test_pyflexplot/test_plots/test_cosmo-1.py @@ -145,6 +145,7 @@ class Test_CloudArrivalTime(_TestBase): "species_id": 1, "time": 0, "level": 0, + "multiplier": None, }, } ], diff --git a/tests/slow/test_pyflexplot/test_plots/test_shape-files.py b/tests/slow/test_pyflexplot/test_plots/test_shape-files.py new file mode 100644 index 00000000..dcc644f6 --- /dev/null +++ b/tests/slow/test_pyflexplot/test_plots/test_shape-files.py @@ -0,0 +1,113 @@ +"""Test feature to generate shape files.""" +# Standard library +import os +import zipfile + +# Third-party +import numpy as np +import shapefile + +# First-party +from pyflexplot.data_transformation.rotated_pole import latrot2lat +from pyflexplot.data_transformation.rotated_pole import lonrot2lon +from pyflexplot.save_data import ShapeFileSaver + +# Local +from .shared import _TestBase +from .shared import _TestCreatePlot # noqa:F401 +from .shared import _TestCreateReference # noqa:F401 +from .shared import datadir # noqa:F401 # required by _TestBase.test + +INFILE_1 = "flexpart_cosmo-1_2019093012.nc" + +# Uncomment to create plots for all tests +# _TestBase = _TestCreatePlot + + +# Uncomment to references for all tests +# _TestBase = _TestCreateReference +class Test_ShapeFileGeneration(_TestBase): + reference = "ref_cosmo-1_concentration" + setup_dct = { + "files": { + "input": INFILE_1, + "output": f"{reference}.shp", + }, + "model": { + "name": "COSMO-1", + }, + "panels": [ + { + "plot_variable": "concentration", + "integrate": False, + "lang": "de", + "domain": "full", + "dimensions": { + "species_id": 1, + "time": 5, + "level": 0, + "multiplier": 100, + }, + } + ], + } + + file_name = "" + + def test(self, datadir): + shape_file_saver = ShapeFileSaver() + field_group = self.get_field_group(datadir) + plot = self.get_plot(field_group) + file_name = datadir + self.setup_dct["files"]["output"] + shape_file_saver.save(filename=file_name, plot=plot, data=field_group) + zip_shape_file = f"{file_name}.zip" + assert os.path.exists( + zip_shape_file + ), "Zip shape file {zip_shape_file} was not found." + zip_file = zipfile.ZipFile(zip_shape_file, "r") + for ext in [".shp", ".shx", ".dbf", ".shp.xml", ".prj"]: + assert np.any( + [file.endswith(ext) for file in zip_file.namelist()] + ), f"File in shape file with {ext} not found." + zip_file.close() + with shapefile.Reader(zip_shape_file) as sf: + records = sf.records() + shapes = sf.shapes() + + for n, field in enumerate(field_group): + # Recreate the transformation and filtering logic from your function + fld = field.fld.ravel() + relevant_indices = np.where(fld > 0) + fld = np.log10(fld[relevant_indices]) + + coordinates = np.array( + [[lon, lat] for lat in field.lat for lon in field.lon] + )[relevant_indices] + + true_lat = latrot2lat( + coordinates[:, 1], + coordinates[:, 0], + field.mdata.simulation.grid_north_pole_lat, + ) + true_lon = lonrot2lon( + coordinates[:, 1], + coordinates[:, 0], + field.mdata.simulation.grid_north_pole_lat, + field.mdata.simulation.grid_north_pole_lon, + ) + transformed_coordinates = np.array( + [[lon, lat] for lon, lat in zip(true_lon, true_lat)] + ) + + # Compare shapefile data with original data + for (shape, record), (coord, conc) in zip( + zip(shapes, records), zip(transformed_coordinates, fld) + ): + assert np.all( + np.isclose(shape.points[0], [coord[0], coord[1]]) + ), "ERROR: Coordinates differ" + assert np.isclose( + record[0], conc + ), "ERROR: Input and output fields differ" + + os.remove(zip_shape_file) diff --git a/tools/run-mypy.sh b/tools/run-mypy.sh index 756c35ca..9c7da8e8 100755 --- a/tools/run-mypy.sh +++ b/tools/run-mypy.sh @@ -19,7 +19,6 @@ cd "${SCRIPT_DIR}/.." # Paths relative to project root paths=( src/pyflexplot - tests/test_pyflexplot ) for path in "${paths[@]}"; do ${VERBOSE} && echo "mypy \"${path}\""