Skip to content

Conversation

@brianpm
Copy link
Collaborator

@brianpm brianpm commented Jan 15, 2026

The main objective of this PR is to provide Taylor Diagrams with observation/reanalysis reference data, and thus to address #426.

Since Taylor Diagrams are especially useful for comparing multiple simulations to a common reference, I also prioritized being able to run with multiple test cases.

Refactoring the original cam_taylor_diagram.py mostly needed moving to use more of adf_dataset. The other key part was allowing for the potential need to regrid obs-to-obs for derived variables that the Taylor diagram uses. I also refactored the regrid_and_vert_interp.py module. Both use xESMF for regridding, defaulting to conservative methods. The regridding weights are currently being stored in a subdirectory of the regrid location.

For cases when we need to regrid from pressure levels to pressure levels, I added a plev_to_plev method in adf_utils. Elsewhere in that module I made some modifications to try to keep metadata.

I was running in to a hang when creating climo files, and I tracked it down to our use of multiprocessing. I think I've implemented a fix for that (which I think we've had to work around before). The main thing seems to be mp.get_context('spawn') but there's also some dask stuff to try to prevent zombie processes being made. This seems to work, but isn't crucial for this PR.

There are some updates to adf_info.py that help to deal with the multi-case configurations. This has to do with handling the specification of history files from the YAML file. This could break previously working configurations because it might make some assumptions about how those history files are specified.

To read nested lists correctly (i.e., [['h0a', 'h1a'],['h0a', 'h1a']]), I also needed to modify adf_config.py.

I added the ERA5 land fraction to the observations repository and included it in the variable defaults file.

A few modifications are included in adf_dataset, but mainly just trying to apply unit transformations more carefully. These might not be super necessary, but I don't think they will hurt anything.

@brianpm
Copy link
Collaborator Author

brianpm commented Jan 15, 2026

I should also mention that I have a test configuration file here:
/glade/u/home/brianpm/drive_diagnostics/config_taylor_obs_MULTI.yaml

The web page generation does not work with this configuration... part of the reasoning for making it a draft PR for now.

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.

1 participant