## 3 Artificial Intelligence Methods for GWL Modelling
### Adaptive Neuro-Fuzzy Inference Systems  
An ANFIS is a powerful hybrid computational algorithm that integrates the principles of fuzzy logic and neural networks to effectively address complex system modelling and decision-making tasks [27; 28]. It combines the qualitative reasoning of fuzzy logic with the learning capabilities of neural networks, enabling it to handle uncertain and nonlinear relationships in data [29]. An ANFIS typically consists of five layers (Figure 5), each serving a specific function in the inference process [28; 30; 31]:  
* Layer 1 (input layer)--represents the system's input variables. Each node in this layer applies a membership function to the input data, converting crisp inputs into fuzzy linguistic terms. The membership functions define the degree to which each input belongs to different fuzzy sets;
* Layer 2 (fuzzy layer)--nodes in this layer calculate the firing strength of each rule. Each node computes the degree of matching between the input variables and the fuzzy sets defined in the antecedents of the fuzzy rules. The firing strength represents the activation level of each rule based on the input data;* Layer 3 (normalisation layer)--the firing strengths computed in Layer 2 are normalised to ensure that they sum up to one. Normalisation is necessary to maintain consistency in the aggregation process and prevent biases due to varying firing strengths;
* Layer 4 (consequent layer)--computes each rule's output based on its firing strengths and consequent parameters. It combines the normalised firing strengths with consequent parameters to generate each rule's local outputs;
* Layer 5 (output layer)--nodes in this layer aggregate the local outputs of Layer 4 to produce the overall output of the ANFIS. The final output is obtained through a weighted summation of the local outputs, representing the model's prediction or decision. The mathematical formulation of an ANFIS involves a set of equations corresponding to each layer, including equations for membership function computation, firing strength calculation, normalisation, and output aggregation [32; 33]. These equations encapsulate the underlying fuzzy logic and neural network principles employed by the ANFIS [34]. ANFISs have emerged as versatile tools with extensive applications across various domains in groundwater sciences. One prominent application of ANFISs is in GWL prediction, where they utilise historical data encompassing factors such as precipitation, temperature, soil characteristics, and land use patterns [35]. By analysing these data inputs, ANFISs can accurately forecast future groundwater levels, aiding in effective water resource management and planning [36]. Furthermore, ANFISs are crucial in assessing groundwater quality [37]. By correlating water parameters, such as pH, dissolved oxygen, and contaminant concentrations, with environmental variables and human activities, ANFISs enable comprehensive evaluations of groundwater quality. This capability is invaluable for identifying potential contamination sources, assessing environmental impacts, and implementing remediation strategies [38]. Additionally, ANFISs identify hydrological patterns and trends [39]. By analysing complex datasets and capturing nonlinear relationships, ANFISs help uncover underlying patterns in groundwater dynamics, including seasonal fluctuations, recharge rates, and flow pathways. This information is instrumental in making informed decisions about water allocation, pollution control, and sustainable development [40]. ANFISs are powerful for groundwater modelling and prediction in diverse environmental settings. This study analysed 18 articles published in reputable journals between 2009 and 2023 and one published in 2024. Based on these articles, most studies were performed in Iran and the United States (Figure 6). Figure 5: Schematic representation of a classical ANFIS structure (more details in the text). Ref. [38] conducted studies in the Pravara River, India, using the ANFIS method to predict GWL.