0

I'm trying to run the atmospheric correction for Landsat images in Google Earth Engine. In the region I'm interested loads of images are only available at TOA reflection and I'd like to approximate the surface reflection as good as possible.

I'm considering to use Sam Murphy's set up that uses Py6S available on github. I got stuck running the docker container.

I went through the following steps:

  1. Enable Virtual Machine
  2. Enable Microsoft Hyper V in powershell
  3. Install Docker - Docker login - test docker: open cmd as admin - run: docker run hello-world
  4. The Docker file (downloaded from github) is located in a folder called D:\ProjectFolder\GEE\preprocess\ee-atmcorr-timeseries-master. So after opening cmd as admin and trying to run the following code:

docker build D:\ProjectFolder\GEE\preprocess\ee-atmcorr-timeseries-master -t atmcorr-timeseries

I get an error (even after allowing Deamon to run in experimental mode):

Error:
The command '/bin/sh -c conda install -c anaconda pip               &&     pip install                                        earthengine-api                                    openpyxl                                           oauth2client' returned a non-zero code: 1

Below is the lengthy error report. I'm on a Windows 10 machine (version 1803) 64x. I had Anaconda and Python previously installed but figured this shouldn't affect the result. I'm new to docker and the interaction with google earth engine so sorry for lengthy (but perhaps still incomplete) question. I figured It had to do with incorrect calling of the locations on my drives (Anaconda/Python in C while the Model is on a D drive) but i'm not sure and haven't been able to fix it by changing the working directory (cd command in cmd).

 # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/miniconda/lib/python3.6/site-packages/conda/exceptions.py", line 819, in __call__
        return func(*args, **kwargs)
      File "/miniconda/lib/python3.6/site-packages/conda/cli/main.py", line 78, in _main
        exit_code = do_call(args, p)
      File "/miniconda/lib/python3.6/site-packages/conda/cli/conda_argparse.py", line 77, in do_call
        exit_code = getattr(module, func_name)(args, parser)
      File "/miniconda/lib/python3.6/site-packages/conda/cli/main_install.py", line 11, in execute
        install(args, parser, 'install')
      File "/miniconda/lib/python3.6/site-packages/conda/cli/install.py", line 235, in install
        force_reinstall=context.force,
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 518, in solve_for_transaction
        force_remove, force_reinstall)
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 451, in solve_for_diff
        final_precs = self.solve_final_state(deps_modifier, prune, ignore_pinned, force_remove)
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 180, in solve_final_state
        index, r = self._prepare(prepared_specs)
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 592, in _prepare
        self.subdirs, prepared_specs)
      File "/miniconda/lib/python3.6/site-packages/conda/core/index.py", line 215, in get_reduced_index
        new_records = query_all(spec)
      File "/miniconda/lib/python3.6/site-packages/conda/core/index.py", line 184, in query_all
        return tuple(concat(future.result() for future in as_completed(futures)))
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 95, in query
        self.load()
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 149, in load
        _internal_state = self._load()
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 246, in _load
        _internal_state = self._process_raw_repodata_str(raw_repodata_str)
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 369, in _process_raw_repodata_str
        info['fn'] = fn
    TypeError: 'NoneType' object does not support item assignment

`$ /miniconda/bin/conda install -c anaconda pip`

  environment variables:
                 CIO_TEST=<not set>
               CONDA_ROOT=/miniconda
                     PATH=/miniconda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin
                          :/bin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : None
       user config file : /root/.condarc
 populated config files : /root/.condarc
          conda version : 4.5.11
    conda-build version : not installed
         python version : 3.6.6.final.0
       base environment : /miniconda  (writable)
           channel URLs : https://conda.anaconda.org/anaconda/linux-64
                          https://conda.anaconda.org/anaconda/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/linux-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/pro/linux-64
                          https://repo.anaconda.com/pkgs/pro/noarch
          package cache : /miniconda/pkgs
                          /root/.conda/pkgs
       envs directories : /miniconda/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/4.5.11 requests/2.20.0 CPython/3.6.6 Linux/4.14.23-linuxkit ubuntu/16.04 glibc/2.23
                UID:GID : 0:0
             netrc file : None
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.
Jobbo90
  • 175
  • 1
  • 11
  • Is there any particular reason why you are not or can't use the pre-computed Landsat SR data (`LANDSAT/LC0X/C01/T1_SR`) on Earth Engine? – Kel Markert Nov 02 '18 at 15:14
  • As far as I can tell the SR data (Suriname Coast) is not complete for the area i'm interested in, i'm missing about 20 - 30% of the observations in SR format compared to TOA format. And then i'm not even considering at this stage the observations that are in the T2 collection.. – Jobbo90 Nov 05 '18 at 09:10
  • Alright, thanks for clarifying. I just ran the docker build script and got a working application on MacOS High Sierra. It seems that the issue may be a conda/pip issue on on Windows. Can you try removing the spaces in the last run command in the `Dockerfile` where the line should look like `RUN conda install -c anaconda pip && pip install earthengine-api openpyxl oauth2client`? – Kel Markert Nov 05 '18 at 15:46

0 Answers0