dataesr/scientific-paragraphs-categorization huggingface dataset:
Ecosystems at coastal terrestrial-aquatic interfaces play a significant role in global biogeochemical cycles. In this study, we aimed to characterize coastal wetlands with particular focus on the co-variability between plant dynamics, topography, soil, and other environmental factors. We proposed a functional zonation approach based on machine learning clustering to identify the spatial regions, i. e. , zones that capture these co-varied properties. This approach was applied to publicly available datasets along Lake Erie, in the Great Lakes Region. We investigated the heterogeneity of coastal ecosystem structures as a function of along-shore distance and transverse distance, based on the spatial data layers, including topography, wetland vegetation cover, and the time series of Landsat's enhanced vegetation index (EVI) between 1990 and 2020.
Unsupervised ML methods are considered powerful tools to improve the bedrockto-canopy system understanding in the Earth and environmental sciences, which is often characterized by large unlabeled multidimensional datasets  [14] [15] [16]. Clustering, in particular, reduces dimensionality in large datasets by extracting co-variability to identify zones of similar characteristics. This enables us to map the previously unknown structure of the dataset with a one-dimensional parameter that captures the dominant spatial heterogeneity  [14, 15]. Wainwright et al. [17]  applied clustering to remote sensing and geophysical datasets of Arctic tundra ecosystems and found zones with specific ecosystem characteristics and terrestrial properties. Devadoss et al. [15]  used unsupervised learning with time-lapse remote sensing images of plant productivity and identified zones with similar behaviors in terms of snow and plant dynamics.
We follow recent studies to characterize the spatial variability of plant dynamics based on long-term historical satellite images  [20, 21]. In addition, we explored their dependence on the along-shore distance and transverse distance, since these distances are drastically modified by the geomorphic features of the estuaries and lakes on which they are superimposed. We demonstrated our approach with publicly available datasets from Lake Erie, which is the southernmost Great Lake. In particular, we take advantage of the wetland types that were defined and delineated recently based on optical satellite images  [7]. We hypothesize that (1) the different wetland types have distinct topographic signatures and plant productivity, and are organized as a function of the distance from the shore; and (2) we can find statistically distinct zones that capture these co-varied properties among the coastal wetlands.
Topographic Metrics We used the Shuttle Radar Topography Mission (SRTM) Digital Elevation Model (DEM) to derive topographical properties. The SRTM DEM was produced on 11-22 February 2000, aboard the Endeavor space shuttle using interferometric radar. The shuttle orbited Earth 16 times during the mission and collected over 80% of the Earth's land-surface radar data (between 60 • N and 56 • S latitude) with a spatial resolution of 30 m. In addition to the elevation, we computed the slope from the DEM based on the gradient function in MATLAB (Natick, MA, USA).
Time-Series Landsat Satellite Images To study plant dynamics on Lake Erie TAIs, we used satellite images acquired from Landsat (NASA) satellites. Landsat provides data at about 16-day intervals and at a spatial resolution of 30 m/pixel. Vegetation indices derived from atmospherically corrected surface reflectance in the red, near-infrared, and blue wavebands reveal particular characteristics of vegetation. They are robust, empirical measures of vegetation activity at the land surface  [24]. Two VIs are commonly used to monitor vegetation at global and local scales in all ecosystems and climates: Normalized Difference Vegetation Index (NDVI) and Enhanced Vegetation Index (EVI). The latter is an ameliorated version of the NDVI, which has improved sensitivity to high biomass regions and improved vegetation monitoring  [24, 25].
Soil Texture We used soil data from the National Cooperative Soil Survey (NCSS), operated by the United States Department of Agriculture (USDA). NCSS provides a map of the soils found in the Lake Erie region, with detailed characteristics of each soil type, such as the taxonomic class, typical pedon, color, soil temperature, and geographic settings. Due to the data being collected by U. S. organizations, there is no soil information on the Canadian side of Lake Erie. To simplify this highly compressed map, we classified the soils based on their texture. Soil texture is determined by the percentage of sand, silt, and clay within the soil-sand particles being the coarsest and clay the finest. We established our classification with the soil characteristics provided by NCSS and a texture triangle.
Grid We resampled the various data layers into a common two-dimensional grid to better investigate the variability of the data layers across both longitudinal and transverse dimensions (Figure  3a ). We developed a MATLAB algorithm to build a grid based on principles of geometry, made of lines perpendicular and parallel to the shoreline (i. e. , transverse and longitudinal dimensions). The grid points (intersections between the transverse and longitudinal dimensions) are 100 m apart on the shoreline of Lake Erie, and the grid extends 5 km inland and along the entire coast of the lake. We then extracted all the data layers at each grid point. Thus, each point of intersection between the longitudinal and transverse axis contains a value of land cover (categorical data), topographic metrics (elevation and slope), EVI, and soil type (categorical data; only on the U.
Zonation Analysis 2. 3. 1. Grid We resampled the various data layers into a common two-dimensional grid to better investigate the variability of the data layers across both longitudinal and transverse dimensions (Figure  3a ). We developed a MATLAB algorithm to build a grid based on principles of geometry, made of lines perpendicular and parallel to the shoreline (i. e. , transverse and longitudinal dimensions). The grid points (intersections between the transverse and longitudinal dimensions) are 100 m apart on the shoreline of Lake Erie, and the grid extends 5 km inland and along the entire coast of the lake. were not significant for this study, because there were still many diverse points with which to perform our analysis. where we can see the transverse and longitudinal axis on the right; (b) scatter plot of the 2001 peak EVI extracted on the grid.
It consists of minimizing the total variance within each cluster. Ward's algorithm finds a pair of clusters at each step, leading to the minimum variance within each cluster after merging. We determined the number of clusters from the highest level of clustering, which shows the most dissimilarities between clusters. We then extracted all the data layers at each grid point. Thus, each point of intersection between the longitudinal and transverse axis contains a value of land cover (categorical data), topographic metrics (elevation and slope), EVI, and soil type (categorical data; only on the U. S. side of the lake). We carried out all statistical analysis in this grid as a function of distance from the shore (transverse axis), and distance along the shore (longitudinal axis) (Figure  3b ).
The entire TAI does not show a lot of variation in terms of slope and is relatively flat, varying from 0 • , close to the shoreline, to 14 • , in the hilly region. Emergent wetlands and phragmites are located on flat regions (0 • to 0. 6 • ), whereas shrub wetlands and forested wetlands are on steeper slopes but still relatively flat (0 • to 2 • ). Forested wetlands show many outliers with steeper slopes, corresponding to the hilly part of the lake. Finally, we considered the plant productivity of each wetland type. We extracted the maximum annual value of EVI at each point of the grid for the 31 years (1990-2020) time-series dataset. To define a range of values for each of the three wetland types, we computed the average annual peak EVI over the 31 years for each wetland point (Figure  5d ).
Artificial Neural Networks (ANNs) have achieved unequaled performance for numerous problems in many areas of Science, Business, Public Policy, and more. While experts are familiar with performanceoriented software and underlying theory, ANNs are difficult to comprehend for non-experts because it requires skills in programming, background in mathematics and knowledge of terminology and concepts. In this work, we release EpyNN, an educational Python resource meant for a public willing to understand key concepts and practical implementation of scalable ANN architectures from concise, homogeneous and idiomatic source code. EpyNN contains an educational Application Programming Interface (API), educational workflows from data preparation to ANN training and a documentation website setting side-by-side code, mathematics, graphical representation and text to facilitate learning and provide teaching material.
g. , Mean Squared Error). The error gradient is propagated backward through each layer and, if applicable, trainable parameters are updated accordingly (backward, green). See https://epynn. net/epynn for more details. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article. ) face highly heterogeneous contents. On the other hand, people with limited programming skills can rely on the extremely rich web documentation including mainstream articles, programming and/or mathematics oriented posts and notebooks. However, while this documentation contains useful items, they do not provide functional codes and are time-consuming. To cope with the before-mentioned limitations, we release an integrated Educational Python resource for Neural Networks (EpyNN) providing homogeneous implementations of diverse ANNs architectures.
Implementation EpyNN is written in Python (3. 7. 1) [10] and computational flows are written in pure NumPy, the worldwide standard for array programming  [11, 12]. Educational examples for data preparation and training of ANNs using EpyNN are provided as regular Python code and Jupyter notebooks  [13]. The EpyNN documentation website available at https://epynn. net was built with Sphinx  [14]  using a theme provided by ''Read the Docs''  [15]  and runs with Apache2  [16]  over HTTP with SSL/TLS  [17]  on GNU/Linux Debian 10 (Buster)  [18]. EpyNN is licensed under the GNU General Public License v3. 0  [19]  and is compatible with GNU/Linux, MacOS and Windows.
Educational API ANN models are built by stacking layers with distinct architectures (Fig. 1 ). EpyNN implements a set of major layers extensively documented at https://epynn. net. This includes the following layers: Fully connected (Dense)  [20, 21] , Recurrent Neural Network (RNN)  [22] , Gated Recurrent Unit (GRU)  [23] , Long Short-Term Memory (LSTM)  [24] , Convolution 2D and Pooling layers  [25, 26]. EpyNN also provides Dropout  [27]  and Flatten layers for network regularization and data reshaping, respectively, as well as a Template pass-through layer. Finally, the input Embedding layer  [28]  supports data normalization, one-hot encoding and mini-batches preparation for Stochastic Gradient Descent (SGD)  [29]. An ANN can be created using the EpyNN model provided with a list of layers (See https://epynn.
Educational python One layer is defined inside one directory containing four files for model definition, forward propagation, backward propagation and parameters-related functions (See https://github. com/ synthaze/epynn/tree/main/epynn). Sources strictly layer mathematical definitions and therefore they are accurate and concise with definition ranging from 66 to 269 lines of codes for the Template and LSTM layers, respectively. The ANN model EpyNN and other modules for activation, loss functions, metrics and more were written following the same guidelines. Importantly, sources are extensively commented with an average of 0. 35 lines of comments for each line of code (Table  1 ). Overall, native implementations are written in idiomatic Python/NumPy with a strong focus on homogeneity across the whole package.
Educational workflows We provide 14 educational workflows on data type, structure and preparation along with principles to design and train ANNs, both in regular Python and Jupyter Notebooks formats ( Table  2 ). In the notebooks, we introduced educational features of EpyNN's API. Among others, this includes exhaustive initialization logs reporting on layers' dimensions and shapes for input, output and processing intermediates. In addition, layers in EpyNN share the same cache structure, which makes easy content manipulation out of built-in procedures and purposes. To facilitate monitoring, we implemented colorful logs during model training along with automatic plot facilities upon completion.
Educational website https://epynn. net was designed to provide integrative educational material, traditional Python package documentation and Jupyter notebooks. Therein, systematic descriptions put sideby-side code, mathematical notation, graphical representation and succinct text-based explanations for most objects in EpyNN (Fig. 2 ). Because ANNs may be difficult to comprehend for nonexperts, we consider this multi-levels approach is key to facilitate understanding with regards to the diversity of users and backgrounds. Accordingly, we expect more individuals to find an anchor point and therefore evolve toward a global understanding. Overall, we implemented https://epynn. net to be an easy learning material and teaching support.
Related work EpyNN should not be confounded in the crowded space of deep-learning libraries that attempt to provide a high-level API that is easy to use. Such popular deep-learning libraries are generally developed for performance in production environment and not for educational purposes (e. g. , TensorFlow  [5] , Keras  [4] , Py-Torch,paszke2019pytorch, fastai  [7] , and others). The main and crucial difference is simple: the source code of high-level APIs in production-focused deep-learning libraries is not written to be used as a teaching or learning material. This means that it turns extremely difficult to locate and understand the algorithms explaining the inner working of ANNs in the source code of such popular, production-focused libraries (Listing S1, S2). Still, EpyNN is highly suited to teach and learn the backbone of other popular, production-focused libraries.
EpyNN computational schemes were validated by direct comparison with Tensor-Flow/Keras  [4]  in 264 distinct configurations (Table  S1 , File S1)). While providing identical results for identical configurations, the tensorflow/python directory contains 1291 Python files for a total of 333 527 lines of codes (File S2). By contrast, the EpyNN/epynn directory contains 58 files for a total of 2317 lines of code. Therefore, EpyNN provides the opportunity to read and understand every line of code behind its educational API which may remain highly similar in use compared with other libraries, including TensorFlow/Keras  [4].
Context of use The main goal of EpyNN is to provide an integrated environment allowing to understand the inner working of ANNs trained with backpropagation. EpyNN brings together theory and practice through its lightweight API which relies on sources that are written to be read and modified by users. This in conjunction with an educational website that describes the functional code line by line with diagrams, mathematics and text. Said differently, there is virtually no abstraction between the source code of EpyNN and the integrated documentation. Typically, one user would use EpyNN by setting up the following environment: one text editor session to review and customize the source code of EpyNN educational API, another session to write the executable script for ANN design and training, a web session at https://epynn.
EpyNN epynnlive examples tree -Description and source code statistics. Educational workflows for data preparation and model training are located inside the epynnlive directory in the EpyNN repository. Each subdirectory contains 3 Python files prepare_dataset. py, train. py and settings. py and Jupyter Notebook versions prepare_dataset. ipynb and train. ipynb not accounted here. In descrption, CNN refers to Convolutional Neural Network. Lines: Total number of lines in files, excluding blank lines. Docstring: Lines accounting for documentation strings or ''global'' code comments. Code: Lines accounting for executable Python code. Block: Lines accounting for ''local'' code comments. Comment: Is equal to Block Code or lines of ''local'' code comments for one line of executable code. Models: Number of distinct ANN configuration reviewed in train.
Acknowledgments We thank  Axelle Malard  (https://axellemalard. com),artistic director and graphic designer who kindly offered to provide EpyNN logos and favicons. We thank  Christelle Gloor  ( D-INFK, ETH Zurich ) for useful discussions during the development of EpyNN. This work was supported by the  Medical College of Wisconsin  and the  National Institute of Health, USA  ( R00 HD087430 ).
py. Review the epynnlive directory at https://github. com/synthaze/epynn/tree/main/epynnlive and Jupyter notebooks for data preparation at https://epynn. net/nbdata and model training at https://epynn. net/nbtraining. Subdirectory Files Lines Docstring Code Block Comment Models Description dummy_boolean 3 122 26 64 32 0. 52 1 Python basics, Boolean, Perceptron dummy_image 3 174 32 100 42 0. 42 2 Image definition and generation, CNN dummy_string 3 169 26 106 37 0. 35 4 String data type, one-hot encoding, recurrent layers dummy_time 3 196 34 119 43 0. 36 4 Time series, signal detection, recurrent layers author_music 3 209 23 138 48 0. 35 3 WAV audio files manipulation, recurrent layers captcha_mnist 3 148 13 104 31 0. 3 2 IDX format, encoded image, CNN ptm_protein 3 178 13 127 38 0. 3 4 O-GlcNAcylated peptides [8,9], recurrent layers Total 21 1196 167 758 271 0.
INTRODUCTION Machine Learning (ML) and satellite observation methods have the potential to address the unique challenges that ocean physical and biological interactions pose (e. g. ,  Rolf et al. , 2021) , especially in complex oceanic regions. With global coverage and long-term biological and physical observations, satellite remote sensing is an effective technology for understanding ocean processes. Unsupervised ML is a major class of ML that can cluster and reveal significant patterns in high dimensional datasets such as satellite ocean observations  (Arnault et al. , 2021; Sonnewald et al. , 2021). Unsupervised ML identifies relationships among satellite observations of environmental parameters and reduces their large dimensionality, while removing unstructured noise  (Boukabara et al.
, 2016; Arnault et al. , 2021). A GAN, a method that generates new samples with similar distributions as the learning dataset, was used to reconstruct sea surface heights of the North Sea  (Zhang et al. , 2020; Yu and Ma, 2021). Extensive reviews of the advances and opportunities associated with ML application to satellite Earth observations and ocean science are provided by  Boukabara et al. (2021)  and  Sonnewald et al. (2021). Here, we use the SOM to study intermittent productive upwelling regimes on the Agulhas Bank. The Agulhas region (South Africa, Figure  1 ), where waters from the Indian, Atlantic and Southern Ocean meet, is oceanographically complex and amongst the most complex flow regions of the global ocean  (Rujitier et al. , 2003; Jackson et al. , 2012). Numerous biophysical structures, driven by both atmospheric and oceanographic forcing, occur here  (Roberts, 2005; Goschen et al.
g. , K-means;  Badran et al. , 2005)  or statistical (e. g. , the Empirical Orthogonal Functions [EOF];  Lorenz, 1956)  methods  (Jouini et al. , 2016). The paper is organized as follows: the datasets and the SOM methodology are presented in section 2. The SOM outputs are analysed to retrieve AC modes and their link to SST and Chl-a over the Cold Ridge path in sections 3. 1 and 3. 2. Interannual variations of the extracted currents, SST and Chl-a patterns are examined in section 3. 3. In section 4, we discuss the currents and Chl-a patterns and their anomalous sequences in light of previous studies and climate variability modes' extremes. Conclusions are given in section 5.
Satellite Derived Data Daily satellite-derived Chl-a concentrations (mg/m 3 ), at a spatial resolution of 4 km, are developed by ACRI-ST based on the Copernicus-GlobColour processor  (Gohin et al. , 2002). This ocean colour dataset is a multi-satellite (SeaWiFS, MODIS, MERIS, VIIRS-SNPP & JPSS1, OLCI-S3A & S3B), global, reprocessed and cloud free product, downloaded from the Copernicus Marine Environment Monitoring Service (CMEMS) (http://marine. copernicus. eu/services-portfolio/ access-to-products/). We use this Chl-a product over the time period 04 September 1997 to December 2020 to derive the Chl-a SOM patterns variability over a sub-domain in the Agulhas region which covers the Agulhas Bank and extends farther offshore to better encompass the AC variability (see Figure  1 , orange box).
, 2020)  SST product, acquired from CMEMS (http://marine. copernicus. eu/services-portfolio/ access-to-products/) is used. This SST dataset is provided gapfree and daily at 5 km spatial resolution over the period 01 January 1981 to 31 June 2020 as a reprocessed version and from 01 July 2020 to present as a near-real-time version. Here, only the daily composites from 01 September 1997 to 31 December 2020 are considered, to match the satellite Chl-a dataset. Finally, we utilize the altimetry derived SSALTO/DUACS absolute geostrophic currents (delayed time DT2018 version) processed and distributed by CMEMS (http://marine. copernicus. eu/services-portfolio/access-to-products/) (previously by AVISO (Archiving, Validation and Interpretation of Satellite Oceanographic Data)). This multi-satellite (Jason-3, Sentinel-3A & 3B, HY-2A, Saral/AltiKa, Cryosat-2, Jason-2, Jason-1, T/P, ENVISAT, GFO, ERS1/2) currents dataset consists of daily geostrophic zonal (U) and meridional (V) velocities gridded at 25 km spatial resolution from the delayed time version for the period 01 January 1993 to 03 June 2020 and from the near-realtime version for the period 04 June 2020 to present.
We consider daily means from 01 September 1997 to 31 December 2020, to match the satellite Chl-a data in the SOM algorithm, in order to derive the regional surface circulation spatial patterns and variability modes. Satellite altimetry currents can be affected by sensor limitation near the coast (due to contamination of the sensor near land) (e. g. ,  Cipollino et al. , 2017). However, our study region comprises mostly open offshore waters. Additionally, the currents product version used here is characterized by a reduction in error on geostrophic currents estimation in coastal areas by more than 15%  (Taburet and Pujol, 2022). As the focus of this paper is on the seasonal behaviour of the Agulhas Bank upwelling, only data for the austral summer (November to March) each year are analysed in what follows.
Concept and Architecture The SOM is an effective method for extraction and clustering of spatial and temporal features (patterns)  (Kohonen, 1982; Kohonen, 2001; Liu et al. , 2006a; Liu et al. , 2006b). The SOM retains the topology of the input datasets (i. e. , conserves in the output the neighbour relationships between the inputs), even from noisy data, revealing correlations that are not easily identified with standard statistical methods such as Empirical Orthogonal Function (EOF)  (Liu et al. , 2006a). The SOM analysis has been applied in many fields  (Kaski et al. , 1998; Oja et al. , 2003; Hong et al. , 2004; Hong et al. , 2005). In oceanography, it was found useful for the extraction and analysis of currents, wind, SST, Sea Surface Height and Sea Surface Salinity patterns  (Richardson et al.