Terra MODIS geolocation is broken for real-time direct broadcast (DB) processing in the current version of SeaDAS (7.3.2).
1. Install SeaDAS on 64-bit CentOS 6.8 (this step succeeds)
chmod u+x install_ocssw.py
./install_ocssw.py --install-dir=$PWD --arch=linux_64 --terra --direct-broadcast
2. Run MODIS L1A processing on a DB Terra MODIS Level 0 file (this step succeeds)
modis_L1A.py --log --verbose --mission=T --startnudge=5 --stopnudge=5 P0420064AAAAAAAAAAAAAA17042031036001.PDS
3. Run MODIS GEO processing on the L1A file in real-time mode using ATT/EPH data extracted from the PDS file (this step fails)
modis_GEO.py --log --verbose --enable-dem --entrained --disable-download T2017042031047.L1A_LAC
modis_GEO.py [OPTIONS] MODIS_L1A_file
modis_GEO.py --parfile=parameter_file [OPTIONS]
modis_GEO.py: error: no such option: --entrained
The '--entrained' option was supported in SeaDAS 7.3, but it is not available in 7.3.2. Without this option, real-time processing of Terra MODIS data is not possible.
diff run/scripts/modis_GEO.py ~/dbvm/apps/ocssw/run/scripts/modis_GEO.py
< # parser.add_option("-n", "--entrained", action="store_true",
< # dest='entrained', default=False,
< # help="Use entrained attitude for Terra")
> parser.add_option("-n", "--entrained", action="store_true",
> dest='entrained', default=False,
> help="Use entrained attitude for Terra")
< # if options.entrained:
< # entrained = options.entrained
> if options.entrained:
> entrained = options.entrained
Why? This breaks Terra MODIS DB processing for anyone using SeaDAS 7.3.2.
In other forum posts, users have been advised to install the latest version of SeaDAS in order to use the https authentication that is now required for leapsec/utcpole/LUT/ancillary data downloads. But if the new latest version is installed, it breaks Terra MODIS DB geolocation processing.
unfortunately it doesn't work for all datasets. I guess that's the reason why the "--entrained" option has been commented out.
I've raised this issue before in this post https://oceancolor.gsfc.nasa.gov/forum/oceancolor/topic_show.pl?pid=26910 .
Thanks for this background information. I was not aware of it.
If Gwyn Fireman is reading this, could you please tell us why entrained geolocation processing is no longer supported in the MODIS GEO code, or who I should contact to learn more about this decision? Is it James Kuyper? I’m not aware of any good reason why this should have changed. Real-time processing of Terra MODIS geolocation has been supported since 2001.
I can say that all the Terra MODIS DB datasets we have received since I modified the modis_GEO.py as described above have processed normally through L1A, GEO, and L1B.
Yes, James Kuyper is the one to contact. He explained on 9/12/13:
The bugs I know of are triggered when an entire scan of data falls into
an ancillary data packet gap. PGE01 discards the information it's
collected telling it that there was a gap, and happily goes forward
processing the data. This quickly leads first to NaNs, and then to
catastrophic failure. This is new in Collection 6, because of removal of
some code that masked the underlying defect (which was introduced in
Our "geogen_modis" is a slightly modified version of MOD_PR03 v6.0.11; the latest version I've seen is v6.0.14. I don't think this issue has been fixed yet.
I probably should have let entrained-attitude processing continue, and issue an error message on failure.
I did reach out to James Kuyper via email, and he said this bug has been fixed in the MODIS geolocation code. You will probably see the email soon, via Fred Patt.
In the meantime, I have noticed no ill effects from enabling entrained attitude/ephemeris processing by disabling the relevant lines in the modis_GEO.py script.
Bottom line is that real-time Terra MODIS processing is a very important capability for the worldwide EOS DB community, and there are hundreds of users who rely on it every day.