atteph file incorect
Posted: Fri Sep 25, 2020 4:52 pm America/New_York
So I'm starting with 2 MODIS granules and when I process them individually they modis_GEO.py without issue.
This command:
modis_atteph.py -d --verbose ./MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC
returns:
searobin 183 :/optics1/home1/oo_processing/test> cat MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC.atteph
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1215.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1215.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
modis_atteph.py -d --verbose ./MOD00.P2020269.1225_1.GOG_FULL.L1A_LAC
returns
searobin 184 :/optics1/home1/oo_processing/test> cat MOD00.P2020269.1225_1.GOG_FULL.L1A_LAC.atteph
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1230.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1230.061
And both can be run to completion in modis_GEO.py
But in my processing stream, where I have 2 files that match my region of interest I cat them together like this:
cat MOD00.P2020269.1220_1.PDS MOD00.P2020269.1225_1.PDS > MOD00.P2020269.1220.PDS
I can then:
modis_L1A.py ./MOD00.P2020269.1220.PDS -o ./MOD00.P2020269.1220.GOG_FULL.L1A_LAC --startnudge=0 --stopnudge=10
and get the outfile MOD00.P2020269.1220.GOG_FULL.L1A_LAC
BUT when I do this:
modis_atteph.py -d --verbose ./MOD00.P2020269.1220.GOG_FULL.L1A_LAC
I get this returned (Notice the order of the att and eph files in the returned .atteph file):
cat MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1215.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1230.061
att4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1215.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1230.061
eph4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
When I then do this it fails:
modis_GEO.py ./MOD00.P2020269.1220.GOG_FULL.L1A_LAC -o ./MOD00.P2020269.1220.GOG_FULL.GEO --threshold=95 --ancdb=./ancillary_data.db
MODIS GEO version 6.1.0, built Aug 16 2019 12:46:24
scan: 0 out of 400 Fri Sep 25 16:24:35 2020
...
scan: 390 out of 400 Fri Sep 25 16:24:43 2020
Percent valid data (0.00) is less than threshold (95.00)
ERROR: MODIS geolocation processing failed.
However, if I go in and fix the order of the eph and att inside the returned atteph file:
cat MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph.fixed
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1215.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
att4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1230.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1215.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
eph4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1230.061
And then copy it to the proper filename:
cp MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph.fixed MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph
And then run it again from the start (meaning I have to create a new L1A from the PDS files) it is successful:
modis_GEO.py ./MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC -o ./MOD00.P2020269.1220_1.GOG_FULL.GEO --threshold=95 --ancdb=./ancillary_data.db
MODIS GEO version 6.1.0, built Aug 16 2019 12:46:24
scan: 0 out of 197 Fri Sep 25 16:37:18 2020
...
scan: 190 out of 197 Fri Sep 25 16:37:31 2020
And I get a GEO file:
-rw-rw-r-- 1 oo_processing oo_processing 87M Sep 25 16:37 MOD00.P2020269.1220_1.GOG_FULL.GEO
-rw-rw-r-- 1 oo_processing oo_processing 530M Sep 25 16:37 MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC
So why did this occur?
Why was the .atteph returned out of order?
I have a second region in close proximity to this example that is failing in the same manner.
This has never happened to me before today.
I have been running this way for years and years without issues (unless there are 3 input granules)
Brock
This command:
modis_atteph.py -d --verbose ./MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC
returns:
searobin 183 :/optics1/home1/oo_processing/test> cat MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC.atteph
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1215.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1215.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
modis_atteph.py -d --verbose ./MOD00.P2020269.1225_1.GOG_FULL.L1A_LAC
returns
searobin 184 :/optics1/home1/oo_processing/test> cat MOD00.P2020269.1225_1.GOG_FULL.L1A_LAC.atteph
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1230.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1230.061
And both can be run to completion in modis_GEO.py
But in my processing stream, where I have 2 files that match my region of interest I cat them together like this:
cat MOD00.P2020269.1220_1.PDS MOD00.P2020269.1225_1.PDS > MOD00.P2020269.1220.PDS
I can then:
modis_L1A.py ./MOD00.P2020269.1220.PDS -o ./MOD00.P2020269.1220.GOG_FULL.L1A_LAC --startnudge=0 --stopnudge=10
and get the outfile MOD00.P2020269.1220.GOG_FULL.L1A_LAC
BUT when I do this:
modis_atteph.py -d --verbose ./MOD00.P2020269.1220.GOG_FULL.L1A_LAC
I get this returned (Notice the order of the att and eph files in the returned .atteph file):
cat MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1215.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1230.061
att4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1215.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1230.061
eph4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
When I then do this it fails:
modis_GEO.py ./MOD00.P2020269.1220.GOG_FULL.L1A_LAC -o ./MOD00.P2020269.1220.GOG_FULL.GEO --threshold=95 --ancdb=./ancillary_data.db
MODIS GEO version 6.1.0, built Aug 16 2019 12:46:24
scan: 0 out of 400 Fri Sep 25 16:24:35 2020
...
scan: 390 out of 400 Fri Sep 25 16:24:43 2020
Percent valid data (0.00) is less than threshold (95.00)
ERROR: MODIS geolocation processing failed.
However, if I go in and fix the order of the eph and att inside the returned atteph file:
cat MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph.fixed
att1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1215.061
att2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1220.061
att3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1225.061
att4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1ATTNR_NRT.A2020269.1230.061
eph1=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1215.061
eph2=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1220.061
eph3=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1225.061
eph4=/optics1/software/seadas/seadas-7.5.3/ocssw/var/anc/2020/269/PM1EPHND_NRT.A2020269.1230.061
And then copy it to the proper filename:
cp MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph.fixed MOD00.P2020269.1220.GOG_FULL.L1A_LAC.atteph
And then run it again from the start (meaning I have to create a new L1A from the PDS files) it is successful:
modis_GEO.py ./MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC -o ./MOD00.P2020269.1220_1.GOG_FULL.GEO --threshold=95 --ancdb=./ancillary_data.db
MODIS GEO version 6.1.0, built Aug 16 2019 12:46:24
scan: 0 out of 197 Fri Sep 25 16:37:18 2020
...
scan: 190 out of 197 Fri Sep 25 16:37:31 2020
And I get a GEO file:
-rw-rw-r-- 1 oo_processing oo_processing 87M Sep 25 16:37 MOD00.P2020269.1220_1.GOG_FULL.GEO
-rw-rw-r-- 1 oo_processing oo_processing 530M Sep 25 16:37 MOD00.P2020269.1220_1.GOG_FULL.L1A_LAC
So why did this occur?
Why was the .atteph returned out of order?
I have a second region in close proximity to this example that is failing in the same manner.
This has never happened to me before today.
I have been running this way for years and years without issues (unless there are 3 input granules)
Brock