Run time error in swapAggZoneOrCalDataZoneBlock() call

Issues related to the VIIRS SDR algorithm and data
ltan1
Posts: 5
Joined: Thu May 03, 2012 7:44 am

Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by ltan1 »

Hi,

I was trying to run ADL3.1 to process RDR granule d20120120_t2046148_e2047402 into SDR and encountered following error:
--------------------------------------------------------------------------------------------------------------------------------------------
2012/05/31 23:39:20.686.634 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::swapAggZoneOrCalDataZoneBlock(VIIRS-SCIENCE-RDR) [0x12658c90] ROOT PRO_FAIL did not find synch word 0xff000063; found 0xdeaddead instead.
from file ProCmnViirsRDRItem.cpp, line 1413
2012/05/31 23:39:20.686.656 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::byteswapMiddleOrLastSciencePkt(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL swapAggZoneOrCalDataZoneBlock() call from file ProCmnViirsRDRItem.cpp, line 1062
2012/05/31 23:39:20.686.676 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::byteswapScienceAP(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL byteswapMiddleOrLastSciencePkt() call from file ProCmnViirsRDRItem.cpp, line 787
2012/05/31 23:39:20.686.698 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::byteswapAPs(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL byteswapScienceAPs() call from file ProCmnViirsRDRItem.cpp, line 221
2012/05/31 23:39:20.686.741 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnRDRItem[18ProCmnViirsRDRItem]::convertEndianness(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL byteswapAPs() failed from file ProCmnRDRItem.cpp, line 804
2012/05/31 23:39:20.686.762 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnInputItem[18ProCmnViirsRDRItem]::getData(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL ProCmnInputItem::convertEndianness() failed from file ProCmnInputItem.cpp, line 197
2012/05/31 23:39:20.686.783 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnRDRItem[18ProCmnViirsRDRItem]::getData(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL superclass getData() call from file ProCmnRDRItem.cpp, line 229
2012/05/31 23:39:20.686.804 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnDataItem[18ProCmnViirsRDRItem]::get(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL getData() call from file ProCmnDataItem.cpp, line 552
...
---------------------------------------------------------------------------------------------------------------------------------------------

I am not sure what might be the cause. Any suggestion?

Thanks,
Liqin
kbisanz
Posts: 280
Joined: Wed Jan 05, 2011 7:02 pm
Location: Omaha NE

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by kbisanz »

This sounds like a possible error in the byte swapping code. It's possible the byte count is getting off. I will download the RDR data from class and see if I can reproduce it. The swapAggZoneOrCalDataZoneBlock() method is in $ADL_HOMECMN/ProcessingIO/src/ProCmnViirsRDRItem.cpp, but the error could be just about anywhere before that. The byteswapping code is pretty long and sensitive to errors.
Kevin Bisanz
Raytheon Company
ltan1
Posts: 5
Joined: Thu May 03, 2012 7:44 am

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by ltan1 »

Thanks, Kiven. Can you reproduce this error? The same kind of byte alignment errors also appeared in my RDR to SDR processing for granules d20120127_t2154 and d20120127_t2155 using the actual daily VIIRS-SDR-F-LUTs generated by Aerospace. The RDRs I used are from GRAVITE.

Liqin
kbisanz
Posts: 280
Joined: Wed Jan 05, 2011 7:02 pm
Location: Omaha NE

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by kbisanz »

I have not had a chance to try yet. I submitted my request for the data to CLASS and am waiting for it to be fulfilled. I don't have a GRAVITE account. Hopefully when I return on Monday it'll be fulfilled.
Kevin Bisanz
Raytheon Company
gfireman
Posts: 14
Joined: Thu May 05, 2011 9:53 am
Location: Greenbelt, MD
Contact:

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by gfireman »

Hi, Liqin -
ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::swapAggZoneOrCalDataZoneBlock(VIIRS-SCIENCE-RDR) [0x12658c90] ROOT PRO_FAIL did not find synch word 0xff000063; found 0xdeaddead instead.
from file ProCmnViirsRDRItem.cpp, line 1413
We've had the same error; it can occur when VIIRS-SCIENCE-RDR packets are missing from the leading, center or trailing granule.
Ms Gwyn Fireman
Ocean PEATE, NASA/GSFC
kbisanz
Posts: 280
Joined: Wed Jan 05, 2011 7:02 pm
Location: Omaha NE

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by kbisanz »

We've looked at the issue and agree it's a problem in the byte swapping code. I was going to try to reproduce it, but then talked with another person and looked at the code and the problem seemed pretty obvious so I didn't go any farther. I've written a PCR for the issue. It's PCR030878. I'm not sure if you can see that through Common CM or not.

Like gfireman stated, this can occur when the VIIRS-SCIENCE-RDR is missing packets. I am not sure exactly when that issue will be worked. We're still trying to judge the priority.
Kevin Bisanz
Raytheon Company
ltan1
Posts: 5
Joined: Thu May 03, 2012 7:44 am

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by ltan1 »

Hi, Kevin,

Thanks for your quick response. It's good new to identified the code error. Can you point me to the location of the PCR030878 you submitted on Common CM?

Liqin
ltan1
Posts: 5
Joined: Thu May 03, 2012 7:44 am

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by ltan1 »

Gwyn,

Thank you for your help on this issue too! Hope the bug fix can be include the Ops code and ADL soon.

Liqin
kbisanz
Posts: 280
Joined: Wed Jan 05, 2011 7:02 pm
Location: Omaha NE

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by kbisanz »

On the Common CM portal, there should be some training that shows how to check a PCR.

I just checked the status on our internal PCR system and it's still in the submitted state. So it hasn't been assigned to anyone to work yet.

I talked with the PCR manager and the plan is to work the PCR "soon" and provide a patch for ADL 4.0
Kevin Bisanz
Raytheon Company
ltan1
Posts: 5
Joined: Thu May 03, 2012 7:44 am

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Post by ltan1 »

Kevin,

I found the PCR you submitted on 6/6 on Common CM and read your description of the problem which is very helpful.

Regards.
Liqin
Post Reply