Water Level Time Series
Download as ASCII
# Import package
from dahitiapi.DAHITI import DAHITI
# Initialize DAHITI Class
dahiti = DAHITI()
# Select DAHITI target by DAHITI id
dahiti_id = 10146
# Download Water Level Time Series in ASCII format
response = dahiti.download_water_level_ascii(dahiti_id)
# Download Water Level Time Series in ASCII format and write response to file
response = dahiti.download_water_level_ascii_to_file(dahiti_id,'/tmp/10146_wse.txt')
Output of ASCII response:
2008-07-23 23:22:08 192.497 0.003 J2 NO NTC 002 052
2008-08-12 19:19:11 192.625 0.086 J2 NO NTC 004 052
...
2026-02-15 09:30:27 192.674 0.025 S6A NO NTC 194 052
2026-02-25 07:28:59 192.684 0.034 S6A NO NTC 195 052
Download as JSON
# Import package
from dahitiapi.DAHITI import DAHITI
# Initialize DAHITI Class
dahiti = DAHITI()
# Select DAHITI target by DAHITI id
dahiti_id = 10146
# Download Water Level Time Series in JSON format
response = dahiti.download_water_level_json(dahiti_id)
# Download Water Level Time Series in JSON format and write response to file
response = dahiti.download_water_level_json_to_file(dahiti_id,'/tmp/10146_wse.json')
Output of JSON response:
[
{'datetime': '2008-07-23 23:22:08', 'wse': 192.497, 'wse_u': 0.003, 'cycle': '002', 'pass_nr': '052', 'mission': 'J2', 'phase': 'NO', 'timeliness': 'NTC'},
{'datetime': '2008-08-12 19:19:11', 'wse': 192.625, 'wse_u': 0.086, 'cycle': '006', 'pass_nr': '052', 'mission': 'J2', 'phase': 'NO', 'timeliness': 'NTC'},
...
{'datetime': '2026-02-15 09:30:27', 'wse': 192.674, 'wse_u': 0.025, 'cycle': '194', 'pass_nr': '052', 'mission': 'S6A',
'phase': 'NO', 'timeliness': 'NTC'},
{ 'datetime': '2026-02-25 07:28:59', 'wse': 192.684, 'wse_u': 0.034, 'cycle': '195', 'pass_nr': '052', 'mission': 'S6A', 'phase': 'NO', 'timeliness': 'NTC'}
]
Download as CSV
# Import package
from dahitiapi.DAHITI import DAHITI
# Initialize DAHITI Class
dahiti = DAHITI()
# Select DAHITI target by DAHITI id
dahiti_id = 10146
# Download Water Level Time Series in CSV format
response = dahiti.download_water_level_csv(dahiti_id)
# Download Water Level Time Series in CSV format and write response to file
response = dahiti.download_water_level_csv_to_file(dahiti_id,'/tmp/10146_wse.csv')
Output of CSV response:
datetime;wse;wse_u;mission;phase;timeliness
2008-07-23 23:22:08;192.497;0.003;J2;NO;NTC;002;052
2008-08-12 19:19:11;192.625;0.086;J2;NO;NTC;004;052
...
2026-02-15 09:30:27;192.674;0.025;S6A;NO;NTC;194;052
2026-02-25 07:28:59;192.684;0.034;S6A;NO;NTC;195;052
Download as NetCDF
# Import package
from dahitiapi.DAHITI import DAHITI
# Initialize DAHITI Class
dahiti = DAHITI()
# Select DAHITI target by DAHITI id
dahiti_id = 10146
# Download Water Level Time Series in NetCDF format and write to file
response = dahiti.download_water_level_netcdf_to_file(dahiti_id,'/tmp/10146_wse.nc')
Content of NetCDF file:
netcdf \10146_wse {
dimensions:
time = 682 ;
variables:
string datetime(time) ;
datetime:standard_name = "UTC Datetime (YYYY-MM-DD HH:MM:SS)" ;
datetime:valid_min = "2008-07-23 23:22:08" ;
datetime:valid_max = "2025-10-09 11:49:34" ;
float wse(time) ;
wse:standard_name = "Water level derived from satellite altimetry" ;
wse:unit = "m" ;
wse:valid_min = 189.951 ;
wse:valid_max = 195.791 ;
float wse_u(time) ;
wse_u:standard_name = "Water level uncertainty" ;
wse_u:unit = "m" ;
wse_u:valid_min = 0.f ;
wse_u:valid_max = 0.58 ;
string mission(time) ;
mission:standard_name = "Mission name" ;
string phase(time) ;
phase:standard_name = "Mission phase" ;
string timeliness(time) ;
timeliness:standard_name = "Timeliness of dataset" ;
string cycle(time) ;
cycle:standard_name = "Cycle number" ;
string pass_nr(time) ;
pass_nr:standard_name = "Pass number" ;
// global attributes:
:dahiti_id = "10146" ;
:dataset = "water-level-altimetry" ;
:target_name = "Ray Roberts, Reservoir" ;
:location = "None" ;
:country = "United States of America" ;
:continent = "North America" ;
:longitude = -97.0557 ;
:latitude = 33.3615 ;
:geoid = -26.2027 ;
:software = "8.0" ;
:institution = "DGFI-TUM" ;
:source = "DAHITI" ;
:url = "https://dahiti.dgfi.tum.de/10146/" ;
:creation_date = "2026-04-09 06:39:24" ;
data:
datetime = "2008-07-23 23:22:08", "2008-08-12 19:19:11",
"2008-09-01 15:16:14", "2008-09-11 13:14:46", "2008-09-21 11:13:18",
...
"2025-09-29 13:51:03", "2025-10-09 11:49:34" ;
wse = 192.497, 192.625, 192.464, 193.026, 192.797, 192.396, 192.274,
192.299, 192.136, 191.995, 192.097, 191.87, 191.947, 191.929, 191.956,
...
192.436, 192.522, 192.412 ;
wse_u = 0.003, 0.086, 0.021, 0.064, 0.172, 0.155, 0.067, 0.049, 0.023,
0.081, 0.012, 0, 0.092, 0.173, 0.091, 0.08, 0.03, 0.014, 0.005, 0.088,
...
0.19, 0.013, 0.02 ;
mission = "J2", "J2", "J2", "J2", "J2", "J2", "J2", "J2", "J2", "J2", "J2",
...
"S6A", "S6A", "S6A", "S6A", "S6A", "S6A", "S6A", "S6A", "S6A" ;
phase = "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO",
...
"NO", "NO", "NO", "NO", "NO" ;
timeliness = "NTC", "NTC", "NTC", "NTC", "NTC", "NTC", "NTC", "NTC", "NTC",
...
"NTC", "NTC", "NTC", "NTC" ;
cycle = "002", "004", "006", "007", "008", "010", "011", "012", "013",
...
"192", "193", "194", "195" ;
pass_nr = "052", "052", "052", "052", "052", "052", "052", "052", "052",
...
"052", "052", "052" ;
}