Codes in diverse but inter-related fields have specialized capabilities that need to be shared with each other through efficient componentization. Libraries such as Alquimia help achieve this!
Environmental applications involve a wide range of processes, from hydrology and vegetation dynamics to genome-informed biogeochemistry, and many research groups are actively developing and enhancing mechanistic models for these processes. To share these specialized capabilities across codes efficiently, and to accelerate their future development, componentization is necessary.
The complexity and importance of biogeochemistry make it an excellent target for componentization via Alquimia, a uniform API and wrapper library for these capabilities. Initial development of Alquimia focused on making the capabilities of PFLOTRAN and CrunchFlow available to applications such as Amanzi. Alquimia makes it easier for a developer to use a specialized feature from another code’s biogeochemistry component, and makes the development of new features more efficient.