Published April 24, 2026 | Version 1.6

TEmperature-dependent Non-Asymptotic statistical model for eXtreme return levels (TENAX)

  • 1. University of Padua, Italy
  • 2. University of Lausanne, Switzerland

Contributors

Description

The TEmperature-dependent Non-Asymptotic statistical model for eXtreme return levels (TENAX).

A parsimonious non-stationary and non-asymptotic theoretical framework that incorporates temperature as a covariate to estimate changes in precipitation return levels.

 

Differences with respect to version 1.1:
- event_separation_dry_spell.m is updated to handle time series that have missing years.

Differences with respect to version 1.2:
- fixed a bug in event_separation_dry_spell.m

Differences with respect to version 1.3:
- TNX_associate_vars.m was updated for efficiency (the function runs now 5-6x faster). This version also sorts a problem with the rounding of times (now times are rounded down always); this may cause minor differences with respect to the previous version. Thanks to Petr Vohnicky for writing and testing this updated function.

Differences with respect to version 1.4:
- TNX_tenax_bootstrap_uncertainty.m was updated to remove a superflous line.
- TNX_tenax_bootstrap_uncertainty.m was updated to recalculate the left-censoring threshold at each bootstrap sample.

Differences with respect to version 1.5:
- TNX_model_inversion.m was updated for efficiency. Thanks to Petr Vohnicky for writing and testing this updated function.
- TNX_associate_vars.m was updated to remove a mismatching function name.

 

"Section" and "Figure" in the code refer to the paper by Marra et al. (2024), where the TENAX model is described:

Marra, F., Koukoula, M., Canale, A., and Peleg, N.: Predicting extreme sub-hourly precipitation intensification based on temperature shifts, Hydrol. Earth Syst. Sci., 28, 375–389, https://doi.org/10.5194/hess-28-375-2024, 2024

 

The model code is provided with an example of modeling the precipitation return levels for the Aadorf station in Switzerland, reproducing the figures presented in the manuscript.

 

Matlab codes run using Matlab 2021b, Matlab 2023a, Matlab 2024a, Matlab 2024b

 

The TENAX model also uses codes from:

John Bockstege (2023). Shade area between two curves (https://www.mathworks.com/matlabcentral/fileexchange/13188-shade-area-between-two-curves), MATLAB Central File Exchange.

Ebo Ewusi-Annan (2023). Weighted and unweighted linear fit (https://www.mathworks.com/matlabcentral/fileexchange/34352-weighted-and-unweighted-linear-fit), MATLAB Central File Exchange.

Aslak Grinsted (2023). quantreg(x,y,tau,order,Nboot) (https://www.mathworks.com/matlabcentral/fileexchange/32115-quantreg-x-y-tau-order-nboot), MATLAB Central File Exchange.

halleyhit (2023). generate random numbers according to pdf or cdf (https://www.mathworks.com/matlabcentral/fileexchange/68492-generate-random-numbers-according-to-pdf-or-cdf), MATLAB Central File Exchange.

Francesco Marra (2020). A Unified Framework for Extreme Sub-daily Precipitation Frequency Analyses based on Ordinary Events - data & codes (Version v1). Zenodo. https://doi.org/10.5281/zenodo.3971557

Edward Zechmann (2023). Continuous Sound and Vibration Analysis (https://www.mathworks.com/matlabcentral/fileexchange/21384-continuous-sound-and-vibration-analysis), MATLAB Central File Exchange.

 

 

The TENAX model is also available in python!

Check out pyTENAX v0.1 at the links below.
It comes with complete documentation, install guide, example script (which follows Matlab) and some tutorials (also available in an online environment).
 

Files

The_TENAX_model_v1.6.zip

Files (1.7 MB)

Name Size Download all
md5:d939230c23db34a485d67bdc5b8142af
1.7 MB Preview Download

Additional details

Funding

Swiss National Science Foundation
Rainfall and floods in future cities PCEFP2_194649