-
Notifications
You must be signed in to change notification settings - Fork 4
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
Several Thermodynamics updates. #134
Comments
@tapios, I think we spoke about this, the current implementation uses Also, can you confirm if we've updated the particular part of the docs in the first bullet point? I believe we've addressed them all in #112 |
The docs (https://clima.github.io/Thermodynamics.jl/dev/Formulation/) do not seem to be updated yet. There were a number of changes in the LaTeX design doc (tracked) that need to be mirrored in the docs, e.g., formulation of saturation vapor pressure and derivatives of saturation specific humidity. (Downside of having two versions. We should abandon the LaTeX soon.) |
Ah, we've already added |
140: Use RelativeSolutionTolerance r=charleskawczynski a=charleskawczynski This PR addresses one of the check boxes in #134, by changing from `SolutionTolerance` to `RelativeSolutionTolerance`. One downside of this, unfortunately, is that it's a breaking change, but I think it's fine if we know that this is what we want in the long run. Alternatively, we could require users to pass in `::RootSolvers.AbstractTolerance`, which would make the interface less likely to be breaking, however this means that our interface would be tied to using `RootSolvers`, so it's not a complete win to do that. It looks like all the tests pass with these changes. Co-authored-by: Charles Kawczynski <[email protected]>
140: Use RelativeSolutionTolerance r=charleskawczynski a=charleskawczynski This PR addresses one of the check boxes in #134, by changing from `SolutionTolerance` to `RelativeSolutionTolerance`. One downside of this, unfortunately, is that it's a breaking change, but I think it's fine if we know that this is what we want in the long run. Alternatively, we could require users to pass in `::RootSolvers.AbstractTolerance`, which would make the interface less likely to be breaking, however this means that our interface would be tied to using `RootSolvers`, so it's not a complete win to do that. It looks like all the tests pass with these changes. Co-authored-by: Charles Kawczynski <[email protected]>
A few updates to Thermodynamics and the documentation:
∂q_vap_sat_∂T
)∂q_vap_sat_∂T
from add Clausius_Clapeyron_relation #112 in saturation adjustment l. 1402. (This will change the gradient by about 5%; thus, it may lead to a minor improvement in convergence of saturation adjustment, but the changes should not be large.)saturation_vapor_pressure
function over a mix of liquid and ice in l. 914ΔT
from iteration to iteration to be small in relative terms, i.e.,ΔT/T < 1e-4
.ΔT/T < 1e-4
. Compare that with the current default initial state. (Expectation is that fewer iterations are needed with previous time step as initial state.)Some other minor fixes:
liquid_frac
andλ
consistently. E.g., replaceliquid_frac
in ll. 914 ff. and ll. 1314 ff. byλ
specific entropy
in l. 2846 and l. 2865 bypartial pressure
The text was updated successfully, but these errors were encountered: