Principe de J2000
Wrinten by Léo Rouchy, in french.
Le modèle hydrologique J2000 a été développé à l’Université Friedrich-Schiller de Iéna (Allemagne) pour répondre aux enjeux de la Directive Cadre sur l’Eau (Krause et al., 2006), et est co-développé à INRAE Riverly depuis 2011. J2000 est un modèle totalement distribué, qui s’appuie sur un maillage irrégulier découpé en unités de réponse hydrologique (Hydrological Response Units, ou HRU) (Flügel, 1995) (Kumar et al., 2013), obtenues par croisement de couches d’informations géographiques décrivant le relief (MNT), la géologie, la pédologie et l’occupation des sols. Les différents processus hydrologiques y sont simulés dans des modules individuels interconnectés les uns aux autres. J2000 représente les processus hydrologiques principaux de manière simplifiée, tout en gardant un lien avec la physique des phénomènes, selon une approche « orientée processus » retenant les processus suivants :
- la partition des précipitations entre pluie et neige
- l’interception des précipitations par la végétation
- l’évapotranspiration
- les processus de fonte et d’accumulation de neige
- l’infiltration dans les sols
- le ruissellement de surface
- la recharge des nappes et le routage dans le réseau hydrographique

Diagramme descriptif des processus hydrologique représenté dans J2000 (source : (Beaufort et al., 2016; Horner, 2020))
Les variables climatiques en entrée du modèle sont la température T, les précipitations et l’évapotranspiration de référence. Les données SAFRAN étant fournies sur une grille de 8x8 km² , donc à une échelle bien plus grande que la taille moyenne des HRU, seules les données de la cellule SAFRAN la plus proche ont été pris en compte.
Data format
TnetRUI functions using J2000 modelisation will need the following files created by J2000:
An exemple of each file are distributed with TnetRUI package in order run the Ardière exemple can be found in the GIT repository and are detailed in the following sections.
ReachLoop.dat file
The ReachLoop.dat
file contain all the modelisation data on each J2000 reach.
For TnetRUI, the needed parameter is Runoff
that contain the discharde data of all reach. This file can easely be read by TNET_readJ2K()
in order to be put in a NetCDF file.
Here a part of the ReachLoop.dat
file shared in the GIT repository:
#> @context
#> jams.components.core.SpatialContext ReachLoop 7
#> @ancestors
#> jams.components.core.TemporalContext TimeLoop 1673
#> @filters
#> @attributes
#> ID Runoff inRG1 outRG1
#> @types
#> JAMSLong JAMSDouble JAMSDouble JAMSDouble
#> @data
#> TimeLoop 2017-01-01 00:00
#> @start
#> 23400 3003937.368852 0.000000 2711460.730610
#> 23600 2212143.834318 0.000000 1983943.980064
#> 23200 6068979.622878 0.000000 5318955.416990
#> 23800 1129869.329902 0.000000 931463.727352
#> 23000 7752881.392078 0.000000 6626987.555175
#> 24000 3446009.844058 0.000000 2702001.425618
#> 22800 14581802.569821 0.000000 11809501.061738
#> @end
#> TimeLoop 2017-01-02 00:00
#> @start
#> 23400 2958862.099614 0.000000 2702130.408796
#> 23600 2185745.260217 0.000000 1974226.089462
#> 23200 5967217.492028 0.000000 5309667.140031
#> 23800 1106553.787048 0.000000 922588.402148
#> 23000 7609000.752317 0.000000 6612787.221729
#> 24000 3367977.562572 0.000000 2696880.171869
#> 22800 14259914.190175 0.000000 11837642.572676
#> @end
#> TimeLoop 2017-01-03 00:00
#> @start
#> ...
#> @end
#> TimeLoop 2021-07-31 00:00
#> @start
#> 23400 1155602.073093 0.000000 1025231.775009
#> 23600 857173.447102 0.000000 855773.739958
#> 23200 2253475.611039 0.000000 1943714.773857
#> 23800 161374.326843 0.000000 158310.835242
#> 23000 2538240.951849 0.000000 2146527.479091
#> 24000 986053.656758 0.000000 830658.402173
#> 22800 6322102.798173 0.000000 5006434.922922
#> @end
reach.par file
The reach.par
file contain the different parameter of each reachs used by J2000.
For TnetRUI, it is used to create the topology of the J2000 hydrological network (with the to-reach
column) in order to add all underground lateral discharge.
Here is the reach.par
file shared in the GIT repository:
#> # reach.par created at Tue 21 May 2024 09:10:15 r.reach.par called by HRU-delin
#> ID to-reach length slope sinuosity rough width TA
#> 0 0 0 0 1 0 0 0
#> 999999 999999 99999 90999999 9999 9999 9999 9999
#> n/a n/a m % n/a n/a m n/a
#> 22800 22400 3750 1.28 1.0 15 7.46300347115294 1
#> 23000 22800 824 2.3058 1.1 15 5.52089991769009 1
#> 23200 23000 2071 1.8349 1.12 15 4.88029255743067 1
#> 23400 23200 3777 3.9979 1.28 15 3.43751025216991 1
#> 23600 23200 1263 5.8591 1.14 15 2.87766303715962 1
#> 23800 23000 1035 4.2512 1.22 15 2.14837018065897 1
#> 24000 22800 3744 4.2201 1.12 15 3.78998031743936 1
HRULoop.dat file
The HRULoop.dat
file contain all the modelisation data on each J2000 HRU. It’s on the same format as the ReachLoop.dat file.
For TnetRUI, the needed parameter is RG1OUT
that contain the underground lateral discharge data of all HRUs. The data on the HRU are put on the J2000 reachs using the hru.par file. This file can easily be read by TNET_readJ2K()
in order to be put in a NetCDF file.
Here a part of the HRULoop.dat
file shared in the GIT repository:
#> @context
#> jams.components.core.SpatialContext HRULoop 8
#> @ancestors
#> jams.components.core.TemporalContext TimeLoop 1673
#> @filters
#> @attributes
#> ID RD1OUT RD2OUT RG1OUT
#> @types
#> JAMSLong JAMSDouble JAMSDouble JAMSDouble
#> @data
#> TimeLoop 2017-01-01 00:00
#> @start
#> 6499 0.000000 221559.382175 2735507.370070
#> 6481 0.000000 216063.227531 1986288.454040
#> 6497 0.000000 129619.707132 660978.075657
#> 6526 0.000000 188598.011283 932668.143001
#> 6549 0.000000 130005.553740 393240.252756
#> 6595 0.000000 270340.909474 986967.339838
#> 6558 0.000000 350905.343766 1756918.877863
#> 6556 0.000000 469412.149252 2669493.970525
#> @end
#> TimeLoop 2017-01-02 00:00
#> @start
#> 6499 0.000000 212987.032814 2713057.171269
#> 6481 0.000000 205690.277614 1974222.851729
#> 6497 0.000000 124375.244366 654419.817864
#> 6526 0.000000 178912.592079 922201.898474
#> 6549 0.000000 124154.159177 389590.737600
#> 6595 0.000000 256457.597458 975891.758887
#> 6558 0.000000 333450.998453 1747772.026645
#> 6556 0.000000 444256.532810 2662293.478898
#> @end
#> TimeLoop 2017-01-03 00:00
#> @start
#> ...
#> @end
#> TimeLoop 2021-07-31 00:00
#> @start
#> 6499 0.000000 0.000000 1092710.599520
#> 6481 0.000000 0.000000 852011.687296
#> 6497 0.000000 0.000000 153443.282084
#> 6526 0.000000 0.000000 158949.747810
#> 6549 0.000000 0.000000 83958.900591
#> 6595 0.000000 0.000000 168203.675595
#> 6558 0.000000 0.000000 739944.975943
#> 6556 0.000000 0.000000 2409965.337740
#> @end
hru.par file
The hru.par
file contain the different parameter of each HRU used by J2000.
For TnetRUI, it is used to know the HRU having an output discharge in a reach (with the to-reach
column) in order to add underground lateral discharge from the HRUs to the reaches.
Here is the reach.par
file shared in the GIT repository:
#> # hru.par created Tue 21 May 2024 09:10:22 by HRU-DELIN_BATCH
#> ID area elevation slope aspect x y watershed subbasin hgeoID landuseID soilID to_poly to_reach irrigated irrig_type irrig_source_reach irrig_source_hru
#> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> 999999 9999999 10000 90 360 9999999 9999999 999999 999999 9999 9999 9999 999999 999999 999999 999999 999999 999999
#> n/a m2 m deg deg m m n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a
#> 6481 3615000 574 12.642 272 816725 6568050 1009 23600 6 4 4 0.0 23600.0 0 0 0 0
#> 6497 4553125 474 11.043 9 821200 6567125 1009 23200 6 4 4 0.0 23200.0 0 0 0 0
#> 6499 7128125 603 10.655 91 814525 6567525 1009 23400 6 4 4 0.0 23400.0 0 0 0 0
#> 6526 4443750 591 12.125 76 820275 6564375 1009 23800 6 2 4 0.0 23800.0 0 0 0 0
#> 6549 2750000 570 15.132 184 821600 6566075 1009 23000 6 3 4 0.0 23000.0 0 0 0 0
#> 6556 5576875 465 16.206 265 822212.5 6563100 1009 22800 6 3 4 0.0 22800.0 0 0 0 0
#> 6558 5437500 546 15.292 281 818950 6563175 1009 24000 6 4 4 0.0 24000.0 0 0 0 0
#> 6595 5168125 678 14.831 89 817950 6560700 1009 24000 6 2 4 0.0 24000.0 0 0 0 0