Content area
The soil–plant–atmosphere continuum (SPAC) system is a complex and interconnected network of physical phenomena, encompassing heat transfer, evapotranspiration, precipitation, water absorption, soil water flow, substance transport, and gas exchange. These processes govern the exchange of energy and water within the SPAC system. Modeling the SPAC system involves multiple disciplines, including hydrology, ecology, and computational science, making a physically based approach inherently interdisciplinary for capturing the complexity of the system.
The present study introduces the Soil–Plant–Atmosphere Continuum Estimator in GEOframe (GEOSPACE), a new ecohydrological modeling framework, in particular its one-dimensional development, GEOSPACE-1D. GEOSPACE leverages and extends selected components from the GEOframe modeling system, while also integrating newly developed modules, to comprehensively simulate water transport dynamics in the SPAC system. The framework of GEOSPACE-1D is a tool designed to facilitate robust, reliable, and transparent simulations of SPAC interactions. It embraces the principles of open-source software and modular design, aiming to promote open, reusable, and reproducible research practices. Instead of relying on a single monolithic model, we propose a component-based modeling approach, where each component addresses a specific aspect of the system. Object-oriented programming (OOP) is adopted as the foundational framework for this approach, providing flexibility and adaptability to accommodate the ever-changing nature of the SPAC system. This compartmentalization serves two critical purposes: validating individual processes against analytical solutions and facilitating the integration of novel processes into the system.
The paper emphasizes the significance of modeling the coupling between infiltration and evapotranspiration through two “virtual” simulations based on real-world input data from the “Spike II” experiment to explore the interplay between plant transpiration, soil evaporation, and soil moisture dynamics, highlighting the need to account for these interactions in SPAC models. Overall, GEOSPACE-1D represents an approach to SPAC modeling providing a flexible and extensible framework for studying complex interactions within the Earth's critical zone. It is worth recalling that the fundamental premise of GEOSPACE-1D is not to create a single soil–plant–atmosphere model but to establish a system that allows the creation of a series of soil–plant–atmosphere models adapted to the specific needs of the user's case study.
1 Introduction
The soil–plant–atmosphere continuum (SPAC) encompasses a wide range of interconnected physical phenomena, including heat transfer, evapotranspiration, precipitation, water absorption and infiltration, soil water flow, substance transport, and gas exchange, all of which influence the exchange of energy, matter, and water among these three compartments . A variety of formulations for the underlying physics of these processes are currently debated, including soil–root interactions , alternative formulations for plant hydraulics , constraints imposed by water-limited availability (water stress) and their combinations , the characterization of soil properties in the presence of roots , and coupling plant behavior with atmospheric transport . Additional discussions include the statistical description of plant canopies , individual plant traits , and the interactions between trees, soil microbiology , and atmospheric processes . Depending on specific objectives and the temporal and spatial scales of analysis, various simplifications of these processes are often employed .
Given the complexity of the SPAC domain, numerous modeling approaches have been developed. These include physically based models (PBMs) and those leveraging statistical learning techniques, such as machine learning (ML) . Traditional PBM-based land surface models, widely used in hydrology and agronomy, often employ simplified governing equations, such as the Penman–Monteith equation or the Priestley–Taylor approach . More advanced types of SPAC models include SVAT (soil–vegetation–atmosphere transfer) models and LSMs (land surface models). While SVAT models focus on vegetation-related processes and LSMs cover a broader range of processes, the distinction between these categories is not always clear-cut . For a comprehensive model overview, we recommend for LSM comparisons, for process-based model capabilities, and for Earth system modeling perspectives. Additional valuable references offering complementary perspectives include , , , , and . These references collectively indicate that achieving a deeper understanding and accurate modeling of SPAC interactions requires highly interdisciplinary approaches which, in our assessment, necessitates moving beyond the traditional notion of “model”.
To address the implementation challenges arising from the complexity of SPAC processes and the diversity of possible solutions, the literature advocates dividing software into self-contained, independent components interconnected through a supporting software layer. This approach, known as “modeling by components” (MBC), has been in use for over 40 years and was initially developed to integrate knowledge across disciplines . In recent decades, MBC has gained significant importance within environmental modeling . Notable MBC implementations in hydrology and meteorology include frameworks as TIME , CSDMS , ESMF , OMS , and RAVEN . A more extensive list can be found in .
True MBC systems adopt a service-oriented architecture (SOA) , which facilitates the integration of heterogeneous data sources. SOA frameworks are inherently scalable, designed to operate across diverse machines and architectures, and are fundamental to the infrastructure of the digital Earth . By abstracting computational details, SOA enables users to focus on modeling rather than the complexities of the underlying computational engines. Despite the advantages of MBC concepts, practical implementation remains challenging. It often requires programmers to adopt new workflows and habits. The OMS framework has explicitly addressed these challenges, bridging the gap between conceptual elegance and practical usability . These frameworks aim to meet broader scientific needs while adhering to good scientific practices, as outlined in .
To our knowledge, no existing SVAT models or LSMs implement a true MBC structure, although some exhibit highly modular software organization. Beyond leveraging MBC, incorporating internal modularity through object-oriented programming (OOP) principles is equally important, as emphasized by and . OOP promotes code reuse, improves readability, and enhances efficiency and scalability. Moreover, employing appropriate levels of abstraction, as theorized by , enhances model adaptability and reliability while minimizing the need for modifications to existing code.
These principles, which we have found inadequately implemented in previous modeling efforts, have guided the development of a new ecohydrological modeling framework within GEOframe, GEOSPACE, the Soil–Plant–Atmosphere Continuum Estimator in GEOframe, which we present in this paper. This software platform integrates MBC concepts with OOP principles to transcend traditional modeling paradigms, focusing on the interactions and feedback mechanisms within the SPAC. The MBC approach maintains complete control over code evolution while creating a unified framework applicable to ecohydrological, agrometeorological, and hydroclimatological communities. In developing GEOSPACE, we have prioritized strict adherence to FAIR principles (findable, accessible, interoperable, and reusable) to ensure openness and availability. Additionally, we address specific algorithmic limitations identified in similar software, particularly regarding inadequate treatment of transitions between saturated and unsaturated conditions and the implementation of appropriate numerical solvers. The GEOSPACE framework functions as an integral component of the GEOframe system, and it uses some of the components available in GEOframe to simulate the water transport in the continuum SPAC, thus being the ecohydrological model of GEOframe. GEOframe is an open-source, component-based hydrological modeling system . Rather than being a single model, GEOframe is a modular framework, where each part of the hydrological cycle is implemented in a self-contained building block, an OMS3 component . Models available in GEOframe cover a wide range of processes, including geomorphic and DEM analysis, spatial interpolation of meteorological variables, radiation budget estimation, infiltration, evapotranspiration, runoff generation, channel routing, travel time analysis, and model calibration. It allows users to build custom modeling solutions to address various hydrological challenges. The GEOSPACE framework presented here was developed by composing and extending existing GEOframe components, WHETGEO (Water Heat and Transport) , GEOET (EvapoTranspiration), and BrokerGEO, to simulate complex soil–vegetation–atmosphere interactions in the critical zone. While GEOSPACE builds upon existing components in GEOframe, this work contributes three main innovations: (i) the development of GEOET, a new evapotranspiration module evolved from the established ETP-GEOframe component ; (ii) the implementation of BrokerGEO, a new coupler component enabling the dynamic interaction between evapotranspiration and infiltration processes; and (iii) the extension of WHETGEO to allow modular and seamless coupling with GEOET and BrokerGEO. These contributions represent both algorithmic and structural advances over previous models, such as the monolithic GEOtop framework , and establish GEOSPACE as the ecohydrological core of GEOframe.
This paper is organized as follows: Sect. 2 provides an overview of the GEOSPACE system and its hierarchical software architecture. Sections 3, 4, and 6 introduce its main components: WHETGEO, GEOET, and BrokerGEO. Section 5 discusses the implementation of the stress function, addressing evapotranspiration constraints caused by water scarcity or other environmental factors. Each section follows a similar structure and includes a concise overview of the mathematical equations employed and relevant software implementation details. Readers less interested in the informatics can skip the latter portions of these sections. Section 7 presents two “virtual” simulations based on real input data to showcase the potential applications and capabilities of the coupled system of GEOSPACE-1D and verify its correct functioning. In addition, a dedicated subsection describes general model inputs and outputs in detail. Finally, Sect. 8 describes the availability of the code, executables, training materials, and fair use conditions and concludes the paper.
While this paper does not delve into the rationale behind the implemented physics, which is addressed in other contributions, it focuses on software organization and the integration of components into a cohesive modeling solution. This approach, by introducing feedback mechanisms, transcends traditional modeling paradigms to become more than a single model with boundary conditions . Appendices provide technical details, and the Supplement includes notebooks for data preparation, output visualization, and video tutorials.
2 GEOSPACE-1D system overview and its perceptual model
The framework presented here, the Soil–Plant–Atmosphere Continuum Estimator in GEOframe (GEOSPACE), is an ecohydrological framework within the GEOframe system. It is designed to simulate interactions within the soil–plant–atmosphere continuum and analyze processes occurring in the Earth's critical zone (CZ) . GEOSPACE-1D models the mass and energy budgets as well as water flow along a soil column, accounting for water uptake by vegetation as evapotranspiration flux (ET).
As outlined in the Introduction, the framework offers multiple alternatives for simulating key physical processes (e.g., evapotranspiration, stress factor computations, soil parameterizations) with varying levels of complexity and detail. This flexibility allows users to tailor the model to their specific case studies, compare different formulations, and easily add new features. Such modularity enhances the reliability of modeling solutions by enabling the integration of appropriate components. The component-based structure of GEOSPACE-1D also improves software robustness and facilitates third-party testing and inspection. Moreover, the software is open-source and adheres to modern software engineering practices . The OMS3 workflow is recorded in “.sim” files, ensuring that any deterministic simulation can be precisely replicated. GEOSPACE-1D prioritizes the development of reliable, robust, and replicable models, as emphasized in . Its flexibility allows for varying degrees of realism by selecting or developing components aligned with modeling objectives and advancements in research.
Based on the principles of , the implementation of the basic equations of GEOSPACE-1D is abstract. The equations describing the processes inherit from a common interface, following the principle of “programming to interfaces, not to concrete classes”. These equations are organized into libraries that streamline the implementation of partial differential equations (PDEs), ordinary differential equations (ODEs), and other equation types with flexibility and minimal effort.
While the ultimate goal is to comprehensively cover all compartments of the SPAC, this paper primarily focuses on water and energy exchanges between soil, plants, and the atmosphere, with a reasonable treatment of canopies. The GEOframe system already includes a wide array of ODE-based models for some of these exchanges. However, GEOSPACE-1D specifically incorporates PDEs, particularly for the soil compartment. It features a robust implementation of the Richards–Richardson equation for 1D soil water flow and extends the Penman–Monteith approach for transpiration . Additionally, ancillary components have been developed for radiative transfer based on and and for coupling the water budget with the energy budget and solute transport in the soil.
GEOSPACE-1D comprises a coupled model consisting of three primary components: WHETGEO, GEOET, and BrokerGEO. WHETGEO, Water Heat and Transport in GEOframe , solves the conservative form of the Richardson–Richards equation using the Newton–Casulli–Zanolli algorithm and also implements a numerical solution to solve the transport equation by adopting the algorithm presented in .
Figure 1GEOSPACE-1D cycle path: presented graphically (designed by Concetta D'Amato) is the cyclic operation of GEOSPACE-1D, highlighting the crucial linkage among its three components. This feedback mechanism plays a key role in ensuring the mass and energy balance throughout the system.
[Figure omitted. See PDF]
GEOET (GEOframe EvapoTranspiration) is a suite of models that is designed to implement different formulations of ET, from the simplest Priestley–Taylor (PT) formula to the complex computation of the energy budget at the canopy scale, as described in .
Currently, GEOET, in addition to PT, incorporates the Penman–Monteith FAO model (PM-FAO) and the GEOframe–Prospero model . It is also designed to integrate more complex models that account for plant hydraulics, as implemented according to . The presence of multiple models for computing evapotranspiration within a unified framework enables a comprehensive comparison of models and parameterizations, as they can leverage common auxiliary components. This possibility also meets the needs of users by offering a selection of modeling approaches of different levels of complexity, allowing users to choose according to their specific needs and available data. GEOET is also designed to implement the multiple water and environmental stress functions which are currently based on the Jarvis model and the Medlyn stomatal conductance model . Furthermore, GEOET models depth growth and root density functionally to understand soil–plant interactions in the process of root water uptake.
Finally, BrokerGEO is the coupler that allows the exchange of data between the other two components in memory, and it splits evaporation () and transpiration () between the control volumes in which the soil column is discretized.
The operational flow of the model follows a cyclic pathway, as illustrated in Fig. . Starting with WHETGEO-1D, GEOSPACE-1D computes the water suction for each control volume within the soil column. This information, integrated into the GEOET-StressFactor modules (further described in Sect. ), plays a crucial role in determining the reduction in ET for each control volume, which is then consolidated into a global water stress factor value.
Furthermore, the GEOET-StressFactor modules incorporate additional reductions in ET associated with environmental variables, including air temperature, net radiation, and vapor pressure deficit, when necessary, in accordance with the selected method. The specific manner in which these stress factors are utilized varies depending on the chosen method or ET model, as detailed in Sect. , with the objective of limiting water abstraction from the soil.
Subsequently, BrokerGEO is responsible for partitioning the global Actual EvapoTranspiration (AET) into the soil control volumes using a root functioning model. Finally, an iterative process begins, during which WHETGEO, informed by the water evapotranspired from each control volume, recalculates the soil water potential, ensuring the conservation of both mass and energy budgets.
General notes about the software organization of GEOSPACE-1D
The macro-conceptual structure of GEOSPACE-1D is mirrored in a hierarchy of software entities. At a higher level are the OMS3 components . OMS3 is a component-based environmental modeling framework that empowers developers to create distinct components for individual modeling concepts. These components can be, in principle, executed and tested independently, thus establishing what could be called a secondary level of concern. A graphical example of a component is illustrated in Fig. . Each input parameter is sourced from a reader component or another component if derived from some modeling, while each output parameter is handled by a writer component. This setup facilitates straightforward management of data formats, streamlining the process for ease of use. Leveraging the modularity of OMS3, GEOSPACE-1D components integrate at runtime by connecting them with the OMS3 DSL based on Groovy (
A pictorial representation of the Prospero OMS3 component with most of its inputs and outputs.
[Figure omitted. See PDF]
The GEOSPACE-1D system depicted in Fig. consists of three main interconnected parts, each comprising a set of related components. WHETGEO actually has multiple variants, each distinguished by unique capabilities outlined in . More intricate is the GEOET, comprising five distinct components, each tasked with specific functions such as stress factor estimation, root modeling, soil evaporation estimation, and transpiration computation using, in this case, the Prospero model. Alternatively, a single component can replace the latter two and the one estimating the total evapotranspiration by employing, for instance, the Priestley–Taylor formula to estimate comprehensive evapotranspiration values. BrokerGEO employs two components in its connector role. The arrows denote variable flow among components, with thickness reflecting the volume of exchanged variables. For a comprehensive understanding of the complete workflow, we direct readers to examine the simulation configuration files provided in the Supplement, particularly the
OMS3, beyond the components, offers essential services, including tools for calibration and implicit parallelization of component runs. Further insights into the framework are available in the Supplement.
Figure 3Here is an illustration of a simplified configuration in GEOSPACE-1D, focusing on component organization. We have omitted the components responsible for file I/O. One of the components, WHETGEO, exemplifies the various possibilities, differing in whether they account for the influence of the energy budget on flow. The simulations, as described in the text, begin with the WHETGEO component and progress according to the directional flow indicated by the arrows. The thickness of each arrow represents the number of variables exchanged between components, providing a visual indication of data transfer magnitude between system elements. For complete information on the workflow, please refer, for instance, to
[Figure omitted. See PDF]
Deeper within the software, written in Java programming language, it is organized into
A few software engineering choices were made and are characteristic “patterns” of the programming in GEOframe. Classes represent the finer programming level. In fact, internally, GEOSPACE-1D is coded with the Java language by organizing the various classes between interfaces and abstract classes. This adheres to the object-oriented principle “program to interfaces, not concrete classes”, facilitating the creation of scalable and maintainable software solutions. As stated earlier, reusability of the Java code is one of the prerogatives of the model. Therefore, we have adopted a generic programming approach of decoupling the concrete data representation from the algorithm implementations by balancing it with specific approaches to improve the computational efficiency of the software. Because of these special programming structures, “patterns” are often used. In particular, the so-called
Because we are mostly interested in the implementation issues in this paper, we acknowledge a crucial aspect for facilitating information exchange between the soil and atmospheric compartments, which is how the data classes, i.e., the Java classes that manage the data quantities, are defined. These include the following.
These data classes serve as data containers and are managed distinctively from conventional OOP practices but similar to traditional scientific programming. They are mutable singleton static classes, instantiated once and serving as repositories for data updated at each time step. Further elaboration on these classes will be provided in the following sections.
3 WHETGEO
The first pillar of the GEOSPACE-1D modeling system is WHETGEO . Its 1D deployment, WHETGEO-1D, is a new physically based model simulating the water and energy budgets in a soil column. It solves the conservative form of the Richardson–Richards equation, , using the Newton–Casulli–Zanolli (NCZ) algorithm and also implements the numerical solution to solve the advection–dispersion equation by adopting the algorithm presented in , currently applied to the heat transport. More comprehensive information about WHETGEO can be found in , , and .
WHETGEO delves into infiltration and soil moisture dynamics that have cascading effects on various aspects of the environment, water resources, accurate water balance estimation, aquifer recharge prediction, and flow patterns.
For what regards evaporation, it is well-established that plant productivity is significantly influenced by the patterns of soil moisture dynamics . Soil moisture deficit, in particular, reduces plant water potential, inducing water stress, which can lead to dehydration, loss of turgor, xylem cavitation, stomatal closure, and a decrease in photosynthesis . At the same time, it is an oversimplification to model soil moisture dynamics without considering transpiration, which constitutes a significant portion of the water budget. The relationship between soil moisture and evapotranspiration is a crucial component for accurately representing soil water balance. Regardless of the specific ET model used, it is the amount of water extracted from the soil at various depths by plant roots . These roots are capable of absorbing substantial amounts of water, significantly altering the distribution of the water column.
An approach to include the evapotranspiration flux within the soil moisture dynamics is to add a sink term representing water extraction by plant roots in the equation, obtaining a modified one-dimensional continuity equation : 1 where the forces acting are gravity [] and the matric potential []. In Eq. (), [] is the hydraulic conductivity, [–] is the dimensionless volumetric water content, [] is the gradient operator, [] is the vertical coordinate, positive upward, is the water extraction function [], and [] is the water redistribution function by roots. The function represents water extraction by plant roots and can depend on space, time, root density distribution, water potential, water content, or a combination of these variables . [] is the specific storage coefficient, defined as 2 with [] being the water density, [] the gravitational acceleration, [] the soil porosity, [] the liquid compressibility, and [] the soil matrix compressibility.
highlight the impracticality of modeling water transport in soil with complex root systems considering flow to individual rootlets. Precise root geometry is hard to measure and varies over time. Additionally, root water permeability changes along their length, noted by . Consequently, the extraction function is treated with simplified models which adopt a macroscopic, not microscopic, approach, which is actually computed by the BrokerGEO components (described in Sect. ).
Like source term models, the roots themselves are capable of redistributing water between different soil layers , but the modeling of the source term is not under scrutiny in this paper.
Extension of the Richards solver, i.e., on the RichardsRootSolverMain
The algorithmic concepts of WHETGEO are comprehensively described in , but here, we summarize only those aspects related to the extension we made for allowing the connection with GEOET and BrokerGEO.
In WHETGEO, the column of soil is discretized in layers, which are parts of the soil column with the same soil type, and control volumes, which are finite-volume elements, in which the equation is solved. Each control volume is characterized by geometrical quantities grouped into a parameter set, which contains all the parameters controlling the flow dynamics and defining the form of the equations to be solved. These parameters are specific to each control volume. All of this information is stored in the grid file and, once read, is stored in the
A more detailed examination of Fig. reveals that
UML class diagram for the
[Figure omitted. See PDF]
The first class that has been added is the following.
A closer inspection of Fig. reveals that the
While the present deployment of GEOSPACE works in a 1D column, it is ready to manage the more complex topologies of 2D or 3D future versions of the system.
The relationship between the classes
The class involved in solving Eq. () considering the amount of water removed by evapotranspiration is the concrete class,
The
UML class diagram of the
[Figure omitted. See PDF]
4 GEOET
The process of plant transpiration propels the exchange of water and energy between the Earth's surface and the atmosphere . This phenomenon significantly impacts the uptake of carbon by the ecosystem and also plays a pivotal role in determining how rainfall infiltrates into the soil and the moisture profile dynamic. In fact, the interaction between soil evaporation and plant transpiration is not merely a sum of physical processes but is influenced by feedback mechanisms. As plants transpire, they create a suction that draws moisture from the soil into their root systems, thereby influencing the rate of soil evaporation. Conversely, soil evaporation can reduce the available moisture for plant roots, impacting their ability to transpire effectively. This dynamic coupling shapes the moisture profile within the soil, significantly changing the overall water availability for the soil and vegetation and for the entire hydrological cycle.
The GEOET system incorporates three evapotranspiration models, as illustrated in Fig. . In the following the formulas that implement them are reported for readers' convenience. First comes the Priestley–Taylor one , secondly the Penman–Monteith FAO , and lastly the Prospero model . As described in Appendix , Prospero solves the stationary energy budget coupled with water vapor transport and sensible heat transport using a zeroth-order approximation, incorporating information derived from the Clausius–Clapeyron equation. A comprehensive step-by-step derivation of the solution method is presented in , which also addresses its current limitations and discusses potential enhancements. While the envisioned improvements are not yet implemented in the current GEOSPACE design, the software architecture has been carefully structured to accommodate future implementation of these and other advanced features.
The Priestley–Taylor ET estimator
The Priestley–Taylor model component (PT) is based on the formula 3 where is an empirical coefficient relating actual evaporation to equilibrium evaporation, is the slope of the saturation vapor pressure and air temperature curve [kPa °C−1], is the psychrometric constant [kPa °C−1], is the net radiation [W m−2], and is the ground heat flux [W m−2].
The implementation of this formula is relatively straightforward, although the radiation term requires a more detailed and careful evaluation. Further information about this equation can be found in Appendix .
The Penman–Monteith FAO estimator
The second model presently implemented is the Penman–Monteith FAO approximation (PM) , an adaptation of the Penman–Monteith model, as outlined in the following equation : 4 where ET0 is the reference evapotranspiration [mm d−1], is the net radiation at the crop surface [MJ m−2 d−1], is the soil heat flux density [MJ m−2 d−1], is the mean daily air temperature at 2 m height [°C], is the wind speed at 2 m height [m s−1], is the saturation vapor pressure also known as vapor pressure at the dew point [kPa], [kPa] is the actual vapor pressure, [kPa] is the saturation vapor pressure deficit, and [kPa °C−1] is the derivative of the Clausius–Clapeyron formula.
In terms of computational complexity, these models are relatively straightforward. Both PT and PM are equipped with dedicated packages housing their respective core Java classes for solving the equations,
Specifically, to ensure that users do not input more information than necessary or provide data unrelated to their chosen method, we differentiate between solvers for calculating potential evapotranspiration (without stresses) and actual evapotranspiration (with the possibility to select among the various type of stresses).
The Prospero model
The Prospero model is a physically based approach for calculating transpiration as detailed in . The transpiration, , is considered for the sunlit and shaded fractions of the canopy while the soil evaporation, , is estimated using the residual radiation hitting the soil. , at present, is determined according to the FAO Penman–Monteith model, i.e., . Meanwhile, is computed using the Prospero model that implements a modified version of the Schymanski and Or (SO) model , which has been upscaled to address canopy-level transpiration and ensure mass conservation during periods of water stress.
This model returns not only an estimate but also the sensible heat and vapor pressure gap , besides the temperature of the leaves, . The latter variable is the key for obtaining the others, as below: 5 where is the net radiation, represents the sides of surface exchanging sensible heat and longwave radiation (equal to 1 for single-layer exchange, 2 for two-layer exchange such as leaves [–]), is the transpiring surface for a unit of ground surface [–], [–] is the leaf emissivity, [] is the Stefan–Boltzmann constant, represents the sides of surface exchanging latent heat (equal to 1 for hypostomatous and 2 for amphistomatous [–]), is the stomatal conductance [], and are the saturation water vapor pressure and the water vapor pressure, respectively, is the total conductance for water vapor evapotranspiration transport [], and is the total conductance for the sensible heat transport [].
It is assumed that the right-hand-side terms in Eq. () are all known. Furthermore, the water pressure gap is estimated as follows. 6 The transpiration is calculated as 7 Finally, the sensible heat is computed as 8
For further information on these formulas or solutions, please refer to , , or .
4.1 The GEOET informatics organization
The evapotranspiration component, GEOET, developed as part of this paper, is based on its precursor, the GEOframe-ETP model , whose original source code is available at
The new version of the code thus allows the physical processes of evapotranspiration to be analyzed individually and also in conjunction with the infiltration process. To obtain this, as shown in Fig. , all the evapotranspiration models were separated into packages of classes with specific tasks. Furthermore, depending on the model's complexity, each package is hierarchically organized into additional packages and classes. Each class is designed to perform a singular task and strives to be as self-contained as possible. This design not only ensures that each class operates independently but also shields the user from the need to provide inputs or information unrelated to the specific model they are utilizing.
Figure 6The GEOframe ET original packages, constituting ETP-GEOframe (on the left), and the new packages (on the right) containing in GEOET. This refactoring was necessary to accommodate multiple options for estimating the water stress factor, to incorporate a more sophisticated radiation budget, and to integrate a model for root functioning.
[Figure omitted. See PDF]
The new packages include the following.
Besides the packages dedicated to ancillary shared tasks, packages were dedicated to containing the various algorithms for each of the evapotranspiration estimation models used.
The Priestley–Taylor formulation of ET is implemented in the
The Penman–Monteith FAO model is implemented in the
The Prospero model is more conceptually and computationally complex than the other two models and, as can be seen in Fig. , is split into various packages. The relative packages are named
A specialized package has been developed exclusively for estimating the soil evaporation, designated as
Enclosed within the
4.1.1 How to add a new model?
A primary objective in the software engineering of the GEOSPACE system was to enable feature expansion through class addition rather than code modification, adhering to the open–closed principle of object-oriented design. By following the OOP and generic programming principles of GEOSPACE-1D, integrating a new model component, either a solver or a new stress function, into the existing code base becomes, in fact, straightforward. To illustrate that this feature can actually be applied to any part of GEOSPACE, consider the introduction of a new stress model. To incorporate it, a concrete class is created within the
The newly created class,
5 About the stress factor models and their deployment
As highlighted in the Supplement, the modeling of stomatal conductance, often referred to as the “vegetation stress factor”, is a central subject of debate within the scientific literature. This contentious issue has spurred the emergence of multiple theoretical frameworks, each trying to provide a comprehensive understanding of this intricate physiological process .
It is essential to have a computer modeling framework that facilitates the integration of emerging theories without compromising the integrity of the current code. This capability of GEOSPACE-1D ensures that it can adapt in harmony with new research advancements, thereby enhancing the resilience and relevance of its computational framework.
The scientific literature reveals two primary families of parameterizations governing leaf conductance , the Jarvis model and the Ball–Berry one , and it is pivotal to create an informatics infrastructure capable of implementing both these formulations. To achieve this, we constructed an adaptable set of packages:
The forthcoming implementation we are detailing must seamlessly function with both the GEOET model independently and when integrated with GEOSPACE-1D. In each scenario, it should have the flexibility to accommodate different stress factor models. This abstraction is essential as stress factor data pertaining to each control volume are not only crucial for GEOET but also necessary for BrokerGEO and WHETGEO within the GEOSPACE-1D framework. So far, two stress parameterizations have been implemented, the so-called Jarvis model and the Medlyn stomatal conductance model .
5.1 The Jarvis model for stresses
As described in the Supplement, the Jarvis model implemented in GEOET follows the formulation proposed by and , where stomatal conductance is given by
9
Here, the stress reduction functions account for photosynthetically active radiation (PAR) , air temperature , vapor pressure deficit , and leaf water potential . All details about the functional forms used for each are provided in the Supplement, and their implementation is available in the
As regards the water stress, despite the wealth of literature, in a considerable number of soil–plant models, water availability directly depends on rather than on . Following what was done in the precursor GEOframe-ETP model , we maintained the FAO water stress factor (Appendix ) and a new formulation was added as a function , the “fraction of transpirable soil water” (FTSW), to be used in the Jarvis model (Eq. ). The formula itself is a representation of the relationship between soil moisture content (), wilting point (), and field capacity (), and it is commonly used to assess plant water stress and to make decisions related to irrigation management and water conservation. The Java class involved in the computation of the FTSW is the
The value derived from the WHETGEO model, and likewise the parameters and , is customized for each control volume, as it is the user's choice to discretize the soil column and determine the number of layers and associated parameter values. Consequently, the values of and are specific to each individual soil layer and, by extension, to all the control volumes containing them.
5.2 The Medlyn model for stresses
The Medlyn model is part of the Ball–Berry–Leuning (BBL) family of models , and it has been modified in various ways since the original paper. For instance, in the form given to it is 11 where is the Ball–Berry–Leuning conductance, is the value of at the light compensation point, and are empirical coefficients, is the net leaf CO2 assimilation rate, is the CO2 concentration at the leaf surface, is the CO2 concentration at the compensation point, and finally is the water vapor pressure deficit.
An interesting form of the BBL was obtained in , under the hypothesis of optimal photosynthesis theory, which is 12
Equation () has been integrated into the GEOSPACE-1D framework simply by adding a class,
5.3 Estimating the global stress on the basis of local stresses
Given the discretization of soil into multiple layers within GEOSPACE-1D, it becomes imperative to establish a method for distributing total stress estimates based on local stresses and reciprocally allocating transpiration demands across these soil layers. The mechanism through which soil moisture is transported into plants, thereby facilitating , is primarily via the roots . Hence, despite its simplicity, the introduction of a root functioning model is essential. Within GEOSPACE-1D, root models are integrated into GEOET through the following.
Eventually, at this point, the information derived by the root models can be used to estimate the total stress acting on the plants. GEOET implements three ways to estimate the global stress called the average water stress factor, the size-weighted stress factor, and the root-density-weighted water stress factor, which are briefly described below.
The average water stress factor is implemented in the
The size-weighted water stress factor is implemented in the
It is specified that the sum of the size of the control volumes affected by the root system coincides with the depth of the roots themselves.
The root-density-weighted water stress factor is implemented in the
In this case the sum of the root density in each control volume affected by the root system coincides with the total root density in the root zone .
5.4 Informatics: factory pattern for stress estimator
The many parameterizations in the literature for the calculation of the stomatal conductance, as well as the numerous formulations that can be used for the computation of a representative stress factor value, pose precisely the problem of how to implement a structure that is flexible to current and future changes. To do this, we relied on the potential of the design, i.e., the simple factory pattern . If we consider the case of the computation of the representative water stress factor value, we practically need different subclasses that implement several methods with the possibility for the user to choose one of these classes and also add new method in the future. Indeed, employing the simple factory pattern enables the encapsulation of object creation logic within the factory class.
Figure 7UML class diagram for the Java simple factory applied for the choice of the representative water stress factor computation model. The
[Figure omitted. See PDF]
As shown in Fig. , the
A closer inspection of Fig. reveals that the
In the context of computing water stress within each control volume, an abstract and factory class framework was developed, like the one just described, using the Java classes
6 BrokerGEO actions and packages
It is important to note that the ET (or ) flux drawn from the soil from each control volume estimated by GEOET is subject to a water stress which depends on the existing water content estimated by WHETGEO, establishing a feedback between the two software components. To implement the feedback, BrokerGEO distributes the evaporative demand among the soil control volumes. The three methods implemented below mirror the methods used to obtain the global water stress factor in GEOET for any time step.
Average water-weighted method16
Size water-weighted method17
Root water-weighted method18
6.1 BrokerGEO informatics
BrokerGEO is an independent OMS3 component used in GEOSPACE-1D to connect WHETGEO-1D to the four different evapotranspiration models of GEOET. The BrokerGEO 1.3.9 version is mainly composed of three packages shown in Fig. :
The
IT software structure of BrokerGEO v1.3.9: packages and classes.
[Figure omitted. See PDF]
In the UML diagram depicted in Fig. , the package comprises two key solver classes: firstly,
UML class diagram for the
[Figure omitted. See PDF]
Upon a more detailed examination of Fig. , it becomes apparent that the connection between the solver classes, specifically
At the bottom of the programming chain, three classes are responsible for implementing the three equations (Eqs. , , ):
6.2 BrokerGEO factory pattern
Given that multiple methods for partitioning evapotranspiration (ET) can be employed, with the potential for the introduction of new methods in the future, the most adaptable design choice for the IT architecture of BrokerGEO was the simple factory pattern .
As shown in Fig. , the
The connection between the SplitterETsFactory class and the SplitterETs class is established through the createEvapoTranspirations method. This method enables the factory to produce instances of SplitterETs and its subclasses based on the type string that the user may specify as input to choose which model to use, and the corresponding method is returned.
Figure 10UML class diagram for the Java simple factory applied for the choice of the splitter evapotranspiration method. The
[Figure omitted. See PDF]
Since BrokerGEO operates as an autonomous OMS3 component, all the implemented numerical methods are capable of partitioning a reference flux. This reference flux may represent simple evaporation, transpiration, or the entire evapotranspiration flux.
7 Unveiling GEOSPACE-1D capabilities on practical applications
To demonstrate the capabilities of the model, we present two “virtual” simulations: the first is called the “baseline simulation” (BSL), which simulates the coupled dynamics of infiltration and evapotranspiration, while the second one focuses only on the infiltration process. The simulations are not intended to investigate a particular experimental setup, which would require a longer paper and is an open a topic better addressed in dedicated research. Instead, these simulations serve as a proof of concept, demonstrating that the system functions correctly without integration errors across all tested conditions. This represents only a small subset of the comprehensive simulations performed by the authors to evaluate GEOSPACE's robustness. Water budget closure was verified for all simulations, with supporting documentation provided in the Supplement. All the simulations are readily available in the Supplement, which contains a series of Jupyter notebooks that allow re-executing them and inspecting their results more deeply.
The BSL simulation was done by forcing the model with the input data of the 2-month dataset from the “Spike II” experiment, whose forcings are shown in Fig. . A comprehensive description of the experiment is reported in , , and .
Figure 11Time series of the dataset from the “Spike II” experiment provided by the meteorological station (MeteoMADD, MADD Technologies Sàrl, Switzerland). The data have been accurately aggregated on an hourly scale to be used as input for the simulation with the GEOSPACE-1D model.
[Figure omitted. See PDF]
The “Spike II” BSL can be described as a one-dimensional simulation of a homogeneous column of soil of 2.5 m depth with a plant of height of 3.5 m, i.e., a willow. The soil column was discretized with a uniform grid space of 250 control volumes, and we carried out an hourly time step simulation. The soil hydraulic properties are described with the Van Genuchten model (Table ), and most of them are taken from the work of . The initial condition is assumed to be hydrostatic with m at the bottom. The surface boundary condition is the rainfall and irrigation shown in Fig. a. WHETGEO-1D includes a surface water coupled model, which allows the formation of surface ponding, so the surface boundary condition may change from the Dirichlet type – prescribed water suction – to the Neumann type – prescribed flux – and vice-versa, according to the occurring process. At the bottom of the column, we prescribed a free drainage boundary condition with a gravity-driven transient.
Table 1Summary of the main settings for the baseline simulation: this table presents key parameters and configurations utilized in the baseline simulation.
| Soil column depth | 2.5 |
| No. soil types | 1 |
| No. control volumes | 250 |
| Time step simulation | hourly |
| Initial condition | Hydrostatic with = 0 m at the bottom |
| Top boundary condition | Top coupled |
| Bottom boundary condition | Free drainage |
| Canopy height | 3.5 |
| LAI | 2.5–4 |
| Root depth | 2 |
| Root density | Willow “Spike II” experiment |
| Type of stress applied | Water stress |
| RootDensityWeightedSF | |
| AverageSF | |
| Transpiration splitter | RootWaterWeightedMethod |
| Evaporation splitter | AverageWaterWeightedMethod |
Hydraulic properties of the soil column for the baseline simulation.
| [–] | [–] | [–] | [–] | [] | [–] | [] |
For the evapotranspiration model, we utilized the GEOET–Prospero model, driven by the input data shown in Fig. . Our analysis focused on a plant of height of 3.5 m, with leaf area index (LAI) linearly varying from 2.5 to 4 m at the beginning and end of the simulation, respectively. As root depth and density parameters we used the “Spike II” experiment measurements of the willow, and they were kept constant throughout the simulation. Finally, among the Jarvis stresses only the water stress is considered, excluding all environmental stresses, and the representative water stress factor for transpiration is computed with the root-density-weighted method. The representative water stress factor for evaporation is calculated as the arithmetic mean of the stress values characterizing the depth of the evaporation layer, located 0.2 m from the soil surface. The partitioning of evaporation and transpiration between the control volumes is done by BrokerGEO using
Table provides a comprehensive overview of the settings employed in the baseline simulation. For further details, please refer to the dedicated folder available on the Zenodo repository and the original thesis .
Figure 12Comparison of soil water potential evolution under scenarios with and without evapotranspiration: panel (a) shows the precipitation–irrigation input over time. Panel (b) depicts the soil water potential () in the baseline simulation, which includes both infiltration and evapotranspiration. The plot displays depth in meters, with a color scale representing . The darker blue colors indicate increases in resulting from rainfall events and their subsequent propagation over time, typically in a downward direction. As depth increases and water potential decreases, infiltration rates slow down due to reduced soil hydraulic conductivity. This phenomenon is visually represented by the decreasing intensity of the darker signatures and their rightward curvature with depth. Panel (c) illustrates the temporal evolution of the soil water potential difference, defined as , where refers to the simulation with infiltration only and to the baseline simulation. A diverging color map centered at zero is used to represent values. Positive differences (blue) indicate higher in the infiltration-only case, while negative differences (red) indicate lower . These deviations primarily result from the absence of evapotranspiration in the infiltration-only simulation.
[Figure omitted. See PDF]
Figure 13(a) Soil water potential and (b) water content evolution with time at different depths in the baseline simulation. The data in these two figures are clearly related through the soil water retention curve. Notably, following certain rainfall events, soil saturation () is achieved, which is a condition that cannot be adequately handled by solvers less sophisticated than those implemented in GEOSPACE.
[Figure omitted. See PDF]
Figure b depicts the temporal evolution of the soil water potential of the BSL simulation following the rainfall event illustrated in Fig. a. Darker blue patterns indicate higher soil water potential, demonstrating a noticeable increase following irrigation or rainfall episodes. In the last events, saturation occurs, leading to surface ponding, eventually resulting in the formation of an infiltrating saturated front. The above situation is better clarified in Fig. where saturation is clearly generated at the surface (blue line) and quickly propagates in the soil down to m.
No instabilities along the simulation are visible, even when the systems move from unsaturated to saturated conditions and vice versa, and the mass balance closure is verified, with the error in the closure being around m as shown in the Supplement.
Figure 14(a) Evolution of soil water potential and (b) water content along the soil profile at various arbitrarily chosen times in the baseline simulation. The initial condition (depicted in black) is hydrostatic but evolves rapidly upon commencement of rainfall. The resulting evolution exhibits a distinct vertical pattern corresponding to the root distribution profile. At the lower portion of the profile, the final conditions are notably influenced by the free drainage boundary condition imposed at the bottom.
[Figure omitted. See PDF]
Figure 15(a) Evolution of soil water potential and (b) water content along the soil profile at various arbitrarily chosen times in a scenario without evapotranspiration. Under identical initial and lower boundary conditions as in the previous figure, this second simulation logically maintains a higher soil water content throughout the profile.
[Figure omitted. See PDF]
As depicted in Fig. , the GEOSPACE-1D outputs provide the necessary data to visualize water pressure and water content profiles at different time steps. This particular figure represents the scenario estimating the combined effects of infiltration and transpiration on soil moisture.
In the second virtual simulation, we replicated the baseline simulation while excluding the evapotranspiration process, thus following the development of the infiltration process in the soil column without evapotranspiration. The outputs of this simulation are in Figs. and c. In particular, Fig. serves as a visual comparison, illustrating the dynamics of infiltration without water extraction by the plant. The increased saturation of the soil column compared to the baseline simulation is particularly evident when comparing Figs. and .
For a more comprehensive analysis, Fig. c illustrates the temporal evolution of the soil water potential difference along the soil profile, defined as , where refers to the simulation with infiltration only and to the baseline simulation with coupled evapotranspiration. This comparison highlights how the exclusion of evapotranspiration processes significantly alters soil water dynamics. In particular, the absence of evapotranspiration results in higher soil water potentials over time, especially in the upper layers, where root water uptake and evaporation typically occur more intensively. These differences are amplified with increasing time elapsed since the last precipitation event, creating a cumulative divergence in the soil moisture profile. This divergence becomes less pronounced following new precipitation inputs, which temporarily reduce the evapotranspiration-induced differences by replenishing soil moisture across all simulation scenarios.
Although a comprehensive analysis of real-world cases exceeds the scope of this paper, our results clearly challenge the conventional “business as usual” simulation approach that estimates infiltration without adequately accounting for plant water uptake. The total bottom flux without evapotranspiration amounts to 602.31 mm, a stark contrast to the 180.09 mm observed in the baseline simulation, resulting in a 234.6 % increase in groundwater recharge.
Figure 16Evolution of the water stress factor along the soil profile at various arbitrarily chosen times in the baseline simulation. This information can support more accurate and efficient irrigation scheduling based on soil water availability.
[Figure omitted. See PDF]
Figure represents the evolution of the water stress in time and depth in the BSL. As said before, the root depth is considered constant in time but a time series describing the root depth growth could be provided as an input to the model, if available. The bulk stress factor can be easily estimated from the data provided and is shown in the Zenodo folder material . Unlike conventional modeling practices where irrigation is triggered based on soil water content or soil water potential measurements, GEOSPACE enables direct assessment of water stress levels at any soil depth. However, it is important to note that the current version of the software does not yet incorporate the phenomenon of hydraulic redistribution, whereby roots can redistribute water vertically through the soil profile.
Figure 17Radiation reaching the ground, given the prescribed LAI as input, in the baseline simulation. The decrease in radiation depends on meteorological conditions and the increase in LAI with time.
[Figure omitted. See PDF]
Solar radiation is measured in this experiment, but it undergoes filtration as it passes through the plant canopy, as described by the model presented in the Supplement. The remaining radiation, known as residual radiation, is depicted in Fig. , and it reaches the soil, where it is utilized to estimate soil evaporation using the PM-FAO model. The estimated soil evaporation and transpiration rates are then shown in Fig. .
Figure 18Evolution of transpiration (green) and evaporation (orange) fluxes with time in the baseline simulation. The observed increase in transpiration over time results from the concurrent increases in solar radiation approaching the summer solstice, vegetation leaf area index (LAI), and root system expansion.
[Figure omitted. See PDF]
User information: input and output
The GEOSPACE-1D system exhibits a modular structure, necessitating various inputs contingent upon the specific modules employed. Table summarizes the general inputs required for all components in GEOSPACE-1D. These simulation parameters, including the simulation's temporal parameters, are user-defined in the OMS3 .sim file.
In the context of WHETGEO, input data can be categorized into two main key components: time series and computational grid data (Table ). Time series data primarily serve to define the boundary conditions for the case study. These time series are encapsulated within .csv files specific for OMS3 format. Computational grid data encompass domain discretization, initial conditions, and terrain parameters, all stored in Network Common Data Form (NetCDF) files. The processing of time series and computational grid data is executed using specialized Python modules integrated into the
Specifically, the time series data for boundary conditions need meteorological information about precipitation, the presence of surface ponding, and the hydraulic condition at the base of the soil column. When addressing computational grid considerations, it is essential to specify the structure of the soil column, such as the soil horizons and hydrological/hydraulic parameters, or to employ literature data for saturated hydraulic conductivity, water content at saturation, residual values, and the water retention curve parameters (SWRC), as outlined in WHETGEO . Most of these soil parameters, implemented as default in WHETGEO, are available in , but any other dataset can be used as well by changing the appropriate configuration files.
The input data required by GEOET are time series of meteorological forcings that could be downloaded from online weather service portals. Specifically, the input data include time series of air temperature, wind speed, relative humidity, solar radiation, and pressure, but they depend on the evapotranspiration model used from those available (Table ). In the context of vegetation characterization, leaf area index data and canopy height, acquired from the literature or satellite sources, are fundamental for the computation of transpiration flux. Root depth () and density () have to be specified in the creation of computational grid data because their information is needed in each control volume. Additionally, parameters associated with stress factor calculations, such as the water content at wilting point () and field capacity (), can be readily sourced from available literature. Finally, the user has to specify which model to use to compute the representative water stress factor (Sect. ) and, accordingly, also the model to split evapotranspiration with BrokerGEO (Table ) as described in Sect. . The output data of GEOSPACE-1D depend on the model combination that we use. Table summarizes the GEOSPACE-1D outputs.
The WHETGEO model generates output data in NetCDF format. Nevertheless, these outputs (as well as the inputs) are managed separately by specifically designed OMS3 components, which handle the writing and reading processes. This separation ensures modularity and flexibility, allowing alternative writers and readers to be provided to adapt to different file formats as required.
For ease of reading, we provide users with extensively commented Python notebooks, through which all possible outputs of WHETGEO-1D can be accessed. Outputs include water suction [m], water content [–], Darcy velocity [m s−1], mass balance error, and others. If the heat transport model is used, the soil temperature is also outputted.
To date, GEOET results have been stored in OMS3 CSV files, and the type of output depends on the evapotranspiration model used in GEOSPACE-1D, as highlighted in Table . Specifically, if we consider Prospero for transpiration and Penman–Monteith for soil evaporation, the estimated output quantities are soil evaporation [L T−1], transpiration [mm T−1], latent and sensible heat flux [W m−2], leaf temperature [°C], water vapor deficit [–], and so on. For a complete description, please refer to the Jupyter notebook 00_Notebook of GEOSPACE-1D on the GitHub page (
It is important to highlight that a common challenge in conducting simulations is the scarcity of data required to perform them. For instance, obtaining data on root density can be difficult, and it is not always guaranteed that a study site will have a meteorological station providing all the necessary data outlined in Tables and . This is why GEOET offers both simple and complex evapotranspiration models. In cases where all the required data for complex models are not available, simpler models requiring fewer inputs can be utilized.
Taking Prospero again as an example, it is possible to encounter situations where only a few of the necessary inputs are missing. In such instances, default data from the model or data from existing literature can be used. In the context of evapotranspiration models, radiation is a critical input that must never be absent, as it serves as the primary driver. Similarly, when it comes to roots, while the depth of roots may be known, their density is often unknown. In such cases, one may opt for an arbitrary distribution or reconstruct it using data from the literature, or more users can use one of the root density growth methods implemented in GEOET. For more information please refer to .
Table 3General inputs required for all components in GEOSPACE-1D. These simulation parameters, including the simulation's temporal parameters, are user-defined in the OMS3 .sim file.
| Temporal resolution (minute/hourly/daily) | Start–end date | Point geographical location (long–lat–elevation) |
Input data for WHETGEO component, categorized into two main elements: time series and computational grid data.
| WHETGEO | |
| Time series | Top BC |
| Bottom BC | |
| Precipitation | |
| Computational grid data | Initial condition (, , , ) |
| Soil discretization (depth per each layer) | |
| Soil parameters (, , , , ) | |
| Soil parameters for SWRC |
Time series input data for GEOET component and a comparison of input requirements for different evapotranspiration models (Prospero, PM-FAO, and PT) in GEOET.
| GEOET | |||
| Input | Prospero | PM-FAO | PT |
| Air temperature [°C] | |||
| Wind velocity [m s−1] | – | ||
| Relative humidity [–] | – | ||
| Net radiation [W m−2] | |||
| Shortwave direct [W m−2] | – | – | |
| Shortwave diffuse[W m−2] | – | – | |
| Soil heat flux [W m−2] | |||
| Atmospheric pressure [Pa] | |||
| Leaf area index [–] | – | – | |
| Canopy height [m] | – | ||
| Model to compute (Sect. ) |
Overview of key inputs within the BrokerGEO model: the algorithm for computing reference evapotranspiration (ETref,i) and details about the computational grid and the reference flux (evaporation, transpiration, or evapotranspiration) to be split.
| BrokerGEO |
| Model to compute ETref,i (Sect. ) |
| Computational grid information |
| Reference flux to be split (ET) |
GEOSPACE-1D model outputs: hydrological and meteorological variables between WHETGEO output (NetCDF) and GEOET output (.csv).
| WHETGEO output (.nc) | aWater suction [m] | ||
| aWater content [–] | |||
| aDarcy velocity [m s−1] | |||
| Volume error [m] | |||
| Surface runoff [m s−1] | |||
| aEvapotranspiration [m] | |||
| aWater stress [–] | |||
| GEOET Output (.csv) | bProspero PM | PM-FAO | PT |
| Latent heat Sun [W m−2] | – | – | |
| Latent heat shadow [W m−2] | – | – | |
| Transpiration [mm T−1] | – | – | |
| Evapotranspiration [mm T−1] | |||
| Soil evaporation [mm T−1] | – | – | |
| Leaf temperature Sun [K] | – | – | |
| Leaf temperature shadow [K] | – | – | |
| Sensible heat sunlit [W m−2] | – | – | |
| Sensible heat shadow [W m−2] | – | – | |
| Radiation soil [W m−2] | – | – | |
| Radiation Sun [W m−2] | – | – | |
| Radiation shadow [W m−2] | – | – | |
| Canopy [–] | – | – | |
| VPD [–] | – | – |
a This variable includes all outputs at the current time step for each control volume. b When using Prospero, soil evaporation is computed with the PM model, setting a predefined evaporation depth as input.
8 User information: code availability
The latest executable code of the WHETGEO model with the new classes mentioned before can be downloaded from
The Object Modeling System v.3 (OMS3) is a component-based environmental modeling framework introduced by . More information is in the Supplement.
While the majority of the content presented thus far holds broad relevance, it is important to note that the deployment example showcased here pertains to a one-dimensional (1D) context. Comprehensive information on GEOSPACE-1D, intended for both users and developers, can be found in the Supplement. Included within it is a Jupyter notebook labeled with the prefix “00_”, affectionately referred to as “Notebook Zero”, which serves as a comprehensive guide for executing the code pertaining to any of the components. The latest executable code can be downloaded from
The code can be executed in the OMS3 console, which can be downloaded and installed according to the instructions given at
The various components of GEOSPACE v.1.2.9 are finally compiled and grouped in the following
whetgeo1d-1.2.9 includes the WHETGEO model components;
brokergeo-1.3.9 includes the BrokerGEO coupler;
geoet-1.5.9 includes the GEOET model containing the ET modules, besides the root functioning, the modules that split the radiation into the canopy and soil layers, and the stress factor estimators;
buffer-1.1.9 contains ancillary modules for the management of data in memory and their eventual printing;
closureequation-1.1.9 manages the equations that are actually solved in WHETGEO;
netcdf-1.1.9 manages the input and output from and to NetCDF files;
numerical-1.0.2 contains the core algorithms for the solutions of the equations.
The integration of all components took place within the Object Modeling System v3 framework (OMS3) and interlinked within GEOSPACE. Notably, within the aforementioned components, specific to WHETGEO, are modules such as buffer, closureequation, netcdf, and numerical. For comprehensive information on these WHETGEO-specific components, you can refer to . Due to the modularity of the system, whilst the components were developed and can be enhanced independently, they can be seamlessly used at runtime by connecting them with the OMS3 DSL based on Groovy. OMS3 provides the basic services and, among them, tools for calibration and implicit parallelization of component runs.
Finally, more comprehensive information about GEOframe is available at the following.
9 Conclusions
This paper presents and discusses the implementation of the GEOSPACE framework, in particular its one-dimensional development, which stands out among various software programs for its component-based organization leveraging the OMS3 framework. GEOSPACE-1D comprises three main components: WHETGEO, GEOET, and BrokerGEO. WHETGEO serves as a solver for the Richards–Richardson equation, employing a novel integration algorithm, incorporating the soil energy budget, and featuring automatic switching between saturated and unsaturated conditions. GEOET implements various evapotranspiration formulas and the Prospero model, which concurrently solves transpiration and heat transport alongside the stationary energy budget. Additionally, GEOET provides information on the temperature and water pressure differentials between leaves and air. BrokerGEO acts as a connector between the GEOET and WHETGEO solvers, redistributing evaporation and transpiration demands within the soil column. Additionally, the paper delves into the underlying philosophy of the GEOSPACE framework, which can be succinctly summarized as a structure designed to facilitate modifications aimed at exploring soil–plant–atmosphere interactions under various hypotheses and incorporating new research findings. This objective is accomplished by implementing core functionalities as relationships among abstract objects, specifically interfaces, which are subsequently instantiated into concrete classes, allowing flexibility for user/programmer choices. The instantiation mechanism for these classes is achieved using the factory pattern. A consequence of the above choices is that, for instance, the creation of a new method for estimating the water stress consists of just adding a new class that extends the general interface. Adding a new method for estimating transpiration or evaporation can require a few classes, depending on the complexity of the method, but always obeying the prescription that the code remain “open to extensions and closed to modifications”. In the cases already deployed, the Priestley–Taylor formula is implemented by using three classes, while the Prospero model requires a few more as shown in Fig. . Departing from the strict object-oriented paradigm, which necessitates the creation and destruction of immutable classes, GEOSPACE-1D adopts a more conventional approach, particularly familiar to scientists, for classes dedicated to data containment. Data classes are structured as singletons, instantiated once and continuously updated with new content at each time step.
The model's capabilities are showcased through a “baseline” simulation, which compares infiltration estimates with and without evaporation and transpiration based on data collected in the “Spike II” experiment at the École Polytechnique Fédérale de Lausanne. The simulations conducted aimed to highlight the functionalities and capabilities of the system, demonstrating its ability to maintain water mass and energy conservation. It is worth noting that during these simulations, the soil column experiences saturation due to a perched water table while transpiration occurs. Throughout the simulations, the mass budget closure is rigorously monitored and consistently achieved with high precision, despite the diverse range of simulated conditions. These simulations exhibit a strong correspondence with measured data, as further elaborated in a companion paper currently in preparation .
As part of the project, a collection of companion Jupyter notebooks has been developed to elucidate the process of inputting data required by GEOSPACE-1D across various configurations. This aligns with the model's implementation philosophy, which separates the handling of model-agnostic components (written in Python and potentially compatible with other modeling platforms) from the model-specific elements (programmed in Java in our case). The outcome of any simulation setup is encapsulated in OMS3 “.sim” files, facilitating easy sharing. In line with promoting FAIR principles in modeling, all aspects related to GEOSPACE-1D including executables, notebooks, simulations, and input and output data files are consolidated within OMS3 projects and can be readily distributed. Everything utilized in this paper is included in the dedicated folder available on the Zenodo repository for third-party inspection and self-instruction. Furthermore, the source code is openly accessible and provided on GitHub, as detailed in the relevant sections of the paper. Additionally, instructional videos demonstrating the system's functionality can be found on the GEOframe blog.
Appendix A GEOET
The evapotranspiration component, GEOET, is a deep refactoring of the GEOframe-ETP model
A1 Penman–Monteith FAO additional information
Chapter 2 of the FAO evapotranspiration book (Food and Agriculture Organization of the United Nations,
Starting from the Penman–Monteith equation, the FAO approximation for a grass reference surface leads to the computation of a reference evapotranspiration as follows:
Using the latent heat constant
Values for
A2 Prospero model
The Prospero model
For a more in-depth exploration of this topic, readers are encouraged to refer to the comprehensive information provided in
To expand the applicability of this equation to the canopy,
The SO approach overcomes several limitations of the Penman–Monteith equation, particularly in its representation of transpiring leaf area and leaf thermal capacity, along with their feedback on the energy balance. Incorrectly representing the transpiring leaf area can significantly impact the overall energy balance. Consequently, the energy budget can be reformulated in terms of the area capable of exchanging fluxes and the equilibrium leaf temperature as follows:
The longwave radiation is computed as
A3 GEOET classes in detail
The refactoring of the GEOET codes covers some substantial software engineering aspects that are detailed below for some of the packages.
Working details of the classes
An identical pattern emerges in the relationships between the method ET solvers and the classes encapsulated within the
Figure A1
UML class diagram for the
[Figure omitted. See PDF]
Figure A2
UML class diagram for the
[Figure omitted. See PDF]
Code availability
The source code of GEOSPACE, written in Java, is specifically hosted on GitHub at
To execute the code, you must use the OMS3 console. Instructions for setting up the environment can be found in the README file within the repository. After installing OMS3, follow the guidelines in the documentation folder, which contains all necessary details about simulation inputs and parameters.
Data availability
Data used in this paper are available as part of the “Spike II” tracer experiment dataset
Video supplement
Videos illustrating the use of the GEOSPACE-1D parts are presented in the material of the GEOframe 2022 Summer School (
The supplement related to this article is available online at <inline-supplementary-material>https://doi.org/10.5194/gmd-18-7321-2025-supplement
.Author contributions
CD'A, RR, and NT conceptualized the model's structure. NT implemented WHETGEO and several foundational classes crucial for the development of GEOSPACE-1D. Additionally, CD'A led the refactoring of ETP-GEOframe into GEOET, designed and implemented BrokerGEO, and ran the simulations. RR supervised the work of NT and CD'A and provided financial support. CD'A and RR collaborated on writing the paper and discussing its sections.
Competing interests
The contact author has declared that none of the authors has any competing interests.
Disclaimer
The software is provided under GPL 3.0; the licensor takes no responsibility for any use made of the software.Publisher’s note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.
Acknowledgements
The authors acknowledge the support of the PhD programme in Agrifood and Environmental Sciences (AES) at the Center of Agriculture Food Environment (C3A), University of Trento, which provided the ideal conditions for carrying out this research in the best possible way. We especially thank the two anonymous reviewers for their constructive comments that helped to improve our paper.
Financial support
This work was supported by the Italian MIUR project PRIN 2017 “WATer mixing in the critical ZONe: observations and predictions under environmental changes – WATZON” (project no. 2017SL7ABC); the MIUR project PRIN 2020 “Unravelling interactions between WATER and carbon cycles during drought and their impact on water resources and forest and grassland ecosystems in the Mediterranean climate – WATERSTEM” (protocol no. 20202WF53Z); COST Action WATSON (WATer isotopeS in the critical zONe from groundwater recharge to plant transpiration), CA19120, supported by COST (European Cooperation in Science and Technology,
Review statement
This paper was edited by Charles Onyutha and reviewed by two anonymous referees.
© 2025. This work is published under https://creativecommons.org/licenses/by/4.0/ (the "License"). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.