Skip to content

Conversation

@maximilian-gelbrecht
Copy link

@vchuravy suggested I add an example using SpeedyWeather.jl to the integration tests.

The test is pretty much the same thing we do in the paper. It's a sensitivity analysis of a single grid point and it checks that this runs without errors and the gradient makes physical sense, so the gradient is localised around the selected grid point and small far away from it.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 14, 2025

Your PR requires formatting changes to meet the project's style guidelines.
Please consider running Runic (git runic main) to apply these changes.

Click here to view the suggested changes.
diff --git a/test/integration/SpeedyWeather/runtests.jl b/test/integration/SpeedyWeather/runtests.jl
index 129ea930..4cbb62a2 100644
--- a/test/integration/SpeedyWeather/runtests.jl
+++ b/test/integration/SpeedyWeather/runtests.jl
@@ -12,7 +12,7 @@ using SpeedyWeather, Enzyme, Checkpointing, Test
 const N = length(ARGS) >= 1 ? parse(Int, ARGS[1]) : 5
 
 spectral_grid = SpectralGrid(trunc = 32, nlayers = 8)             # define resolution
-model = PrimitiveWetModel(; spectral_grid, physics=false)         # construct model
+model = PrimitiveWetModel(; spectral_grid, physics = false)         # construct model
 # physics = false to accelate the test
 simulation = initialize!(model)
 initialize!(simulation)

@vchuravy
Copy link
Member

Thanks Max!

@vchuravy
Copy link
Member

@giordano can we make the filtering more aggressive and only run CI on the integration test being changed?

@giordano
Copy link
Member

We could generate the matrix dynamically, but only if test/integration/ files only have been modified, otherwise I think we want to run all the tests, right?

@giordano
Copy link
Member

BTW, this is missing adding SpeedyWeather to

package:
- Bijectors
- DifferentiationInterface
- Distributions
- DynamicExpressions
- Lux
- SciML
- KernelAbstractions
- Molly
- MPI

@maximilian-gelbrecht
Copy link
Author

Oh, yes. I just added it.

@giordano
Copy link
Member

Besides the fact Test isn't loaded, the jobs are timing out. Any way to have something lighter to test? All other jobs finish in less than 20 minutes (most of them are a lot faster)

@maximilian-gelbrecht
Copy link
Author

maximilian-gelbrecht commented Nov 14, 2025

Yeah, in our own CI a very similar test takes about 35 minutes. I hoped it's a bit faster now after recent Enzyme patches, but it doesn't seem to be the case.

If 20 min is the limit (didn't know that), then I can turn off some of the parametrizations and see if that's sufficient. I am out of time to really experiment with that for today though.

@giordano
Copy link
Member

Timeout is 45 minutes

timeout-minutes: 45
but all other jobs take less than half of that.

@maximilian-gelbrecht
Copy link
Author

I mean the gradient compile time is what it is currently 🤷
On my laptop and my HPC it's a bit faster, but in the GitHub Actions CI it's really quite slow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants