Closed fmaussion closed 2 years ago
This needs some thinking/discussion I think. Table provides discrete values, which would work. But ideally I think it would be nice to use for example eq. 3.35 (p.72) for continuous values of A for user provided T. However selecting $A_*$ is not trivial from what I understand.
For reference table is on p.75.
cc @ehultee , @skachuck and @jbassis who suggested that.
I think the easiest would be to fit a function to this table and allow user to set any temp between the bounds
In SERMeQ I have a temperature variable and I think it is just a lookup table...the user can only choose certain pre-determined values. A varies nonlinearly over several orders of magnitude, and it's especially weird near common temperate ice values. A continuous function would be easy to use but could produce surprising results.
I'd have to look again at the text, but I'd also guess that we don't have a lot of lab measurements to resolve the shape of the important nonlinearities.
So the question is: how much of that do we want the student user to encounter? It could be quite instructive for students to see sensitivity to (poorly known) temperature, but they would probably need sufficient explanation from an instructor.
Does the Cuffy and Paterson functional form for the temperature dependence of the rate parameter not work for alpine glaciers? There is a discontinuity in the activation energy at -10 C, but it gives reasonable results for the Greenland and Antarctic ice sheets where you know the temperature. That is what we use for the ice sheet models, although some models use the simpler parameterization developed by Roger Hooke.
-Jeremy
Jeremy Bassis (he/him/his) Associate Professor/Graduate Program Chair Department of Climate and Space Sciences and Engineering
On Wed, Jun 8, 2022 at 10:42 AM Lizz Ultee @.***> wrote:
In SERMeQ I have a temperature variable and I think it is just a lookup table...the user can only choose certain pre-determined values. A varies nonlinearly over several orders of magnitude, and it's especially weird near common temperate ice values. A continuous function would be easy to use but could produce surprising results.
I'd have to look again at the text, but I'd also guess that we don't have a lot of lab measurements to resolve the shape of the important nonlinearities.
So the question is: how much of that do we want the student user to encounter? It could be quite instructive for students to see sensitivity to (poorly known) temperature, but they would probably need sufficient explanation from an instructor.
— Reply to this email directly, view it on GitHub https://github.com/OGGM/oggm-edu-notebooks/issues/72#issuecomment-1150013732, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF2OKQJIIIDYMQNCNCD427LVOCWNBANCNFSM5XZKJ4YQ . You are receiving this because you were mentioned.Message ID: @.***>
@jbassis do you mean Eq. 3.35 on p 72, as Erik suggested above? If so, Erik says it's tough to select A*. Thoughts?
I don't actually have Cuffey and Paterson in front of me 😲 so hard for me to check
I also don't have Cuffey in front of me, but I think Cuffey provides a calibrated value of A that I typically use. In fact, doesn't Cuffey have an activation energy of 60e3 when temperatures are less than -10 degrees, 115e3 when temperatures exceed -10 degrees and an A of 3.5e-25? (I'm not 100% sure of the units because this is deduced from old notes).
Other things, like fabric, impurities, grain size, fractures also affect the relationship and there is some question as to whether the implicit value n=3 is even appropriate.
-Jeremy
Associate Professor/Graduate Program Chair Department of Climate and Space Sciences and Engineering
On Wed, Jun 8, 2022 at 10:52 AM Lizz Ultee @.***> wrote:
@jbassis https://github.com/jbassis do you mean Eq. 3.35 on p 72, as Erik suggested above? If so, Erik says it's tough to select *A**. Thoughts?
I don't actually have Cuffey and Paterson in front of me 😲 so hard for me to check
— Reply to this email directly, view it on GitHub https://github.com/OGGM/oggm-edu-notebooks/issues/72#issuecomment-1150026564, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF2OKQJIQCMPSZO2C5PJTRLVOCXSRANCNFSM5XZKJ4YQ . You are receiving this because you were mentioned.Message ID: @.***>
@Holmgren825 can you find the calibrated value of A* and use that?
We could if necessary add a little text cell the first time this adjustment is possible in a notebook, explaining key issues as Jeremy outlines above.
IMO it's better to use something that's already in wide use (e.g. C&P's existing functional form), rather than doing an ersatz fit to the table and coming up with slightly different results from what students might find elsewhere. Nuance is great but can be confusing for students who are encountering ice dynamics for the first time.
I don't talk to people who don't have C&P on their desk, sorry,
(joke)
fwiw that's the table:
That would be good enough for me, but if you have a reference implementation of what's " already in wide use" or a link to it we can implement that of course.
t = [0, -2, -5, -10, -15, -20, -25, -30, -35, -40, -45, -50]
a = [2.4*1e-24, 1.7*1e-24, 9.3*1e-25, 3.5*1e-25, 2.1*1e-25, 1.2*1e-25, 6.8*1e-26, 3.7*1e-26, 2.0*1e-26, 1.0*1e-26, 5.2*1e-27, 2.6*1e-27]
plt.plot(t, a, 'o-');
plt.semilogy();
plt.ylabel('A'); plt.xlabel('T');
By "in wide use" I mean the functional form of A that C&P already give. The equation Erik referenced first. Maybe it's the same as a log-linear fit to the table anyway! Since I'm a van der Veen type, I wouldn't know offhand 😅
OK here is the implementation:
t = [0, -2, -5, -10, -15, -20, -25, -30, -35, -40, -45, -50]
a = [2.4*1e-24, 1.7*1e-24, 9.3*1e-25, 3.5*1e-25, 2.1*1e-25, 1.2*1e-25, 6.8*1e-26, 3.7*1e-26, 2.0*1e-26, 1.0*1e-26, 5.2*1e-27, 2.6*1e-27]
a_star = 3.5 * 1e-25
q_plus = 115_000
t_star = 263 + 7*1e-8
q_minus = 60_000
r = 8.314
def cp_glena(t):
t = t + 273
t_h = t + 7*1e-8
if t < t_star:
q_c = q_minus
else:
q_c = q_plus
return a_star * np.exp(- (q_c / r) * (1 / t_h - 1 / t_star))
a_book = [cp_glena(tmp) for tmp in t]
plt.plot(t, a, 'o-', label='Table');
plt.plot(t, a_book, 'o-', label='Analytic');
plt.semilogy();
plt.ylabel('A'); plt.xlabel('T'); plt.legend();
(reference A* is given on page 74)
(just to be clear: the analytical function is better of course)
Awesome! To me using the equation makes total sense. If the students can only select from a table of approved temperatures, they might as well enter the value of A directly. I will implement eq 3.35 as Fabi did above.
What kind of supervisor doesn't constantly have C&P loaned out to students with an extra copy at home under their pillow? I have Van der Veen, Hooke and C&P all loaned out. Van der Veen (first edition) quotes Hooke's functional form (equations 2.4.1-2.4.2). I think either of those are decent starts, but would favor C&P because it is the most recent and a lot of synthesis goes into the new calibration.
Bonus question: Is it possible to allow advanced students to add their own preferred rheology? For example, I do flubber experiments and they try to calibrate a flow law using observations of the deformation of the goo. It would be fun if they would then model their goo glacier. Or play around with a Newtonian rheology.
Jeremy Bassis (he/him/his) Associate Professor/Graduate Program Chair Department of Climate and Space Sciences and Engineering
On Wed, Jun 8, 2022 at 11:26 AM Lizz Ultee @.***> wrote:
By "in wide use" I mean the functional form of A that C&P already give. The equation Erik referenced first. Maybe it's the same as a log-linear fit to the table anyway! Since I'm a van der Veen type, I wouldn't know offhand 😅
— Reply to this email directly, view it on GitHub https://github.com/OGGM/oggm-edu-notebooks/issues/72#issuecomment-1150067372, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF2OKQKDZVQH3TNXLZUCXCDVOC3RDANCNFSM5XZKJ4YQ . You are receiving this because you were mentioned.Message ID: @.***>
Heard in a feedback call today.
There is a table of Ice Temps <-> Glen A relationship in Physics of Glaciers that can be used to set ice temp (which is a more sensible variable) instead of A.