MANGO: GNSS Toolbox for ZTD Map Generation
Overview
MANGO is a Python-based toolbox designed to extract and calculate Zenith Total Delay (ZTD) maps using data from GNSS stations. The toolbox processes sparse ZTD GNSS measurements to generate tropospheric delays maps to correct insterferograms. Auxiliary data are nneeded as input: SAR acquisition times, DEM (Digital Elevation Model), and LOS (Line of Sight). It automates the workflow by fetching data, building dtartified and turbulent models, and calculating vorresponding delays between two epochs.
Key Features
- Fetches GNSS data from remote servers.
- Extracts Zenith Total Delay (ZTD) values from GNSS measurements.
- Build startified and turbulent models based on the Iterative Decomposition Model.
- Calculates tropospheric delays maps between two epochs corresponding to the SAR acquisition.
- Compares tropospheric delays maps and unwrapped interferograms.
Installation
Dependencies
To use the MANGO toolbox, you will need to install the following dependencies:
- Python 3.x
- NumPy
- Pandas
- GDAL
- Other GNSS-related Python libraries (please specify if there are more)
Repository Setup
Clone the repository to your local machine:
git clone https://gitlab.com/your-repository-name.git
cd your-repository-name
Configuration
The toolbox relies on a configuration file, mango.proc, which contains the essential parameters for processing. Below is an example of the contents of mango.proc:
time_sar='00:00' # Time of SAR acquisition (format hh:mm)
wavelength=0.236 #wavelength of radar signal in meters
dem='/path/to/your/dem.tif' # Full path to the DEM file (geotiff format)
los='/path/to/your/los.tif' # Full path to the LOS file (geotiff format)
file_list='/path/to/list_interfero.txt' # Path to the list of interferogram filenames (format=yymmdd_yymmdd)
The filenames in file_list should have the following date format: yyymmdd_yyyymmdd (e.g., 20230101_20230115).
Example list_interfero.txt File:
20230101_20230115
20230201_20230215
20230301_20230315
Usage
The toolbox is executed by running the run.sh script, which automates the data processing workflow.
Basic Command To execute the toolbox, run the following command from the terminal:
./run.sh
Input Files
The toolbox processes interferograms listed in the file_list file, specified in the mango.proc configuration. The filenames in file_list should follow a format that includes two dates (e.g., 20230101_20230115). The dates are used to extract ZTD data and run models for each pair of dates.
Key Steps in run.sh
(Optional) Fetch Data from a remote server
python mango_fetch_data.py -ftp_server 'server-address' -date "YYYYMMDD"
Extract ZTD:
python mango_extract_ZTD.py -date "YYYYMMDD" -time_sar "$time_sar" -v 4
Run ITD Model:
python mango_ITD_model.py -dem "$dem" -los "$los" -date "YYYYMMDD" -time_sar "$time_sar" -v 4
Calculate Delays:
python mango_calculate_delays.py -date1 "YYYYMMDD" -date2 "YYYYMMDD" -v 4
Compare ZTD Interferograms:
python mango_compare_ZTD_interfero.py -date1 "YYYYMMDD" -date2 "YYYYMMDD" -path ./
Outputs
ZTD data for each interferogram processed. Delay calculations between pairs of SAR acquisition dates. The output format may vary depending on the script, but users can expect maps (in .tif or similar formats), numerical data (CSV), or visualizations. Example Workflow
Assume your mango.proc file is as follows:
Troubleshooting
Missing Dependencies: If you encounter missing dependency errors, ensure all required libraries are installed via pip using the provided requirements.txt file. File Paths: Ensure that all paths in mango.proc are correct, especially for DEM, LOS, and file_list. Contributing
Contributions to the MANGO toolbox are welcome! Feel free to submit issues or pull requests on the GitLab repository.
License
This project is licensed under the MIT License. See the LICENSE file for details.