Abstract
Reconstructing metamorphic pressure–temperature (P–T) paths through petrographic textures, mineral assemblages, and compositions is fundamental to the understanding of orogenesis. We present a new method to derive the P–T path of a rock from mineral zoning. Using Perple_X (Connolly in Earth Planet Sci Lett 236(1–2):524–541, 2005) and a Matlab script, we forward model garnet zoning, parageneses, and mineral modes for an arbitrary set of possible P–T paths, and then compare the calculated results to mineral modes, textures, and zoning preserved in rocks. The best-fit P–T path is determined by comparing the calculated zoning to the measured zoning using the sum of squares. The results indicate that combining Mg#, Ca, and Mn zoning in garnet with mineral modes can yield precise constraints on the P–T path of a rock.
Similar content being viewed by others
References
Caddick MJ, Konopasek J, Thompson AB (2010) Preservation of garnet growth zoning and the duration of prograde metamorphism. J Petrol 51(11):2327–2347. doi:10.1093/petrology/egq059
Chapman AD, Luffi PI, Saleeby JB, Petersen S (2011) Metamorphic evolution, partial melting and rapid exhumation above an ancient flat slab: insights from the San Emigdio Schist, southern California. J Metamorph Geol 29(6):601–626. doi:10.1111/j.1525-1314.2011.00932.x
Connolly JAD (2005) Computation of phase equilibria by linear programming: a tool for geodynamic modeling and its application to subduction zone decarbonation. Earth Planet Sci Lett 236(1–2):524–541. doi:10.1016/j.epsl.2005.04.033
De Capitani C, Brown TH (1987) The computation of chemical-equilibrium in complex-systems containing nonideal solutions. Geochim Cosmochim Ac 51(10):2639–2652. doi:10.1016/0016-7037(87)90145-1
Florence FP, Spear FS (1991) Effects of diffusional modification of garnet growth zoning on P–T path calculations. Contrib Miner Petr 107(4):487–500. doi:10.1007/Bf00310683
Florence FP, Spear FS (1993) Influences of reaction history and chemical diffusion on P–T calculations for staurolite schists from the Littleton formation Northwestern New-Hampshire. Am Miner 78(3–4):345–359
Gaidies F, de Capitani C, Abart R (2008) THERIA_G: a software program to numerically model prograde garnet growth. Contrib Miner Petr 155(5):657–671. doi:10.1007/s00410-007-0263-z
Hollister LS (1966) Garnet zoning: an interpretation based on rayleigh fractionation model. Science 154(3757):1647–1651
Konrad-Schmolke M, O’Brien PJ, de Capitani C, Carswell DA (2008) Garnet growth at high- and ultra-high pressure conditions and the effect of element fractionation on mineral modes and composition. Lithos 103(3–4):309–332
Lovera OM (1992) Computer-programs to model Ar-40/Ar-39 diffusion data from multidomain samples. Comput Geosci 18(7):789–813
Powell R, Holland TJB (1988) An internally consistent dataset with uncertainties and correlations. 3. applications to geobarometry, worked examples and a computer-program. J Metamorph Geol 6(2):173–204. doi:10.1111/j.1525-1314.1988.tb00415.x
Schmidt J, Hacker BR, Ratschbacher L, Stübner K, Stearns M, Kylander-Clark A, Cottle JM, Alexander A, Webb G, Gehrels G, Minaev V (2011) Cenozoic deep crust in the Pamir. Earth Planet Sci Lett 312(3–4):411–421. doi:10.1016/j.epsl.2011.10.034
Spear FS, Selverstone J (1983) Quantitative P–T paths from zoned minerals: theory and tectonic applications. Contrib Miner Petr 83(3–4):348–357
Stowell HH, Tinkham DK (2003) Integration of phase equilibria modelling and garnet Sm-Nd chronology for construction of P–T-t paths: examples from the cordilleran coast plutonic complex, USA. Geol Soc Spec Publ 220:119–145
Vance D, Mahar E (1998) Pressure–temperature paths from P–T pseudosections and zoned garnets: potential, limitations and examples from the Zanskar Himalaya NW India. Contrib Miner Petr 132(3):225–245. doi:10.1007/s004100050419
Zuluaga CA, Stowell HH, Tinkham DK (2005) The effect of zoned garnet on metapelite pseudosection topology and calculated metamorphic P–T paths. Am Miner 90(10):1619–1628. doi:10.2138/Am.2005.1741
Acknowledgments
This study was funded by National Science Foundation EAR-0838269 and EAR-0911485 and the University of California, Santa Barbara.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by M. W. Schmidt.
Electronic supplementary material
Below is the link to the electronic supplementary material.
Appendix
Appendix
Overview
The figures and calculations in this work were produced by a series of Matlab scripts provided in the Supplement. Pseudosections, fractionation calculations, and plots are each produced using a separate script.
The calculation scripts read all the user input from a single input file in Matlab format. This input file consists of 4 sections. The first is a general section used in the two main scripts (pseudosection and fractionation calculations). In the last section, the mineral zoning data are provided. The plotting scripts read input from a separate plotting input file.
The fractionation calculations are executed by running a main script, “brute_fraccalc” that calls Perple_X executables (Vertex and Werami). These files should all be on the Matlab path; it is easiest to have them together in one folder. After the calculations have finished, a data file containing the input parameters and results is produced.
To plot the results, run a second Matlab script, “brute_fracplot.” Two composite figures are produced by this script: the first contains contour plots of the sum of squares of the fits (see main text) and the corresponding profiles as shown in Figs. 3, 4, 5, and 6. The second contains a contour plot of the total sum of the squares of all components and the profiles from the first figure.
After this second figure has been produced, the best-fit P–T path can be selected interactively by hovering the mouse over the contour diagram showing the results of the sum of squares of the fits. Simultaneously, the zoning corresponding to the P–T path is indicated in blue or any other user-defined color. This allows to determine which P–T path fits the zoning profiles best—in the opinion of the user—rather than calculating the absolute minimum in the contour diagram. After the desired P–T path has been identified, a left click with the mouse freezes this choice in the figure. After hitting a key to continue either a new figure is produced in which another P–T path can be chosen, or the program ends and the two figures are combined into one like Fig. 3, 4, 5, and 6 and written in eps format. The eps figure can be opened and edited in vector drawing programs (e.g., Adobe Illustrator).
How to run the Matlab code
Before running the code, make sure all files are in one folder. The example user input files that are provided show the format of the files.
-
1.
Open Matlab.
-
2.
Open the file “user_input.m” in the Matlab editor window
-
3.
Depending on your version of Matlab, you may need to push the green Run button (or F5) and click “change folder.” This specifies the folder where Matlab looks to find files. By default, it starts in the Matlab folder. Specifying the folder can also be achieved by navigating to the right folder in the Matlab command window.
-
4.
Change the input parameters in the file user_input.m (see below for details). The first time you run the program, you can use the default values provided. The user_input.m file can be saved with a different name by appending it after ‘user_input’ (for example: user_input_SAMPLE_NAME.m).
-
5.
Do the same for the plot_input.m file. Leave the file name unchanged.
-
6.
Open a Matlab command window and type “brute_fraccalc” to start the fractionation calculations. This opens a navigation window to locate the user_input.m file. After selecting the file, it runs the main script for the fractionation calculations. Alternatively, the user input file can be provided as string argument to the brute_fraccalc function (e.g., brute_fraccalc (“user_input.m”)). This allows for batch processing of multiple user input files by calling the function from MATLAB scripts. Execution of this script should normally take 3–5 min for the input parameters provided in the example (10 × 10 grid and 10 × fractionating). When execution is finished, the message “Elapsed time is … seconds” will appear. To reduce execution time, simpler chemistry, fewer solution models, grid points, or fractionation steps can be specified.
-
7.
Type “brute_fracplot” or “brute_fracplot (‘user_input_FILENAME.m’)” to plot the results. This opens a navigation window to locate the user_input.m file. Execution of this script should normally take <1 min. Two figures will be displayed. Figure 1 contains contour plots of the sum of squares and the corresponding zoning profiles. Figure 2 contains a contour plot in which all zonation data are summed to see the combined fit. In this figure, the profiles of each composition are shown as well. In Fig. 2, you can hover with the mouse over the contour plot (upper left) that contains the sum of the fits. The compositional profile corresponding to the P–T path at the mouse pointer is highlighted in each profile plot. This way, you can decide which is the best P–T path. Ideally, this should correspond to the areas in the contour plot where the sum of squares is lowest (i.e., where the fit is best). However, it may be for example that your Mn data have larger errors and you want to give more weight to the other compositional profiles. Once the best P–T path is selected, click once with the left mouse button to save the corresponding profiles and figures combined in an eps file. If the fit is not satisfactory even taking into account uncertainties, the fractionation calculations can be restarted using different input parameters: different solution models, large or smaller number of fractionation steps, etc.
-
8.
Type “pseccalc,” to create a pseudosection, in a PostScript, e.g., filename.ps, file that can be opened in the usual ways. Execution of this script should normally take about the same time as Perple_X needs to calculate this pseudosection. This can vary from 1 min to several hours depending on the selected solution models.
-
9.
Type “psecplot” to create a pseudosection similar to those presented in Fig. 2; execution of this script should normally take <1 min. When finished, a file with a name like “SAMPLE_pssect.eps” will have been created. These files can be opened with software that can read.eps files.
The typical way to proceed is to execute “pseccalc” and “psecplot” until a satisfactory pseudosection for the starting composition is reached. For example, if it is known that garnet started to grow in a certain P–T region, the user has to make sure that this field is present as a starting condition. Any P–T path starting outside this field has to be rejected based on the petrographic observations. Additionally, it can be checked whether the input solution models are appropriate for the rock type of interest. Then, “brute_fraccalc” and “brute_fracplot” are executed until a satisfactory P–T path is found.
Format of the user_input.m file
The “clear” command on the first line of the file clears the Matlab memory.
General
-
bfile: Identifier for the run that will be included in the names of all files created by the codes
-
data_base: File name of the thermodynamic database to be used in the calculations. Currently, only “hp04ver.dat” is provided. Other databases can be downloaded from http://www.perplex.ethz.ch/.
-
solution_file: File name of the solution model database to be used in the calculations. The provided solution_model.dat file can be modified to the user’s needs.
-
comp: List of components in capitals. H2O needs to be the first component in the list (if calculations with H2O are to be performed).
-
wt_perc: Bulk-rock percentages of the components in comp. Either wt% or mol% can be used (see wt_mol below).
-
ssol: Names of Perple_X solution models to be used.
-
ssol_user: Abbreviations for the solution model names. This is for convenience in plots and displays and can be edited as the user wishes (in contrast to the ssol above which have to be the names of solution models in Perple_X).
-
ex_phs: List of phases to be excluded by Perple_X.
-
wt_mol: If set to “y” the wt_perc numbers are used as mol%. Use “n” for wt%.
-
mac_OS: For usage on Macintosh OS set to 1.
Pseudosection
-
Tmin, Tmax, Pmin, Pmax: Extent of the pseudosection in P–T space
-
satphs: Set to “y” if a saturated phase is desired; otherwise set to “n.” If the system is H2O saturated, H2O is not included in the comp and wt_perc list (similar to Perple_X).
-
sphase: Name of the saturated phase.
-
nx, ny: Number of x and y nodes for the output pseudosection (used by the Perple_X code Werami). The default numbers of 200 are a compromise between calculation time and pseudosection definition.
Fractionation
-
Tpeak, Ppeak: Peak P–T for the mineral/rock to be modeled (as obtained from thermobarometry, for example).
-
Tstart, Pstart, Tend, Pend: Define the limits of the starting P–T points for the P–T path search.
-
frac_phs: Phases to be fractionated. This currently works only for garnet and H2O.
-
nPT: Number of fractionation steps along the P–T path. The default number, 10, is a compromise between calculation time and accuracy. Increasing the number of fractionation steps will ultimately converge with Rayleigh fractionation (Hollister 1966). Numbers below 50 are advised.
-
nPTgrid: Number of grid points in P and T for the starting P–T points grid. The default number, 10—meaning a 100 point, 10 × 10 grid in P–T space—is a compromise between calculation time and accuracy. Numbers between 10 and 30 are advised.
-
data_head: Name of the data in the columns of prof_data. The order of the names should be corresponding to the order of the columns in prof_data below. Use “Mg#” magnesium number, “X_{sp}” for spessartine mole fraction and “X_{gr}” for grossular mole fraction.
-
prof_data: Zoning profile data. Provide the spatial data, Mg#, spessartine, and grossular mole fraction in columns corresponding to the names in data_head above.
Format of the plot_input.m file
-
best_sumSvec: Maximum sum of squares value considered to be a good fit; there must be three values that correspond to the properties in the order: Mg#, Xsp, and Xgr. Calculated zoning with sum of squares less than this value is plotted with black lines, and starting P–T conditions producing such paths are outlined by white lines in Figs. 4, 5, and 6. This may need some iteration as the results are initially unknown when plotted for the first time. Values of ~0.1 are reasonable starting guesses. (A warning message appears if none of the profiles falls within the limits of these numbers.)
-
wt_fac: Weighting factors for the three properties. This allows the user to decide how to weight the results of fractionation calculations. The default values of 1 result in the calculation:
$$\begin{aligned} & 1*\surd({\text{Mg}}\# _{{{\text{actual}}}} - {\text{Mg}}\# _{{{\text{calculated}}}} )^{2} /n + 1*\surd({\text{Mg}}\# _{{{\text{actual}}}} - {\text{Mg}}\# _{{{\text{calculated}}}} )^{2} /n + \\ & \quad 1*\surd({\text{Mg}}\# _{{{\text{actual}}}} - {\text{Mg}}\# _{{{\text{calculated}}}} )^{2} /n \\ \end{aligned}$$where n is number of sample points along the profile.
-
user_linestyle: Symbols to define linestyle of the user-determined best-fit profiles. It is possible to define more than one, separated by a comma, to choose multiple best-fit profiles. Use “-” for solid line, “–” for dashed line, “..” for stippled line. See “LineStyle” property in Matlab.
-
user_linecolor: Color of the lines of user-determined best-fit profiles needs to correspond to user_linestyle definition above. See “Color” property in Matlab (for example b = blue,r = red,g = green,k = black,w = white).
-
my_label: The label of the user-determined best-fit profiles, to be shown in the legend and on contour plots in eps figure output.
-
fig_leg: A number controlling in which of the profile figures to show the legend, counting from top to bottom.
-
n_contour: Number of contour levels for all contour plots in the figures.
-
phs_contour: Phases to be contoured in the pseudosection. A maximum of two phases are allowed. The first phase will be plotted as colored interpolated contours, and the second will be plotted as black contours labeled with modal vol %. This is valuable for assessing that the starting point of P–T paths matches any petrographic constraints (i.e., mineral inclusions) rock in question. Also, it reduces the clutter of mineral abbreviations in the different phase stability fields.
-
ex_field_size: Determines size below which the assemblage fields in the pseudosection are not shown and depends on the resolution of pseudosection (see nx,ny above).
-
ass_plot_size: Determines size below which assemblage fields are indicated with number. Legend is output in text file “SAMPLE_ass_legend.txt.”
-
phs_mode_cont: Defines which contour level is shown for the first phase of phs_contour. Default is 0, corresponding to the mineral-in line.
-
phs_mode2_cont: Controls which contour levels to show in black for second phase defined in phs_contour.
-
ass_font_size: Fontsize of assemblage labels shown on the pseudosection.
-
peak_symbol_style: Symbol style for plotting the peak P–T estimate in the pseudosection diagram (for example:. = dot, * = star, + = cross). Use color symbology as in user_linecolor.
-
peak_symbol_size: Defines the size of the symbol for the peak P–T estimate shown in the pseudosection.
Rights and permissions
About this article
Cite this article
Vrijmoed, J.C., Hacker, B.R. Determining P–T paths from garnet zoning using a brute-force computational method. Contrib Mineral Petrol 167, 997 (2014). https://doi.org/10.1007/s00410-014-0997-3
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s00410-014-0997-3