recurrence intervals and a known age question

14 views
Skip to first unread message

Jason Padgett

unread,
Mar 27, 2026, 7:10:08 PM (5 days ago) Mar 27
to OxCal
Hello OxCal’ers,

I am trying to determine recurrence intervals for a lake paleoseismology project. I am attempting to use the approach of Lienkaemper & Ramsey (2009).

However, in my project we know the age of the most recent earthquake, which has presented difficulties within OxCal using the Sum (“ID”) and RI commands. For example, if I try to assign the known age to Date (“E1”, AD(1700,1)) line, I get Warning! ZERO distributions and the Sum ID line yields “0” for the μ, σ, and m values.

Post several different failing approaches, I’ve decided to apply two Date() command-lines for the same depth, i.e., Date (“E1”) and Date (“1700 CE”, AD(1700,1)), which successfully provides Sum ID μ, σ, and m values. However, I’ve noticed the ordering of two commands yields different results for the age estimate for E1. That is, if the Date(“E1”) query is placed relatively shallower in section to the Date (“1700 CE”, AD(1700,1)) line (each with the same z depth) the age estimate is ~253-175 calBP. Whereas, if the order is switched (each with the same z depth), the age estimate is ~291-250 cal BP. The difference in these estimates is significant to the project, and the age of E1 should just be 250 cal BP.

Can you please suggest a better scripting/modeling approach? And/or clear up my misunderstanding?

Thank you in advance!

Cheers,
-J

Example script below for reference: 

 Plot("test")
 {
  Outlier_Model("General",T(5),U(0,4),"t");
  P_Sequence("PseqOutRItest32726",1,0.1,U(-2,2))
  {
   Boundary("BaseOfSection")
   {
    z=139.5;
   };
   Date("E5")
   {
    z=139;
   };
   R_Date("14",1705,15)
   {
    Outlier(0.05);
    z=138.5;
   };
   R_Date("13",1520,15)
   {
    Outlier(0.05);
    z=130;
   };
   R_Date("98",1410,15)
   {
    Outlier(0.05);
    z=120;
   };
   Date("E4")
   {
    z=118.5;
   };
   R_Date("11",1230,80)
   {
    Outlier(0.05);
    z=117.5;
   };
   R_Date("97",1330,15)
   {
    Outlier(0.05);
    z=116.5;
   };
   R_Date("135",1245,15)
   {
    Outlier(0.05);
    z=114;
   };
   R_Date("10",1265,15)
   {
    Outlier(0.05);
    z=109.5;
   };
   R_Date("146",1125,20)
   {
    Outlier(0.05);
    z=108.5;
   };
   Date("E3a")
   {
    z=108;
   };
   R_Date("145",1155,45)
   {
    Outlier(0.05);
    z=105.5;
   };
   R_Date("132",1175,35)
   {
    Outlier(0.05);
    z=104.5;
   };
   R_Date("9",1000,60)
   {
    Outlier(0.05);
    z=102.5;
   };
   Date("E3")
   {
    z=101.5;
   };
   R_Date("8",980,15)
   {
    Outlier(0.05);
    z=101;
   };
   R_Date("131",1015,15)
   {
    Outlier(0.05);
    z=100;
   };
   R_Combine("144/143")
   {
    R_Date("144",960,15);
    R_Date("143",975,15);
    Outlier(0.05);
    z=97.5;
   };
   R_Date("142",845,15)
   {
    Outlier(0.05);
    z=94.5;
   };
   R_Date("5",835,15)
   {
    Outlier(0.05);
    z=88.5;
   };
   R_Date("130",605,30)
   {
    Outlier(0.05);
    z=84.5;
   };
   R_Date("172",665,30)
   {
    Outlier(0.05);
    z=82.5;
   };
   R_Date("4",640,70)
   {
    Outlier(0.05);
    z=80.5;
   };
   Date("E2")
   {
    z=79.5;
   };
   R_Date("3",550,60)
   {
    Outlier(0.05);
    z=78.5;
   };
   R_Date("171",515,20)
   {
    Outlier(0.05);
    z=77.5;
   };
   R_Date("129",610,120)
   {
    Outlier(0.05);
    z=76.5;
   };
   R_Date("170",375,20)
   {
    Outlier(0.05);
    z=73.5;
   };
   R_Date("6",335,35)
   {
    Outlier(0.05);
    z=69.5;
   };
   R_Date("133",385,35)
   {
    Outlier(0.05);
    z=64;
   };
   R_Date("2",240,15)
   {
    Outlier(0.05);
    z=57.5;
   };
   Date("1700CE", AD(1700,1))
   {
    z=57;
   };
   Date("E1")
   {
    z=57;
   };
   R_Date("1",285,15)
   {
    Outlier();
    z=56.5;
   };
   R_Date("134",205,35)
   {
    Outlier(0.05);
    z=54.5;
   };
   Date("wet period", AD(1870,10))
   {
    z=44.5;
   };
   Date("CsPeak", AD(1964,2))
   {
    z=33.5;
   };
   Boundary("LakeBottom", AD(2021))
   {
    z=0;
   };
  };
  Sum("ID")
  {
   I1_I2=E1-E2;
   I2_I3=E2-E3;
   I3_I4=E3-E4;
   I4_I5=E4-E5;
  };
  RI=(E1-E5)/4;
 };

Christopher Ramsey

unread,
Mar 30, 2026, 7:06:02 AM (3 days ago) Mar 30
to OxCal group
Dear Jason

Many thanks for your question. P_Sequence does not work with two dates at the same depth - or if they are reversed which is one issue with the model.

The problem with Sum not working is not related to this though. It seems to be struggling to find the limits for the Sum distribution given all of the parameters are uknown before modelling. You can make this model work by adding a conservative prior distribution for all your earthquakes as in:

Plot("test")
{
Outlier_Model("General",T(5),U(0,4),"t");
P_Sequence("PseqOutRItest32726",1,0.1,U(-2,2))
{
Boundary("BaseOfSection")
{
z=139.5;
};
Date("E5",U(0,500))
{
z=139;
};
R_Date("14",1705,15)
{
Outlier(0.05);
z=138.5;
};
R_Date("13",1520,15)
{
Outlier(0.05);
z=130;
};
R_Date("98",1410,15)
{
Outlier(0.05);
z=120;
};
Date("E4",U(500,1000))
{
Date("E3",U(700,1300))
{
Date("E2",U(1200,1500))
{
z=79.5;
};
R_Date("3",550,60)
{
Outlier(0.05);
z=78.5;
};
R_Date("171",515,20)
{
Outlier(0.05);
z=77.5;
};
R_Date("129",610,120)
{
Outlier(0.05);
z=76.5;
};
R_Date("170",375,20)
{
Outlier(0.05);
z=73.5;
};
R_Date("6",335,35)
{
Outlier(0.05);
z=69.5;
};
R_Date("133",385,35)
{
Outlier(0.05);
z=64;
};
R_Date("2",240,15)
{
Outlier(0.05);
z=57.5;
};
Date("E1", AD(1700,1))
{
z=57;
};
R_Date("1",285,15)
{
Outlier();
z=56.5;
};
R_Date("134",205,35)
{
Outlier(0.05);
z=54.5;
};
Date("wet period", AD(1870,10))
{
z=44.5;
};
Date("CsPeak", AD(1964,2))
{
z=33.5;
};
Boundary("LakeBottom", N(AD(2021),1))
{
z=0;
};
};
Sum("ID")
{
I1_I2=E1-E2;
I2_I3=E2-E3;
I3_I4=E3-E4;
I4_I5=E4-E5;
};
RI=(E1-E5)/4;
};


But when we were working on Jim's paper this was not necessary. Later changes to the program, probably in the summarisation methods must have introduced extra checks on the ranges which are stopping the Sum from working.

Hopefully this will do what you need for now and I will investigate further when next revising the OxCal code.

Best wishes

Christopher
> --
> You received this message because you are subscribed to the Google Groups "OxCal" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to oxcal+un...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/oxcal/48e97ae4-9aa4-410d-a436-03d6d9923e1dn%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages