• Advisory • Consultancy • Training • Expert Witness • FA • Diagnosis • Design Review • Corrosion Test • CO2Compass • Coatings • + More >>> 



CO2 Corrosion Model Validation Matrix and Index Score 



The Need for CO2 Corrosion Model Validation
Carbon dioxide (CO2) corrosion is a recognized integrity threat worldwide. CO2 corrosion modeling has been used at both the design and operation phases of oil and gas pipelines for the prediction of internal corrosion growth rates. Since the classic carbon dioxide corrosion model published by C. DE WAARD and D. E. MILLIAMS in 1970s, more than a dozen of CO2 corrosion models have been developed over the past 40 years. An excellent overview of the different CO2 corrosion models is given in reference [1].
Considerable gap exists between CO2 corrosion model predictions and the reality [1,2,3]. The table in reference [3] summarized the significant performance differences among some inhouse and commercial CO2 corrosion modeling software used by the oil and gas industry. Some CO2 model developer claims that its model can "accurately" predict this and "accurately" predict that but when it comes to the corrosion rate prediction, it simply fails and it fails badly. The two figures below show comparisons of the measured corrosion growth rate and the corrosion growth rates predicted from thirteen CO2 corrosion prediction models under two specific field conditions [2]. Some CO2 corrosion models consistently underestimate the CO2 corrosion rate under most operating conditions by a factor of over 10 in some cases (Models "F" and "J" in the Figures below)! Some CO2 corrosion models consistently overestimate the CO2 corrosion rate (Models "C" and "K" in the figures below). Other models simply fail to give reasonable predictions when the operating conditions change (Models "B', "D" and "G" in the figures below). When a model failed to predict the corrosion rate, it failed. period. Explaining the failure to predict by saying the model is sensitive to pH, sensitive to oil wetting, sensitive to shear stress so on and so forth is completely irrelevant to the end users. It is nothing but the final corrosion rate predicted by a CO2 corrosion model that matters to the end users. A model's ability to "accurately" predict pH, the effects of oxygen, NaCl, bicarbonate, H2S, HAc, scaling, oil wetting, fluid velocity, and any other factors has absolutely no use if the model consistently fails to make a reasonable prediction of the actual corrosion rate.
Figure 1 [3] above shows that four out of the thirteen CO2 corrosion prediction models produced reasonable corrosion growth rates while the majority of the CO2 prediction models simply failed to produce meaningful results. Under another specific field condition (Figure 2 [3] below), all models failed to produce reasonable corrosion rates. Contractors or consultants who have been using a single CO2 corrosion modeling software for all clients and under all operating conditions may not realize the considerable, and sometimes shocking uncertainties in the predicted corrosion growth rates (by a factor of over 10!) . Facility owners and users of CO2 corrosion model software should protect their interest by validating the CO2 corrosion model software independently.
Without proper validation, facility owners and users of CO2 corrosion modeling programs have no way of knowing the accuracy of the predicted corrosion growth rates. The blind trust in a single CO2 corrosion model without proper validation and the subsequent use of the modeled results in the design will either expose the assets to increased integrity risk (in case of Models "F" and "J") or lead to overdesign with the unnecessary use of CRAs or additional inhibitor dosage (in case of models "C" and "K"). A number of detailed reallife case studies relating to the severe underprediction and overprediction are presented in the 5day course on "CO2 Corrosion Modeling for the Prediction of Internal Corrosion in Oil & Gas Pipelines".
It is always easier and better to validate the CO2 corrosion modeling software before commencing a modeling project than trying to validate the modeled results afterwards.
Commercial CO2 model software developers typically do not provide users with any validation details. Validation of modeled results against lab or field data is often difficult as quality lab or field data under the prevailing operating conditions used in the prediction software are not readily available. This is particularly true at the design stage where the input parameters are often simulated or projected. Validation of modeled results against corrosion monitoring data in the field may not be applicable as the corrosion monitoring data is "spot" measurement at a specific location under some uncertain local operating conditions while the modeled results represent the "worst case" scenario in the whole system (not spot measurement) under the specific operating conditions. The only practical way to make sure that your modeled results are reasonably reliable is to validate the CO2 modeling software itself by using your own or any 3rd party's welldefined quality lab and field data before starting the modeling project. It is critical to use your own or any 3rd party's quality data, not the model developer's data (JIP or inhouse), for the validation process.
A reasonable validation process must cover a wide range of input parameter values in a systematic way. Nonperforming CO2 corrosion models (such as models "F", "J", "C", "K") over a wide range of operating conditions will be positively identified and their errors of prediction are objectively quantified. The two figures shown above are just comparisons of some models under two specific field conditions, they are not validations on their own but can become part of the validation matrix data sets.
How to Validate a CO2 Corrosion Model  the CO2 Corrosion Model Validation Matrix and Index Score Systems
The following CO2 Corrosion Model Validation Matrix (CO2MVM) and CO2 Corrosion Model Validation Index Score (CO2MoVIS) systems were developed by WebCorr Corrosion Consulting Services for the objective, comprehensive and systematic validation of any CO2 Corrosion Modeling software [4].
The CO2 Corrosion Model Validation Matrix (CO2MVM) consists of 8 categories of input parameters in 3 different input value ranges (low, medium and high), with a total of 48 data sets in the matrix. The absolute value of percent error, PE, in each data set is used to compute the average score, defined as the CO2 Corrosion Model Validation Index Score (MoVIS), in 3 input parameter value ranges (Low, Medium, High).
The MoVISL, MoVISM and MoVISH scores are direct measures of a CO2 corrosion model's prediction accuracy in the low, medium and high input parameter value ranges respectively. The overall MoVIS score is the average of the MoVISL, MoVISM and MoVISH scores, representing the absolute error percentage averaged over the 8 input parameter categories in 3 ranges of input parameter values. The overall MoVIS score is a direct, objective, and comprehensive measure of a CO2 corrosion model's prediction accuracy.
After validating the CO2 corrosion model software, facility owners and users of the CO2 corrosion model software will know the "accuracy" or the uncertainty in the predicted results. This will certainly lead to better engineering and financial decisions when it comes to corrosion allowance, material selection, chemical treatment, CO2 removal, glycol injection, pH stabilization, and other methods for CO2 corrosion mitigation.
Table 2 shows the recommended parameter value range to be used in the CO2 Corrosion Model Validation Matrix. It is important to note that all data sets used in the matrix must be of high quality. CO2 corrosion modeling follows the same "garbage in, garbage out" rule. If high quality data set is not available in some boxes in the matrix, leave the boxes blank and exclude them in the computation of the MoVIS score. Low quality data should never be used in the validation matrix.
"High quality data" should meet the following criteria:


Table 1 WebCorr's CO2 Corrosion Model Validation Matrix and Index Score System 

Input parameter range 
Low Input Range  Medium Input Range  High Input Range  
Input parameter category 
L1  L2  M1  M2  H1  H2 
Partial pressure of CO2, pCO2  PE (pCO2,L1)  PE (pCO2,L2)  PE (pCO2,M1)  PE (pCO2,M2)  PE (pCO2,H1)  PE (pCO2,H2) 
Temperature, Temp  PE (Temp, L1)  PE (Temp, L2)  PE (Temp, M1)  PE (Temp, M2)  PE (Temp, H1)  PE (Temp, H2) 
pH  PE (pH, L1)  PE (pH, L2)  PE (pH, M1)  PE (pH, M2)  PE (pH, H1)  PE (pH, H2) 
Liquid velocity, V_{L}  PE (VL, L1)  PE (VL, L2)  PE (VL, M1)  PE (VL, M2)  PE (VL, H1)  PE (VL, H2) 
Partial pressure of H2S, pH2S  PE (pH2S, L1)  PE (pH2S, L2)  PE (pH2S, M1)  PE (pH2S, M2)  PE (pH2S, H1)  PE (pH2S, H2) 
Organic acids (HAc+Ac), HAc  PE (HAc, L1)  PE (HAc, L2)  PE (HAc, M1)  PE (HAc, M2)  PE (HAc, H1)  PE (HAc, H2) 
Bicarbonate, HCO3  PE (HCO3, L1)  PE (HCO3, L2)  PE (HCO3, M1)  PE (HCO3, M2)  PE (HCO3, H1)  PE (HCO3, H2) 
Chlorides, CL  PE (CL, L1)  PE (CL, L2)  PE (CL, M1)  PE (CL, M2)  PE (CL, H1)  PE (CL, H2) 
AVG of Percent Error 
PE (AVG, L1)  PE (AVG, L2)  PE (AVG, M1)  PE (AVG, M2)  PE (AVG, H1)  PE (AVG, H2) 
Model Validation Index Score, MoVIS 
PE (AVG, L) = MoVISL score
Minimum of 10 dada
sets in 
PE (AVG, M) = MoVISM score
Minimum of 10 dada
sets in 
PE (AVG, H) = MoVISH score
Minimum of 10 dada
sets in 

Model Validation Index Score, MoVIS 
PE (AVG, L+M+H) = MoVIS score  
PE = absolute value of percent error = [(model predicted CorrRate)(measured CorrRate)]/(measured CorrRate) 

MoVISL score: The MoVISL score shows the CO2 model's performance at the lower end of the input parameters. MoVISM score: The MoVISM score shows the CO2 model's performance in the medium range of the input parameters. MoVISH score: The MoVISH score shows the CO2 model's performance at the higher end of the the input parameters. MoVIS score: The MoVIS score shows the CO2 model's overall performance across a wide range of input parameters. 

Table 2 Recommended Parameter Range for CO2 Corrosion Model Validation Matrix 

Input parameter range 
Low Input Range  Medium Input Range  High Input Range  
Input parameter case category 
L1  L2  M1  M2  H1  H2 
Partial pressure of CO2, bar  0.05  0.10  1.0  3.0  10.0  20.0 
Temperature, oC  20.0  40  50  60  80  120 
pH  3.0  3.5  4.0  4.5  5.0  6.0 
Liquid velocity, m/s  0.1  0.5  1.0  3.0  10.0  15.0 
Partial pressure of H2S, bar  2.5x10^{5}  2x10^{4}  1.5  3.0  3.5  4.0 
Organic acids (HAc+Ac), ppm  10  50  100  500  1,000  2,000 
Bicarbonates (HCO3), ppm  50  100  200  500  1,000  2,000 
Chlorides, ppm  100  200  1,000  5,000  20,000  100,000 
AVG of Percent Error 
PE (AVG, L1)  PE (AVG, L2)  PE (AVG, M1)  PE (AVG, M2)  PE (AVG, H1)  PE (AVG, H2) 
Model Validation Index Score, MoVIS 
PE (AVG, L) = MoVISL score
Minimum of 10 dada
sets in 
PE (AVG, M) = MoVISM score
Minimum of 10 dada
sets in 
PE (AVG, H) = MoVISH score
Minimum of 10 dada
sets in 

Model Validation Index Score, MoVIS 
PE (AVG, L+M+H) = MoVIS score  
References 1. NACE CORROSION / 2010, Paper No. 10371: CO2 CORROSION MODELS FOR OIL AND GAS PRODUCTION SYSTEMS
2. 11th International
Conference on Fracture 2005 (ICF11), Turin, Italy, 2025 March 2005
3. The 16th Nordic Corrosion
Congress, 2022nd May 2015, Stavanger, Norway 4. CO2 Corrosion Prediction: Considering Validation, Pipeline and Gas Journal, March 2016, Vol.243, No.3 

Home  Contact Us  PDF 
Copyright © 19952018. All rights reserved. 