6.2 CIPW Norm Instructions

This is a modified version of the original CIPW norm calculation instructions. CIPW norms are anhydrous and ignore the water reported in chemical analyses. These instructions ignore other volatiles (CO2, SO3, F, Cl) and the trace elements Cr and Zr. An oxide name with an asterisk (*), such as CaO*, is used to indicate the remaining oxide mole value after some of the oxide was used to make a norm mineral. Follow the instructions in order. If an inequality is not satisfied, skip to the next step. A worked example, using a spread sheet that follows these instructions, can be found by clicking this button:  

 

1.       Mass to Moles.

Divide the weight percent value of each oxide by its gram formula weight (GFW) to calculate a “mole value” for the oxide (moles of oxide per 100 grams of rock). All the instructions refer to these mole values.

 

2.       Minor Elements.

Add the amounts of MnO and NiO to that of FeO.

After this step, neither of these oxides should remain (MnO*=NiO*=0).

Add the amounts of BaO and SrO to CaO.

After this step, neither of these oxides should remain (BaO*=SrO*=0).

 

3.       P2O5.

Assign all the P2O5 to apatite (ap).

Assign an amount of CaO equal to 3.33 times the P2O5 to apatite.

Calculate the amount of CaO remaining (CaO*).

After this step, no P2O5 should remain (P2O5*=0).

 

4.    TiO2.

a. If TiO2 <= FeO:

Assign all the TiO2 to ilmenite (il).

Assign an amount of FeO equal to the TiO2 to ilmenite.

Calculate the amount of FeO remaining (FeO*).

After this step, no TiO2 should remain (TiO2*=0).

Jump to 5. K2O.

 

b. If TiO2 > FeO (an excess is rare):

Assign all the FeO to ilmenite (il).

Assign an amount of TiO2 equal to the FeO to ilmenite.

Calculate the amount of TiO2 remaining (TiO2*).

After this step, no FeO should remain (FeO*=0).

Assign all the TiO2* to titanite (tn).

Assign an amount of CaO equal to the TiO2* to titanite.

Assign an amount of SiO2 equal to TiO2* to titanite.

Adjust the amount of SiO2 remaining (SiO2*).

Adjust the amount of CaO remaining (CaO*).

After this step, no TiO2 should remain (TiO2*=0).

 

5.    K2O.

a. If K2O <= Al2O3:

Assign all K2O to orthoclase (or).

Assign an amount of Al2O3 equal to the K2O to orthoclase.

Assign an amount of SiO2 equal to 6 times the K2O to orthoclase.

Adjust the amount of SiO2 remaining (SiO2*).

Calculate the amount of Al2O3 remaining (Al2O3*).

After this step, no K2O should remain (K2O*=0).

Jump to 6. Na2O.

 

b.   If K2O > Al2O3 (an excess is extremely rare):

Assign all Al2O3 to orthoclase (or).

Assign an amount of K2O equal to the Al2O3 to orthoclase.

Assign an amount of SiO2 equal to 6 times the Al2O3 to orthoclase.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no Al2O3 should remain (Al2O3*=0).

Calculate the amount of K2O remaining (K2O*).

Assign all K2O* to potassium metasilicate (ks).

Assign an amount of SiO2 equal to K2O* to potassium metasilicate.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no K2O should remain (K2O*=0).

 

6.    Na2O.

a. If Na2O <= Al2O3*:

Assign all Na2O to albite (ab).

Assign an amount of Al2O3 equal to the Na2O to albite.

Assign an amount of SiO2 equal to 6 times the Na2O to albite.

Adjust the amount of SiO2 remaining (SiO2*).

Adjust the amount of Al2O3 remaining (Al2O3*).

After this step, no Na2O should remain (Na2O*=0).

Jump to 7. Fe2O3.

 

b. If Na2O > Al2O3*:

Assign all Al2O3* to albite.

Assign an amount of Na2O equal to the Al2O3* to albite.

Assign an amount of SiO2 equal to 6 times the Al2O3* to albite.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no Al2O3 should remain (Al2O3*=0).

Calculate the amount of Na2O remaining (Na2O*).

 

c. If Na2O* <= Fe2O3:

Assign all Na2O* to acmite (ac).

Assign an amount of Fe2O3 equal to the Na2O* to acmite.

Assign an amount of SiO2 equal to 4 times the Na2O* to acmite.

Adjust the amount of SiO2 remaining (SiO2*).

Calculate the amount of Fe2O3 remaining (Fe2O3*).

After this step, no Na2O should remain (Na2O*=0).

Jump to 7. Fe2O3.

 

d. If Na2O* > Fe2O3 (an excess is extremely rare):

Assign all Fe2O3 to acmite (ac).

Assign an amount of Na2O* equal to the Fe2O3 to acmite.

Assign an amount of SiO2 equal to 4 times the Fe2O3 to acmite.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no Fe2O3 should remain (Fe2O3*=0).

Calculate the amount of Na2O remaining (Na2O*).

Assign all Na2O* to sodium metasilicate (ns).

Assign an amount of SiO2 equal to Na2O* to sodium metasilicate.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no Na2O should remain (Na2O*=0).

Jump to 8. MgO and FeO.

 

7.    Fe2O3.

a. If Fe2O3* <= FeO*:

Assign all the Fe2O3* to magnetite (mt).

Assign an amount of FeO equal to the Fe2O3* to magnetite.

Adjust the amount of FeO* remaining (FeO*).

After this step, no Fe2O3 should remain (Fe2O3*=0).

Jump to 8. MgO+FeO.

 

b. If Fe2O3* > FeO*:

Assign all the FeO* to magnetite (mt).

Assign an amount of Fe2O3* equal to the FeO* to magnetite.

Adjust the amount of Fe2O3 remaining (Fe2O3*).

After this step, no FeO should remain (FeO*=0).

Assign all the Fe2O3* to hematite (hm).

After this step, no Fe2O3 should remain (Fe2O3*=0).

 

8.    MgO and FeO.

Calculate the Mg# where Mg# = MgO/(MgO+FeO*).

Add together MgO and FeO*, calling the sum MFO.

After this step, the MgO and FeO are in MFO, so MgO*=0 and FeO*=0.

 

9.    CaO.

a. If CaO* < Al2O3*:

Assign all CaO* to anorthite.

Assign an amount of Al2O3 equal to the CaO* to anorthite.

Assign an amount of SiO2 equal to 2 times the Al2O3* to anorthite.

Adjust the amount of SiO2 remaining (SiO2*).

Adjust the amount of Al2O3 remaining (Al2O3*).

After this step, no CaO should remain (CaO*=0).

Assign the Al2O3* to corundum (C).

After this step, no Al2O3 should remain (Al2O3*=0).

Jump to 10. FMO.

 

b. If CaO* >= Al2O3*:

Assign all Al2O3* to anorthite (an).

Assign an amount of CaO equal to the Al2O3* to anorthite.

Assign an amount of SiO2 equal to 2 times the Al2O3* to anorthite.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no Al2O3 should remain (Al2O3*=0).

Adjust the amount of CaO remaining (CaO*).

 

c.  If CaO* <= MFO:

Assign all CaO* to diopside.

Assign an amount of MFO equal to the CaO* to diopside.

Assign an amount of SiO2 equal to 2 times the CaO* to diopside.

Adjust the amount of SiO2 remaining (SiO2*).

Calculate the amount of MFO remaining (MFO*).

After this step, no CaO should remain (CaO*=0).

Jump to 10. MFO.

 

d. If CaO* > MFO (an excess is rare):

Assign all MFO* to diopside.

Assign an amount of CaO equal to the MFO* to diopside.

Assign an amount of SiO2 equal to 2 times the MFO* to diopside.

Adjust the amount of SiO2 remaining (SiO2*).

Adjust the amount of CaO remaining (CaO*).

After this step, no MFO should remain (MFO*=0).

Assign the CaO* to wollastonite (wo).

Assign an amount of SiO2 equal to the CaO* to wollastonite.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no CaO should remain (CaO*=0).

Jump to 11. SiO2.

 

10. MFO.

Assign all MFO* to hypersthene (hy).

Assign an amount of SiO2 equal to the MFO* to hypersthene.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no MFO should remain (MFO*=0).

 

11. SiO2.

a. Let S = SiO2*.

If S >= 0, assign all the SiO2* to quartz (Q).

After this step, no SiO2 should remain (SiO2*=0).

After this step, all the oxides should be assigned to norm minerals.

Jump to 12. Moles to Mass.

 

b. Redo the MFO step.

If S < 0, make some olivine from hypersthene.

Let X equal the MFO used in Step 10 to make hypersthene.

Let Y equal (X + S). S is negative, so Y < X.

If Y >= 0:

Assign (X + 2*S) moles of MFO to make hypersthene.

Assign (X + 2*S) moles of SiO2 to make hypersthene

Adjust the amount of SiO2 remaining (SiO2*).

Adjust the amount of MFO remaining (MFO*).

Assign (-2*S) moles of MFO to make olivine(ol).

Assign (-S) moles of SiO2 to make olivine.

After this step, no SiO2 should remain (SiO2*=0).

After this step, no MFO should remain (MFO*=0).

After this step, all the oxides should be assigned to norm minerals.

Jump to 12. Moles to Mass.

     

c.  If Y < 0, redo the MFO step as all olivine, and redo the albite step.

Make olivine first, then nepheline.

Assign X moles of MFO to make olivine, where X is the value assigned in 11b.

Assign X/2 moles of SiO2 to make olivine.

Adjust the amount of SiO2 remaining (SiO2*).

After this step, no MFO should remain (MFO*=0).

Let Z equal Na2O used for albite in Step 6.

Let W equal (6*Z + Y), where Y is the value (negative) calculated in 11b.

Y < 0, so W < 6*Z.

If W > 0:

Assign (Z + Y/4) moles of Na2O to albite (ab).

Assign (Z + Y/4) moles of Al2O3 to albite.

Assign 6*(Z + Y/4) moles of SiO2 to albite.

Adjust the amount of SiO2 remaining (SiO2*).

Adjust the amount of Al2O3 remaining (Al2O3*).

Adjust the amount of Na2O remaining (Na2O*).

Assign (-Y/4) moles of Na2O to nepheline (ne).

Assign (-Y/4) moles of Al2O3 to nepheline.

Assign 2*(-Y/4) moles of SiO2 to nepheline.

After this step, no SiO2 should remain (SiO2*=0).

After this step, no Al2O3 should remain (Al2O3*=0).

After this step, no Na2O should remain (Na2O*=0).

After this step, all the oxides should be assigned to norm minerals.

Jump to 12. Moles to Mass.

 

d. If W < 0, redo the albite step as all nepheline, and redo the orthoclase step.

Assign Z moles of Na2O to nepheline.

Assign Z moles of Al2O3 to nepheline.

Assign 2*Z moles of SiO2 to nepheline.

Adjust the amount of SiO2 remaining (SiO2*).

Adjust the amount of Al2O3 remaining (Al2O3*).

Adjust the amount of Na2O remaining (Na2O*).

Let G equal K2O used for orthoclase in Step 5.

Let V equal (6*G + W), where W is the value (negative) calculated in 11c.

W < 0, so V < 6*G.

If V > 0:

Assign (G + W/2) moles of K2O to orthoclase.

Assign (G + W/2) moles of Al2O3 to orthoclase.

Assign 6*(G + W/2) moles of SiO2 to orthoclase.

Assign (-W/2) moles of K2O to leucite (lc).

Assign (-W/2) moles of Al2O3 to leucite.

Assign 4*(-W/2) moles of SiO2 to leucite.

After this step, no SiO2 should remain (SiO2*=0).

After this step, no Al2O3 should remain (Al2O3*=0).

After this step, no K2O should remain (Na2O*=0).

After this step, all the oxides should be assigned to norm minerals.

Jump to 12. Moles to Mass.

 

e. If V<0 (rare), there is still a silica deficit. Go to the original CIPW instructions (their 8g and 8h) to see how to use all the K2O in leucite and to make calcium orthosilicate and kaliophyllite if needed.

 

12.   Moles to Mass.

Multiply the mole value of each norm mineral by its gram formula weight (GFW) to calculate weight percentages of the norm minerals. You can find the GFW values for the norm minerals by clicking here:   . Note that for di, hy, and ol you will need to use the Mg# determined in Step 8 to calculate the norm mineral GFW. The sum of these weight percentages should equal the oxide weight percent total of the original anlysis minus any volatiles ignored (commonly H2O). This step can be completed at the end of the norm calculation, or after each step as in the worked example:  

 





>