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

Resuscitate the Cloudy example and add Documentation #253

Merged
merged 16 commits into from
Dec 11, 2023

Conversation

bielim
Copy link
Contributor

@bielim bielim commented Nov 13, 2023

Purpose

Closes #256

Resuscitate the Cloudy example. The example demonstrates the full CES pipeline using a simple microphysics model but is currently deprecated.
The goal is to get it working again, and to include a version with a Random Feature emulator in addition to the currently implemented Gaussian Process emulator.
Documentation will be added as well.

Docs can be found here

Content

  • Get the deprecated example to work again
  • Add a version using a RF emulator
  • Clean-up
  • Documentation

@bielim bielim requested a review from odunbar November 13, 2023 16:00
@bielim bielim self-assigned this Nov 13, 2023
Copy link

codecov bot commented Nov 24, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (a621a04) 88.09% compared to head (e34b5f0) 88.07%.
Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #253      +/-   ##
==========================================
- Coverage   88.09%   88.07%   -0.02%     
==========================================
  Files           7        7              
  Lines        1134     1124      -10     
==========================================
- Hits          999      990       -9     
+ Misses        135      134       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Collaborator

@odunbar odunbar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks very much for the hard work! This looks awesome! I have some small comments and a couple of larger points:

  • Could you plot corner for the results- i have a snippet you can copy paste for this (rather than marginals just to emphasise that the posterior is a joint distributions)
  • I think the Manifest should be removed, and the Project toml can pin a cloudy version, and can add in EKP and/or CES versions (note that EKP is also within CES so you could just import CES and do using CalibrateEmulateSample.EnsembleKalmanProcesses) for example
  • the modularity for GP & RF should only be in the ML tool, the Emulator object should be constructed same for both options (and shouldn't effect the results)

examples/Cloudy/Manifest.toml Outdated Show resolved Hide resolved
examples/Cloudy/Cloudy_emulate_sample.jl Outdated Show resolved Hide resolved
examples/Cloudy/Cloudy_emulate_sample.jl Outdated Show resolved Hide resolved
examples/Cloudy/Cloudy_calibrate.jl Outdated Show resolved Hide resolved
docs/src/examples/Cloudy_example.md Outdated Show resolved Hide resolved
docs/src/examples/Cloudy_example.md Show resolved Hide resolved
docs/src/examples/Cloudy_example.md Outdated Show resolved Hide resolved
docs/src/examples/Cloudy_example.md Outdated Show resolved Hide resolved
docs/src/examples/Cloudy_example.md Show resolved Hide resolved
docs/src/examples/Cloudy_example.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@odunbar odunbar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great now thank you!

  • One very small comment, could you label the figures in assets with cloudy_... just so we can distinguish them?
  • Can you go to your base of your CES repo and call
    julia --project=.dev .dev/climaformat.jl to make the formatter happy, (and push the relevant changed files)

It would be good to see the vector case in here. I'd advocate for
NonSeperable(LowRankFactor(r)) for some low-ish rank r
and you can set decorrelate = false in the emulator for this case (so it doesn't use the SVD). However, if this is too much work, then I would also be happy to see this merged after the above small comments.

@odunbar
Copy link
Collaborator

odunbar commented Dec 8, 2023

I'm removing the .dev Manifest, and then will merge on all success

@odunbar
Copy link
Collaborator

odunbar commented Dec 11, 2023

Windows failure is still being resolved in #262 - it is unrelated to this PR.

@odunbar odunbar merged commit 8b73264 into main Dec 11, 2023
8 of 9 checks passed
@odunbar odunbar changed the title [WIP] Resuscitate the Cloudy example Resuscitate the Cloudy example and add Documentation Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Write consistent docs page for Cloudy
2 participants