The use of open source softwares helps users learn the internal structure of numerical models. However, open source softwares usually require linking to auxiliary programs for data preprocessing, postprocessing, and visualization. The users also have to understand the problem thoroughly, and may at times modify the source code so that the model could better represent the natural mechanisms.