Consequently, there has been a great deal of work on this issue the past 15 years and as the work has proceeded and the experiments refined, a set of measurements have now become commonplace. To simulate future conditions in the ocean experimentally, often small scale lab studies are performed in which various levels of CO2 meant to represent conditions that might exist in the future are dissolved in seawater. However, it can be complicated and sometimes expensive to measure CO2 itself in an experimental set-up. For this reason, it has been determined that alternative measurements, which are easier, faster, and less expensive can be made, and used to calculate the amount of CO2 that must be present, given the values of these easier to measure parameters. Its a back-calculation of the parameter of interests (CO2). The most common alternative measurements are pH and total alkalinity.
The Shiny app I have written takes pH and alkalinity, and calculates all other carbonate species in the sample. The inputs are data from spectrophotometric pH measurements using m-Cresol purple and total alkalinity values. and the output produced from the R package 'seacarb', is a downloadable datafile with carbonate species and some associated metadata. There are some simple visualizations that can be made within the app, as well.
The Shiny app is hosted here https://natemiller.shinyapps.io/Seawater_Carbonate_Chemistry
I have provided here a sample pH data file and a sample alkalinity data file, which can be used to test the app.