# PyRate configuration file for GAMMA-format interferograms
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Optional Correction ON/OFF switches - ON = 1; OFF = 0
# Coherence masking (PREPIFG)
cohmask: 0
# Orbital error correction (CORRECT)
orbfit: 0
# DEM error (residual topography) correction (CORRECT)
demerror: 0
# Phase Closure correction (CORRECT)
phase_closure: 1
# APS correction using spatio-temporal filter (CORRECT)
apsest: 0
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Integer parameters
# LOS Projection of output products (MERGE)
# Converts slanted (native) LOS signals to either "pseudo-vertical" or "pseudo-horizontal",
# by dividing by the cosine or sine of the incidence angle for each pixel, respectively.
# los_projection: 0 = LOS (no conversion); 1 = pseudo-vertical; 2 = pseudo-horizontal.
los_projection: 0
# Sign convention for phase data (MERGE)
# signal_polarity: 1 = retain sign convention of input interferograms
# signal_polarity: -1 = reverse sign convention of input interferograms (default)
signal_polarity: -1
# Number of sigma to report velocity error. Positive integer. Default: 2 (TIMESERIES/STACK)
velerror_nsig: 2
# Optional save of numpy array files for output products (MERGE)
savenpy: 0
# Optional save of incremental time series products (TIMESERIES/MERGE)
savetsincr: 0
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Multi-threading parameters (CORRECT/TIMESERIES/STACK)
# parallel: 1 = parallel, 0 = serial
parallel: 0
# number of processes
processes: 8
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Input/Output file locations
#
# File containing the list of interferograms to use.
ifgfilelist: tests/test_data/cropA/ifg_30
# The DEM file used in the InSAR processing
demfile: tests/test_data/cropA/geotiffs/cropA_T005A_dem.tif
# The DEM header file from GAMMA (*.par) or ROI_PAC (*.rsc).
demHeaderFile: tests/test_data/cropA/headers/cropA_20180106_VV_8rlks_eqa_dem.par
# File listing the pool of available header files (GAMMA: *mli.par, ROI_PAC: *.rsc)
hdrfilelist: tests/test_data/cropA/headers_13
# File listing the pool of available coherence files.
cohfilelist: tests/test_data/cropA/coherence_30
# File listing the pool of available baseline files (GAMMA).
basefilelist: tests/test_data/cropA/baseline_30
# Look-up table containing radar-coded row and column for lat/lon pixels (GAMMA)
ltfile: tests/test_data/cropA/geometry/20180106_VV_8rlks_eqa_to_rdc.lt
# Directory to write the outputs to
outdir: out/
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# PREPIFG parameters
#------------------------------------
# Input data format: ROI_PAC = 0, GAMMA = 1
processor: 1
# Coherence threshold value for masking, between 0 and 1
cohthresh: 0.3
# Multi-look/subsampling factor in east (x) and north (y) dimension
ifglksx: 1
ifglksy: 1
# Cropping options
# ifgcropopt: 1 = minimum extent 2 = maximum extent 3 = crop 4 = no cropping
# ifgxfirst,ifgyfirst: longitude (x) and latitude (y) of north-west corner
# ifgxlast,ifgylast: longitude (x) and latitude (y) of south-east corner
ifgcropopt: 4
ifgxfirst: 150.92
ifgyfirst: -34.18
ifgxlast: 150.94
ifgylast: -34.22
# No-data averaging threshold (0 = 0%; 1 = 100%)
noDataAveragingThreshold: 0.5
# The No-data value used in the interferogram files
noDataValue: 0.0
# Nan conversion flag. Set to 1 if missing No-data values are to be converted to NaN
nan_conversion: 1
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# CORRECT parameters
#------------------------------------
# Reference pixel search parameters
# refx/y: Lon/Lat coordinate of reference pixel. If left blank then search for best pixel will be performed
# refnx/y: number of search grid points in x/y image dimensions
# refchipsize: size of the data window at each search grid point
# refminfrac: minimum fraction of valid (non-NaN) pixels in the data window
refx: -99.18
refy: 19.44
refnx: 5
refny: 5
refchipsize: 7
refminfrac: 0.01
#------------------------------------
# Reference phase correction method
# refest: 1 = median of the whole interferogram
# refest: 2 = median within the window surrounding the chosen reference pixel
refest: 2
#------------------------------------
# Orbital error correction parameters
# orbfitmethod = 1: interferograms corrected independently; 2: network method
# orbfitdegrees: Degree of polynomial surface to fit (1 = planar; 2 = quadratic; 3 = part-cubic)
# orbfitlksx/y: additional multi-look factor for network orbital correction
orbfitmethod: 1
orbfitdegrees: 1
orbfitlksx: 5
orbfitlksy: 5
#------------------------------------
# Phase closure correction parameters
# closure_thr: Closure threshold for each pixel in multiples of pi, e.g. 0.5 = pi/2, 1 = pi.
# ifg_drop_thr: Ifgs with more than this fraction of pixels above the closure threshold in all
# loops it participates in, will be dropped entirely.
# min_loops_per_ifg: Ifgs are dropped entirely if they do not participate in at least this many closure loops.
# max_loop_length: Closure loops with up to this many edges will be used.
# max_loop_redundancy: A closure loop will be discarded if all constituent ifgs in that loop have
# already contributed to a number of loops equal to this parameter.
closure_thr: 0.5
ifg_drop_thr: 0.5
min_loops_per_ifg: 2
max_loop_length: 4
max_loop_redundancy: 2
#------------------------------------
# APS filter parameters
# tlpfcutoff: cutoff t0 for temporal high-pass Gaussian filter in days (int);
# tlpfpthr: valid pixel threshold;
# slpfcutoff: spatial low-pass Gaussian filter cutoff in km (greater than zero).
# slpfcutoff=0 triggers cutoff estimation from exponential covariance function
tlpfcutoff: 30
tlpfpthr: 1
slpfcutoff: 1
#------------------------------------
# DEM error (residual topography) correction parameters
# de_pthr: valid observations threshold;
de_pthr: 20
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# TIMESERIES parameters
#------------------------------------
# tsmethod: Method for time series inversion (1 = Laplacian Smoothing; 2 = SVD)
# smorder: order of Laplacian smoothing operator (1 = first-order difference; 2 = second-order difference)
# smfactor: smoothing factor for Laplacian smoothing (value provided is converted as 10**smfactor)
# ts_pthr: valid observations threshold for time series inversion
tsmethod: 2
smorder: 2
smfactor: -0.25
ts_pthr: 10
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# STACK parameters
#------------------------------------
# pthr: threshold for minimum number of ifg observations for each pixel
# nsig: threshold for iterative removal of observations
# maxsig: maximum sigma (std dev; millimetres) used as an output masking threshold applied in Merge step. 0 = OFF.
pthr: 5
nsig: 3
maxsig: 1000