Carbonate hardness is the measure of Calcium and Magnesium and other hard ions associated with carbonate (CO32-) and bicarbonate (HCO3-) ions contained in a solution, usually water. It is usually expressed either as parts per million (ppm or mg/L), or in degrees (KH - from the German "Karbonathärte"). One German degree of carbonate hardness is equivalent to about 17.8575 mg/L. Both measurements (mg/L or KH) are usually expressed "as CaCO3" – meaning the amount of hardness expressed as if calcium carbonate was the sole source of hardness. Every bicarbonate ion only counts for half as much carbonate hardness as a carbonate ion does. If a solution contained 1 liter of water and 50 mg NaHCO3 (baking soda), it would have a carbonate hardness of about 18 mg/L as CaCO3. If you had a liter of water containing 50 mg of Na2CO3, it would have a carbonate hardness of about 29 mg/L as CaCO3.
Carbonate hardness supplements non-carbonate (a.k.a "permanent") hardness where hard ions are associated with anions such as Chloride that do not precipitate out of solution when heated.
Carbonate hardness is removed from water through the process of softening. Softening can be achieved by adding lime in the form of Ca(OH)2, which reacts first with CO2 to form calcium carbonate precipitate, reacts next with multi-valent cations to remove carbonate hardness, then reacts with anions to replace the non-carbonate hardness due to multi-valent cations with non-carbonate hardness due to calcium. The process requires recarbonation through the addition of carbon-dioxide to lower the pH which is raised during the inital softening process.