Skip to content

Commit

Permalink
Merge pull request #1094 from CliMA/kp/pressure-postprocessing
Browse files Browse the repository at this point in the history
Add postprocessing for 4D variables (lat, lon, time, pressure level)
  • Loading branch information
ph-kev authored Dec 6, 2024
2 parents c56cac5 + 6bbd53a commit f66d5df
Show file tree
Hide file tree
Showing 6 changed files with 521 additions and 110 deletions.
6 changes: 6 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ by identifying where elevation is greater than 0. Note, this can lead to
misidentification of ocean in some areas of the globe that are inland but below
sea level (Dead Sea, Death Valley, ...).

### Leaderboard for variables over longitude, latitude, time, and pressure - PR [#1094](https://github.com/CliMA/ClimaCoupler.jl/pull/1094)

As a part of the post processing pipeline, bias plots for variables at the
pressure levels of 850.0, 500.0, 250.0 hPa and bias plots over latitude and
pressure levels are being created.



### Code cleanup
Expand Down
22 changes: 18 additions & 4 deletions docs/src/leaderboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ preprocessing variables of interest are done in `data_sources.jl` and computing
and plotting are done in `leaderboard.jl`. To add a new variable, you ideally only need to
modify `data_sources.jl`.

#### Add a new variable to the bias plots
If you want to add a new variable to the bias plots, you add the variable to `sim_var_dict`,
`obs_var_dict`, `compare_vars_biases_groups`, and optionally
`compare_vars_biases_plot_extrema`.
#### Add a new 3D variable to the bias plots
If you want to add a new 3D variable defined over latitude, longitude, and time to the bias
plots, you add the variable to `sim_var_dict`, `obs_var_dict`, `compare_vars_biases_groups`,
and optionally `compare_vars_biases_plot_extrema`. The variables `sim_var_dict`,
`obs_var_dict`, `compare_vars_biases_groups`, `compare_vars_biases_plot_extrema` are in the
function `get_sim_var_dict`, `get_obs_var_dict`, `get_compare_vars_biases_groups`, and
`get_compare_vars_biases_plot_extrema` respectively.

The dictionaries `sim_var_dict` and `obs_var_dict` map short names to an anonymous function
that returns a [`OutputVar`](https://clima.github.io/ClimaAnalysis.jl/dev/var/). Both
Expand Down Expand Up @@ -48,3 +51,14 @@ must be initialized for each variable of interest. The CliMA model is added with
the `RMSEVariable`. It is assumed that the `RMSEVariable` contains only the columns "DJF",
"MAM", "JJA", "SON", and "ANN" in that order. The file `leaderboard.jl` will load the
appropriate data into the `RMSEVariable`.

### Add a new variable to compare against observations in pressure coordinates
To add a new variable, you only need to modify the variable `sim_var_pfull_dict` in the
function `get_sim_var_in_pfull_dict`, the variable `obs_var_dict` in the function
`get_obs_var_in_pfull_dict`, and the variable `compare_vars_biases_plot_extrema` in the
function `get_compare_vars_biases_plot_extrema_pfull`. The variables and functions are
defined exactly the same as their analogous versions in the section above.

It is expected that the dimensions of the variables are time, latitude, longitude, and
pressure in no particular order and the units for the pressure dimension is expected to be
`hPa`.
3 changes: 3 additions & 0 deletions experiments/ClimaEarth/Artifacts.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,6 @@ git-tree-sha1 = "cbbc6b3752d9cb9b667ec33cfbeb46819f8db418"
[[landsea_mask_1deg.download]]
sha256 = "3722b553c2fdf28a6574aea2e0b167d16ab050f34e5969ada45625b3a3ecb6da"
url = "https://caltech.box.com/shared/static/b3u4dv0dsoswvqgp8y63bzj7awbhwztd.gz"

[era5_monthly_averages_pressure_levels_1979_2024]
git-tree-sha1 = "dd7ee9500805f590f8fc4c00bfc373eeb7a01587"
Loading

0 comments on commit f66d5df

Please sign in to comment.