Which Model is For You?
Here are some general guidelines:
1. Do you need this program to work in a classroom setting? When teaching concepts in aquatic chemistry, you'll need a program that makes it easier to focus on chemical equilibrium. You don't want to have to computer programming as a means of teaching modeling. Chemical equilibrium is complicated enough without introducing additional complexity in the form of a computer. The program should clarify all the assumptions being made in a straight forward manner. It should be easy to visualize the results and to navigate through the various options. The user's manual should be directed toward lessons that will help you get the subtleties across. Ideally, it would be great if the software maintained a perspective that was consistent with that of standard textbooks and the overall curriculum.
2. Do you need source code so that you can include it in a larger modeling framework? If you're more of a nuts and bolts type of modeler, you probably don't worry about issues such as data visualization and graphics. You're more comfortable taking control of things from the ground up. In such a case, you would be better off with one of the freeware programs offered through the USEPA or USGS. The learning curve is steep, but there won't be any surprises and you can't beat the price.
3. How much time do you have to learn a new program? If deadlines are more important, then you need to focus on programs that will provide good visualization and help lead you though the problem solving process. The documentation needs to be well organized and designed to bring you to a specified end point.
4. Is it important that the program be compatible with 3rd party software like spreadsheets, databases, or statistical software? You need a program that will have these features built in. If you are more inclined to making things from the ground up (see item 2), then you can always program these features yourself. Generally, it is better to have 3rd party compatibility built in. The reason is that compatibility is not just a matter of reading in a specified file format. It also requires the inclusion of certain user interface and program compatibility issues that allow flexibility. Usually when people program these types of special additions to software they don't want to think about the full set of issues that are required. They would much rather program for a specific short-term goal. Maybe this sounds familiar?
5. Do you need this program to process large datasets, such as the type you would generate in doing field research? Many programs are designed to perform single runs and if you want to process large datasets you would have to go through the tedious task of submitting each set of data separately. In addition, you need to see how the program organizes the output results. If the numbers you are interested in are embedded within a large text report then extracting the output data for further analyses could also be tedious (and time consuming). Automatic processing of large datasets requires simple methods for inputting data and extracting output.
These are a few of the things to think about when choosing a chemical equilibrium model. Of all the items listed above, MINEQL+ provides excellent capabilities in all items except number 2. If you are developing your own program, then MINEQL+ is not for you.
I haven't gone into any of the chemical or technical specifications of these models for a reason: 95% of the numerical algorithms are the same on all these programs. Some provide an expanded hyrdological approach, others alllow you to reverse the calculation to estimate parameters. Otherwise, all the programs are numerically the same. The differences come more in the ways that human beings interact with them and the overall assumptions that the programmers had about their audience.