OPERA Calibration for DISP, a SAS repository. Calibration workflows for OPERA DISP products.
Creates the science application software (SAS) using the Venti library.
- Python ≥3.11
- mamba/conda
- Clone repositories:
git clone https://github.com/opera-adt/venti.git
git clone https://github.com/opera-adt/cal-disp.git- Create environment:
mamba env create --name my-cal-env --file cal-disp/environment.yml
conda activate my-cal-env- Install packages:
# Install venti (add at later stage)
python -m pip install -e venti/
# Install cal-disp with download capabilities
python -m pip install -e "cal-disp[download]"
# Or basic install only
python -m pip install -e cal-disp/Docker: See Docker_README
- Copy algorithm_parameters.yaml to config folder
- Download line_of_sight_enu.tif and dem.tif with Venti:
python dem_cli.py --frame-id 8882
python los_cli.py --frame-id 8882
# Download data
cal-disp download disp-s1 --frame-id 8882 -s 2022-07-01 -e 2022-08-01 -o ./data
cal-disp download tropo -i ./data/OPERA_L3_DISP-S1_*.nc -o ./data/tropo
cal-disp download unr --frame-id 8882 -o ./data/unr
# Create config and run
cal-disp config \
-d ./data/OPERA_L3_DISP-S1_*.nc \
-ul ./data/unr/grid_latlon_lookup_v0.2.txt \
-ud ./data/unr \
-uv 0.2 \
-ut constant \
--los-file line_of_sight_enu.tif \
--dem-file dem.tif \
--frame-id 8882 \
--algorithm-params config/algorithm_parameters.yaml \
--output-dir outputs --work-dir scratch/
cal-disp run scratch/runconfig.yaml# Install with dev dependencies
python -m pip install -e ".[download,test]"
# Set up pre-commit hooks
pre-commit install
# Run tests
pytestWe use:
Pre-commit runs these automatically. If checks fail, fix the issues and re-add files before committing.
- Fork the repo
- Create a branch (
git checkout -b feature/my-feature) - Make changes and add tests
- Run
pytestand ensure pre-commit passes - Open a PR
See CONTRIBUTING.md for details.
BSD-3-Clause or Apache-2.0 - see LICENSE.txt
Developed at JPL/Caltech under contract with NASA. Questions? Open an issue