dataesr/scientific-paragraphs-categorization huggingface dataset:
2012). In all cases, local sensitivity analyses were applied. Here, we focused on the influence of factor estimation on prediction uncertainty rather than model accuracy. We recognize that model formulations will continue to be redesigned and improved, but the importance of our work is to better understand model sensitivity to factor and parameter estimation for the application of particular biophysical models in ecosystem service models, such as RUSLE. We conducted a GSA of RUSLE using four distinct datasets that cover different spatial levels and environmental conditions, and using different parameterization methods. The results of this study provide a description of model sensitivity within and among factor estimates across different environmental conditions and can be used to focus parameterization efforts for future applications.
Dataset description To understand model uncertainty, we conducted a GSA on three datasets that cover different spatial levels (plotwatershed-continental), used different methods (ground-collected data versus geographical information system (GIS) proxies) and covered different environmental conditions (climatic, topographic, vegetation and location). Particularly, the purpose of Costa Rica (CR) and European Union (EU) datasets was to understand how factor parameterization methods and factor range (i. e. GIS proxies) influenced uncertainty. To explore uncertainty in the largest possible parameter space, we created a fourth synthetic dataset with the widest possible RUSLE range of factor and parameter estimates. We compared ranks of factor importance in predicting soil loss and identified specific factor interactions predicting greater and lower soil losses.
United States dataset The US dataset is plot-level data of the original calibration dataset  (Risse et al. 1993). It includes 1,704 plot years of data from natural runoff in 198 plots at 21 sites with annual measurements of soil loss and estimates of each RUSLE factor (C, R, LS, P, K), (see also  Rapp (1994)  and  Tiwari et al. (2000) ). The US dataset was primarily collected and measured prior to 1960, and therefore it does not represent modern agricultural practices or instrumentation to measure each factor  (Risse et al. 1993). Tiwari et al. (2000)  estimated a Nash and Sutcliffe model efficiency of R 2 = 0. 72. The Nash and Sutcliffe Efficiency is a standard statistic for quantifying prediction accuracy, particularly of soil loss. The range of estimates for L and S factors in the US dataset was relatively narrow because data were obtained from agricultural plots where 80% of the data had a slope length (L factor) less than 25 m and where 70% of the plots had a slope steepness (S factor) less than 10°.
The cover management factor (C factor) included the average crop life cycle values for 21 crops, mostly annual crops with large mean C values (more erosive). This dataset covers a wide range of rainfall-runoff erosivity factor (R factor) and soil erodibility (K factor) (Figure  1 ). To perform the GSA, we averaged annual measurements of both soil loss and RUSLE factor estimates per plot. We used mean values since RUSLE is better at predicting long-term average values than annual values or isolated events  (Wischmeier & Smith 1978; Renard et al. 1997).
Costa Rica dataset We estimated RUSLE factors for a set of two CR watersheds using a common approach to apply RUSLE at a watershed level  (Yang et al. 2003; Hoyos 2005). We performed the analysis on data from the Pacuare (64,919 ha) and Reventazón (175,915 ha) watersheds located on the Caribbean slopes of CR's central mountain range. We estimated L and S factors from a digital elevation model with 10-m resolution and with the ArcInfoTM Arc Macro Language program developed by  Van Remortel et al. (2004). We collected C values for local crops from previous regional studies (  Gómez Delgado 2002; Marchamalo & Romero 2007) , whereas the land uses were defined by a 1996 LandSat image classification  (Pedroni 2003). We obtained K values from national-level Food and Agriculture Organization (FAO) surveys and a 1:200,000 resolution soil-type classification  (FAO 1989).
European dataset This dataset includes the peer-reviewed modeling of five RUSLE factors at high resolution (100 m) for 28 countries and 90. 3% of the area prone to soil erosion in Europe  (Panagos, Borrelli, Poesen et al. 2015). Topography factor (LS) accounts for a precise estimation of flow accumulation through the System for Automated Geoscientific analysis (SAGA), original LS equations  (Desmet & Govers 1996)  and a digital elevation model with 25-m resolution. C factor novel calculation includes data from remote sensing information (land cover and surface cover) and statistical data on agriculture and practices such as reduced/no tillage, cover crops and plant residues  (Panagos, Borrelli, Meusburger, Alewell, et al. 2015). K factor values were calculated from 19,969 soil samples surveyed across 25 EU countries, the  Wischmeier and Smith (1978)  nomograph and then interpolated using a cubist regression model with remote sensing data (MODIS and SRTM) as covariates  (Panagos et al.
Theoretical dataset To create the theoretical dataset, we used the reported maximum and minimum values for each parameter and estimated each RUSLE factor according to Agriculture Handbooks 537 and 703 equations  (Wischmeier & Smith 1978; Renard et al. 1997 respectively; Table A. 1). The purpose of the theoretical dataset was to evaluate model behavior given the largest possible range of factor and parameter estimates. The ranges of the parameters in this dataset are based on maximum and minimum values corresponding to a physical process or plot measurements (Table  A. 1). This is the only dataset that provided us with information at the parameter level (C factor estimated with parameters such as percentage of land area covered by surface cover (Sp), canopy height (H), among others) (Tables  1  and A.
1). We used parameter-level estimates to evaluate factorlevel importance (Table  A. 1). We created 30,000 Monte Carlo simulations of randomly chosen parameter estimates in MatLab  (Sobol' 2001). Each parameter set was created by randomly drawing from a uniform distribution within the documented parameter ranges, and each factor value was estimated using the reported equations  (Renard et al. 1997, Table A. 1). Random interactions between parameters were constrained (when required) to represent real interactions; for example, to estimate the K factor, the percentage of sand, silt and clay must add up to 100%. We used the simulations at each factor (6 factors) and at parameter level (18 independent parameters, Tables  1  and A. 1) in the GSA. This randomization process breaks potential correlations between parameters and factors, allowing exploration of a parameter space that is larger than what might be expected to occur naturally  (Harper et al.
Factor comparisons among datasets We assessed significant differences among datasets and sampled data (EU and CR dataset), and among mean factor values across datasets using the Kruskal-Wallis test since factors do not follow a normal distribution. We then performed Conover post hoc pairwise comparisons to determine which factor differences were statistically significant (PMCMR package, Pohlert 2014). All analyses were performed in the R statistics software (R Core Team 2016).
2006). We used the R package randomForest 4. 6-2 to estimate model efficiency  (Breiman & Cutler 2011). The contribution of each factor to model predictions (or importance) was assessed by the node impurity metric, which measures changes in the residual sum of squared errors by splitting the factor at each node of the tree  (Breiman & Cutler 2011). Node impurity values for each factor were normalized by the sum of the total node impurity and reflect the relative importance of each factor estimate using randomForest 4. 6-2 R package  (Breiman & Cutler 2011). To visualize the higher order interactions between factors, we applied a CART analysis to each dataset. With CART, we were able to identify the specific factor combinations that generated lower and greater estimates of soil loss (R package rpart 4.
Results GSAs across all the datasets showed that the RUSLE predictions are most sensitive (i. e. produce the most uncertain predictions) to the cover management factor (C factor) and topography factor (LS) regardless of factor and parameter estimates (Figures  1  and 2 ). When C factor distributions are narrow (e. g. in Malta), the LS factor became the most important factor (Figure  2 ). The relative importance of the C factor was at least 1. 4 times higher than LS factor in each dataset except in Malta (Figure  2 ). At the parameter level, root mass density (Bur) and percent surface cover (Sp) were the most important parameters from the C factor driving uncertainty in model predictions in the theoretical dataset (Table  1 , Figure  3 ). This result was consistent despite significant differences among factor estimates across datasets (p-value <0.
05) except for C factor in Slovenia and Latvia  (p-value = 0. 13), LS factor in Malta and the US data (p-value = 0. 18) and P factor in Latvia and Estonia data (p-value = 0. 20) (Figure  1 ). Factor distribution and variability may cause differences in the less sensitive factors (Figures  1  and 2 ). After the C and LS factors, soil erodibility (K factor) was ranked as the third most sensitive factor in both, low (e. g. Estonia, Latvia and the Netherlands) and highly erosive countries (e. g. Austria, Italy) (Figure  2 ), while R factor was the third most sensitive in only highly erosive countries and datasets (Figure  2 ). LS factor was the second most sensitive factor in the CR dataset despite the greater rainfallrunoff erosivity (R factor) estimates (Figure  2 ). Higher order factor interactions, illustrated by the CART analysis, confirm that the interaction between C and LS factors is the most important in determining greater magnitudes of soil loss across datasets (Figure  4 ).
In the EU dataset, severe soil loss (>10 t ha--1 year -1 ) occurred mostly in the erosive countries and in areas with different C and LS thresholds. For example, in Italy and Malta, croplands with C values above 0. 08 located on areas with LS values of 1. 2 or 1. 6, respectively, produced erosions above 10. 8 t ha -1 year -1 (Figure  4 ). Severe erosions in Austria and Slovenia occurred in crops with C values above 0. 01 located in roughed (LS > 4. 39) and level areas (LS > 0. 91), respectively (Figure  4 ). In the assessed-less erosive countries (Estonia, Latvia, the Netherlands) the interactions between C and LS led to very low soil losses (<2. 1 t ha -1 year -1 ). Very low soil losses in the most erosive countries mostly occurred on areas with C values <0. 01 (Figure  4 ). In CR and the US datasets, non-severe erosion (2-10 t ha -1 year -1 ) mostly occurred in croplands with C values <0.
07 and <0. 30 located on areas with LS values of <9. 78 and <1. 28, respectively (Figure  4 ). Finally, the most important factor interaction (C and LS factors) threshold was similar C ~0. 08-0. 07 for the theoretical (within original equation factor estimates) and CR datasets (outside original equation factor estimates) despite the differences in factor estimates and parameterization (Figures  1  and 3 ). Severe soil losses account for >65% of the total estimated soil loss in Austria, Italy, Malta and Slovenia data; however, only 17-23% of the area in those regions experience severe soil loss (>10 t ha -1 year -1 ) (Figure  4 ). On the contrary, 53%, 60% and 74% of the data in the CR, US and theoretical datasets produced severe soil loss (Figure  4 ).
RUSLE sensitivity across datasets Our results show that cover management (C factor) and topography (LS factor) are the most important factors driving predicted soil loss in RUSLE regardless of parameter estimation technique or range of estimates. Likewise, the C factor produced the greatest degree of variation in model predictions. This agrees with the early sensitivity analyses for the RUSLE when applied at plot level  (Risse et al. 1993; Benkobi et al. 1994; Ferreira et al. 1995)  but disagrees with previous sensitivity assessments at the watershed level  (Biesemans et al. 2000; Falk et al. 2009; Zhang et al. 2013; Galdino et al. 2015). The data from Malta were an exception, where LS is the most important due to the low C factor variability. Consistent importance of C and LS factors across datasets indicates that RUSLE model prediction sensitivity is produced from the original formulation of soil loss process equations, with less uncertainty originating from factor and parameter estimates.
RUSLE applications should pay close attention to C and LS factor parameterization regardless of method used or data source spatial level. More generally stated, the greatest model prediction uncertainty is produced from RUSLE C and LS factors formalization. Therefore, focusing on C and LS factors estimation over other factors may greatly reduce model prediction uncertainty. Topography (LS factor) is affected by digital elevation model spatial resolution  (Gertner et al. 2002; Yang et al. 2003; Van Remortel et al. 2004 ), its quality  (Lewis et al. 2005)  and by the equations used to calculate the factors, particularly the L factor  (Van Remortel et al. 2004; Kinnell 2007 ). However, LS importance was similar between CR and EU datasets despite the differences in dataset parameterization  (Panagos, Borrelli, Meusburger, et al.
2015). We expected the R factor to be more important, particularly in CR, due to significantly larger R values and previous sensitivity analysis in a subtropical zone  (Zhang et al. 2013 ), yet this was not the case. Nevertheless, the R factor was ranked as third most important in countries and datasets with significantly larger rainfall erosivity and average soil loss values such as CR, Slovenia, the US and the theoretical dataset. The P factor was often ranked as least important despite the novel efforts to quantify it for the EU  (Panagos, Borrelli, Meusburger, van der Zanden, et al. 2015). The P factor was only ranked as third most important in Malta due to the average value of 0. 5 and the large density of stone walls  (Panagos, Borrelli, Meusburger, van der Zanden, et al. 2015). Our consistent results obtained in the GSA were due to the capacity of the method to capture a  broader range of model sensitivities and interactions among model factors and parameters  (Wagner 1995) , both of which are important in understanding and parameterizing complex models  (Harper et al.
2001; Gyssels et al. 2005; De Baets et al. 2006 , 2011; García-Orenes et al. 2012 ). Our theoretical dataset indicated similar results in which, the density of live and dead roots found in soil surface and the percentage of surface cover are the most important C factor parameters for determining soil loss. Incorporating sensitivity analysis into decisionsupport tools to assess ecosystem services Our discussion is not intended to support or refute the application of RUSLE or other empirical models. We understand RUSLE's wide use and acceptance  (Eslinger et al. 2005; Panagos, Borrelli, Poesen et al. 2015)  is due to its relative ease of calibration and lack of data requirements compared with more physically based models  (Bewket & Teferi 2009). However, there is a pressing need to guide science-based policy  (Daily et al.
Figure4. RUSLE factor interactions for EU (seven countries), the US, CR and theoretical datasets obtained from the CART analysis. Each dataset is represented as a tree, the left side of the tree represents factors combinations and the right side represent the end of the tree with the averaged soil loss, the percentage of data that follow each specific factor combination (or tree branch) and the percentage of the total estimated soil loss. Factor interactions importance is from left to right, and the value next to each factor is the factor threshold value at which the data are split and combined with the next factor.
Acknowledgments We are very grateful to  Dr. Mark Nearing  and  Dr. Mark Risse  who provided us with the original US RUSLE dataset and to the European Soil Data Center for facilitating access to the  EU RUSLE dataset. We are very grateful to  Dr. Jan Boll  for improving the manuscript with his valuable comments, to  Nebai Hernandez  for proofreading the article and to the reviewers whose comments helped focus and strengthened the manuscript.
Résumé : Le "Checkpointing" est une technique classique pour atténuer le surcoût de la différentiation algorithmique adjointe (DA). Dans le contexte de la DA par transformation de source avec l'approche Store-All, le checkpointing réduit le pic de consommation de mémoire de l'adjoint au prix d'exécutions dupliquées de morceaux de code sélectionnés. Le checkpointing est vital pour les codes de temps d'exécution long, ce qui est le cas de la plupart des applications parallèles MPI. Cependant, la présence des communications MPI restreint sérieusement l'application du checkpointing. Dans la plupart des tentatives pour appliquer le checkpointing aux codes MPI adjoints (l'approche "populaire"), certaines restrictions s'appliquent sur la forme des communications qui ont lieu dans le morceau de code apres le checkpointing.
Cependant, nous pouvons raffiner cette technique pour remplacer l'enregistrement des valeurs par la duplication des communications à chaque fois que c'est possible, de telle façon que la technique raffinée englobe maintenant l'approche populaire. Nous fournissons des éléments de preuve de correction de notre technique raffinée, à savoir qu'elle préserve la sémantique du code adjoint et qu'elle n'introduit pas de deadlock. Mots-clés : Différentiation Algorithmique, Adjoint, Checkpointing, Passage de message, MPI Adjoint algorithms, and in particular those obtained through the adjoint mode of Automatic Differentiation (AD)  [1] , are probably the most efficient way to obtain the gradient of a numerical simulation. Given a piece of code P , adjoint AD (with the "Store-All" approach) consists of two successive pieces of code.
The first one, the "forward sweep" -→ P computes the original values and stores in memory the overwritten variables needed to compute the gradients. The second one, the "backward sweep" ← -P , computes the gradients, using the intermediate values stored as needed. Primarily, i. e. before any form of program optimisation, the adjoint program is simply -→ P followed by a ← -P. Many large-scale computational science applications are parallel programs based on Message-Passing, implemented for instance by using the MPI message passing library. We will call them "MPI programs". MPI programs consist of one or more threads (called "MPI processes") that communicate through message exchanges. In most attempts to apply checkpointing to adjoint MPI codes (the "popular" approach), a number of restrictions apply on the form of communications that occur in the checkpointed piece of code.
• The arrows between two successive MPI calls within the same process reflect the dependency due to the program execution order, i. e. instructions are executed sequentially. In the sequel, we will not show these arrows. A central issue for correct MPI programs is to be deadlock free. Deadlocks are cycles in the communications graph. There have been several works on the adjoint of MPI parallel programs  [7] ,  [4] ,  [3] ,  [5] ,  [6]. When the original code performs an MPI communication call, the adjoint code must perform another MPI call, which we will call an "adjoint MPI call". • For instance the adjoint for a receiving call recv(b) is a send of the corresponding adjoint value b. In practice, this will write as send(b); b = 0. • Symmetrically the adjoint for a sending call send(a) performs a receive of the corresponding adjoint value.
Checkpointing on MPI adjoints Checkpointing MPI parallel programs is restricted due to MPI communications. In previous works, the "popular" checkpointing approach has been applied in such a way that a checkpointed piece of code always contains both ends of each communication it performs. In other words, no MPI call inside the checkpointed part may communicate with an MPI call which is outside. Furthermore, non-blocking communication calls and their corresponding waits must be both inside or both outside of the checkpointed part. This restriction is often not explicitly mentioned. However, if only one end of a point to point communication is in the checkpointed part, then the above method will produce erroneous code. Consider the example of figure  3 (a) , in which only the send is contained in the checkpointed part.
The checkpointing mechanism duplicates the checkpointed part and thus duplicates the send. As the matching recv is not duplicated, the second send is blocked. The same problem arises if only the recv is contained in the checkpointed part (see figure  3 (b) ). The duplicated recv is blocked. Figure  3 (c)  shows the case of a non-blocking communication followed by its wait, and only the wait is contained in the checkpointed part. This code fails because the repeated wait does not correspond to any pending communication. We propose techniques that adapt checkpointing to MPI programs with point-to-point com- munications. These techniques either do not suppose restrictions on the form of communications that occur in the checkpointed code, or explicit them so that the end user can verify their applicability.
One technique is based on logging the values received, so that the duplicated communications need not take place. Although this technique completely lifts restrictions on checkpointing MPI codes, message logging makes it more costly than the popular approach. However, we can refine this technique to replace message logging with communications duplication whenever it is possible, so that the refined technique now encompasses the popular approach. In section 2, we give a proof framework for correction of checkpointed MPI codes, that will give some sufficient conditions on the MPI adapted checkpointing technique so that the checkpointed code is correct. In section 3 , we introduce our MPI adapted checkpointing technique based on message logging. We prove that this technique respects the assumptions of section 2 and thus that it preserves the semantics of the adjoint code.
Elements Of Proof We propose adaptations of the checkpointing method to MPI adjoint codes, so that it provably preserves the semantics of the resulting adjoint code for any choice of the checkpointed part. To this end, we will first give a proof framework of correction of checkpointed MPI codes, that relies on some sufficient conditions on the MPI adapted checkpointing method so that the checkpointed code is correct. On large codes, checkpointed codes are nested (see figure  2 (c )) , with a nesting level often as deep as the depth of the call tree. Still, nested checkpointed parts are obtained by repeated application of the simple pattern described in figure 2 (b). Specifically, checkpointing applies to any sequence of forward, then backward code (e. g. - → C ; ← - C on figure 2 (b) ) independently of the surrounding code.
σ 6 = V 2 , V 6 , k 0 ⊕ δk C , R, S 0 ⊕ S C ⊕ S D Finally we have σ 6 = σ 6. We have shown the preservation of the semantics at the level of one particular process p i. The semantics preservation at the level of the complete parallel program P requires to show in addition that the collection of messages sent by all individual processes p i matches the collection of messages expected by all the p i. At the level of the complete parallel code, the messages expected by one process will originate from other processes and therefore will be in the messages emitted by other processes. This matching of emitted and received messages depends on the particular parallel communication library used (e. g. MPI) and is driven by specifying communications, tags, etc. Observing the non-checkpointed code first, we have identified the expected receives and produced sends S U ⊕ S C ⊕ S D of each process.