This Excel spreadsheet program will calculate a modified CIPW norm for you, but detailed instructions for a basic norm are shown below. A norm is essentially a set of idealized phony minerals that are calculated from a bulk chemical analysis of a rock. It is generally used for comparison or other general petrologic purposes. Norms are commonly calculated for volcanic rocks which have glass and/or exceedingly small crystals that make it difficult to determine a mineral mode, and for metamorphosed igneous rocks that no longer have the original igneous mineralogy. The normative minerals are calculated to represent, in many ways, the minerals that might crystallize if the rock were cooled under perfect equilibrium dry conditions at low pressure. For example, in terms of resembling real rocks the mineral pairs:

- quartz and Mg-rich olivine
- quartz and nepheline
- Al-silicates and augite
- orthopyroxene and nepheline,

- quartz and olivine (any composition)
- quartz and nepheline
- corundum and diopside
- orthopyroxene and nepheline.

Norm assemblages | Meaning |

Quartz, corundum, OPX: | Silica-saturated, peraluminous, subalkaline |

Quartz, diopside, OPX: | Silica-saturated, subaluminous, subalkaline |

Olivine, diopside, OPX: | Silica-undersaturated, subaluminous, subalkaline |

Olivine, diopside, nepheline: | Silica-undersaturated, subaluminous, peralkaline |

#### Norm calculation procedure

The following procedure is similar to the original CIPW norm procedure and works for the most common rocks. It omits many calculations for unusual rocks. For example, the procedures to calculate normative leucite in strongly silica-undersaturated rocks, aegirine in alumina-undersaturated alkalic rocks, or hematite in oxidized rocks have been omitted. The procedure below also departs from the original CIPW norm in that pyroxenes, plagioclase, and olivine are calculated as their solid solutions rather than as end member components. You must do all calculations to at least five decimal places to avoid severe rounding errors.

- Use only the eleven major element oxides, for which the gram formula weights are:

SiO2 | 60.0843 |

TiO2 | 79.8988 |

Al2O3 | 101.9613 |

Fe2O3 | 159.6922 |

FeO | 71.8464 |

MnO | 70.9374 |

MgO | 40.3044 |

CaO | 56.0794 |

Na2O | 61.9789 |

K2O | 94.1960 |

P2O5 | 141.9445 |

- Take the oxide weight percents in the chemical analysis and divide them by their respective formula weights to give molar oxide proportions. Use these molar oxide proportions in all subsequent calculations.
- Add MnO to FeO. MnO is now zero. The combined FeO and MnO will now be called FeO.
- Apatite (Ap): Multiply P2O5 by 3.33 and subtract this number from CaO. P2O5 represents 2/3 of an apatite molecule, so multiply P2O5 by 2/3, and put this number in Apatite. P2O5 is now zero.
- Ilmenite (Ilm): Subtract TiO2 from FeO. Put the TiO2 value in ilmenite. TiO2 is now zero.
- Magnetite (Mt): Subtract Fe2O3 from FeO. Put the Fe2O3 value in magnetite. Fe2O3 is now zero.
- Orthoclase (Or): Subtract K2O from Al2O3. Put the K2O value in orthoclase. K2O is now zero.
- Albite (Ab) [Provisional]: Subtract Na2O from Al2O3. Put the Na2O value in albite. Retain the Na2O value for possible normative nepheline.
- Anorthite (An):

- If CaO is more than Al2O3, then subtract Al2O3 from CaO. Put all Al2O3 into anorthite. Al2O3 is now zero.
- If Al2O3 is more than CaO, then subtract CaO from Al2O3. Put all CaO into anorthite. CaO is now zero.

- Corundum (Cor): If Al2O3 is not zero, put the remaining Al2O3 into Corundum. Diopside and Al2O3 are now zero.

- Calculate the current ratio of Mg/(Mg+Fe+2). This ratio is called Mg' and will be the Mg/(Mg+Fe+2) ratio for all normative silicates.

Mg' = MgO/(MgO+FeO)

- Calculate the mean formula weight of the remaining FeO and MgO. This combined Fe-Mg oxide called FMO will be used in subsequent calculations.

Formula weight of FMO = (Mg'*40.3044)+((1-Mg')*71.8464)

- Add FeO and MgO to get FMO.
- Diopside (Di): If CaO is not zero, subtract CaO from FMO. Put all CaO into diopside. CaO is now zero.
- Hypersthene (Hy) [Provisional]: Put all remaining FMO into hypersthene. Retain the FMO value for the possible calculation of normative olivine.
- Calculate the amount of SiO2 needed for all of the normative silicate minerals listed above, allotting SiO2 as follows:

Orthoclase * 6 = needed SiO2 for each Orthoclase Albite * 6 = needed SiO2 for each Albite Anorthite * 2 = needed SiO2 for each Anorthite Diopside * 2 = needed SiO2 for each Diopside Hypersthene * 1 = needed SiO2 for each Hypersthene |

- Sum the five SiO2 values just calculated, and call this number pSi for provisional SiO2.
- Quartz (Qz): If there is enough silica to make all five minerals then the rock is quartz-normative. Otherwise there is no quartz in the norm and silica to make the rest of the silicates must come from other sources.

- If pSi calculated in step 16 is less than SiO2, then there is excess silica. Subtract pSi from SiO2, and put excess SiO2 in quartz. SiO2, Nepheline, and olivine are now zero. Skip to step 23.
- If pSi calculated in step 16 is more than SiO2, then the rock is silica deficient. Proceed to step 19.

- Olivine (Ol), Hypersthene (Hy): If pSi calculated in step 16 is more than SiO2, then there is an SiO2 deficit. Quartz is now zero. Calculate a new pSi as in step 16, omitting hypersthene.

Orthoclase * 6 = needed SiO2 for each Orthoclase Albite * 6 = needed SiO2 for each Albite Anorthite * 2 = needed SiO2 for each Anorthite Diopside * 2 = needed SiO2 for each Diopside |

- Sum the four SiO2 values just calculated to get a new value of pSi. Subtract the new pSi from SiO2 to get the amount of SiO2 available for olivine and hypersthene, called aSi.

- If FMO is greater than or equal to 2 times aSi, then put all FMO in olivine. FMO and hypersthene are now zero. Proceed to step 21.
- If FMO is less than 2 times aSi, then nepheline is zero. Calculate the amount of hypersthene and olivine as follows:

Hypersthene = ((2 * aSi) - FMO) Olivine = (FMO - Hypersthene) Skip to step 23. |

- Nepheline (Ne), Albite (Ab): If you reached this step, then turning hypersthene into olivine in step 20a did not yield enough silica to make Or, Ab, An, Di, and Ol. Calculate a new pSi value as in step 16, omitting hypersthene and albite.

Orthoclase * 6 = needed SiO2 for each Orthoclase Anorthite * 2 = needed SiO2 for each Anorthite Diopside * 2 = needed SiO2 for each Diopside Olivine * 0.5 = needed SiO2 for each Olivine |

- Sum the three SiO2 values just calculated to get a new value of pSi. Subtract this pSi from SiO2 to get a new value of aSi, which is the amount of SiO2 available for albite and nepheline.

Albite = (aSi-(2*Na2O))/4 Nepheline = Na2O-Albite |

- Multiply orthoclase, albite, and nepheline by two. Divide olivine by two.
- Calculate An', which is the Ca/(Ca+Na) ratio in normative plagioclase:

An' = Anorthite/(Anorthite+Albite)

- Plagioclase (Plag): Add albite to anorthite to make plagioclase. Retain the albite value.
- Calculate the formula weight of plagioclase, using the An' value from step 24.

Formula weight Plag = (An'*278.2093)+((1-An')*262.2230)

- Multiply all of the normative mineral values by their respective formula weights. The formula weight of FMO is from step 12.

Qz | 60.0843 | SiO2 |

Or | 278.3315 | KAlSi3O8 |

Plag | Calculated in step 26 | (Ca,Na)(Al,Si)4O8 |

Cor | 101.9613 | Al2O3 |

Ne | 142.0544 | NaAlSiO4 |

Di | 176.2480 + formula weight of FMO | Ca(Fe,Mg)Si2O6 |

Hy | 60.0843 + formula weight of FMO | (Fe,Mg)SiO3 |

Ol | 60.0843 + (2 * formula weight of FMO) | (Fe,Mg)2SiO4 |

Mt | 231.5386 | Fe3O4 |

Ilm | 151.7452 | FeTiO3 |

Ap | 504.3125 | Ca5(PO4)3F |

- This is your weight norm. This might be published along with four other useful parameters:

Total: | The sum of all mineral weights, calculated in step 27. Within rounding error the Total should be the same as the original total of the weight % of the oxides from the chemical analysis. |

Mg'%: | 100*Mg' From step 11. |

An'%: | 100*An' from step 24. |

DI: | The Differentiation Index of Thornton and Tuttle (1960). This is the weight ratio: (Qz+Or+Ab+Ne)/Total. Ab is albite from step 23 times 262.2230. |

- The weight norm is the way norms are usually expressed. If you want to compare norms to modes (which are volume fractions) you should divide each normative mineral by its density and normalize the Total back to 100%. Mineral densities can be gotten from mineralogy texts, the CRC Handbook of Chemistry and Physics, or elsewhere. The density of plagioclase and the Fe-Mg silicates with intermediate solid solutions can be found in tables or figures in mineralogy texts, or equations derived from them.

Remember that this Excel spreadsheet program can calculate the norms for you.