New version syntax - Charcoal Outlier Model

268 views
Skip to first unread message

andreJ_M

unread,
Sep 1, 2020, 5:40:03 PM9/1/20
to OxCal
Dear Christopher,

I had sometime ago asked about this simple model of mine where D_Sequence was put as terminus post quem constraint for a Charcoal Outlier Model. It worked well with the previous version and curve, but using the same code now (v.4.4 and IntCal20) I was getting an error message of zero distribution for the charcoal model and empty cells named "object" in the output table. After consulting your reply to this entry  from few days ago, I realised it might be that the old code has wrong syntax for the new version.

 After adjusting the syntax I don't get the 'zero distribution' error anymore and the results are almost the same as the ones from the previous version. I assume the changes shown below are correct, but I am not absolutely sure about it (I basically took out the curly brackets - {}; - from the 'Outlier' command).
Also, it seems that in the new version the runs of the same model take a bit longer, is there a reason for it?

Here's the old code (see also images in attachment):

 Plot()
 {
  Outlier_Model("Charcoal",Exp(1,-10,0),U(0,3),"t");
  Sequence()
  {
   Boundary("Start 8");
   Phase("Layer 8")
   {
    D_Sequence( "SOV-18")
    {
     R_Date("BE-12589.1.1 R.1-11", 3944, 23)
     {
      color="black";
     };
     Gap(46);
     R_Date("BE-12590.1.1 R.48-58", 3897, 23)
     {
      color="black";
     };
     Gap(74);
     R_Date("BE-12587.1.1 R.122-129", 3842, 24)
     {
      color="black";
     };
     Gap (32);
     R_Date("BE-12594.1.1 R.3-13", 3803, 23)
     {
      color="black";
     };
     Gap (28);
     R_Date("BE-12584.1.1 R.3-9", 3831, 23)
     {
      color="black";
     };
     Gap (13);
     R_Date("BE-12593.1.1 R.2-40", 3815, 23)
     {
      color="black";
     };
     Gap (18);
     R_Date("BE-12596.1.1 R.2-12 ", 3787, 24)
     {
      color="black";
     };
     Gap (1);
     R_Date("BE-12585.1.1 R.35-41", 3767, 24)
     {
      color="black";
     };
     Gap (22);
     R_Date("BE-12595.1.1 R.25-34.", 3724, 23)
     {
      color="black";
     };
     Gap (14);
     R_Date("BE-12588.1.1 R.250-257", 3762, 24)
     {
      color="black";
     };
     Gap (11);
     R_Date("BE-12586.1.1 R.80-89", 3775, 23)
     {
      color="black";
     };
     Gap ( 4);
     Date("modelled end-date last ring (2σ)")
     {
      color="black";
     }; 
     {
      color="white";
     };
    };
   };
   Boundary("End 8");
   Boundary("Start 7");
   Phase("Layer 7")
   {
    R_Date("Ly-8287", 3695, 45);
    {
     Outlier("Charcoal", 1);
    };
    R_Date("Ly-8288", 3770, 45);
    {
     Outlier("Charcoal", 1);
    };
    R_Date("Ly-8289", 3760, 45);
    {
     Outlier("Charcoal", 1);
    };
    R_Date("Ly-11918", 3770, 40);
     
    {
     Outlier("Charcoal", 1);
    };
    R_Date("DEM – 2353", 3821, 30);
    {
     Outlier("Charcoal", 1);
    };
    R_Date("Ly-7012", 4035, 55);
   {
     Outlier("Charcoal", 1);
    };
   };
   Boundary("End 7");
  };
 };


And the with adapted syntax:


 Plot()
 {
  Outlier_Model("Charcoal",Exp(1,-10,0),U(0,3),"t");
  Sequence()
  {
   Boundary("Start 8");
   Phase("Layer 8")
   {
    D_Sequence( "SOV-18")
    {
     R_Date("BE-12589.1.1 R.1-11", 3944, 23)
     {
      color="black";
     };
     Gap(46);
     R_Date("BE-12590.1.1 R.48-58", 3897, 23)
     {
      color="black";
     };
     Gap(74);
     R_Date("BE-12587.1.1 R.122-129", 3842, 24)
     {
      color="black";
     };
     Gap (32);
     R_Date("BE-12594.1.1 R.3-13", 3803, 23)
     {
      color="black";
     };
     Gap (28);
     R_Date("BE-12584.1.1 R.3-9", 3831, 23)
     {
      color="black";
     };
     Gap (13);
     R_Date("BE-12593.1.1 R.2-40", 3815, 23)
     {
      color="black";
     };
     Gap (18);
     R_Date("BE-12596.1.1 R.2-12 ", 3787, 24)
     {
      color="black";
     };
     Gap (1);
     R_Date("BE-12585.1.1 R.35-41", 3767, 24)
     {
      color="black";
     };
     Gap (22);
     R_Date("BE-12595.1.1 R.25-34.", 3724, 23)
     {
      color="black";
     };
     Gap (14);
     R_Date("BE-12588.1.1 R.250-257", 3762, 24)
     {
      color="black";
     };
     Gap (11);
     R_Date("BE-12586.1.1 R.80-89", 3775, 23)
     {
      color="black";
     };
    Gap ( 4);
   Date("modelled end-date last ring (2σ)")
   {
    color="black";
   };
color="white";
  };
 };
   Boundary("End 8");
   Boundary("Start 7");
   Phase("Layer 7")
   {
    R_Date("Ly-8287", 3695, 45);
     Outlier("Charcoal", 1);
    R_Date("Ly-8288", 3770, 45);
     Outlier("Charcoal", 1);  
    R_Date("Ly-8289", 3760, 45);
     Outlier("Charcoal", 1); 
    R_Date("Ly-11918", 3770, 40);
     Outlier("Charcoal", 1);
    R_Date("DEM – 2353", 3821, 30);
     Outlier("Charcoal", 1);
    R_Date("Ly-7012", 4035, 55);
     Outlier("Charcoal", 1);
   };
   Boundary("End 7");
  };
 };


P.s. Should the resolution in such a combined model be set to r=1?

Many thanks for the program and the updates,
Best wishes,
Andrej

v.4.4_Old_Synt.png
v.4.4-New_Synt.png

MILLARD, ANDREW R.

unread,
Sep 2, 2020, 3:55:31 AM9/2/20
to ox...@googlegroups.com

Dear Andrej,

 

The problem is that you have extra or misplaced semi-colons.

 

The correct syntax (see https://c14.arch.ox.ac.uk/oxcalhelp/hlp_analysis_oper.html#outlier) is

    R_Date("Ly-8287", 3695, 45) { Outlier("Charcoal", 1); };

but you have an extra semi-colon

    R_Date("Ly-8287", 3695, 45); { Outlier("Charcoal", 1); };

                              _^_

or an early semi-colon and missing curly brackets

    R_Date("Ly-8287", 3695, 45);   Outlier("Charcoal", 1);

                              _^_{                         };

 

 

Best wishes

Andrew

--

Dr. Andrew Millard

Associate Professor of Archaeology,

Durham University, UK

Email & Skype: A.R.M...@durham.ac.uk 

Personal page: https://www.dur.ac.uk/archaeology/staff/?id=160

Scottish Soldiers Project: https://www.dur.ac.uk/scottishsoldiers

Dunbar 1650 MOOC: https://www.futurelearn.com/courses/battle-of-dunbar-1650

Scottish Soldiers book:

 UK sales: https://www.oxbowbooks.com/oxbow/lost-lives-new-voices.html

US sales: https://www.oxbowbooks.com/dbbc/lost-lives-new-voices.html

--
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 on the web visit https://groups.google.com/d/msgid/oxcal/d5a03994-2e7a-4fd0-9732-79543788300bn%40googlegroups.com.

andreJ_M

unread,
Sep 2, 2020, 6:51:48 AM9/2/20
to OxCal

Dear Andrew,

Thank you! I kept and kept looking at it, never noticed those extra semi-colons. However, I must note that I get the same output with the second (the green) scenario, i.e. without the curly brackets. But in both cases it takes longer to calculate than with the previous version of OxCal.

Thanks again,
Best wishes,
Andrej

mark.tha...@gmail.com

unread,
Sep 2, 2020, 11:20:39 AM9/2/20
to OxCal
Dear Andrew,

I have an issue with some similarities. R-dates are fine but priors not so.

The following syntax was working fine in 4.3: 

Date(Prior("RRR1b","MRRR1b.prior");)
{
 Outlier("Charcoal", 1);
};

But in 4.4 generates cells with an unmodelled 'object' between each date and the model takes a while to run.

Any advice would be appreciated.

best wishes,

Mark

MILLARD, ANDREW R.

unread,
Sep 2, 2020, 11:43:45 AM9/2/20
to ox...@googlegroups.com

Dear Mark,

 

Again you have an extra semicolon, as they are not needed within round brackets. The syntax in the manual (https://c14.arch.ox.ac.uk/oxcalhelp/hlp_analysis_inform.html#date) shows that instead of  

Date(Prior("RRR1b","MRRR1b.prior");) {  Outlier("Charcoal", 1); };

                                 _^_

you should have

Date(Prior("RRR1b","MRRR1b.prior")) {  Outlier("Charcoal", 1); };

Christopher Ramsey

unread,
Sep 2, 2020, 12:13:12 PM9/2/20
to ox...@googlegroups.com
Yes - Andrew is right with this. The command processor has been partially rewritten in the new version - mostly to allow for the inclusion of inline arrays needed for dietary models from Fruits, but also to cope with different types of quotes and a number of minor reported issues.

As a result, code which was not strictly correct and might have still run in the old version may not in the new version.

Best wishes

Christopher
> To view this discussion on the web visit https://groups.google.com/d/msgid/oxcal/CWXP265MB208624DB18BDFA5F0D5A92A4812F0%40CWXP265MB2086.GBRP265.PROD.OUTLOOK.COM.

Mark Thacker

unread,
Sep 2, 2020, 1:05:29 PM9/2/20
to ox...@googlegroups.com
Dear both,

Issue sorted. Very many thanks for these swift replies.

Looks like we'll have to tighten up on our syntax!

Beat wishes,

Mark

Reply all
Reply to author
Forward
0 new messages