insarlab / MiaplPy

MIAmi Phase Linking in PYthon
Other
85 stars 20 forks source link

FileNotFoundError: [Errno 2] No such file or directory: '' (*.slc.full from isce2 is missing) #68

Closed gjustin40 closed 1 year ago

gjustin40 commented 1 year ago

I used ISCE2 to create an interferogram stack for use in Miaplpy. When i run miaplpyApp.py factory.txt

miaplpy.load.processor      = isce  #[isce,snap,gamma,roipac], auto for isceTops
miaplpy.load.updateMode     = auto  #[yes / no], auto for yes, skip re-loading if HDF5 files are complete
miaplpy.load.compression    = auto  #[gzip / lzf / no], auto for no.
miaplpy.load.autoPath       = yes    # [yes, no] auto for no
##---------Coregistered SLC images:        
miaplpy.load.slcFile        = ../merged/SLC/*/*.slc.full  #[path2slc_file]
##---------for ISCE only:
miaplpy.load.metaFile       = ../reference/IW*.xml
miaplpy.load.baselineDir    = ../baselines
##---------geometry datasets:
miaplpy.load.demFile          = ../merged/geom_reference/hgt.rdr.full
miaplpy.load.lookupYFile      = ../merged/geom_reference/lat.rdr.full
miaplpy.load.lookupXFile      = ../merged/geom_reference/lon.rdr.full
miaplpy.load.incAngleFile     = ../merged/geom_reference/los.rdr.full
miaplpy.load.azAngleFile      = ../merged/geom_reference/los.rdr.full
miaplpy.load.shadowMaskFile   = ../merged/geom_reference/shadowMask.rdr.full
miaplpy.load.waterMaskFile    = None
##---------interferogram datasets:
miaplpy.load.unwFile        = ./inverted/interferograms_single_reference/*/*fine*.unw
miaplpy.load.corFile        = ./inverted/interferograms_single_reference/*/*fine*.cor
miaplpy.load.connCompFile   = ./inverted/interferograms_single_reference/*/*.unw.conncomp

##---------subset (optional):
## if both yx and lalo are specified, use lalo option unless a) no lookup file AND b) dataset is in radar coord
# miaplpy.subset.lalo         = -0.199:-0.142,-78.612:-78.578

# MiaplPy options
miaplpy.compute.numCores   = 8
miaplpy.interferograms.type = single_reference

## Mintpy options
mintpy.compute.cluster     = local  # if dask is not available, set this option to no
mintpy.compute.numWorker   = 8

And the errors are below

    miaplpy.load.compression: no --> no
    miaplpy.load.autoPath: no --> no
SAR platform/sensor : None
processor: isce
Traceback (most recent call last):
  File "/root/miniconda3/envs/miaplpy/bin/miaplpyApp", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/root/miniconda3/envs/miaplpy/lib/python3.11/site-packages/miaplpy/miaplpyApp.py", line 82, in main
    app.open()
  File "/root/miniconda3/envs/miaplpy/lib/python3.11/site-packages/miaplpy/miaplpyApp.py", line 170, in open
    self.date_list, self.num_pixels, self.metadata = read_initial_info(self.workDir, self.templateFile)
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/miniconda3/envs/miaplpy/lib/python3.11/site-packages/miaplpy/objects/utils.py", line 1223, in read_initial_info
    iDict = read_inps2dict(inps_loadSlc)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/miniconda3/envs/miaplpy/lib/python3.11/site-packages/miaplpy/objects/utils.py", line 1295, in read_inps2dict
    shutil.copytree(reference_dir, out_reference)
  File "/root/miniconda3/envs/miaplpy/lib/python3.11/shutil.py", line 559, in copytree
    with os.scandir(src) as itr:
         ^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ''

I've tried setting the path to an absolute path, but I'm still getting the same error.

When I tried the Pichincha volcano example provided by Miaplpy, it ran without any issues. However, when I tried it with the results generated by isce2, I encountered this error.

In my opinion, the error is occurring because the file *.slc.full does not exist in the results I generated with isce2.

The list of files used in Miaplpy appears as follows: (This is the example data of PichinchaSenDT142 in Miaplpy) image

However, the files I generated using ISCE2 do not include *.slc.full files. image

The command I used in isce2 is as follows:

stackSentinel.py -s SLC/ -d DEM/*.dem.wgs84 -a AuxDir/ -o Orbits/ -b "{bbox}" -c 2

How can I generate the *.slc.full files?

mirzaees commented 1 year ago

Hi @gjustin40 Do you have the reference folder or you have deleted it? looks like it cannot find the reference folder

gjustin40 commented 1 year ago

Thanks for your interest, @mirzaees

The references folder is well-present. I modified a part of the txt file and changed all paths to absolute path. It finds the path correctly.

miaplpy.load.autoPath       = yes
# to
miaplpy.load.autoPath       = no

Now code is running. Sorry for the confuse

why autoPath is not working?