News:

alphaMELTS 2.3 standalone & for MATLAB/Python is now open source and available on GitHub (https://github.com/magmasource/alphaMELTS).
alphaMELTS 1.9 is available at the legacy download and information site.
For news of all MELTS software see the MELTS Facebook page.

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - jakemoore

#1
Peter,

Yes, that's the solution.  Some stray variables must have made it into my file.  I knew it was something simple (and dumb) like that!

Much appreciated,
Jacob
#2
Anyone,

I'm trying to run a simple fractional exercise, trying to get a handle on the LLOD for a "parental" magma, which is basaltic.  I've run into a fugacity problem, and I'm tearing my hair out trying to solve it.

environment variables
ADIABAT_VERSION MELTS
ADIABAT_MODE isobaric
ADIABAT_MAXT 1600
ADIABAT_MINT 900
ADIABAT_DELTAT -10
ADIABAT_CRASH_FILE adiabat.out
ADIABAT_CELSIUS_OUTPUT true
ADIABAT_CONTINUOUS true
ADIABAT_MINF 0.005

.melts file (my "parental" melt)
Initial Composition: SiO2 46.85
Initial Composition: TiO2 2.54
Initial Composition: MgO 10.48
Initial Composition: MnO 0.16
Initial Composition: CaO 10.01
Initial Composition: Na2O 2.59
Initial Composition: Al2O3 12.75
Initial Composition: P2O5 0.4
Initial Composition: K2O 0.95
Initial Composition: FeO 11.5
Initial Temperature: 1600
Initial Pressure: 8000
log fo2 Path: NONE

batch file
1
baxter.melts
5
3
+2
0
4
1
11
adiabat.out
0

The calculation fails on the first attempt and is as follows:
Initial Adiabat_1ph calculation at: P 8000.000000, T 1600.000000
liquid: 98.531 g 47.55 2.58 12.94 3.05 8.92 0.16 10.64 10.16 2.63 0.96 0.41
Activity of H2O = 0  Melt fraction = 1
Can't compute fO2 without FEO and FE2O3
Can't compute fO2 without FEO and FE2O3


This batch file sets the fugacity buffer at QFM+2 and leaves it set throughout the entire run, but I also tried turning the buffer off after a single, buffered (option 3) calculation as well.  No luck.  To make sure the problem wasn't in my batch file, I tried running with some of the standard .melts files that came with the program using my batch file, each of which ran okay.

I'm sure it's a really simple solution, but I'm not seeing it.  Can anyone point me in the right direction?

Thanks,
Jacob

#3
Paula,
I tried finer increments for the PT-path and am still having the MORB composition crash at ~35000 bars.  It looks like this method isn't working.  I'll have to come up with something else.
Thanks,
Jacob
#4
Thanks Peter.  I thought I had tried that before, but must have done something wrong.
-Jacob
#5
Paula,

I think this one is a doozy.  I'm trying to run a MORB composition along a user-defined PT-path with continuous melting and I keep getting minimization errors.  All the run files are at the bottom and the PT-path file is attached. 

Here's the end of the output at failure.  Doesn't seem to be special output beyond the failure of the minimization algorithm:
Adiabat_1ph at: P 35500.000000, T 1586.326000
liquid: 0.525 g 50.46 1.96 14.57 0.58 0.09 10.17 4.87 11.13 6.18 0.00 0.00
Activity of H2O = 0  Melt fraction = 0.00738244
garnet: 36.013265 g, composition (Ca0.27Fe''0.25Mg0.48)3Al2Si3O12
clinopyroxene: 34.592084 g, composition cpx Na0.23Ca0.65Fe''0.12Mg0.53Fe'''0.06Ti0.02Al0.67Si1.72O6
spinel: 0.038230 g, composition Fe''0.52Mg0.50Fe'''0.10Al1.14Cr0.73Ti0.01O4
...-->Linear search: Iteration exceeded - aborting.
...-->Linear search: Iteration exceeded - aborting.
...-->Linear search: Iteration exceeded - aborting.
...-->Linear search: Iteration exceeded - aborting.
...-->Linear search: Iteration exceeded - aborting.
THE QUADRATIC MINIMIZATION ALGORITHM HAS FAILED TO CONVERGE.
...Quadratic convergence failure. Aborting.
Failure in silmin
Not all calculations performed!

The error occurs at 35400 bars.  This is about where the user-defined PT-path would diverge from the PT-profile of the MORB composition as it undergoes adiabatic melting, starting at 40 kbar and 1600 degC.  I though the problem stemmed from the fact that the algorithm can't handle the combination of P, T, and composition (and resulting S, etc.).  However, I can start it at the P and T where the system dies and run it for a while until it dies again.  Although, it look like the mineral modes and chemistries are different when I restart it.

If the PT-path file were constructed at larger/smaller P steps, might that make a difference?  I know running this MORB at all is outside the calibration range, but I'd really like to get this to work.

If more explanation is necessary, just ask!

Thanks,
Jacob


Setting the environment variables:
ADIABAT_VERSION pMELTS
ADIABAT_MODE PTpath
ADIABAT_MAXP 40000
ADIABAT_MINP 25000
ADIABAT_CRASH_FILE adiabat.out
ADIABAT_CELSIUS_OUTPUT true
ADIABAT_PTPATH_FILE composite4025_1600.path
! continuous melting
ADIABAT_CONTINUOUS true
ADIABAT_MINPHI 0.005
! Trace elements
ADIABAT_DO_TRACE true
ADIABAT_TRACE_INPUT_FILE morb_static.trace
ADIABAT_TRACE_OUTPUT_FILE trace.out

Batch file:
1
morb.melts
4
1
14
morb25res10.melts
1
11
adiabat.out
12
1
ME.int
TE.int
0
0

morb.melts:
Title: anhydrous adiabat morb
Initial Composition: SiO2 48.68
Initial Composition: TiO2 1.01
Initial Composition: Al2O3 17.64
Initial Composition: Fe2O3 0.89
Initial Composition: Cr2O3 0.03
Initial Composition: FeO 7.59
Initial Composition: MgO 9.10
Initial Composition: CaO 12.45
Initial Composition: Na2O 2.65
Initial Composition: K2O 0.03
Initial Composition: P2O5 0.08
Initial Pressure: 40000
Initial Temperature: 1600
log fo2 Path: None

#6
Paula,

Is there a way to set the directory for the Integrated Output files from option 11?  I've been using the -p switch to set the directory for the "normal" output files, but the files from option 11 always end up in the same directory as run_adiabat.pl.  If there's not, it's not a big deal, but might be a useful feature for the future.

As always, thank you.
Jacob
#7
General usage / Re: isotope compositions
October 07, 2008, 12:46:27 PM
Yes, that makes sense.  I was only looking at the ratios in the liquid melts_files, not thinking that they had been multiplied already.  I'll double check it, but I'm willing to bet it will work great.  Glad I can help out with the debugging!
Thanks Paula.
#8
General usage / Re: isotope compositions
October 07, 2008, 11:43:44 AM
Paula,
As usual, your help is beyond useful.  I seem to understand how to construct the ratios, but I don't think I'm getting the correct 87Sr/86Sr ratios out when I use the source mixer function.  To set it up, I'm trying to mix melts from DMM and MORB at 4 GPa and 1650 oC.  I ran each of the compositions at the pressure and temperature and wrote melts input files for the liquid generated.  I then ran these through the source mixer...

***Environment variables
ADIABAT_VERSION pMELTS
ADIABAT_MODE isentropic
ADIABAT_DELTAP -100
ADIABAT_MAXP 40000
ADIABAT_MINP 40000
ADIABAT_CRASH_FILE adiabat.out
ADIABAT_CELSIUS_OUTPUT true
ADIABAT_DO_TRACE true
ADIABAT_TRACE_INPUT_FILE dmm_static.trace
ADIABAT_TRACE_OUTPUT_FILE trace.out

***DMM derived liquid
Title: DMM of Workmann & Hart 2005 Liquid
Initial Composition: SiO2 40.435059
Initial Composition: TiO2 0.321095
Initial Composition: Al2O3 3.864795
Initial Composition: Fe2O3 0.375894
Initial Composition: Cr2O3 0.146770
Initial Composition: FeO 13.428545
Initial Composition: MgO 33.537220
Initial Composition: CaO 7.012580
Initial Composition: Na2O 0.819962
Initial Composition: P2O5 0.058080
Initial Trace: La 0.581848
Initial Trace: Yb 0.642805
Initial Trace: Sr 23.238064
Initial Trace: Sr87 9.602807
Initial Trace: Sr86 13.666946
Initial Mass: 32.713417
Initial Temperature: 1650.000000
Initial Pressure: 40000.00
log fo2 Path: None
Suppress: chlorite

***MORB derived liquids
Title: anhydrous adiabat morb Liquid
Initial Composition: SiO2 54.345318
Initial Composition: TiO2 1.809594
Initial Composition: Al2O3 13.404040
Initial Composition: Fe2O3 1.228620
Initial Composition: Cr2O3 0.047967
Initial Composition: FeO 6.483713
Initial Composition: MgO 4.996438
Initial Composition: CaO 12.856541
Initial Composition: Na2O 4.620939
Initial Composition: K2O 0.056408
Initial Composition: P2O5 0.150422
Initial Trace: La 7.413915
Initial Trace: Yb 1.346698
Initial Trace: Sr 209.983834
Initial Trace: Sr87 86.814059
Initial Trace: Sr86 123.227909
Initial Mass: 53.183535
Initial Temperature: 1650.000000
Initial Pressure: 40000.00
log fo2 Path: None
Suppress: chlorite

***run with the following commands
1 (load dmm melts file)
dmm4melt.melts
6 (source mixer)
1 (text file input)
morb4melt.melts
1 (trace and major mix)
0.5 (proportion)
4 (have to do this, otherwise won't output the trace.out file)
1
0


There are no problems with the Sr, 87Sr or 86Sr in the melts files for the DMM or MORB.  The problem is in the output after mixing.  Here is the output from the Bulk section of the trace.out file...
Pressure   La   Yb   Sr   Sr87   Sr86
40000   3.99788   0.994752   116.611   9226.35   13096.7

The mixed values for the trace elements seem correct, but the 87Sr/86Sr = 0.70448.  When I did the calculation manually [e.g., Langmuir et al., 1978, EPSL 37, 380-392], using the same proportions and concentrations, I get 0.70431.  This formulation is supposed to account for the non-linearity of the mixing because of the different concentrations.  From these calculations, it looks like the ratio is equivalent to mixing 90% MORB derived melt with 10% DMM derived melt, which happens to be about the same ratio of Sr concentrations in the MORB (209.98 ppm) and DMM (23.24 ppm) melts.

I'm pretty confident in what the isotope ratio should be, so I'm hoping it's something easy in the source mixer algorithm.

As always, I greatly appreciate the help.  If you need any clarification, please let me know.
Jacob
#9
General usage / isotope compositions
September 28, 2008, 07:18:51 PM
Paula,
When it comes to putting in isotopes, does it matter how the ratio is constructed?  If I wanted to input a 87Sr/86Sr of 0.7025, can I do Sr87 = 0.7025 and Sr86 = 1, or does it need to be some ratio based on atomic abundance?  When it comes to using the source mixer or assimilations, both the numerator and denominator are needed to account for the non-linearity of mixing ratios, but does it matter how they're constructed as long as it's consistently so that the mixing trajectories don't get askew from starting the ratios at different points.
Thanks.  And I hope this makes sense,
Jacob
#10
Paula,

Is there an specific way to calculate a potential temperature in pMELTS?  I've looked through all the documentation and references for it I can find, but I can't find anything.  The definition I'm familiar with has to do with the temperature a packet of mantle (in this case) would have if it were to rise isentropically (and reversibly) from a starting P-T condition to 1 atm without experiencing any melting.  I believe this comes from work by McKenzie, but I could be mistaken.  Regardless, this seems problematic for pMELTS as it's minimum pressure is 1 GPa.  Is there a way around this?  Using option 9 to suppress liquid is the obvious (and I believe intended) method for doing this type of calculation, except for the pressure bit.

Cheers!  And thanks for all the help.
Jacob
#11
Melting processes / Re: source mixer output errors
August 13, 2008, 09:21:45 AM
Paula,

The work around seems to work just fine as long as I immediately use the source mixer after twiddling, rather than trying to equilibrate the DMM (option 3) before I do the source mixer.  So, thanks.

One quick question though, it seems that the source mixer ignores the initial mass in the enrichment file and does the calculations based solely on the requested proportion.  Is this correct?

Jacob
#12
Melting processes / source mixer output errors
August 11, 2008, 11:59:25 AM
Paula,
Greetings.  I'm having trouble getting output when using the source mixer.  I'm trying to mix melts pooled at 3GPa from a MORB source with DMM at 3GPa, and I'd then like to run this mix adiabatically.  I thought I was following the instructions in the manual, but I've been stymied so far.  I've tried a number of methods, but this seem to be the proper one (to me anyway).

***First I ran the morb composition from 4 to 3 GPa isentropically, no problems.  I wrote a melts files for the liquid
./run_adiabat.pl -p output -f morb_ad_batch.txt -b batch_ad_batch.txt
morb_ad_batch.txt
ADIABAT_VERSION pMELTS
ADIABAT_MODE isentropic
ADIABAT_DELTAP -100
ADIABAT_MAXP 40000
ADIABAT_MINP 30000
ADIABAT_CRASH_FILE adiabat.out
ADIABAT_CELSIUS_OUTPUT true
ADIABAT_DO_TRACE true
ADIABAT_TRACE_INPUT_FILE morb_dyn.trace
ADIABAT_TRACE_DEFAULT_DPTX true

batch_ad_batch.txt
1
morb.melts
4
1
11
adiabat.out
14
morb3gpa_b.melts
0
0

morb.melts
Title: Morb w/ water removed from Adiabat_1pH
Initial Composition: SiO2 48.68
Initial Composition: TiO2 1.01
Initial Composition: Al2O3 17.64
Initial Composition: Fe2O3 0.89
Initial Composition: Cr2O3 0.03
Initial Composition: FeO 7.59
Initial Composition: MgO 9.10
Initial Composition: CaO 12.45
Initial Composition: Na2O 2.65
Initial Composition: K2O 0.03
Initial Composition: P2O5 0.08
Initial Trace: La 3.985
Initial Trace: Sm 3.752
Initial Trace: Yb 3.900
Initial Trace: Hf 2.974
Initial Trace: Nb 3.507
Initial Trace: Zr 104.24
Initial Temperature: 1500
Initial Pressure: 40000
log fo2 Path: None

***I then restarted adiabat, and moved the DMM adiabatically from 4 to 3 GPa.  I created a binary restart file for DMM at 3 GPa.
./run_adiabat.pl -p output -f dmm_ad_batch.txt -b batch_ad_batch.txt
dmm_ad_batch.txt
ADIABAT_VERSION pMELTS
ADIABAT_MODE isentropic
ADIABAT_DELTAP -100
ADIABAT_MAXP 40000
ADIABAT_MINP 30000
ADIABAT_CRASH_FILE adiabat.out
ADIABAT_CELSIUS_OUTPUT true
ADIABAT_DO_TRACE true
ADIABAT_TRACE_INPUT_FILE dmm_dyn.trace
ADIABAT_TRACE_DEFAULT_DPTX true

batch_ad_batch.txt
1
dmm.melts
4
1
11
adiabat.out
13
1
dmm3gpa_b.restart
0

Title: DMM of Workmann & Hart 2005
Initial Composition: SiO2 44.71
Initial Composition: TiO2 0.13
Initial Composition: Al2O3 3.98
Initial Composition: Fe2O3 0.191
Initial Composition: Cr2O3 0.57
Initial Composition: FeO 8.008
Initial Composition: MgO 38.73
Initial Composition: CaO 3.17
Initial Composition: Na2O 0.28
Initial Composition: P2O5 0.019
Initial Trace: La 0.192
Initial Trace: Sm 0.239
Initial Trace: Yb 0.365
Initial Trace: Hf 0.157
Initial Trace: Nb 0.1485
Initial Trace: Zr 5.082
Initial Temperature: 1500.0
Initial Pressure: 40000

***I restarted adiabat and loaded the restart file for DMM with the conditions I want to run next (3 to 2 GPa), but the problems come when after I use the source mixer.  I want to mix the MORB melts and DMM in a 50:50 proportion.
./run_adiabat.pl -p output -f hybrid_ad_batch.txt -b batch_ad_batch.txt
hybrid_ad_batch.txt
ADIABAT_VERSION pMELTS
ADIABAT_MODE isentropic
ADIABAT_DELTAP -100
ADIABAT_MAXP 30000
ADIABAT_MINP 20000
ADIABAT_CRASH_FILE adiabat.out
ADIABAT_CELSIUS_OUTPUT true
ADIABAT_DO_TRACE true
ADIABAT_TRACE_INPUT_FILE morb_dyn.trace
ADIABAT_TRACE_DEFAULT_DPTX true

batch_ad_batch.txt (this is the command sequence, though I ran it manually)
13
0
dmm3gpa_b.restart
6
1
morb3gpa_b.melts
1
0.5


***When I try to do option 3, the program returns to the command line with the following error
RUN_ADIABAT.PL ERROR: Cannot open trace_file output/trace.out

Is one of the problems that the MORB melts pooled at 3 GPa are at a lower temperature (1450 dC) than the DMM (~1475 dC)?  Do I need to remove the 'initial mass' line from the pooled morb melts file?  The output after running the source mixer is below, and seems fine because I'm adding entropy to the DMM system via the melts.
Old reference Entropy (S0): 260.343
Old total Entropy: 260.343
WARNING: Unsetting reference Entropy as bulk composition has changed in source mixer!

Additionally, both the liquid and the residue have the same melts input files, below.  I guess because there's no liquid?
Title: DMM of Workmann & Hart 2005 Residue
Initial Composition: SiO2 104.263620
Initial Composition: TiO2 0.191413
Initial Composition: Al2O3 1.755089
Initial Composition: Fe2O3 2.260496
Initial Composition: Cr2O3 0.014005
Initial Composition: FeO -10.115478
Initial Composition: MgO 1.426073
Initial Composition: CaO 0.231235
Initial Composition: Na2O -0.137061
Initial Composition: K2O 0.004340
Initial Composition: P2O5 0.106267
Initial Trace: La 0.192000
Initial Trace: Sm 0.239000
Initial Trace: Yb 0.365000
Initial Trace: Hf 0.157000
Initial Trace: Nb 0.148500
Initial Trace: Zr 5.082000
Initial Mass: 0.000000
Initial Temperature: 1472.529647
Initial Pressure: 30000.00
log fo2 Path: None
Suppress: chlorite

***Sorry this post is such a disaster.  Thank you so much for your help though!
Jacob

#13
Paula,

To get to the point, is there a way to see the mean extent of melting for 2-D when the calculation does not reach the base of the crust?


In some of my runs with isentropic continuous melting I get to the upper limit of pressure for pMELTS (10 kbars) before melting ceases, and when I try option 12 I am prompted with this dialogue:

WARNING: calculation did not get to base of crust (2-D)
Writing final aggregate composition instead

and the integrated output file (major or trace) has a 0 for FBbase (table 3), the mean extent of melting for 2-D.  I'd like to know and use the mean extent of melting. 

Secondly, am I correct in my understanding from the documentation that I can't really make a plot of F vs. SiO2_2D (for example) because the SiO2_2D is integrated for the triangular 2-D region and F (table 4) is the 1-D integrated value?  Perhaps I'm explaining poorly.

Cheers,
Jacob
#14
Paula,

I tried running it again, even putting the continuous and batch runs in different folders with the -p switch, but all the files came out the same.  I tweaked the input file names to make sure I was running the proper files, but the same env variables and batch file content is as before.

./run_adiabat.pl -p output/cont -f morb_ad_cont.txt -b batch_ad_cont.txt

I noticed a couple of errors when I ran the continuous files (below), and I included the first few lines of the run.  Even though the batch file is set for subsolidus, and minerals are input, it just went straight to superliquidus.  You can also see that it jump straight to F ~= 0.4, the same point as the batch.  I made sure to have Excel and any text editors closed that could have had open copies of any files, to prevent overwriting.  The directories were blank before the run.  And I even ran the continuous model in a new terminal window after restarting Terminal.

What else can I provide?  Do I have the env variables set correctly?  It's not an end of line thing is it?


Macintosh:adiabat_1ph Jacob$ ./run_adiabat.pl -p output/cont -f morb_ad_cont.txt -b batch_ad_cont.txt
Odd number of elements in hash assignment at ./run_adiabat.pl line 114.
Use of uninitialized value in list assignment at ./run_adiabat.pl line 114.
Use of uninitialized value in list assignment at ./run_adiabat.pl line 114.
Use of uninitialized value in list assignment at ./run_adiabat.pl line 114.
Use of uninitialized value in list assignment at ./run_adiabat.pl line 114.
ADIABAT_MINF 0.01
Use of uninitialized value in concatenation (.) or string at ./run_adiabat.pl line 258.
ADIABAT_CONTINUOUS?true
ADIABAT_MODE isentropic
ADIABAT_CELSIUS_OUTPUT true
ADIABAT_CRASH_FILE output/cont/adiabat.out-cont
ADIABAT_MAXP 30000
ADIABAT_VERSION pMELTS
ADIABAT_DELTAP -100
ADIABAT_MINP 20000
Checking for updates..


Your choice: Superliquidus (1) or subsolidus (0) initial guess ? Phase to include (by name, lower case) (x when done): Phase to include (by name, lower case) (x when done): Phase to include (by name, lower case) (x when done): Phase to include (by name, lower case) (x when done): WARNING: Not sure how to solve w/o quartz or olivine!
Adding spinel to handle Cr2O3.
Adding whitlockite to handle P2O5.
Adding feldspar to handle K2O.
Adding water to initial guess assemblage
Silica error of -0.033540
Error in initial guess routine -- using superliquidus start
Unbuffered initial guess at: P 30000.000000, T 1500.000000
liquid: 100.363 g 48.50 1.01 17.58 0.89 0.04 7.56 9.07 12.41 2.64 0.03 0.08 0.20
Activity of H2O = 0  Melt fraction = 1
...Adding the solid phase garnet to the assemblage.
...Adding the solid phase clinopyroxene to the assemblage.
...Adding the solid phase spinel to the assemblage.
Initial Adiabat_1ph calculation at: P 30000.000000, T 1500.000000
liquid: 39.933 g 54.29 1.63 16.64 0.55 0.07 7.18 4.23 10.11 4.52 0.08 0.20 0.50
Activity of H2O = 0.00909533  Melt fraction = 0.397883
garnet: 24.894580 g, composition (Ca0.22Fe''0.27Mg0.52)3Al2Si3O12
clinopyroxene: 35.483215 g, composition cpx Na0.17Ca0.70Fe''0.13Mg0.59Fe'''0.05Ti0.03Al0.63Si1.72O6
spinel: 0.052173 g, composition Fe''0.46Mg0.55Fe'''0.09Al1.21Cr0.68Ti0.01O4
Setting reference Entropy to current entropy = 271.366


--Jacob
#15
Melting processes / Initiating continuous melting
July 24, 2008, 11:20:50 AM
I'm trying to run continuous melting for a MORB composition along an adiabat from 3 -> 2 GPa.  The problem is, I'm getting the same results for when I have continuous melting turned on and off.  Liquids, solids...all the same.  I've looked through all the documentation and tried a number of permutations, but I can't identify it.  I'm sure it's something simple.

./run_adiabat.pl -p output -f morb_ad.txt -b batch_ad_cont.txt

**morb_ad.txt command file
ADIABAT_VERSION pMELTS
ADIABAT_MODE isentropic
ADIABAT_DELTAP -100
ADIABAT_MAXP 30000
ADIABAT_MINP 20000
ADIABAT_CONTINUOUS true                             !commented out for batch
ADIABAT_MINF 0.01                                       !commented out for batch
ADIABAT_CRASH_FILE adiabat.out-gafMORB
ADIABAT_CELSIUS_OUTPUT true

**gafMORB.melts melts file
Title: MORB from Gaffney
Initial Composition: SiO2 48.68
Initial Composition: TiO2 1.01
Initial Composition: Al2O3 17.64
Initial Composition: Fe2O3 0.89
Initial Composition: Cr2O3 0.0425
Initial Composition: FeO 7.59
Initial Composition: MgO 9.1
Initial Composition: CaO 12.45
Initial Composition: Na2O 2.65
Initial Composition: K2O 0.03
Initial Composition: P2O5 0.08
Initial Composition: H2O 0.2
Initial Temperature: 1500
Initial Pressure: 30000
Increment Pressure: -100
log fo2 Path: None

**batch_ad_cont.txt batch file
1
gafMORB.melts
4
0
garnet
orthopyroxene
clinopyroxene
x
11
adiabat.out-gafMORB
0


--Jacob