-
Notifications
You must be signed in to change notification settings - Fork 18
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
Allow to set Ice temperature in place of Glen A. #72
Comments
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 For reference table is on p.75. |
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
<#72 (comment)>,
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
<#72 (comment)>,
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. |
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
<#72 (comment)>,
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.
The text was updated successfully, but these errors were encountered: