184 lines
6.6 KiB
Tcsh
Executable File
184 lines
6.6 KiB
Tcsh
Executable File
#!/bin/tcsh -f
|
|
#
|
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
# copyright: 2016 to the present, california institute of technology.
|
|
# all rights reserved. united states government sponsorship acknowledged.
|
|
#
|
|
# THESE SCRIPTS ARE PROVIDED TO YOU "AS IS" WITH NO WARRANTIES OF CORRECTNESS. USE AT YOUR OWN RISK.
|
|
#
|
|
# Author: David Bekaert
|
|
# Organization: Jet Propulsion Laboratory, California Institute of Technology
|
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
# generate the amplitude products
|
|
set amplitude_flag=n
|
|
|
|
set PRG = `basename "$0"`
|
|
set AUT = "David Bekaert, January 2016"
|
|
echo "$PRG $AUT"
|
|
echo " "
|
|
|
|
# working directory
|
|
set WORKDIR=$cwd
|
|
|
|
# checking the list for which the SB needs to be made
|
|
if ($#argv == 1) then
|
|
set list = $argv[1]
|
|
echo List given as input
|
|
echo $list
|
|
else
|
|
set list = small_baselines.list
|
|
endif
|
|
|
|
if (! -e $list ) then
|
|
echo $list file does not exist, you need to generate this first.
|
|
echo Do this manually where you provide an interferogram on each line as: reference_YYYYMMDD secondary_YYYYMMDD
|
|
echo Or use some scripts e.g. run:
|
|
echo \> mt_extract_info_isce \(in case you did not run PS before\)
|
|
echo \> matlab
|
|
echo \>\> ps_load_info
|
|
echo \>\> sb_find or sb_find_delaunay
|
|
echo
|
|
exit 1
|
|
endif
|
|
|
|
# check if the SMALL_BASELINE dir already exists
|
|
if (! -e SMALL_BASELINES) then
|
|
mkdir SMALL_BASELINES
|
|
endif
|
|
set SB_DIR = $WORKDIR/SMALL_BASELINES
|
|
|
|
# check if there is a fixed suffix for the slc names
|
|
set slc_suffix = `grep slc_suffix input_file | awk '{print $2}'`
|
|
if ($slc_suffix != "") then
|
|
echo SLC has a suffix as: $slc_suffix
|
|
endif
|
|
|
|
|
|
# quick check to see if the SM set-up was run before
|
|
if (! -e reference) then
|
|
echo Looks like you did not run the SM processing or SM set-up before.
|
|
echo
|
|
exit 1
|
|
endif
|
|
|
|
|
|
# getting the tpye of data, in case the data is already pre-processed as a stack
|
|
set datasource = `grep source_data input_file | awk '{print $2}'`
|
|
if ($datasource == "slc_stack") then
|
|
echo Looks like an SLC stack is specified
|
|
# check if there is an slc stack path specified
|
|
set slc_stack_path = `grep slc_stack_path input_file | awk '{print $2}'`
|
|
# check the reference date
|
|
set referencedate = `grep slc_stack_reference input_file | awk '{print $2}'`
|
|
# give message in case not specified
|
|
if (( "$slc_stack_path" == "" ) || ( "$referencedate" == "" )) then
|
|
echo Need to define:
|
|
echo \- slc_stack_path as the path to the slc\'s
|
|
echo \- slc_stack_reference as the reference of the \"NEW\" SM network as YYYYMMDD. This does not need to be the reference used to generate the stack
|
|
echo
|
|
exit 1
|
|
endif
|
|
|
|
# make sure the slash is added in case the variable is not empty
|
|
if ($slc_stack_path != "") then
|
|
set slc_stack_path = `echo ${slc_stack_path}/`
|
|
echo Stack path is: $slc_stack_path
|
|
endif
|
|
|
|
else
|
|
# Getting the reference date information
|
|
basename `ls reference/[0-9]*[0-9].slc$slc_suffix` | gawk '{print substr($0,1,8)}' > tmp.reference
|
|
set referencedate = `cat tmp.reference`
|
|
rm tmp.reference
|
|
endif
|
|
|
|
# output the reference date
|
|
echo
|
|
echo SM: Reference Date = $referencedate
|
|
echo
|
|
|
|
# loop over the set of SB interferogram to be made
|
|
echo Looping over the interferogram list now:
|
|
set interferogram_number = 1
|
|
while ($interferogram_number <= `cat $WORKDIR/$list | wc -l`)
|
|
set interferogram = `cat $WORKDIR/$list | head -$interferogram_number | tail -1`
|
|
echo $interferogram
|
|
|
|
# splitting into reference and secondary
|
|
set reference = `echo $interferogram | awk '{split($0,a," "); print a[1]'}`
|
|
set secondary = `echo $interferogram | awk '{split($0,a," "); print a[2]'}`
|
|
|
|
# check if the interferogram directoy needs to be made
|
|
set IFG_DIR = $SB_DIR/$reference"_"$secondary
|
|
if (! -e $IFG_DIR) then
|
|
mkdir $IFG_DIR
|
|
endif
|
|
|
|
# retrieving the reference and secondary SLC name
|
|
if ($datasource == "slc_stack") then
|
|
# for and pre-processed SLC stack, the structure is YYYYMMDD/YYYYMMDD.slc, with the SM reference assumed to be in reference/yyyymmdd.slc
|
|
set reference_slc = ${slc_stack_path}$reference/$reference.slc$slc_suffix
|
|
set secondary_slc = ${slc_stack_path}$secondary/$secondary.slc$slc_suffix
|
|
else if ($datasource == "slc_stack_burst") then
|
|
echo TO BE IMPLEMENTED
|
|
echo
|
|
exit 1
|
|
else
|
|
# the format when processing the stack using isce2stamps
|
|
# check if the reference of the SB interferogram reference is the SM reference as these have a different directory
|
|
if ($reference == $referencedate) then
|
|
set reference_slc = reference/$referencedate.slc$slc_suffix
|
|
else
|
|
set reference_slc = $reference/coreg_fine/coreg.slc
|
|
endif
|
|
if ($secondary == $referencedate) then
|
|
set secondary_slc = reference/$referencedate.slc$slc_suffix
|
|
else
|
|
set secondary_slc = $secondary/coreg_fine/coreg.slc
|
|
endif
|
|
|
|
|
|
endif
|
|
set save_ifg = $IFG_DIR/isce_minrefdem.int
|
|
|
|
# store the information on how isce will be called
|
|
echo "imageMath.py -e='a*conj(b)' --a=$reference_slc --b=$secondary_slc -o $save_ifg -t CFLOAT -s BIP" >> processing_SB.log
|
|
echo "imageMath.py -e='a*conj(b)' --a=$reference_slc --b=$secondary_slc -o $save_ifg -t CFLOAT -s BIP"
|
|
imageMath.py -e='a*conj(b)' --a=$reference_slc --b=$secondary_slc -o $save_ifg -t CFLOAT -s BIP
|
|
|
|
|
|
# making the amplitude file
|
|
if ( "$amplitude_flag" == "y") then
|
|
set save_ampl = $IFG_DIR/isce_minrefdem.amp
|
|
# making the amplitude for the ifgs, for ISCE the amp is a BIP file typically
|
|
echo "imageMath.py -e='abs(a);abs(b)' --a=$reference_slc --b=$secondary_slc -o $save_ampl -t FLOAT -s BIP" >> processing_SB.log
|
|
echo "imageMath.py -e='abs(a);abs(b)' --a=$reference_slc --b=$secondary_slc -o $save_ampl -t FLOAT -s BIP"
|
|
imageMath.py -e='abs(a);abs(b)' --a=$reference_slc --b=$secondary_slc -o $save_ampl -t FLOAT -s BIP
|
|
endif
|
|
|
|
|
|
# include a symbolic link for the secondary and reference slc.
|
|
# This will be used latter on to get the amplitude information from
|
|
cd $IFG_DIR
|
|
if ($datasource == "slc_stack") then
|
|
ln -s -f $secondary_slc secondary.slc
|
|
ln -s -f $reference_slc reference.slc
|
|
else if ($datasource == "slc_stack_burst") then
|
|
echo TO BE IMPLEMENTED
|
|
echo
|
|
exit 1
|
|
else
|
|
ln -s -f ../../$secondary_slc secondary.slc
|
|
ln -s -f ../../$reference_slc reference.slc
|
|
endif
|
|
cd $WORKDIR
|
|
|
|
|
|
@ interferogram_number = $interferogram_number + 1
|
|
echo
|
|
echo
|
|
end
|
|
cd $WORKDIR
|
|
|