Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alter style auto flow #31

Merged
merged 8 commits into from
Dec 14, 2023
Merged

Conversation

HCookie
Copy link
Contributor

@HCookie HCookie commented Nov 9, 2023

This pull request implements a new flow to allow defaults to be used by default.
Closes #32

JamesVarndell and others added 8 commits November 1, 2023 10:18
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (ecmwf#16)

* Develop (ecmwf#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (ecmwf#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (ecmwf#20)

* Makes unit checking less fussy

* from_object in right place (ecmwf#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (ecmwf#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Extend schemas.use to allow for paths to user defined schemas
- This change always uses the `default` styles
- A style library then overrides the style if needed.
@HCookie HCookie changed the base branch from main to develop November 9, 2023 08:18
@HCookie HCookie changed the base branch from develop to main November 9, 2023 08:18
@HCookie HCookie changed the base branch from main to develop November 9, 2023 08:19
@HCookie
Copy link
Contributor Author

HCookie commented Nov 9, 2023

Apologies for the base branch changes, not sure which branch is being used.

@HCookie HCookie mentioned this pull request Nov 9, 2023
@HCookie
Copy link
Contributor Author

HCookie commented Nov 9, 2023

Issue #32 is in reference to this pull request.

@HCookie
Copy link
Contributor Author

HCookie commented Nov 17, 2023

@JamesVarndell Does the implemented code follow the desired code practices?

@JamesVarndell JamesVarndell merged commit da7b795 into ecmwf:develop Dec 14, 2023
7 checks passed
JamesVarndell added a commit that referenced this pull request Dec 14, 2023
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

* Allow user defined schemas (#29)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Add Australian Bureau of Meteorology styles (#36)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

* Add tcwv

* Adjust tcwv to match ECMWF Standards

* Add Bureau of Meteorology styles
- Precip
- tcwv
- 2m temp

* Add Bureau names of variables

* Remove ECMWF Copyright from Bureau Styles
- Seperate tcwv and precwtr

* Add back geopotential

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Alter style auto flow (#31)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: Harrison Cook <harrison@eldrest.com>
JamesVarndell added a commit that referenced this pull request Dec 15, 2023
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

* Allow user defined schemas (#29)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Add Australian Bureau of Meteorology styles (#36)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

* Add tcwv

* Adjust tcwv to match ECMWF Standards

* Add Bureau of Meteorology styles
- Precip
- tcwv
- 2m temp

* Add Bureau names of variables

* Remove ECMWF Copyright from Bureau Styles
- Seperate tcwv and precwtr

* Add back geopotential

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Alter style auto flow (#31)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Refactor and documentation (#38)

* Adds tests for domains submodule

* Adds tests for styles and schemas

* Adds colors utilities along with tests

* Adds styles documentation and tests

* Makes title padding more accurately fit plots dynamically

* Refactoring styles and metadata API

* Adds more style features, including saving of standalone legend graphics

* Adds fonts and more flexible styling

* Adds documentation requirements

* Adds installation instructions

* Adds sphinx extensions

* Adds sphinx extensions

* Adds API reference

* Adds API reference

* Reintroduces gradient styles

* Fixes cyclic point for data which wraps the globe

* Switched on autpapi

* Adds reduced gaussian interpolation and extended style handling

* Adds river discharge styles

* Adds examples gallery

* Removed sea ice and wind barbs from gallery

* Adds data for examples to gitignore

* Rationalises notebook examples into user guide

* Documentation improvements

* Improves styles API

* Docstring improvements

* Updated requirements

* Removes optional dependencies from requirements

* Adds ECMWF style template

* Adds support for multiple style libraries, including custom style libraries

* Adds BoM styles

* Adds BoM schema

* Fixes conflicts

* Removes old-style identities and styles

* Skip style test if no cf units

* Adds doc requirement installation to docs-build

* Adds doc requirement installation to docs-build

* Adds PyPI badges

* Fixes README formatting

* Improves README

* Removes legacy styles and identities

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: Harrison Cook <harrison@eldrest.com>
@HCookie HCookie deleted the Alter-Style-Auto-Flow branch December 19, 2023 04:44
JamesVarndell added a commit that referenced this pull request Feb 1, 2024
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

* Allow user defined schemas (#29)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Add Australian Bureau of Meteorology styles (#36)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

* Add tcwv

* Adjust tcwv to match ECMWF Standards

* Add Bureau of Meteorology styles
- Precip
- tcwv
- 2m temp

* Add Bureau names of variables

* Remove ECMWF Copyright from Bureau Styles
- Seperate tcwv and precwtr

* Add back geopotential

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Alter style auto flow (#31)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Refactor and documentation (#38)

* Adds tests for domains submodule

* Adds tests for styles and schemas

* Adds colors utilities along with tests

* Adds styles documentation and tests

* Makes title padding more accurately fit plots dynamically

* Refactoring styles and metadata API

* Adds more style features, including saving of standalone legend graphics

* Adds fonts and more flexible styling

* Adds documentation requirements

* Adds installation instructions

* Adds sphinx extensions

* Adds sphinx extensions

* Adds API reference

* Adds API reference

* Reintroduces gradient styles

* Fixes cyclic point for data which wraps the globe

* Switched on autpapi

* Adds reduced gaussian interpolation and extended style handling

* Adds river discharge styles

* Adds examples gallery

* Removed sea ice and wind barbs from gallery

* Adds data for examples to gitignore

* Rationalises notebook examples into user guide

* Documentation improvements

* Improves styles API

* Docstring improvements

* Updated requirements

* Removes optional dependencies from requirements

* Adds ECMWF style template

* Adds support for multiple style libraries, including custom style libraries

* Adds BoM styles

* Adds BoM schema

* Fixes conflicts

* Removes old-style identities and styles

* Skip style test if no cf units

* Adds doc requirement installation to docs-build

* Adds doc requirement installation to docs-build

* Adds PyPI badges

* Fixes README formatting

* Improves README

* Removes legacy styles and identities

* Fixes bug in automatic style detection

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: Harrison Cook <harrison@eldrest.com>
JamesVarndell added a commit that referenced this pull request Mar 4, 2024
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

* Allow user defined schemas (#29)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Add Australian Bureau of Meteorology styles (#36)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

* Add tcwv

* Adjust tcwv to match ECMWF Standards

* Add Bureau of Meteorology styles
- Precip
- tcwv
- 2m temp

* Add Bureau names of variables

* Remove ECMWF Copyright from Bureau Styles
- Seperate tcwv and precwtr

* Add back geopotential

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Alter style auto flow (#31)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Refactor and documentation (#38)

* Adds tests for domains submodule

* Adds tests for styles and schemas

* Adds colors utilities along with tests

* Adds styles documentation and tests

* Makes title padding more accurately fit plots dynamically

* Refactoring styles and metadata API

* Adds more style features, including saving of standalone legend graphics

* Adds fonts and more flexible styling

* Adds documentation requirements

* Adds installation instructions

* Adds sphinx extensions

* Adds sphinx extensions

* Adds API reference

* Adds API reference

* Reintroduces gradient styles

* Fixes cyclic point for data which wraps the globe

* Switched on autpapi

* Adds reduced gaussian interpolation and extended style handling

* Adds river discharge styles

* Adds examples gallery

* Removed sea ice and wind barbs from gallery

* Adds data for examples to gitignore

* Rationalises notebook examples into user guide

* Documentation improvements

* Improves styles API

* Docstring improvements

* Updated requirements

* Removes optional dependencies from requirements

* Adds ECMWF style template

* Adds support for multiple style libraries, including custom style libraries

* Adds BoM styles

* Adds BoM schema

* Fixes conflicts

* Removes old-style identities and styles

* Skip style test if no cf units

* Adds doc requirement installation to docs-build

* Adds doc requirement installation to docs-build

* Adds PyPI badges

* Fixes README formatting

* Improves README

* Removes legacy styles and identities

* Fixes bug in automatic style detection

* Adds healpix grid support

* Removes unnecessary healpix check

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: Harrison Cook <harrison@eldrest.com>
JamesVarndell added a commit that referenced this pull request Mar 4, 2024
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

* Allow user defined schemas (#29)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Add Australian Bureau of Meteorology styles (#36)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

* Add tcwv

* Adjust tcwv to match ECMWF Standards

* Add Bureau of Meteorology styles
- Precip
- tcwv
- 2m temp

* Add Bureau names of variables

* Remove ECMWF Copyright from Bureau Styles
- Seperate tcwv and precwtr

* Add back geopotential

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Alter style auto flow (#31)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Refactor and documentation (#38)

* Adds tests for domains submodule

* Adds tests for styles and schemas

* Adds colors utilities along with tests

* Adds styles documentation and tests

* Makes title padding more accurately fit plots dynamically

* Refactoring styles and metadata API

* Adds more style features, including saving of standalone legend graphics

* Adds fonts and more flexible styling

* Adds documentation requirements

* Adds installation instructions

* Adds sphinx extensions

* Adds sphinx extensions

* Adds API reference

* Adds API reference

* Reintroduces gradient styles

* Fixes cyclic point for data which wraps the globe

* Switched on autpapi

* Adds reduced gaussian interpolation and extended style handling

* Adds river discharge styles

* Adds examples gallery

* Removed sea ice and wind barbs from gallery

* Adds data for examples to gitignore

* Rationalises notebook examples into user guide

* Documentation improvements

* Improves styles API

* Docstring improvements

* Updated requirements

* Removes optional dependencies from requirements

* Adds ECMWF style template

* Adds support for multiple style libraries, including custom style libraries

* Adds BoM styles

* Adds BoM schema

* Fixes conflicts

* Removes old-style identities and styles

* Skip style test if no cf units

* Adds doc requirement installation to docs-build

* Adds doc requirement installation to docs-build

* Adds PyPI badges

* Fixes README formatting

* Improves README

* Removes legacy styles and identities

* Fixes bug in automatic style detection

* Adds healpix grid support

* Removes unnecessary healpix check

* pointsOrdering -> orderingConvention

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: Harrison Cook <harrison@eldrest.com>
JamesVarndell added a commit that referenced this pull request Mar 5, 2024
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

* Allow user defined schemas (#29)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Add Australian Bureau of Meteorology styles (#36)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

* Add tcwv

* Adjust tcwv to match ECMWF Standards

* Add Bureau of Meteorology styles
- Precip
- tcwv
- 2m temp

* Add Bureau names of variables

* Remove ECMWF Copyright from Bureau Styles
- Seperate tcwv and precwtr

* Add back geopotential

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Alter style auto flow (#31)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Refactor and documentation (#38)

* Adds tests for domains submodule

* Adds tests for styles and schemas

* Adds colors utilities along with tests

* Adds styles documentation and tests

* Makes title padding more accurately fit plots dynamically

* Refactoring styles and metadata API

* Adds more style features, including saving of standalone legend graphics

* Adds fonts and more flexible styling

* Adds documentation requirements

* Adds installation instructions

* Adds sphinx extensions

* Adds sphinx extensions

* Adds API reference

* Adds API reference

* Reintroduces gradient styles

* Fixes cyclic point for data which wraps the globe

* Switched on autpapi

* Adds reduced gaussian interpolation and extended style handling

* Adds river discharge styles

* Adds examples gallery

* Removed sea ice and wind barbs from gallery

* Adds data for examples to gitignore

* Rationalises notebook examples into user guide

* Documentation improvements

* Improves styles API

* Docstring improvements

* Updated requirements

* Removes optional dependencies from requirements

* Adds ECMWF style template

* Adds support for multiple style libraries, including custom style libraries

* Adds BoM styles

* Adds BoM schema

* Fixes conflicts

* Removes old-style identities and styles

* Skip style test if no cf units

* Adds doc requirement installation to docs-build

* Adds doc requirement installation to docs-build

* Adds PyPI badges

* Fixes README formatting

* Improves README

* Removes legacy styles and identities

* Fixes bug in automatic style detection

* Adds healpix grid support

* Removes unnecessary healpix check

* pointsOrdering -> orderingConvention

* Fixes bug which prevents plotting data when automatic styles are not found

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: Harrison Cook <harrison@eldrest.com>
JamesVarndell added a commit that referenced this pull request May 16, 2024
* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

* Allow user defined schemas (#29)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Add Australian Bureau of Meteorology styles (#36)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

* Add tcwv

* Adjust tcwv to match ECMWF Standards

* Add Bureau of Meteorology styles
- Precip
- tcwv
- 2m temp

* Add Bureau names of variables

* Remove ECMWF Copyright from Bureau Styles
- Seperate tcwv and precwtr

* Add back geopotential

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Alter style auto flow (#31)

* New pre-commit hooks (#28)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* Roll by bug (#16)

* Develop (#15)

* Adds logo

* Adds logo to README

* Adds support for earthkit-data projections

* Update to match the 'to_points' method of earthkit-data

* Update to match the 'to_points' method of earthkit-data

* Adds basic example of plotting reduced gaussian grid data

* Adds more flexible layer system and metadata detection

* Adds missing open-cv dependency for pip and conda

* Updates examples to showcase latest features

* Adds copyright notice to new modules

* Fail when metadata key not found in format string

* Improvements to tick labelling and style construction

* Updates examples

* Overhaul layer structure and styles API

* Updates examples to demonstrate new API

* Bugfix in schema circular import

* Adds continuous styles

* plotting legends now returns matplotlib objects

* Adds format conversion for layer-level metadata

* Updates El Nino example to demonstrate metadata field conversion

* Improves support for earthkit-data utilities and adds automatic styles

* QA tweaks

* Adds new CI GitHub workflow copied from earthkit-data

* Updates EFI example to make use of new features

* Updates geopotential styles

* Fixing CI test issues

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Attempts to fix poetry configuration bug

* Removes reference to old unit test environment file

* Fixes conda environment

* Fixes pyproject deps

* Adds basic version test

* Fixes bug in version test

* Adds earthkit-data dependency

* Removes broken notebook test from Makefile

* Comments out CI checks which won't be added until later in development

* Demo for BR

* Demo for BR

* Demo for BR

* Demo for BR

* Adds automatic style namespaces and associated schema keywords

* Adds ECMWF namespace example

* Updates to align with changes in earthkit-data

* Removes automatic rolling of latitudes

* Adds polygon plotting

* Fixes unit handling for automatic plots

* Add package data to setup.cfg

* roll by fix

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>

* Fixes bug preventing plotting of data in Eastern hemisphere when defined from 0-360

* Units not mandatory (#18)

* corrections to units formatting

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Do not convert Celsius to/from Kelvin when anomaly

* Bugfix: supports non-LaTeXable units

* Bugfix: supports non-LaTeXable units

* Adds month formatting for titles

* levels instead of colours (#20)

* Makes unit checking less fussy

* from_object in right place (#22)

* Adds support for plotting geopandas shapes

* gradients in Contour (#24)

* gradients in Contour

* gradients in Contour

* gradients in Contour

* Deprecation warning

* Deprecation warning

* qa

* Adds shapes catalogue

* Improves handling of geometry data

* Removes over-cautious warning when no projection is found

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Fixes a bug which prevents automatic titles from working when data has no 'type' metadata

* Enables more efficient reprojection to Nearside Perspective CRS

* Enables more efficient reprojection to Stereographic CRS

* Adds ability to pass a list of subplot titles

* Fixes bug preventing pcolormesh data from wrapping the globe

* Reverts handling of pcolormesh to match contourf

* Adds missing data styling

* Adds missing data styling

* Removes warning when plotting a list of data objects

* QA tweaks

* Replaces opencv dependency with scipy

* Adds detection of non-bbox-able projections as a temporary fix to erroneous bboxes

* Adds layer- and subplot-level indexing in title format keys

* Adds docstrings

* Temporarily disable notify actions

* Adds automatic support for reduced gaussian grids

* Adds example quickplot image to documentation homepage

* Improves disclaimer message

* Adds anomaly default styles

* Adds DS-Store fires to gitignore

* Update to use latest pre-commit hooks

* Update to use latest pre-commit hooks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>

* Adds documentaion build to ci

* Adds doc-build Makefile

* Adds documentation dependencies

* Adds readthedocs config

* Allow user defined schemas

Extend schemas.use to allow for paths to user defined schemas

* Skip Error Throwing

* Use default style unless overwritten
- This change always uses the `default` styles
- A style library then overrides the style if needed.

---------

Co-authored-by: James Varndell <36902610+JamesVarndell@users.noreply.github.com>
Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: James Varndell <james.varndell@ecmwf.int>

* Refactor and documentation (#38)

* Adds tests for domains submodule

* Adds tests for styles and schemas

* Adds colors utilities along with tests

* Adds styles documentation and tests

* Makes title padding more accurately fit plots dynamically

* Refactoring styles and metadata API

* Adds more style features, including saving of standalone legend graphics

* Adds fonts and more flexible styling

* Adds documentation requirements

* Adds installation instructions

* Adds sphinx extensions

* Adds sphinx extensions

* Adds API reference

* Adds API reference

* Reintroduces gradient styles

* Fixes cyclic point for data which wraps the globe

* Switched on autpapi

* Adds reduced gaussian interpolation and extended style handling

* Adds river discharge styles

* Adds examples gallery

* Removed sea ice and wind barbs from gallery

* Adds data for examples to gitignore

* Rationalises notebook examples into user guide

* Documentation improvements

* Improves styles API

* Docstring improvements

* Updated requirements

* Removes optional dependencies from requirements

* Adds ECMWF style template

* Adds support for multiple style libraries, including custom style libraries

* Adds BoM styles

* Adds BoM schema

* Fixes conflicts

* Removes old-style identities and styles

* Skip style test if no cf units

* Adds doc requirement installation to docs-build

* Adds doc requirement installation to docs-build

* Adds PyPI badges

* Fixes README formatting

* Improves README

* Removes legacy styles and identities

* Extends missing value colors to apply to Style.values_to_colors

* Switch to use np.isnan instead of

* QA tweaks

---------

Co-authored-by: Eddy Comyn-Platt <53045993+EddyCMWF@users.noreply.github.com>
Co-authored-by: Harrison Cook <harrison@eldrest.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reasoning for style structure?
2 participants