You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you're using SPA then the time involved to spin-up the model is pretty costly.
Test case: model spin-up & then a 12 year simulation at a 30 minute timestep for Tumbarumba
First, the impact of SAS on simulation time = ~57% improvement using the SAS spin-up. SPA off, brute force spin-up (i.e. our classic GDAY just at 30 mins): 2m 20 SPA off, SAS spin-up: 0 m 59
But turning SPA on, leads to a ridiculously long simulation time. SPA on, SAS spin-up: 17 m 46
Causes?
Drainage through the soil water profile, this involves all the costly calls to numerical recipes for the integration funcs (odein, rkck, rkqs).
Calculating a new rooting distribution at the end of the year, this involves a call to zbrent to do a minimisation.
Using 20 soil layers, obviously that also impacts on (1) as well.
Potentially too strict a stopping criteria for the passive pool.
Solution 1
Assume a fixed drainage rate, I took an average across 10,000 SPA iterations for the Tumbarumba soil, finding a rate ~7%. So I tested the assumption that 10% of water in a layer can drain during a step for the spin-up (obviously one would test for a more robust value!). Then for the actual simulations I go back to using the SPA calculations for drainage. This gets you a total run time of:
SPA on, SAS spin-up, fast drainage: 3 m 43.6
Solution 2
Either (1) assume a fixed rooting distribution as in CABLE, or (2) fix the slope term in the rooting distribution function from SPA, to remove the call to zbrent. I tested 2 and it makes things a few seconds faster, so this is a small issue.
Solution 3
A bit arbitrary...We could play with a few different soil layers numbers and see at what point we lose important resolution.
I tested using 6 layers instead of 20:
SPA on, SAS spin-up, 6 layers: 5 m 56
Solution 4
Relax the stopping criteria. Currently we stop once the change in the passive pool is < 0.05 t/ha, if I make that 0.5 t/ha
SPA on, SAS spin up, delta passive < 0.5: 8 m 3
Moving to the impact on simulated fluxes ...
Solution 1: Drainage
Here EXP is the fixed rate drainage and CTRL is standard GDAY-SPA. NB. the fixed drainage rate is only used during spin-up, during the actual simulation we switch back.
Dry down 1
Dry down 2
Makes no differences, so I think that is a viable spin-up assumption?
Solution 2: 6 layers vs. 20
As you'd expect this has more of an impact, not sure what the right balance is here. For this test I just made 6 equal sized layers, clearly a few smaller ones and a single larger one might be preferable.
Dry down 1
Dry down 2
Solution 4: relaxed stopping criteria
Dry down 1
Dry down 2
How fast could we go?
Fixed drainage, relaxed stopping criteria: 1 m 42s
Fixed drainage, relaxed stopping criteria, 6 layers: 0 m 48s
The text was updated successfully, but these errors were encountered:
If you're using SPA then the time involved to spin-up the model is pretty costly.
Test case: model spin-up & then a 12 year simulation at a 30 minute timestep for Tumbarumba
First, the impact of SAS on simulation time = ~57% improvement using the SAS spin-up.
SPA off, brute force spin-up (i.e. our classic GDAY just at 30 mins): 2m 20
SPA off, SAS spin-up: 0 m 59
But turning SPA on, leads to a ridiculously long simulation time.
SPA on, SAS spin-up: 17 m 46
Causes?
Solution 1
Assume a fixed drainage rate, I took an average across 10,000 SPA iterations for the Tumbarumba soil, finding a rate ~7%. So I tested the assumption that 10% of water in a layer can drain during a step for the spin-up (obviously one would test for a more robust value!). Then for the actual simulations I go back to using the SPA calculations for drainage. This gets you a total run time of:
SPA on, SAS spin-up, fast drainage: 3 m 43.6
Solution 2
Either (1) assume a fixed rooting distribution as in CABLE, or (2) fix the slope term in the rooting distribution function from SPA, to remove the call to zbrent. I tested 2 and it makes things a few seconds faster, so this is a small issue.
Solution 3
A bit arbitrary...We could play with a few different soil layers numbers and see at what point we lose important resolution.
I tested using 6 layers instead of 20:
SPA on, SAS spin-up, 6 layers: 5 m 56
Solution 4
Relax the stopping criteria. Currently we stop once the change in the passive pool is < 0.05 t/ha, if I make that 0.5 t/ha
SPA on, SAS spin up, delta passive < 0.5: 8 m 3
Moving to the impact on simulated fluxes ...
Solution 1: Drainage
Here EXP is the fixed rate drainage and CTRL is standard GDAY-SPA. NB. the fixed drainage rate is only used during spin-up, during the actual simulation we switch back.
Dry down 1
Dry down 2
Makes no differences, so I think that is a viable spin-up assumption?
Solution 2: 6 layers vs. 20
As you'd expect this has more of an impact, not sure what the right balance is here. For this test I just made 6 equal sized layers, clearly a few smaller ones and a single larger one might be preferable.
Dry down 1
Dry down 2
Solution 4: relaxed stopping criteria
Dry down 1
Dry down 2
How fast could we go?
Fixed drainage, relaxed stopping criteria: 1 m 42s
Fixed drainage, relaxed stopping criteria, 6 layers: 0 m 48s
The text was updated successfully, but these errors were encountered: