Apply current workspace changes
This commit is contained in:
@@ -0,0 +1,199 @@
|
||||
#! /usr/bin/env python
|
||||
#################################################################
|
||||
### This program is part of PyINT v2.0 ###
|
||||
### Copy Right (c): 2017-2019, Yunmeng Cao ###
|
||||
### Author: Yunmeng Cao ###
|
||||
### Email : ymcmrs@gmail.com ###
|
||||
### Univ. : Now at KAUST ###
|
||||
#################################################################
|
||||
|
||||
import numpy as np
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import getopt
|
||||
import time
|
||||
import glob
|
||||
import argparse
|
||||
import linecache
|
||||
import datetime
|
||||
|
||||
def StrNum(S):
|
||||
S = str(S)
|
||||
if len(S)==1:
|
||||
S='0' +S
|
||||
return S
|
||||
|
||||
def UseGamma(inFile, task, keyword):
|
||||
if task == "read":
|
||||
f = open(inFile, "r")
|
||||
while 1:
|
||||
line = f.readline()
|
||||
if not line: break
|
||||
if line.count(keyword) == 1:
|
||||
strtemp = line.split(":")
|
||||
value = strtemp[1].strip()
|
||||
return value
|
||||
print("Keyword " + keyword + " doesn't exist in " + inFile)
|
||||
f.close()
|
||||
|
||||
|
||||
def check_ERS_par(SAR_IM_0P):
|
||||
Name = os.path.basename(SAR_IM_0P)
|
||||
ff = Name.split('.')[1]
|
||||
date = (Name.split('SAR_IM__0PWDSI')[1]).split('_')[0]
|
||||
|
||||
if ff == 'E1':
|
||||
par = 'ERS1_ESA.par'
|
||||
antenna = 'ERS1_antenna.gain'
|
||||
orbdir = os.getenv('ERS1ORBDIR')
|
||||
elif ff == 'E2':
|
||||
par = 'ERS2_ESA.par'
|
||||
antenna = 'ERS2_antenna.gain'
|
||||
orbdir = os.getenv('ERS2ORBDIR')
|
||||
else:
|
||||
print('Invalid input SAR_IM_0P file.')
|
||||
sys.exit(1)
|
||||
|
||||
return par, antenna, orbdir, date
|
||||
|
||||
#########################################################################
|
||||
|
||||
INTRODUCTION = '''
|
||||
#############################################################################
|
||||
Copy Right(c): 2017-2020, Yunmeng Cao @PyINT v2.0
|
||||
|
||||
Generate SLC for CSK raw data (with **.tar.gz format).
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLE = '''
|
||||
Usage:
|
||||
down2slc_csk.py projectName date
|
||||
|
||||
Examples:
|
||||
down2slc_csk.py KilaueaT10CskA 20180419
|
||||
|
||||
##############################################################################
|
||||
'''
|
||||
|
||||
|
||||
def cmdLineParse():
|
||||
parser = argparse.ArgumentParser(description='Generate SLC for ERS raw data with ENVISAT format.',\
|
||||
formatter_class=argparse.RawTextHelpFormatter,\
|
||||
epilog=INTRODUCTION+'\n'+EXAMPLE)
|
||||
|
||||
parser.add_argument('projectName',help='project name.')
|
||||
parser.add_argument('date',help='to be processed date.')
|
||||
|
||||
inps = parser.parse_args()
|
||||
return inps
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
def main(argv):
|
||||
|
||||
inps = cmdLineParse()
|
||||
projectName = inps.projectName
|
||||
date = inps.date
|
||||
|
||||
scratchDir = os.getenv('SCRATCHDIR')
|
||||
templateDir = os.getenv('TEMPLATEDIR')
|
||||
templateFile = templateDir + "/" + projectName + ".template"
|
||||
|
||||
downDir = scratchDir + '/' + projectName + "/DOWNLOAD"
|
||||
slcDir = scratchDir + '/' + projectName + "/SLC"
|
||||
rslcDir = scratchDir + '/' + projectName + "/RSLC"
|
||||
|
||||
if not os.path.isdir(slcDir):
|
||||
call_str = 'mkdir ' + slcDir
|
||||
os.system(call_str)
|
||||
|
||||
slcDir1 = slcDir + '/' + date
|
||||
if not os.path.isdir(slcDir1):
|
||||
call_str = 'mkdir ' + slcDir1
|
||||
os.system(call_str)
|
||||
|
||||
tar0 = glob.glob(downDir + '/*' + date + '*.tar.gz')[0]
|
||||
rawDir = downDir + '/raw_' + date
|
||||
|
||||
if not os.path.isdir(rawDir):
|
||||
call_str = 'mkdir ' + downDir + '/raw_' + date
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'tar -xzf ' + tar0 + ' -C ' + rawDir
|
||||
os.system(call_str)
|
||||
|
||||
par = rawDir + '/' + date + '.sar_par'
|
||||
raw = rawDir + '/' + date + '.raw'
|
||||
azsp = rawDir + '/' + date + '.azsp'
|
||||
dop = rawDir + '/' + date + '.dop'
|
||||
rspec = rawDir + '/' + date + '.rspec'
|
||||
rc = rawDir + '/' + date + '.rc'
|
||||
autof = rawDir + '/' + date + '.autof'
|
||||
dop_ambig = rawDir + '/' + date + '.dop_ambig'
|
||||
|
||||
h5file = glob.glob(rawDir + '/*.h5')[0]
|
||||
|
||||
pslc_par = rawDir + '/' + 'p' + date + '.slc.par'
|
||||
slc_par = slcDir1 + '/' + date + '.slc.par'
|
||||
slc = slcDir1 + '/' +date + '.slc'
|
||||
mli_par = slcDir1 + '/' +date + '.mli.par'
|
||||
mli = slcDir1 + '/' + date + '.mli'
|
||||
|
||||
call_str = 'CS_proc ' + h5file + ' ' + par + ' ' + pslc_par + ' ' + raw + ' - - '
|
||||
os.system(call_str)
|
||||
|
||||
cal_str = 'dop_ambig ' + par + ' ' + pslc_par + ' ' + raw + ' 2 - ' + dop_ambig
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'azsp_IQ ' + par + ' ' + pslc_par + ' ' + raw + ' ' + azsp
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'doppler ' + par + ' ' + pslc_par + ' ' + raw + ' ' + dop
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'rspec_IQ ' + par + ' ' + pslc_par + ' ' + raw + ' ' + rspec
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'pre_rc ' + par + ' ' + pslc_par + ' ' + raw + ' ' + rc
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'autof ' + par + ' ' + pslc_par + ' ' + rc + ' ' + autof + ' 2.0 '
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'autof ' + par + ' ' + pslc_par + ' ' + rc + ' ' + autof + ' 2.0 '
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'az_proc ' + par + ' ' + pslc_par + ' ' + rc + ' ' + slc + ' - 1 ' + ' - 0 2.120 '
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'par_MSP ' + par + ' ' + pslc_par + ' ' + slc_par + ' 1'
|
||||
os.system(call_str)
|
||||
|
||||
call_str = 'multi_look ' + slc + ' ' + slc_par + ' ' + mli + ' ' + mli_par + ' 20 16'
|
||||
os.system(call_str)
|
||||
|
||||
|
||||
Width = UseGamma(mli_par, 'read', 'range_samples: ')
|
||||
call_str = 'raspwr ' + mli + ' ' + Width
|
||||
os.system(call_str)
|
||||
|
||||
|
||||
print("Generate SLC for %s is done." % date)
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv[:])
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user