meta data for this page
This is an old revision of the document!
ANALYSIS AND APPLICATIONS EXAMPLES
Here are some examples we have come up with so far. Please email any of us on the project Greg Balco, Ben Laabs, and/or Joe Tulenko with your ideas so we can add them to the list!
1) Analysis layer examples: the ICE-D X OCTOPUS web application The ICE-D X OCTOPUS web application is not very much like the rest of the ICE-D focus area applications because it doesn't rely on an ICE-D-maintained back end database. Instead, its data layer is the OCTOPUS database of cosmogenic-nuclide data used for erosion rate estimates. Also, the web application accesses those data by interacting with a Geoserver web feature server rather than a MySQL database. However, it does use ICE-D middle layer applications (the web service implementation of the online erosion rate calculator), so it's a good example of an analysis-layer application that uses both data-layer and middle-layer services. Also, it highlights the idea that you can mix and match data- and middle-layer servives from various places to do what you need to do. Finally, it's a pretty simple web application with a fairly minimal amount of code.
The source code for the ICE-D X OCTOPUS web app can be viewed here. It is written in Python 2.7, uses the webapp2 application framework, and runs on Google App Engine. Unfortuately this is kind of obsolete because GAE has been migrating to Python 3 and different web app frameworks (so I am not sure if you could install and run it on a newly created GAE project), but it is a nice simple example of how a transparent-middle-layer application can work.
2) Data-model comparison between LGM and penultimate moraine ages, and model output from simulations over multiple glaciations (ie the ice sheet influence on regional climate example). Hypothesis: if the impact from ice sheets on re-arranging large-scale atmospheric circulation and thus modulating regional climate is actually significant, we should be able to use climate model output to predict the geospatial patterns of moraine preservation over multiple glacial cycles. This could be tested by comparing moraine ages and geospatial patterns from the database with model output to see where there is good fit between model output and data and where there isn't.
See the example output figure below and find a link to the tutorial here.
3) Testing global expression of Younger Dryas Please find a tutorial and some matlab scripts used to generate some of the plots found in a recent paper from Greg Balco (Balco, 2021) in this example.
Tutorial here.
Matlab scripts here in this zipped folder.
4) Post-Glacial Greenland ice-sheet retreat time-distance diagram following up on a workshop at the University at Buffalo, we attempted to generate a time-distance diagram of SW Greenland Ice Sheet retreat and you can find the matlab script here.
5) Determining if measurement precision has gotten better through time This is a somewhat simple and fun exercise to investigate whether or not we as a community have been making progressively better measurements (ie improvements to field sample techniques, lab extraction procedures, AMS measurements, etc that should hopefully be leading to more precise cosmo measurements).
See the summary plots below that show the story is a bit more complicated; essentially one must remove the effect of sample concentration on sample percent error.
Follow up as it should be obvious from this follow up plot, there is a strong relationship between sample concentration and percent error. This should make sense because the higher the concentration of Be-10 in the sample, the smaller % of that is from background Be-10 (ie Be-10 that was not originally trapped within sample quartz grains but was rather either from meteoric Be-10 that contaminated samples, Boron contamination that has the same atomic mass as Be-10, and/or Be-10 that came with the Be-9 carrier). See the plot below and the matlab script used to make the plot.
and the code to make these plots is below:
what up
6) Is there a correlation between Al/Be ratios and sample elevation? This example is based off a recent publication (Halsted et al., 2021) that found there is a correlation between Al / Be ratios and elevation that likely needs to be taken into account.
The resulting plot below demonstrates there is a negative correlation (ie the ratio decreases as elevation increases):
please find a script that you can copy into a new script editor written to produce this plot here.
% comparing the Al-Be ratio of all samples in the ICE-D alpine database % against elevation to determine if there is an influence on the production % and ratio of these two comsmogenic isotopes with elevation. % clear out all pre-existing variables and windows to start fresh clear all; close all; % as always, one must first connect to ICE-D. % Before running the script, be sure that you are connected to ICE-D in % Heidi SQL! % The script for connecting from a windows OS is as follows, % assuming you set up an ODBC connection: dbc = database('ICED-ALPINE','reader','beryllium-10'); % here is some code from Greg Balco for connecting to the database from a % Mac computer. I have no idea if it actually works but here it is for % y'all. % Get Sequel Pro running and use % the below to find the SSH tunnel port. %[sys1,sys2] = system('ps aux | grep 3306'); %portindex = strfind(sys2,':173.194.241.211:'); %portstr = sys2((portindex(1)-5):(portindex(1)-1)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Once connected to ICE-D, we want to extract ALL samples from the database % that have both Be-10 and Al-26 measurements and plot sample ratios % against elevation. % here is an SQL query formatted in matlab to extract all samples and % format the sample names, Be-10 concentrations and errors, Al-26 concentrations % and errors, sample elevations, and Be-10 exposure ages (to use for % dictating marker size). q1 = ['select samples.sample_name, samples.elv_m, Be10_Al26_quartz.N10_atoms_g, Be10_Al26_quartz.delN10_atoms_g, Be10_Al26_quartz.N26_atoms_g, '... ' Be10_Al26_quartz.delN26_atoms_g, calculated_ages.t_LSDn '... ' from samples, Be10_Al26_quartz, calculated_ages '... ' where samples.sample_name = Be10_Al26_quartz.sample_name '... ' and samples.sample_name = calculated_ages.sample_name '... ' and samples.elv_m is not null and Be10_Al26_quartz.N10_atoms_g is not null and Be10_Al26_quartz.N26_atoms_g is not null '... ' and Be10_Al26_quartz.N26_atoms_g > 1000 and Be10_Al26_quartz.N26_atoms_g not like 0 ']; % this will store all data in a table that we can format into cell arrays % for plotting with the following code: samples.table = fetch(dbc,q1); samples.cell_array = table2array(samples.table(:,[2 3 4 5 6 7])); % ratio errors is the root of the sum of each error divided by its % concentration measurement and then all of that multiplied by the % 26Al-10Be ratio. samples.error = double((samples.cell_array(:,4)./samples.cell_array(:,2)).*(((samples.cell_array(:,3)./samples.cell_array(:,2)).^2)+((samples.cell_array(:,5)./samples.cell_array(:,4)).^2)).^0.5); %now time to plot it all! errorbar(samples.cell_array(:,1), (samples.cell_array(:,4)./samples.cell_array(:,2)), samples.error, 'vertical', 'LineStyle','none') hold on scatter(samples.cell_array(:,1),... (samples.cell_array(:,4)./samples.cell_array(:,2)),... 'MarkerEdgeColor',[0 0 0], 'MarkerFaceColor', [0 .7 .7], 'SizeData', (samples.cell_array(:,6)./1000),... 'LineWidth', 0.5) xlabel('Elevation (m)','FontSize',16) ylabel('[Al-26] / [Be-10]','FontSize',16) hold on % from here, one could do some regressions, fit a line to the data and one % might find a negative correltaion between Al/Be ratios and elevation. % At the moment I just added this lsline function in the Statistics and % Machine Learning toolbox that fits a linear regression to the data. Still figuring out how to do more statistics on % it (ie confidence interval, displaying regression equation and r2, etc.) lsline %thanks for following along!
7) Heinrich Stadials aridity drives glacier retreat in the Mediterranean? This example is a follow up to a paper recently published in Nature Geoscience (Allard et al., 2021) that found that glaciers in the region may have been retreating during Heinrich Stadials due to more arid conditions.
They compiled many moraine and erratic boulder ages from across the Mediterranean, found intervals of erratic boulder deposition during Heinrich events and suggested this as evidence of retreat during Heinrich Stadials.
This is an example of an easily testable hypothesis using ICE-D: Do moraine ages across the Mediterranean more often lie outside of Heinrich Stadial events while erratic boulder ages more often line up within Heinrich Stadial events when compared to a random distribution of both moraine and erratic boulder ages? If yes, this would support the conclusions put forth in Allard et al., 2021. If no, it may bring into question some of the interpretations made in the paper.
The set up would first be to compare a random distribution of both moraine and erratic boulder ages against a North Atlantic record (such as the NGRIP d18O curve) and see how frequently ages line up with Stadials and warm intervals (ie, what % of the time, from x-x ka, do moraine ages line up with Stadial events? What % of the time do random ages line up with warm intervals? And do the same exercise for erratic boulders). Then, run the same exercise for the actual observed ages from the Mediterranean and compare. Is there actual evidence to suggest that moraine ages occur a higher % of the time within warm intervals compared to a random distribution? Is there evidence to suggest that erratic boulder ages occur a higher % of the time within stadial intervals compared to a random distribution? Who knows? Let's find out.
8) Identifying regions of possible heavy moraine degradation (using the moraine ages and land degradation models incorporated into the middle layer of calculations) and comparing identified areas of high degradation to geohazards (plate boundaries and areas of high seismic activity). Hypothesis: if geohazards actually present a notable obstacle to moraine dating through moraine degradation, then we should be able to find instances of high moraine degradation coinciding with high seismic activity.