Skip to content

Commit

Permalink
Revisions (#4)
Browse files Browse the repository at this point in the history
* Adds example script to run ELA model (with diagnostic output)

* README edits

* Fixes typo in scratch.m; deletes Word version of thesis

* Final versions of scripts and docs for publication

* Adds MIT license to project

* Updates README with model details

* Minor formatting changes

* Adds improved comments (#3)
  • Loading branch information
durbank authored Dec 7, 2020
1 parent 7c0e34a commit ff1313a
Show file tree
Hide file tree
Showing 18 changed files with 1,230 additions and 17 deletions.
Binary file added Docs/ELA-model_tex/Figures/ELAs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docs/ELA-model_tex/Figures/Hypsometry.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docs/ELA-model_tex/Figures/Ice.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docs/ELA-model_tex/Figures/Width.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docs/ELA-model_tex/Figures/arc-flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docs/ELA-model_tex/Figures/graph-abstract.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
101 changes: 101 additions & 0 deletions Docs/ELA-model_tex/Figures/mermaid-figs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Mermaid diagrams

A space to keep archival code to generate mermaid diagrams for use in the paper.
Go to the [live editor](https://mermaid-js.github.io/mermaid-live-editor/) in order to generate .png of the charts.

## Graphical abstract

```mermaid
graph LR
subgraph Inputs
a1>Bed topography <br>measurements]
a2>Glacier width <br>measurements]
a3>Model parameters]
end
subgraph Intermediate Components
b1{{Modeled bed <br>topography}}
b2{{Modeled ice <br>thickness}}
b3{{Modeled width}}
end
subgraph Model
c{ELA_calc.m}
end
subgraph Outputs
d1([ELA estimate])
d2([ELA error])
end
a1 ==>|+Error| b1
a3 ==> b1
b1 ==>|+Error| b2
a3 ==> b2
b2 ==> b3
a2 ==>|+Error| b3
a3 ==> b3
b1 ==>|+Error| c
b2 ==>|+Error| c
b3 ==>|+Error| c
c ==> d1
c ==>|+Monte Carlo| d2
classDef default fill:#5cfcfc,stroke:#333,stroke-width:1px
```

```json
{
"theme": "forest",
"flowchart": {
"htmlLabels": false,
"useMaxWidth": false,
"rankSpacing": 15,
"nodeSpacing": 100
}
}
```

## ArcGIS workflow

```mermaid
graph LR
subgraph Inputs
iA[Aerial <br>imagery]
iB[DEM]
end
A["Glacier <br>centerline <br>(freehand)"]
B[Glacier <br>outline]
iA --> A
iA --> B
A --> tA
subgraph Tempory .xls file
tA[Export <br>transect <br>elevation]
tB[Export <br>transect <br>ice surface]
end
iB --> tA
D["Find ice surface <br>elevation"]
tA --> D
D --> tB
C[Orthogonal <br> centerline <br>transect]
tB --> C
B --> E[Clip width to <br>outline/<br>topography]
C --> E
iB --> E
subgraph Output
oA[Export to .csv]
end
E --> oA
classDef default fill:orange,stroke-width:2.5px
classDef matlab fill:#5cb1fc, stroke-width:2.5px
class D matlab
```

```json
{
"theme": "forest",
"flowchart": {
"htmlLabels": false,
"useMaxWidth": false,
"rankSpacing": 15,
"nodeSpacing": 50
}
}
```
287 changes: 287 additions & 0 deletions Docs/ELA-model_tex/citations.bib

Large diffs are not rendered by default.

418 changes: 418 additions & 0 deletions Docs/ELA-model_tex/main.tex

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions Docs/ELA-model_tex/methodsx.csl
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-US">
<!-- Elsevier, generated from "elsevier" metadata at https://github.com/citation-style-language/journals -->
<info>
<title>MethodsX</title>
<id>http://www.zotero.org/styles/methodsx</id>
<link href="http://www.zotero.org/styles/methodsx" rel="self"/>
<link href="http://www.zotero.org/styles/elsevier-with-titles" rel="independent-parent"/>
<category citation-format="numeric"/>
<issn>2215-0161</issn>
<updated>2018-02-16T12:00:00+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
</style>
189 changes: 189 additions & 0 deletions Docs/ELA-model_tex/numcompress.sty
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
%%
%% This is file 'numcompress'.
%%
%% Copyright (C) 2009-2012 River Valley Technologies
%% <latex.support@river-valley.com>
%%
%% This package may be distributed under the terms of the LaTeX Project
%% Public License, as described in lppl.txt in the base LaTeX distribution.
%% Either version 1.0 or, at your option, any later version.
%%
%% $Id: numcompress.sty 187 2012-08-18 09:36:35Z rishi $
%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/numcompress.sty $
%%
\NeedsTeXFormat{LaTeX2e}
\def\Fileversion$#1: #2 ${\gdef\fileversion{#2}}
\def\Filedate$#1: #2-#3-#4 #5 #6 #7 ${\gdef\filedate{#2/#3/#4}}
\Fileversion$Rev: 187 $
\Filedate$LastChangedDate: 2012-08-18 15:06:35 +0530 (Sat, 18 Aug 2012) $
\ProvidesPackage{numcompress}
[\filedate\space\fileversion\space numcompress (CVR)]
\PackageWarningNoLine{numcompress}
{****************************************\MessageBreak
Package numcompress v,\fileversion\space loaded\MessageBreak
[Compress numbers (CVR)]\MessageBreak
****************************************}
\newif\ifdots \dotsfalse
\newif\ifnumcompress \numcompresstrue

\DeclareOption{dots}{\global\dotstrue}
\DeclareOption{nodots}{\global\dotsfalse}
\DeclareOption{compress}{\global\numcompresstrue}
\DeclareOption{nocompress}{\global\numcompressfalse}

\ProcessOptions

\def\removeDot#1{\def\tmp{#1}%
\ifx\tmp\@empty\else\@removeDot#1\@nil\fi}

\def\@removeDot#1\@nil{\edef\fchar{\expandafter\@car#1\@nil}%
\edef\rchar{\expandafter\@cdr#1!\@nil}%
\def\@xmltempa{.}\def\@xmltempb{!}%
\ifx\fchar\@xmltempb\relax\else%
\ifx\fchar\@xmltempa\relax\else%
\fchar\ignorespaces\fi\removeDot{\rchar}\fi}

\def\First[#1]{\csname First#1\endcsname}
\def\Second[#1]{\csname Second#1\endcsname}

\def\parseFirstPage#1{\@tempcnta=0
\@tfor\@digits:=#1\do{%
{\global\advance\@tempcnta by 1
\expandafter\xdef\csname
First\the\@tempcnta\endcsname{\@digits}%
\xdef\flength{\the\@tempcnta}}}}

\def\parseSecondPage#1{\@tempcnta=0
\@tfor\@digits:=#1\do{%
{\global\advance\@tempcnta by 1
\expandafter\xdef\csname
Second\the\@tempcnta\endcsname{\@digits}%
\xdef\llength{\the\@tempcnta}}}}

\newif\ifdissimilar\dissimilarfalse
\def\checkequal#1#2{\edef\Farg{#1}\edef\Sarg{#2}%
\edef\One{A}%
\ifcat\One\Farg \relax\else%
\ifdissimilar\Sarg\else%
\ifnum\Farg=\Sarg\relax\else\Sarg\dissimilartrue\fi\fi\fi}
%
\let\@@fpage\@empty
\let\@@lpage\@empty
\def\fpage@compress#1{%
\gdef\@@fpage{#1}%
\edef\llength{0}%
\parseFirstPage{#1}%
\ifnum\flength=\llength%
\gdef\@fpage{\@@fpage}%
\gdef\@lpage{%
\@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}%
\@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}%
\@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}%
\@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}%
\@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}%
}%
\else%
\gdef\@fpage{\@@fpage}%
\gdef\@lpage{\@@lpage}%
\fi}

\def\lpage@compress#1{%
\gdef\@@lpage{#1}%
\parseSecondPage{#1}%
\ifnum\flength=\llength%
\gdef\@fpage{\@@fpage}%
\gdef\@lpage{%
\edef\One{A}%
\edef\xFirst{\First[1]}%
\edef\xSecond{\Second[1]}%
\ifcat\One\xSecond\relax%
\ifx\xFirst\xSecond%
\@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}%
\@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}%
\@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}%
\@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}%
\@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}%
\else#1\fi%
\else%
\ifx\xFirst\xSecond%
\@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}%
\@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}%
\@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}%
\@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}%
\@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}%
\else#1\fi%
\fi%
}%
\else
\gdef\@fpage{\@@fpage}%
\gdef\@lpage{%
\edef\Targ{#1}%
\edef\One{A}%
\edef\xFirst{\First[1]}%
\edef\xSecond{\Second[1]}%
\ifx\xFirst\xSecond
\ifcat\One\xSecond\relax\else\@@lpage\fi%
\else#1\fi%
}%
\fi}

%\newwrite\xx
%\immediate\openout\xx=tmpbib.tex
\gdef\@@lpage@compress#1--#2\@nil{\lpage@compress{#1}}
\gdef\@@@pages#1#2{\def\next{#2}%
% \immediate\write\xx{[\the\c@NAT@ctr.]\space [#1][#2]}%
\fpage@compress{#1}%\ifx\next\@empty\relax\else
\@@lpage@compress#2\@nil%\fi
{\@fpage\ifx\next\@empty\relax\else
--\@lpage\fi}\resetall}

\gdef\@@@page#1{#1\resetall}

\def\mk@empty#1{\@tempcnta=1
\loop\ifnum\@tempcnta<6
\expandafter\let\csname#1\the\@tempcnta\endcsname\relax
\advance\@tempcnta by 1 \repeat}
\def\resetall{\let\@lpage\@empty\let\@fpage\@empty
\def\flength{0}\def\llength{0}%
\let\@@fpage\@empty\let\@@lpage\@empty
\mk@empty{First}\mk@empty{Second}}


\ifdots
\gdef\xfnm[#1]{\unskip\space#1}
\def\bibinfo#1#2{\@ifnextchar.{\@@bibinfo{#1}{#2}}{\@@@bibinfo{#1}{#2}}}
\def\@@@bibinfo#1#2{\def\next{#1}%
\def\@@@pg{pages}\def\@@@au{author}%
\ifx\next\@@@pg\bibpages{#2}\else
\ifx\next\@@@au\bibauthor{#2}\else
#2\fi\fi}
\def\@@bibinfo#1#2.{\def\next{#1}%
\def\@@@pg{pages}\def\@@@au{author}%
\ifx\next\@@@pg\bibpages{#2}.\else
\ifx\next\@@@au\bibauthor{#2}\else
#2.\fi\fi}
\else
\gdef\xfnm[#1]{\unskip\space\removeDot{#1}}
\def\bibinfo#1#2{\def\next{#1}%
\def\@@@pg{pages}\def\@@@au{author}%
\ifx\next\@@@pg\bibpages{#2}\else
\ifx\next\@@@au\bibauthor{#2}\else
#2\fi\fi}
\fi

\ifnumcompress
\def\bibpages#1{\@@bibpages#1--\\\@nil}
\def\@@bibpages#1--#2\@nil{%
\ifx\\#2\relax\@@@page{#1}\else
\@@@pages{#1}{#2}\fi}
\else
\def\bibpages#1{#1}
\fi

\def\bibauthor#1{#1}

\endinput

%%
%% End of package 'numcompress.sty'
%%
2 changes: 1 addition & 1 deletion Docs/Figures/mermaid-figs.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ classDef default fill:#5cfcfc,stroke:#333,stroke-width:1px
"htmlLabels": false,
"useMaxWidth": false,
"rankSpacing": 15,
"nodeSpacing": 50
"nodeSpacing": 100
}
}
```
Expand Down
63 changes: 63 additions & 0 deletions Docs/reviewer-response.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
geometry: margin=1in
---

# Response to reviewer comments

## Reviewer 1

> *One thing that struck me was that this is a complicated way of achieving the same results as simple techniques such as THAR and AAR. The authors note that this "ELA model is similar in simplicity to field-based geomorphic methods such as the toe-to-headwall ratio (THAR) or accumulation area ratio (AAR)". If so, the authors need to stress more convincingly why this modelling approach is superior to the simple methods. There is some justification in the text, regarding errors and uncertainties and so on and this is important but needs more prominence through the paper. One other note on the quote above is that THAR and AAR are not field-based methods. They are achievable remotely using topographic maps and satellite imagery, so you shouldn't call them field-based methods.*
To address these concerns, we've added an Introduction section that better details traditional methods and highlights the key advantages of our method to address certain limitations of traditional empirical techniques (Lines 12-31).
We've also added an additional paragraph summarizing/comparing our method to other recent ELA methods (Lines 66-81).
The main thrust of these arguments are (1) less reliance on empirical coefficients that must be tuned using existing measured data, making their application to new regions or time periods more suspect, and (2) robust uncertainties that give greater context to the relevance of results and the sensitivity of results to specific inputs.
Finally, we include ELA estimates from 4 various empirical methods in our validation comparisons to highlight the proposed model's abilities relative to traditional techniques (Figure 6, Table 4, Lines 222-234).
We also specfically revised "field-based methods" to "empirical geomorphic methods" (Line 38).

> *The methods of the balance equation, glacier bed modelling, ice thickness modelling and glacier width modelling are based on theoretical concepts similar to those presented in the modelling papers of Pellitero et al. 2015 and 2016. I think some discussion of the Pellitero et al models is needed as this is the most recent set of papers related to the same idea presented in your paper. I think there is plenty of room for a new modelling approach like the one proposed in your new paper, but it seems odd if no mention is made of similar modelling papers.*
We have added an additional two paragraphs to the Methods section (Lines 58-81) detailing similarities and differences to other automated ELA calculations (Benn and Hulton, 2010; Pellitero et. al., 2015; and Pellitero et. al., 2016).

> *I think it would also be worth noting the empirical work done on glacier ELAs. Braithwaite and Raper (2009) found that the median altitude (area-median altitude) of glaciers best described the ELAs observed on 94 modern glaciers (R2 = 0.99). How do your models compare with these empirical observations? For example, on the four modern Swiss glaciers where is the ELA positioned - is it at the area-median altitude. I would also make some recommendation as to why your approach is superior to simply using GIS to measure the mean area-median altitudes on glaciers past and present. I do like the theoretical rigour of your approach, so I am note suggesting it is unnecessary, I just want to be more convinced on why it is better to apply this more complicated approach. Or simply tell us whether it nicely complements simpler approaches such as that using a mean area-median altitude approach.*
We feel the revised Intoduction section better addresses this concern, where we take greater lengths to discuss some of the previous empirical work done on ELAs (including reference to Braithwaite and Raper, 2009), as well as highlighting some of the areas our contribution can offer improvements (12-31).
We have also included additional comparisons of the observed/modeled ELA estimates and traditional empirical techniques in our model comparison section (Figure 6, Table 4, and Lines 222-234).

> *You say that the four Swiss glaciers were selected due to differences in overall shape, length and elevation extent. I've had a look at these glaciers online and they look similar sorts of glaciers to me. Can you please clarify what the differences were in the shape, length and elevation extent.*
We have edited this section to better reflect that the primary rationale for glacier selection was the availability of requisite data, with the diversity in glacier characteristics an important but secondary consideration (Lines 166, 179-171).
We have also included an additional table (Table 3) that better demonstrates the differences and similarities between the glaciers.

> *Spelling error: "geoemetries" should read "geometries"*
We have corrected the typo (Line 250).

> *You write that "The model described here accurately estimates ELAs from a variety of glacier sizes, shapes, topographies and areal distributions". It doesn't really, since all the glaciers are similar types of valley glaciers. Perhaps it would be more precise to write "The model described here accurately estimates ELAs from Alpine valley glaciers that have a variety of sizes, shapes, topographies and areal distributions.*
We have corrected the sentence to reflect that all validation was relative to Alpine valley glaciers (Line 263), while also noting in the Model Validation section that the theoretical underpinnings of the model should make it applicable to similar glaciers in other regions (Lines 172-174).

## Reviewer 2

> *Two references must be included within the manuscript:*
>> *Benn, D.I., Hulton, N.R.J., 2010. An Excel TM spreadsheet program for reconstructing the surface profile of former mountain glaciers and ice caps. Computers & Geosciences 36, 605-610.*
>> *Pellitero, R., Rea, B.R., Spagnolo, M., Bakke, J., Ivy-Ochs, S., Frew, C.R., Hughes, P., Ribolini, A., Lukas, S., Renssen, H., 2016. Glare, a GIS tool to reconstruct the 3D surface of palaeoglaciers. Computers & Geosciences 94, 77-85.*
We have added an additional two paragraphs to the Methods section (Lines 58-81) detailing similarities and differences to other automated ELA calculations (Benn and Hulton, 2010; Pellitero et. al., 2015; and Pellitero et. al., 2016).

> *Authors should discuss the opportunity to integrate the shape factor F in their method.*
We have added an additional paragraph that discusses possible improvements to the model, including implementing an F factor and non-parametric interpolation of the bed topography (Lines 251-260).

> *As a test of the ELA model's efficacy, authors compare the ELA modelled and measured for four present-day glaciers in the Swiss Alps. Readers would appreciate that the comparison be extended to other methods for ELA calculation such as AAR and AABR in order to appreciate the gap between ELA estimation from the presented physical steady-state model and empirical methods such as AAR and AABR.*
The model comparisons now also include ELA estimates using AAR, THAR, AMA, and MEG in addition to the observed and modeled ELAs, highlighting some of the improvements and advantages offered by the new method (Figure 6, Table 4, Lines 222-234).
The main results are the model does at least as well of these methods, and in some cases considerably better, while keeping the targeted advantages of the model (uncertainty estimates, sensitivity analysis, and decreased reliance on statistical coefficients).

## Miscellaneous notes

During revision, some of the calculated values changed slightly from the original results due to the stochastic nature of the Monte Carlo sampling.
We have now set a specific random seed for the sampling to ensure consistent results moving forward.
None of the changes materially impact the findings.
The updated values are present in Figure 6, Table 4, and Lines 226-229.
Loading

0 comments on commit ff1313a

Please sign in to comment.