OCSSW Processor - MODIS

Use this Forum to find information on, or ask a question about, NASA Earth Science data.
vito609
Posts: 21
Joined: Mon Apr 05, 2021 2:01 am America/New_York
Answers: 0

OCSSW Processor - MODIS

by vito609 » Mon Apr 05, 2021 2:09 am America/New_York

Good Day.

I just recently installed SeaDAS and OCSSW processor in VirtualBox Ubuntu.

I tried to to process using modis_GEO.py using code below:

sudo ./modis_GEO.py ifile="/home/torres609/Downloads/MOD00.P2009023.0545_1.PDS"

However, I got an error of:
ERROR: The /home/torres609/ocssw/share/modisdirectory does not exist.

Do I need to install or download additional files? Or do I need to redirect something.

Thank you.

Tags:

OB SeaDAS - xuanyang02
Subject Matter Expert
Subject Matter Expert
Posts: 644
Joined: Tue Feb 09, 2021 5:42 pm America/New_York
Answers: 1
Been thanked: 1 time

Re: OCSSW Processor - MODIS

by OB SeaDAS - xuanyang02 » Mon Apr 05, 2021 11:10 am America/New_York

When you install_ocssw, did you use the option --modisa to install MODIS Aqua files? For more information on options, you can run install_ocssw -h.

Also, I assume you installed SeaDAS-7.5.3, for SeaDAS OCSSW processing on Windows is not yet supported in SeaDAS 8.0.0, but is coming soon. Here is more info:
https://seadas.gsfc.nasa.gov/downloads/
Last edited by OB SeaDAS - xuanyang02 on Mon Apr 05, 2021 1:17 pm America/New_York, edited 1 time in total.

OB.DAAC - SeanBailey
User Services
User Services
Posts: 1464
Joined: Wed Sep 18, 2019 6:15 pm America/New_York
Answers: 1
Been thanked: 4 times

Re: OCSSW Processor - MODIS

by OB.DAAC - SeanBailey » Mon Apr 05, 2021 12:02 pm America/New_York

BTW, it would be --modisa for MODIS-Aqua (and --modist for MODIS-Terra, --aqua would get you Aquarius, yeah confusing :( )

Sean

vito609
Posts: 21
Joined: Mon Apr 05, 2021 2:01 am America/New_York
Answers: 0

Re: OCSSW Processor - MODIS

by vito609 » Mon Apr 05, 2021 1:09 pm America/New_York

Thank you. I'll try to run the installer again.

Alternatively, when I tried to install the processor using SeaDAS GUI I got this error:

##
execution exception: java.io.IOException: install_ocssw failed with exit code 1.
Check log for more details.
Traceback (most recent call last):
File "/tmp/install_ocssw", line 490, in <module>
sys.exit(run())
File "/tmp/install_ocssw", line 260, in run
downloadBundleList(options1[0])
File "/tmp/install_ocssw", line 226, in downloadBundleList
bundleListUrl = "%s/%s/root/%s" % (options.base_url, getBundleListTag(manifestFilename), BUNDLELIST_BASENAME)
File "/tmp/install_ocssw", line 179, in getBundleListTag
manifest = json.load(manifestFile)
File "/usr/lib/python3.5/json/__init__.py", line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.5/json/__init__.py", line 312, in loads
s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes
##

Should I just reinstall the processors with your recommendations in mind?

Thank you.

OB SeaDAS - dshea
Subject Matter Expert
Subject Matter Expert
Posts: 258
Joined: Thu Mar 05, 2009 10:25 am America/New_York
Answers: 0
Been thanked: 2 times

Re: OCSSW Processor - MODIS

by OB SeaDAS - dshea » Tue Apr 06, 2021 10:24 am America/New_York

Python 3.6 or higher will fix the last error. You will need to modify your PATH to point to the new python3.6+ in the ~/.bash_login or ~/.bashrc

It is best to NOT run and SeaDAS commands as super user. No need to "sudo"

What OS and version is the host
What version of Ubuntu
What version of SeaDAS
Did you install the SeaDAS GUI on the Virtual Machine

don

vito609
Posts: 21
Joined: Mon Apr 05, 2021 2:01 am America/New_York
Answers: 0

Re: OCSSW Processor - MODIS

by vito609 » Tue Apr 06, 2021 2:39 pm America/New_York

Hello.

I'm using Ubuntu 16.04.7 with Oracle Virtual Box.
I installed SeaDAS version 8.0.0 GUI.

Installing python 3.6+ made the installer in the SeaDAS GUI run now, however there is an error in the end:
Error in installing and updating using SeaDAS GUI
"
execution exception: java.io.IOException: install_ocssw failed with exit code 1.
Check log for more details.
Installing (1 of 8) - bin_linux_64
Installing (2 of 8) - lib_linux_64
Installing (3 of 8) - opt_linux_64
Installing (4 of 8) - root
Installing (5 of 8) - common
Installing (6 of 8) - modis
Installing (7 of 8) - modisa
Installing (8 of 8) - ocrvc
Traceback (most recent call last):
File "/home/torres609/SeaDAS/ocssw/bin/update_luts", line 63, in <module>
luts.get_luts()
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/LutUtils.py", line 132, in get_luts
check_times=True)
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/JsonUtils.py", line 198, in download_allfiles
all_links = self.get_links(url, regex=regex)
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/JsonUtils.py", line 165, in get_links
with session.get(url, stream=True, timeout=self.timeout) as response:
AttributeError: _enter_
Installing lut - modisa
Error: return = 1 : trying to run command = /home/torres609/SeaDAS/ocssw/bin/ocssw_runner --ocsswroot /home/torres609/SeaDAS/ocssw update_luts modisa
"

I tried running modis_GEO GUI in SeaDAS as it seems to be installed, however I encountered an error again:
Error in using modis_GEO GUI with SeaDAS
"
execution exception: java.io.IOException: modis_GEO failed with exit code 1.
Check log for more details.
Searching for first requested record .........
10 EPHEMERIS RECORDS WRITTEN. LAST JED = 2436496.50
20 EPHEMERIS RECORDS WRITTEN. LAST JED = 2436816.50
30 EPHEMERIS RECORDS WRITTEN. LAST JED = 2437136.50
40 EPHEMERIS RECORDS WRITTEN. LAST JED = 2437456.50
50 EPHEMERIS RECORDS WRITTEN. LAST JED = 2437776.50
60 EPHEMERIS RECORDS WRITTEN. LAST JED = 2438096.50
70 EPHEMERIS RECORDS WRITTEN. LAST JED = 2438416.50
80 EPHEMERIS RECORDS WRITTEN. LAST JED = 2438736.50
90 EPHEMERIS RECORDS WRITTEN. LAST JED = 2439056.50
100 EPHEMERIS RECORDS WRITTEN. LAST JED = 2439376.50
110 EPHEMERIS RECORDS WRITTEN. LAST JED = 2439696.50
120 EPHEMERIS RECORDS WRITTEN. LAST JED = 2440016.50
130 EPHEMERIS RECORDS WRITTEN. LAST JED = 2440336.50
140 EPHEMERIS RECORDS WRITTEN. LAST JED = 2440656.50
150 EPHEMERIS RECORDS WRITTEN. LAST JED = 2440976.50
160 EPHEMERIS RECORDS WRITTEN. LAST JED = 2441296.50
170 EPHEMERIS RECORDS WRITTEN. LAST JED = 2441616.50
180 EPHEMERIS RECORDS WRITTEN. LAST JED = 2441936.50
190 EPHEMERIS RECORDS WRITTEN. LAST JED = 2442256.50
200 EPHEMERIS RECORDS WRITTEN. LAST JED = 2442576.50
210 EPHEMERIS RECORDS WRITTEN. LAST JED = 2442896.50
220 EPHEMERIS RECORDS WRITTEN. LAST JED = 2443216.50
230 EPHEMERIS RECORDS WRITTEN. LAST JED = 2443536.50
240 EPHEMERIS RECORDS WRITTEN. LAST JED = 2443856.50
250 EPHEMERIS RECORDS WRITTEN. LAST JED = 2444176.50
260 EPHEMERIS RECORDS WRITTEN. LAST JED = 2444496.50
270 EPHEMERIS RECORDS WRITTEN. LAST JED = 2444816.50
280 EPHEMERIS RECORDS WRITTEN. LAST JED = 2445136.50
290 EPHEMERIS RECORDS WRITTEN. LAST JED = 2445456.50
300 EPHEMERIS RECORDS WRITTEN. LAST JED = 2445776.50
310 EPHEMERIS RECORDS WRITTEN. LAST JED = 2446096.50
320 EPHEMERIS RECORDS WRITTEN. LAST JED = 2446416.50
330 EPHEMERIS RECORDS WRITTEN. LAST JED = 2446736.50
340 EPHEMERIS RECORDS WRITTEN. LAST JED = 2447056.50
350 EPHEMERIS RECORDS WRITTEN. LAST JED = 2447376.50
360 EPHEMERIS RECORDS WRITTEN. LAST JED = 2447696.50
370 EPHEMERIS RECORDS WRITTEN. LAST JED = 2448016.50
380 EPHEMERIS RECORDS WRITTEN. LAST JED = 2448336.50
390 EPHEMERIS RECORDS WRITTEN. LAST JED = 2448656.50
400 EPHEMERIS RECORDS WRITTEN. LAST JED = 2448976.50
410 EPHEMERIS RECORDS WRITTEN. LAST JED = 2449296.50
420 EPHEMERIS RECORDS WRITTEN. LAST JED = 2449616.50
430 EPHEMERIS RECORDS WRITTEN. LAST JED = 2449936.50
440 EPHEMERIS RECORDS WRITTEN. LAST JED = 2450256.50
450 EPHEMERIS RECORDS WRITTEN. LAST JED = 2450576.50
460 EPHEMERIS RECORDS WRITTEN. LAST JED = 2450896.50
470 EPHEMERIS RECORDS WRITTEN. LAST JED = 2451216.50
480 EPHEMERIS RECORDS WRITTEN. LAST JED = 2451536.50
490 EPHEMERIS RECORDS WRITTEN. LAST JED = 2451856.50
500 EPHEMERIS RECORDS WRITTEN. LAST JED = 2452176.50
510 EPHEMERIS RECORDS WRITTEN. LAST JED = 2452496.50
520 EPHEMERIS RECORDS WRITTEN. LAST JED = 2452816.50
530 EPHEMERIS RECORDS WRITTEN. LAST JED = 2453136.50
540 EPHEMERIS RECORDS WRITTEN. LAST JED = 2453456.50
550 EPHEMERIS RECORDS WRITTEN. LAST JED = 2453776.50
560 EPHEMERIS RECORDS WRITTEN. LAST JED = 2454096.50
570 EPHEMERIS RECORDS WRITTEN. LAST JED = 2454416.50
580 EPHEMERIS RECORDS WRITTEN. LAST JED = 2454736.50
590 EPHEMERIS RECORDS WRITTEN. LAST JED = 2455056.50
600 EPHEMERIS RECORDS WRITTEN. LAST JED = 2455376.50
610 EPHEMERIS RECORDS WRITTEN. LAST JED = 2455696.50
620 EPHEMERIS RECORDS WRITTEN. LAST JED = 2456016.50
630 EPHEMERIS RECORDS WRITTEN. LAST JED = 2456336.50
640 EPHEMERIS RECORDS WRITTEN. LAST JED = 2456656.50
650 EPHEMERIS RECORDS WRITTEN. LAST JED = 2456976.50
660 EPHEMERIS RECORDS WRITTEN. LAST JED = 2457296.50
670 EPHEMERIS RECORDS WRITTEN. LAST JED = 2457616.50
680 EPHEMERIS RECORDS WRITTEN. LAST JED = 2457936.50
690 EPHEMERIS RECORDS WRITTEN. LAST JED = 2458256.50
700 EPHEMERIS RECORDS WRITTEN. LAST JED = 2458576.50
710 EPHEMERIS RECORDS WRITTEN. LAST JED = 2458896.50
720 EPHEMERIS RECORDS WRITTEN. LAST JED = 2459216.50
Creating binary planetary ephemeris file...
** Files utcpole.dat/leapsec.dat are not present on hard disk.
** Running update_luts.py to download the missing files...

Downloading files into /home/torres609/SeaDAS/ocssw/var/modis
OBPG session started
Traceback (most recent call last):
File "/home/torres609/SeaDAS/ocssw/bin/modis_GEO", line 113, in <module>
sys.exit(main())
File "/home/torres609/SeaDAS/ocssw/bin/modis_GEO", line 102, in main
m.utcleap()
File "/home/torres609/SeaDAS/ocssw/bin/modis/modis_GEO_utils.py", line 149, in utcleap
lut.get_luts()
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/LutUtils.py", line 140, in get_luts
regex='^((?!\d+).)*' + suffix, check_times=True)
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/JsonUtils.py", line 198, in download_allfiles
all_links = self.get_links(url, regex=regex)
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/JsonUtils.py", line 165, in get_links
with session.get(url, stream=True, timeout=self.timeout) as response:
AttributeError: _enter_
"

Greatly appreciate your responses.

gnwiii
Posts: 713
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 2
Has thanked: 1 time

Re: OCSSW Processor - MODIS

by gnwiii » Tue Apr 06, 2021 7:51 pm America/New_York

Error: return = 1 : trying to run command = /home/torres609/SeaDAS/ocssw/bin/ocssw_runner --ocsswroot /home/torres609/SeaDAS/ocssw update_luts modisa
This is the last step in the installation, so you can complete the installation by running "update_luts modisa" in a terminal, or, for more details if an error occurs: "update_luts -v modisa".
** Files utcpole.dat/leapsec.dat are not present on hard disk.
** Running update_luts.py to download the missing files...
is because you have not yet successfully run "update_luts modisa" using your user privileges (note that the error messages are not completely accurate -- many of use no longer use hard disks, and the missing files may be present in your _filesystem_, just not where the script "expects" them to be. The second message needs updating from the SeaDAS 7 OCSSW software which used the ".py" extension for Python scripts:

Code: Select all

% grep update_luts $OCSSWROOT/bin/modis/*.py
/home/gwhite/ocssw/bin/modis/modis_GEO_utils.py:                print("** Running update_luts.py to download the missing files...")
/home/gwhite/ocssw/bin/modis/modis_GEO_utils.py:                print("** Running update_luts.py to update files...")
As previously mentioned, but worth repeating: do not use "sudo" to install or run SeaDAS 8. You may encounter some lingering problems with file ownership or locations (it is possible that utcpole.dat/leapsec.dat _are_ present, but were downloaded to a location in "root's" directory). These are generally easily repaired if you are comfortable with the linux permission system, but a mistake can result in irreparable damage.

vito609
Posts: 21
Joined: Mon Apr 05, 2021 2:01 am America/New_York
Answers: 0

Re: OCSSW Processor - MODIS

by vito609 » Tue Apr 06, 2021 10:53 pm America/New_York

Hello.

Thank you for your reply, however I encountered an error when using update_luts.py.

///
torres609@torres609:~/SeaDAS/ocssw/bin$ ./update_luts -v modisa
expected str, bytes or os.PathLike object, not NoneType
Traceback (most recent call last):
File "./update_luts", line 63, in <module>
luts.get_luts()
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/LutUtils.py", line 119, in get_luts
for d in self.lut_dirs():
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/LutUtils.py", line 84, in lut_dirs
if self.sensor['instrument'] == 'MODIS':
TypeError: 'NoneType' object is not subscriptable
///

gnwiii
Posts: 713
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 2
Has thanked: 1 time

Re: OCSSW Processor - MODIS

by gnwiii » Wed Apr 07, 2021 7:52 am America/New_York

The error indicates that you did not source "$OCSSWROOT/OCSSW_bash.env":

Code: Select all

gwhite@cerberus ~/ocssw/bin % ./update_luts -v aqua
expected str, bytes or os.PathLike object, not NoneType
Traceback (most recent call last):
  File "/home/gwhite/ocssw/bin/./update_luts", line 63, in <module>
    luts.get_luts()
  File "/home/gwhite/ocssw/bin/seadasutils/LutUtils.py", line 119, in get_luts
    for d in self.lut_dirs():
  File "/home/gwhite/ocssw/bin/seadasutils/LutUtils.py", line 84, in lut_dirs
    if self.sensor['instrument'] == 'MODIS':
TypeError: 'NoneType' object is not subscriptable
Set "OCSSWROOT" and then use ocssw_runner:

Code: Select all

gwhite@cerberus ~/ocssw/bin % export OCSSWROOT=$HOME/ocssw
gwhite@cerberus ~/ocssw/bin % ./ocssw_runner update_luts -v aqua

Downloading files into /home/gwhite/ocssw/var/common
OBPG session started
...no new files.

Downloading files into /home/gwhite/ocssw/var/modis
Downloading utcpole.dat (    1.12 MBs)
[==================================================]...Done
+ utcpole.dat

Downloading files into /home/gwhite/ocssw/var/modisa
...no new files.

Downloading files into /home/gwhite/ocssw/var/modisa/cal/OPER
...no new files.

Downloading files into /home/gwhite/ocssw/var/modisa/xcal/OPER
...no new files.

vito609
Posts: 21
Joined: Mon Apr 05, 2021 2:01 am America/New_York
Answers: 0

Re: OCSSW Processor - MODIS

by vito609 » Wed Apr 07, 2021 8:26 am America/New_York

Hello.

It seems that exporting OCSSWROOT path did not work. I also tried adding OCSSWROOT="/home/torres609/SeaDAS/ocssw" to the /etc/environment and /etc/profile, but it didn't also help with the error.

Similar error encountered:
///
torres609@torres609:~/SeaDAS/ocssw/bin$ echo $OCSSWROOT
/home/torres609/SeaDAS/ocssw

torres609@torres609:~/SeaDAS/ocssw/bin$ ./ocssw_runner update_luts -v aqua

Downloading files into /home/torres609/SeaDAS/ocssw/var/common
OBPG session started
Traceback (most recent call last):
File "/home/torres609/SeaDAS/ocssw/bin/update_luts", line 63, in <module>
luts.get_luts()
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/LutUtils.py", line 132, in get_luts
check_times=True)
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/JsonUtils.py", line 198, in download_allfiles
all_links = self.get_links(url, regex=regex)
File "/home/torres609/SeaDAS/ocssw/bin/seadasutils/JsonUtils.py", line 165, in get_links
with session.get(url, stream=True, timeout=self.timeout) as response:
AttributeError: _enter_
///

Is there additional things I can check or do in order to address this error?

Thank you.

Post Reply