What's Changed
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/363
* Bump codecov/codecov-action from 2.0.2 to 2.0.3 by dependabot in https://github.com/intake/intake-esm/pull/362
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/364
* Bump codecov/codecov-action from 2.0.3 to 2.1.0 by dependabot in https://github.com/intake/intake-esm/pull/365
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/366
* Update pydantic models by andersy005 in https://github.com/intake/intake-esm/pull/367
* Update pre-commit hooks by andersy005 in https://github.com/intake/intake-esm/pull/369
* Add Query Model by andersy005 in https://github.com/intake/intake-esm/pull/370
* Use ESMCatModel Pydantic model by andersy005 in https://github.com/intake/intake-esm/pull/368
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/371
* Add ESMDataSource by andersy005 in https://github.com/intake/intake-esm/pull/372
* Fix catalog serialization by andersy005 in https://github.com/intake/intake-esm/pull/373
* Fix `__repr__` and `__repr_html__` by andersy005 in https://github.com/intake/intake-esm/pull/374
* Ensure multi variable catalogs are parsed properly by andersy005 in https://github.com/intake/intake-esm/pull/375
* Update Pull Request Template by andersy005 in https://github.com/intake/intake-esm/pull/376
* Use pydantic.validate_arguments decorator to validate individual functions by andersy005 in https://github.com/intake/intake-esm/pull/377
* Upgrade setup/build requirements by andersy005 in https://github.com/intake/intake-esm/pull/383
* Add functionality for derived variables by andersy005 in https://github.com/intake/intake-esm/pull/379
* Rename `_types` module to `cat` by andersy005 in https://github.com/intake/intake-esm/pull/381
* Add method for loading registry from a Python module by andersy005 in https://github.com/intake/intake-esm/pull/386
* Add query to derived variables by andersy005 in https://github.com/intake/intake-esm/pull/389
* Add `skip_on_error` option when loading datasets by andersy005 in https://github.com/intake/intake-esm/pull/390
* Fix `.nunique()` and `.unique()` methods by andersy005 in https://github.com/intake/intake-esm/pull/391
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/392
* Properly check whether dataframe is empty by andersy005 in https://github.com/intake/intake-esm/pull/394
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/396
* Remove linting workflow: use pre-commit.ci by andersy005 in https://github.com/intake/intake-esm/pull/399
* ESMCat pydantic Model: make id optional by andersy005 in https://github.com/intake/intake-esm/pull/398
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/402
* Exclude buggy xarray versions by andersy005 in https://github.com/intake/intake-esm/pull/406
* Add `to_dask()` method to `esm_datastore` by d70-t in https://github.com/intake/intake-esm/pull/403
* Use mamba when building docs on Readthedocs by andersy005 in https://github.com/intake/intake-esm/pull/408
* Add to_collection method returning an Xcollection by jukent in https://github.com/intake/intake-esm/pull/405
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/410
* Added detection of "*" to enable opening of multi-file datasets. by andersy005 in https://github.com/intake/intake-esm/pull/395
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/411
* Add Docs Based on ESDS Blog Posts by mgrover1 in https://github.com/intake/intake-esm/pull/409
* Switch over to the furo theme by andersy005 in https://github.com/intake/intake-esm/pull/412
* Reorganize docs by andersy005 in https://github.com/intake/intake-esm/pull/413
* Search returns same class as self - allowing subclassing by aulemahal in https://github.com/intake/intake-esm/pull/417
* Support mixed data formats by aulemahal in https://github.com/intake/intake-esm/pull/416
* Expose `pd.DataFrame.to_csv` and `json.dump` keyword arguments by andersy005 in https://github.com/intake/intake-esm/pull/421
* Pin importlib-metadata to 2.0 by andersy005 in https://github.com/intake/intake-esm/pull/422
* Fix CI failures: don't turn warnings into errors by andersy005 in https://github.com/intake/intake-esm/pull/429
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/430
* Bump pypa/gh-action-pypi-publish from 1.4.2 to 1.5.0 by dependabot in https://github.com/intake/intake-esm/pull/431
* Fix dependency version conflict by andersy005 in https://github.com/intake/intake-esm/pull/432
* Add Python 3.10 to CI by andersy005 in https://github.com/intake/intake-esm/pull/400
* Improve search with derived variables by aulemahal in https://github.com/intake/intake-esm/pull/428
* Add pyupgrade to pre-commit hooks by andersy005 in https://github.com/intake/intake-esm/pull/433
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/438
* Support iterable columns with `require_all_on` by aulemahal in https://github.com/intake/intake-esm/pull/435
* Remove unused `df.setter` by andersy005 in https://github.com/intake/intake-esm/pull/440
* Add `last_updated` to the `ESMCatalogModel` by andersy005 in https://github.com/intake/intake-esm/pull/442
* Derived Catalog: test for all needed variables and skip if existing by aulemahal in https://github.com/intake/intake-esm/pull/441
* Subset derived variable registry only with used derived variables by aulemahal in https://github.com/intake/intake-esm/pull/446
* Bump actions/setup-python from 2 to 3 by dependabot in https://github.com/intake/intake-esm/pull/451
* Bump actions/checkout from 2 to 3 by dependabot in https://github.com/intake/intake-esm/pull/450
* Add tutorial module by jukent in https://github.com/intake/intake-esm/pull/454
* Tutorial url by jukent in https://github.com/intake/intake-esm/pull/455
* Ensure fsspec storage options are propagated to `xr.open_dataset` by jukent in https://github.com/intake/intake-esm/pull/453
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/459
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/463
* Change import to have configurable prefixes via `set_options` by aulemahal in https://github.com/intake/intake-esm/pull/460
* updating google-cmip6 cat to have more datasets by jukent in https://github.com/intake/intake-esm/pull/464
* replace references to collection with catalog by jukent in https://github.com/intake/intake-esm/pull/457
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/466
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/467
* Allow saving catalog via fsspec protocols by andersy005 in https://github.com/intake/intake-esm/pull/469
* Ensure `storage_options` are passed to `esmcat.save()` by andersy005 in https://github.com/intake/intake-esm/pull/471
* Bump codecov/codecov-action from 2.1.0 to 3.0.0 by dependabot in https://github.com/intake/intake-esm/pull/472
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/473
* Support for the grid mapping attribute and variable by RondeauG in https://github.com/intake/intake-esm/pull/449
* Bump codecov/codecov-action from 3.0.0 to 3.1.0 by dependabot in https://github.com/intake/intake-esm/pull/475
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/476
* ENH: Support Kerchunk Files by mgrover1 in https://github.com/intake/intake-esm/pull/480
* Bump actions/setup-python from 3 to 4 by dependabot in https://github.com/intake/intake-esm/pull/482
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/483
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/484
* FIX: Add fixes to allow reading kerchunk catalog by mgrover1 in https://github.com/intake/intake-esm/pull/485
* Bump styfle/cancel-workflow-action from 0.9.1 to 0.10.0 by dependabot in https://github.com/intake/intake-esm/pull/486
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/488
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/489
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/492
* Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 by dependabot in https://github.com/intake/intake-esm/pull/493
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/494
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/497
* Drop support for Python 3.7 by andersy005 in https://github.com/intake/intake-esm/pull/499
* use micromamba in CI by andersy005 in https://github.com/intake/intake-esm/pull/500
* Add `get_available_cats()` method to `tutorial.py` by jukent in https://github.com/intake/intake-esm/pull/458
* Docs improvement: use sphinx-design tabs by andersy005 in https://github.com/intake/intake-esm/pull/504
* add `sphinx-design` to list of extensions by andersy005 in https://github.com/intake/intake-esm/pull/505
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/507
* ensure `storage_options` are passed to data loader by andersy005 in https://github.com/intake/intake-esm/pull/508
* Ensure global attributes added by intake-esm are compatible with netCDF and Zarr by andersy005 in https://github.com/intake/intake-esm/pull/509
* ENH: Add .to_datatree() method and remove to collection by mgrover1 in https://github.com/intake/intake-esm/pull/512
* Discard `catalog_file` attribute after a search by andersy005 in https://github.com/intake/intake-esm/pull/514
* Add `keys_info()` method by andersy005 in https://github.com/intake/intake-esm/pull/515
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/516
* upgrade dependencies by andersy005 in https://github.com/intake/intake-esm/pull/517
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/intake/intake-esm/pull/519
* Reorganize the documentation by andersy005 in https://github.com/intake/intake-esm/pull/521
* DOC: Add section on intake-esm keys by mgrover1 in https://github.com/intake/intake-esm/pull/522
* Update how to guides by andersy005 in https://github.com/intake/intake-esm/pull/523
* FIX: Update default catalog location and tests by mgrover1 in https://github.com/intake/intake-esm/pull/525
* Check if all values in a groupby column are NaN or not NaN by andersy005 in https://github.com/intake/intake-esm/pull/526
* Update isort configuration to use `profile=black` by andersy005 in https://github.com/intake/intake-esm/pull/528
* Update changelog by andersy005 in https://github.com/intake/intake-esm/pull/527
New Contributors
* d70-t made their first contribution in https://github.com/intake/intake-esm/pull/403
* aulemahal made their first contribution in https://github.com/intake/intake-esm/pull/417
* RondeauG made their first contribution in https://github.com/intake/intake-esm/pull/449
**Full Changelog**: https://github.com/intake/intake-esm/compare/v2021.8.17...v2022.9.18