Skip to content

Commit

Permalink
adjustments for added data with not enough measurements for curve fit…
Browse files Browse the repository at this point in the history
…ting
  • Loading branch information
nevrome committed Mar 19, 2022
1 parent 4c974e1 commit 8b6bb45
Show file tree
Hide file tree
Showing 10 changed files with 131 additions and 91 deletions.
124 changes: 77 additions & 47 deletions code/main_workflow.R
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ specimen_overview <- readr::read_csv(
)
# measurements per tooth table CSV
isodata_list <- readr::read_csv(
"data/input/all_data.csv") %>%
# dplyr::filter(!specimen %in% c(5582, 5583)) %>%
dplyr::group_split(specimen)
"data/input/all_data.csv"
) %>%
dplyr::group_split(specimen)

# Correct for Seuss effect if sample is modern
isodata_list_seuss_corrected <- purrr::map(
Expand All @@ -50,27 +50,41 @@ fitted_curves <- purrr::map(
isodata_list_seuss_corrected,
function(isodata) {
message("Trying to fit specimen: ", isodata$specimen[1])
fit_curve(isodata)
if (nrow(isodata) < 5) {
message("No fitting attempt, because it features less than 5 measurements")
list(
specimen = isodata$specimen[1],
fit = NA,
estim_mat = NA,
theta_mat = NA
)
} else {
fit_curve(isodata)
}
}
)
# save(fitted_curves, file = "data/intermediate/fitted_curves.RData")
#save(fitted_curves, file = "data/intermediate/fitted_curves.RData")

# prepare individual plots of the fitted curves
source("code/plot_single_tooth_with_fitted_curve.R")
plot_table <- purrr::map2_df(
isodata_list_seuss_corrected,
fitted_curves,
function(isodata, fitted_curve) {
isodata_merged <- dplyr::left_join(
isodata,
specimen_overview,
by = "specimen"
)
tibble::tibble(
specimen = unique(isodata_merged$specimen),
site = unique(isodata_merged$site),
plot = list(plot_single_curve_with_fitted_curve(isodata_merged, fitted_curve$estim_mat))
)
if (!is.data.frame(fitted_curve$estim_mat)) {
NULL
} else {
isodata_merged <- dplyr::left_join(
isodata,
specimen_overview,
by = "specimen"
)
tibble::tibble(
specimen = unique(isodata_merged$specimen),
site = unique(isodata_merged$site),
plot = list(plot_single_curve_with_fitted_curve(isodata_merged, fitted_curve$estim_mat))
)
}
}
)

Expand Down Expand Up @@ -133,21 +147,25 @@ julian_for_each_specimen <- purrr::map2(
isodata_list_seuss_corrected,
fitted_curves,
function(isodata, fitted_curve) {
# basic parameters
period <- fitted_curve$fit$m$getPars()[["z"]] # identical to the length of one year in mm
phase_shift <- fitted_curve$fit$m$getPars()[["x_0"]]
oldest_meas_point <- min(-isodata$measure)
# adjust curve to year by equating the minimum value of the curve with the 15th of January
one_min_pos <- -period / 2 + phase_shift
multi_min_pos <- one_min_pos + seq(-5,3,1) * period
fift_jan_before_birth <- multi_min_pos[
tail(which(multi_min_pos < oldest_meas_point), n = 1)
]
# derive sampling days in julian calender format
distance_to_fift_jan <- abs(fift_jan_before_birth - (-isodata$measure))
day_sampled_in_julian_calender <- -365 + 15 + distance_to_fift_jan/period * 365
julian <- day_sampled_in_julian_calender %% 365 # recycle year
return(julian)
if (!is.list(fitted_curve$fit)) {
NA_real_
} else {
# basic parameters
period <- fitted_curve$fit$m$getPars()[["z"]] # identical to the length of one year in mm
phase_shift <- fitted_curve$fit$m$getPars()[["x_0"]]
oldest_meas_point <- min(-isodata$measure)
# adjust curve to year by equating the minimum value of the curve with the 15th of January
one_min_pos <- -period / 2 + phase_shift
multi_min_pos <- one_min_pos + seq(-5,3,1) * period
fift_jan_before_birth <- multi_min_pos[
tail(which(multi_min_pos < oldest_meas_point), n = 1)
]
# derive sampling days in julian calender format
distance_to_fift_jan <- abs(fift_jan_before_birth - (-isodata$measure))
day_sampled_in_julian_calender <- -365 + 15 + distance_to_fift_jan/period * 365
julian <- day_sampled_in_julian_calender %% 365 # recycle year
return(julian)
}
}
)

Expand Down Expand Up @@ -188,25 +206,34 @@ determine_birth_season <- function(birth) {
birth_proxy_for_each_specimen <- purrr::map_df(
fitted_curves,
function(fitted_curve) {
# Calculate mean birth estimate based on simple curve fit
period <- fitted_curve$fit$m$getPars()[["z"]] # identical to the length of one year in mm
phase_shift <- fitted_curve$fit$m$getPars()[["x_0"]]
birth_simple_fit <- derive_birth(period, phase_shift)
# Calculate birth estimates based on fits obtained via bootstrap resampling
periods <- fitted_curve$theta_mat$z
phase_shifts <- fitted_curve$theta_mat$x_0
births_resampling <- purrr::map2_dbl(periods, phase_shifts, derive_birth)
# compile output
tibble::tibble(
specimen = fitted_curve$specimen,
birth_simple_fit = birth_simple_fit,
birth_season_simple_fit = determine_birth_season(birth_simple_fit),
birth_resampling_distribution = list(births_resampling)
)
if (!is.list(fitted_curve$fit)) {
tibble::tibble(
specimen = fitted_curve$specimen,
birth_simple_fit = NA_real_,
birth_season_simple_fit = NA_character_,
birth_resampling_distribution = NULL
)
} else {
# Calculate mean birth estimate based on simple curve fit
period <- fitted_curve$fit$m$getPars()[["z"]] # identical to the length of one year in mm
phase_shift <- fitted_curve$fit$m$getPars()[["x_0"]]
birth_simple_fit <- derive_birth(period, phase_shift)
# Calculate birth estimates based on fits obtained via bootstrap resampling
periods <- fitted_curve$theta_mat$z
phase_shifts <- fitted_curve$theta_mat$x_0
births_resampling <- purrr::map2_dbl(periods, phase_shifts, derive_birth)
# compile output
tibble::tibble(
specimen = fitted_curve$specimen,
birth_simple_fit = birth_simple_fit,
birth_season_simple_fit = determine_birth_season(birth_simple_fit),
birth_resampling_distribution = list(births_resampling)
)
}
}
)

# Merge birth info into specimen overview table
# Merge birth info into specimen overview table
specimen_overview_birth_with_distribution <- dplyr::left_join(
specimen_overview,
birth_proxy_for_each_specimen,
Expand Down Expand Up @@ -402,7 +429,10 @@ ggsave(

# Birth seasonality plot for all sites
birth <- specimen_overview_birth_with_distribution %>%
dplyr::filter(element == "M/2") %>%
dplyr::filter(
element == "M/2" &
!is.na(birth_simple_fit)
) %>%
dplyr::mutate(
site = factor(
site,
Expand Down
Binary file modified plots/Fig_S4.pdf
Binary file not shown.
Binary file modified plots/Figure_2.pdf
Binary file not shown.
Binary file modified plots/Figure_3.pdf
Binary file not shown.
Binary file modified plots/Figure_S1.pdf
Binary file not shown.
Binary file modified plots/Figure_S2.pdf
Binary file not shown.
Binary file modified plots/Figure_S3.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion tables/Table_1_all_teeth_isotope_summary_stats.csv
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ Bayan-Zherek,-11.07,0.69,-12.38,-10.28,-6.13,3.09,-9.78,-0.92,1,21,1
Begash,-8.49,1.93,-11.17,-3.22,-7.4,3.04,-12.52,-2.03,6,73,6
Dali,-10.05,0.5,-11.17,-9.1,-8.26,3.46,-13,-2.53,2,32,2
Kent,-9.38,0.74,-10.69,-7.66,-8.25,2.96,-14.87,-2.89,10,78,10
Turgen,-8.79,2.21,-11.61,-3.83,-6.48,3.11,-13.68,-2.32,5,35,5
Turgen,-9.14,2.14,-11.61,-3.83,-6.5,3.08,-13.68,-1.71,7,43,7
2 changes: 2 additions & 0 deletions tables/Table_S3_correlations.csv
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ specimen,site,Pearson_r,conf.low,conf.high,test_stat,df,p.value,significant
5578,Kent,-0.2154,-0.7441,0.4792,-0.6238,8,0.5501,fail
5579,Kent,-0.8706,-0.9725,-0.4896,-4.6823,7,0.0023,pass
5580,Kent,-0.9072,-0.9899,-0.3628,-4.314,4,0.0125,pass
5582,Turgen,-0.9956,-0.9999,-0.7992,-14.9937,2,0.0044,pass
5583,Turgen,-0.8559,-0.9969,0.5929,-2.3407,2,0.1441,fail
5584,Turgen,-0.8505,-0.9775,-0.2709,-3.6153,5,0.0153,pass
5586,Turgen,-0.8313,-0.981,-0.0607,-2.9913,4,0.0403,pass
5587,Turgen,-0.7727,-0.9495,-0.223,-3.2204,7,0.0146,pass
Expand Down
94 changes: 51 additions & 43 deletions tables/Table_S5_all_data_processed.csv
Original file line number Diff line number Diff line change
Expand Up @@ -77,41 +77,49 @@ increment,specimen,d13C,d18O,measure,julian,site,element,symmetry,individual,tax
8,5580,-8.79,-6.81,8.62,266.71,Kent,M/2,left,10,sheep,Late Bronze Age,TRUE,0.4,summer
10,5580,-8.71,-9.72,4.66,301.32,Kent,M/2,left,10,sheep,Late Bronze Age,TRUE,0.4,summer
12,5580,-8.62,-11.96,1.06,332.79,Kent,M/2,left,10,sheep,Late Bronze Age,TRUE,0.4,summer
2,5584,-10.21,-11.07,22.26,31.16,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
4,5584,-10.38,-8.42,18.88,78.57,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
6,5584,-10.71,-5.22,15.01,132.86,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
8,5584,-10.52,-2.46,12.19,172.42,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
10,5584,-10.7,-2.77,8.6,222.77,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
12,5584,-10.54,-4.94,5.22,270.18,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
14,5584,-10.35,-8.68,2.4,309.74,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
2,5586,-7.25,-5.19,16.89,183.35,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
4,5586,-6.3,-4.81,13.52,209.08,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
5,5586,-6.11,-5.91,11.71,222.9,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
6,5586,-5.48,-6.93,10.39,232.98,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
8,5586,-5.95,-9.44,7.27,256.8,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
10,5586,-4.53,-13.68,4.14,280.7,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
1,5587,-10.21,-6.51,27.59,309.6,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
3,5587,-10.14,-9.34,23.71,334.81,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
5,5587,-10.05,-10.47,20.02,358.78,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
7,5587,-10.07,-10.89,17.15,12.43,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
9,5587,-10.37,-10.79,13.73,34.65,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
11,5587,-10.78,-9.8,10.25,57.26,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
13,5587,-11.26,-7.43,7.25,76.75,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
15,5587,-11.61,-4.73,4.05,97.54,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
17,5587,-11.41,-3.06,1.24,115.8,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
1,5588,-6.44,-6.81,23.59,143.48,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.25,spring
4,5588,-8.15,-3.66,17.88,178.37,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.25,spring
6,5588,-8.41,-2.34,13.91,202.62,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.25,spring
8,5588,-6.67,-3.36,11.16,219.42,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.25,spring
10,5588,-6.28,-5.26,7.92,239.21,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.25,spring
12,5588,-5.37,-7.91,4.91,257.6,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.25,spring
14,5588,-3.83,-11.34,1.79,276.66,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.25,spring
1,5589,-10.48,-3.68,9.26,133.6,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
2,5589,-9.88,-2.32,7.42,178.84,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
3,5589,-9.37,-2.64,5.67,221.88,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
4,5589,-9.31,-3.83,3.94,264.42,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
5,5589,-9.08,-4.77,2.66,295.9,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
6,5589,-9.4,-6.33,1.02,336.23,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
1,5582,-11.51,-5.07,11.8,NA,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
3,5582,-11.23,-6.03,8.33,NA,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
5,5582,-10.88,-7.96,5.56,NA,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
7,5582,-10.43,-9.55,2.43,NA,Turgen,M/2,left,11,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
1,5583,-10.66,-1.71,11.62,NA,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
3,5583,-10.71,-3.68,8.47,NA,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
5,5583,-10.55,-7.65,4.79,NA,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
7,5583,-9.44,-11.14,1.34,NA,Turgen,M/2,left,12,sheep,Late Bronze Age/Iron Age,TRUE,NA,NA
2,5584,-10.21,-11.07,22.26,31.16,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
4,5584,-10.38,-8.42,18.88,78.57,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
6,5584,-10.71,-5.22,15.01,132.86,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
8,5584,-10.52,-2.46,12.19,172.42,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
10,5584,-10.7,-2.77,8.6,222.77,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
12,5584,-10.54,-4.94,5.22,270.18,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
14,5584,-10.35,-8.68,2.4,309.74,Turgen,M/2,left,13,sheep,Late Bronze Age/Iron Age,TRUE,0.4,summer
2,5586,-7.25,-5.19,16.89,183.35,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
4,5586,-6.3,-4.81,13.52,209.08,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
5,5586,-6.11,-5.91,11.71,222.9,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
6,5586,-5.48,-6.93,10.39,232.98,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
8,5586,-5.95,-9.44,7.27,256.8,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
10,5586,-4.53,-13.68,4.14,280.7,Turgen,M/2,left,14,sheep,Late Bronze Age/Iron Age,TRUE,0.31,spring
1,5587,-10.21,-6.51,27.59,309.6,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
3,5587,-10.14,-9.34,23.71,334.81,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
5,5587,-10.05,-10.47,20.02,358.78,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
7,5587,-10.07,-10.89,17.15,12.43,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
9,5587,-10.37,-10.79,13.73,34.65,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
11,5587,-10.78,-9.8,10.25,57.26,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
13,5587,-11.26,-7.43,7.25,76.75,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
15,5587,-11.61,-4.73,4.05,97.54,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
17,5587,-11.41,-3.06,1.24,115.8,Turgen,M/2,left,15,sheep,Late Bronze Age/Iron Age,TRUE,0.8,fall
1,5588,-6.44,-6.81,23.59,147.28,Turgen,M/2,left,16,sheep,Late Bronze Age/Iron Age,TRUE,0.23,spring
4,5588,-8.15,-3.66,17.88,179.69,Turgen,M/2,left,16,sheep,Late Bronze Age/Iron Age,TRUE,0.23,spring
6,5588,-8.41,-2.34,13.91,202.22,Turgen,M/2,left,16,sheep,Late Bronze Age/Iron Age,TRUE,0.23,spring
8,5588,-6.67,-3.36,11.16,217.83,Turgen,M/2,left,16,sheep,Late Bronze Age/Iron Age,TRUE,0.23,spring
10,5588,-6.28,-5.26,7.92,236.22,Turgen,M/2,left,16,sheep,Late Bronze Age/Iron Age,TRUE,0.23,spring
12,5588,-5.37,-7.91,4.91,253.31,Turgen,M/2,left,16,sheep,Late Bronze Age/Iron Age,TRUE,0.23,spring
14,5588,-3.83,-11.34,1.79,271.01,Turgen,M/2,left,16,sheep,Late Bronze Age/Iron Age,TRUE,0.23,spring
1,5589,-10.48,-3.68,9.26,133.6,Turgen,M/2,left,17,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
2,5589,-9.88,-2.32,7.42,178.84,Turgen,M/2,left,17,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
3,5589,-9.37,-2.64,5.67,221.88,Turgen,M/2,left,17,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
4,5589,-9.31,-3.83,3.94,264.42,Turgen,M/2,left,17,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
5,5589,-9.08,-4.77,2.66,295.9,Turgen,M/2,left,17,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
6,5589,-9.4,-6.33,1.02,336.23,Turgen,M/2,left,17,sheep,Late Bronze Age/Iron Age,TRUE,0.45,summer
1,CHP01,-9.63,-10.13,30.1,345.2,Chap,M/2,right,1,caprine,Final Bronze Age,FALSE,0.22,spring
2,CHP01,-9.74,-10.76,27.3,7.83,Chap,M/2,right,1,caprine,Final Bronze Age,FALSE,0.22,spring
3,CHP01,-9.83,-10.32,24.6,34.47,Chap,M/2,right,1,caprine,Final Bronze Age,FALSE,0.22,spring
Expand Down Expand Up @@ -244,15 +252,15 @@ increment,specimen,d13C,d18O,measure,julian,site,element,symmetry,individual,tax
10,IBX03,-11.15,-5.47,14.9,157.44,Jeti-Oguz,M/3,right,10,ibex,Modern,FALSE,0.99,winter
11,IBX03,-11.28,-6.23,12.3,227.67,Jeti-Oguz,M/3,right,10,ibex,Modern,FALSE,0.99,winter
12,IBX03,-10.03,-9.95,9.7,297.91,Jeti-Oguz,M/3,right,10,ibex,Modern,FALSE,0.99,winter
1,IBX04,-11.55,-11.05,28.3,300.47,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
2,IBX04,-11.13,-12.19,25.3,19.29,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
3,IBX04,-11.38,-10.14,22.4,100.31,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
4,IBX04,-12.04,-5.98,19.4,184.13,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
5,IBX04,-12.17,-4.71,16.9,253.98,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
1,IBX04,-11.55,-11.05,28.3,300.64,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
2,IBX04,-11.13,-12.19,25.3,19.42,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
3,IBX04,-11.38,-10.14,22.4,100.41,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
4,IBX04,-12.04,-5.98,19.4,184.19,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
5,IBX04,-12.17,-4.71,16.9,254.01,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
6,IBX04,-11.63,-8.11,14.4,323.83,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
7,IBX04,-11.26,-11.12,11.9,28.67,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
8,IBX04,-11.03,-7.32,9.4,98.52,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
9,IBX04,-11.31,-4.83,6.9,168.37,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
7,IBX04,-11.26,-11.12,11.9,28.64,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
8,IBX04,-11.03,-7.32,9.4,98.46,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
9,IBX04,-11.31,-4.83,6.9,168.28,Jeti-Oguz,M/2,right,10,ibex,Modern,FALSE,0.45,summer
1,T020,-10.46,-7.27,28.08,296.07,Bayan-Zherek,M/2,left,1,caprine,Modern,TRUE,0.36,spring
2,T020,-10.56,-7.88,27.21,308.37,Bayan-Zherek,M/2,left,1,caprine,Modern,TRUE,0.36,spring
3,T020,-10.61,-8.67,26.16,323.21,Bayan-Zherek,M/2,left,1,caprine,Modern,TRUE,0.36,spring
Expand Down

0 comments on commit 8b6bb45

Please sign in to comment.