Multiple p-sequences for one sediment core

33 views
Skip to first unread message

Kelly B.

unread,
Aug 28, 2025, 10:36:49 AMAug 28
to OxCal
Hi all,
I would like to generate an age-depth model for one single sediment core using the Marine20 curve. The Delta R value changes mid-core, so I split the model into two sequences with different Delta R values. In addition, there are some samples, which have an age reversal (younger than overlying samples), but from geologic context, I'm sure the ages are correct and are the result of reworking. I excluded these samples from the p-sequence and calibrated them seperately.

Here is the code:

 Plot()
 {
  Curve("Marine20","marine20.14c");
  Delta_R(1884,155);
  R_Date("Date_1",25444,256)
  {
   color="red";
   z=657.5;
  };
  R_Date("Date_2",31456,428)
  {
   color="red";
   z=667.5;
  };
 
  Outlier_Model("General",T(5),U(0,4),"t");
  P_Sequence("Sequence1_bottom_to_350cm",1,0.1,U(-2,2))
  {
   Boundary();
   Delta_R(1884,155);
   R_Date("Date_3",42675,12814)
   {
    Outlier(0.05);
    z=707.5;
   };
   R_Date("Date_4",36164,9282)
   {
    Outlier(0.05);
    z=587.5;
   };
   R_Date("Date_5",16505,823)
   {
    Outlier(0.05);
    z=498.5;
   };
   R_Date("Date_6",11571,385)
   {
    Outlier(0.05);
    z=350;
   };
   Boundary();
  };

  P_Sequence("Sequence2_350cm_to_top",1,0.1,U(-2,2))
  {
   Boundary();
   Delta_R(987,193);
  R_Date("Date_7",8590,324)
   {
    Outlier(0.05);
    z=290;
   };
 
   R_Date("Date_8",5890,105)
   {
    Outlier(0.05);
    z=210;
   };
   R_Date("Date_9",3379,111)
   {
    Outlier(0.05);
    z=137.5;
   };
   R_Date("Date_10",3565,121)
   {
    Outlier(0.05);
    z=108;
   };
   R_Date("Date_11",2116,109)
   {
    Outlier(0.05);
    z=45;
   };
   R_Date("PS128_39-1_0.5cm",1999,98)
   {
    Outlier(0.05);
    z=0.5;
   };
   Boundary();
  };
 };


My Questions:

1: Do I need to connect the p-sequences somehow? E.g. by putting them both inside of an "encompassing" sequence? I tried that and it gives slightly different results, I'm just not sure if it makes sense to do so.

2: Is it correct to calibrate the age-reversal samples separately or do they have to be included in the p-sequence? When I included them, the output was forced to have an increasing age with depth, which is not correct.

3: Do the p-sequence parameters used here make sense?

4: Is there anything I'm doing completely wrong? Would a different model make more sense?

Any suggestions are very welcome!
Thanks a lot in advance!
Kelly

Erik Marsh

unread,
Aug 30, 2025, 4:36:19 AMAug 30
to OxCal
Hi Kelly – 

1. You can do a single P_Sequence and change the ΔR midway (see code below). R_Dates will use the last curve or ΔR until a new one is called. What are these based on?
2. I usually include the 'age-reversals' in the sequence. Often, as in this case, they are not as bad as they first looked. In this case, date 1's bimodal calibration means it is not as 'reserved' as it seems when you only look at the 14C age. In fact, date 4 agrees has the lowest agreement index. Check View > Outliers. Why wouldn't you expect increasing age with depth? That is the basic assumption behind depth sequences. If this is not correct, you may want a Sequence that starts with a uniform phase model and then continues with a P_Sequence for the dates that should be ordered according to depth. Something like this:

Sequence()
{
Boundary();
Phase()
 { 
 };
 Boundary();
 P_Sequence("",1,0.1,U(-2,2))
  {
 ...
   };
 Boundary();
 };


3. Yes, they are the same ones I got from the depth sequence tool.
4. Generally, it's fine, but those deeper dates and their contexts could use a second look (clearest from View > Plot as Depth). You may want to add boundaries where we have (or suspect) unconformities or changes in accumulation rate, for example, at these depth where you mention reworking.

Hope this helps,
Erik




 Plot()
 {

  Outlier_Model("General",T(5),U(0,4),"t");
  Curve("Marine20","marine20.14c");
  Delta_R(1884,155);
  P_Sequence("",1,0.1,U(-2,2))
  {
   Boundary();
   R_Date("3",42675,12814)
   {
    Outlier(0.05);
    z=707.5;
   };
   R_Date("2",31456,428)
   {
    Outlier(0.05);
    z=667.5;
   };
   R_Date("1",25444,256)
   {
    Outlier(0.05);
    z=657.5;
   };
   R_Date("4",36164,9282)
   {
    Outlier(0.05);
    z=587.5;
   };
   R_Date("5",16505,823)
   {
    Outlier(0.05);
    z=498.5;
   };
   R_Date("6",11571,385)
   {
    Outlier(0.05);
    z=350;
   };
   Delta_R(987,193);
   R_Date("7",8590,324)
   {
    Outlier(0.05);
    z=290;
   };
   R_Date("8",5890,105)
   {
    Outlier(0.05);
    z=210;
   };
   R_Date("9",3379,111)
   {
    Outlier(0.05);
    z=137.5;
   };
   R_Date("10",3565,121)
   {
    Outlier(0.05);
    z=108;
   };
   R_Date("11",2116,109)
   {
    Outlier(0.05);
    z=45;
   };
   R_Date("PS128_39-1",1999,98)
   {
    Outlier(0.05);
    z=0.5;
   };
   Boundary();
  };
 };
Reply all
Reply to author
Forward
0 new messages