Error ProEdrViirsCloudsFirstController

Issues related to VIIRS EDR algorithms and data
Post Reply
yli
Posts: 16
Joined: Fri Apr 26, 2013 1:25 pm

Error ProEdrViirsCloudsFirstController

Post by yli »

I was generating Cloud top properties (CTT/CTP/CTH) using TK Chain Runner, which in turn executes ProSdrViirsController, ProEdrViirsMasksController, ProEdrViirsCopController, ProEdrViirsCloudsFirstController and ProEdrViirsCloudsSecondController.

The first three steps were all good; however, for some granules ProEdrViirsCloudsFirstController failed whereas for other granules it was successful. For those failure granules, the error message shows "ROOT PRO_FAIL NAN or INFINITY in product with groupname: VIIRS_CTP_IP from file ProCmnAlgorithm.cpp", which I suspect related to the *VIIRS-CTP-IP-AC* LUT so I replaced it with another one, but it still failed.

The completed error message:
"Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnAlgorithm[ProEdrViirsCtp]::doQstage(NPP000332070391) [0x2aaac306dee0] ROOT PRO_FAIL NAN or INFINITY in product with groupname: VIIRS_CTP_IP from file ProCmnAlgorithm.cpp, line 3810
Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnAlgorithm[ProEdrViirsCtp]::doIpoModel(NPP000332070391) [0x2aaac306dee0] PRO_FAIL doQstage() call from file ProCmnAlgorithm.cpp, line 4180
Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnAlgorithm[ProEdrViirsCtp]::runAlgorithmImpl() [0x2aaac306dee0] PRO_FAIL doIpoModel() call from file ProCmnAlgorithm.cpp, line 4266
Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnAlgorithmBase[ProEdrViirsCtp]::runAlgorithm() [0x2aaac306dee0] PRO_FAIL runAlgorithmImpl() call from file ProCmnAlgorithmBase.cpp, line 501
Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnControllerAlgorithm[ProEdrViirsCloudsFirstController]::runAlgorithmChain(NPP000332070391) [0x10b622e0] PRO_FAIL runAlgorithm() call from file ProCmnControllerAlgorithm.cpp, line 476
Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnControllerBase[ProEdrViirsCloudsFirstController]::runAlgorithmImpl(NPP000332070391) [0x10b622e0] PRO_FAIL runAlgorithmChain() call from file ProCmnControllerBase.cpp, line 243
Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnAlgorithmBase[ProEdrViirsCloudsFirstController]::runAlgorithm(NPP000332070391) [0x10b622e0] PRO_FAIL runAlgorithmImpl() call from file ProCmnAlgorithmBase.cpp, line 501
Log Message Value ProCmnAlgorithm[ProEdrViirsCtp]::doQstage(NPP000332070391) [0x2aaac306dee0] ROOT PRO_FAIL NAN or INFINITY in product with groupname: VIIRS_CTP_IP from file ProCmnAlgorithm.cpp, line 3810
Log Message Value TRACE - (11196.47500082531424): DBG_HIGH ProCmnMethodAudit.cpp|207|ProCmnAppl[ProCmnViirsAppl]::run() [0x7fffbc7f6500] PRO_FAIL runAlgorithm() call from file ProCmnAppl.cpp, line 786"

Can anyone offer any suggestion?

Thanks.

Yue
bhenders
Posts: 72
Joined: Wed Jan 05, 2011 9:27 am
Location: Omaha, NE

Re: Error ProEdrViirsCloudsFirstController

Post by bhenders »

Yue,

The failures you are seeing are due to the CTP IP output that is being created for the failed granule IDs, containing a NaN or Infinity value in the output. In ADL, NaN/Infinity checking is turned on by default in the $ADL_HOME/cfg/ADL_CFG.xml file. The relevant section is pasted below:

<config>
<!-- Option to check for NaN and Infinity values in output products
before they are stored to DMS. If either type is found, the
algorithm will fail and no output products will be created.

There are 2 valid values:
true - Enable check for NaN and infinity values
false - Disable check for NaN and infinity values
-->
<name>CHECK_NAN_INFINITY</name>
<configValue>true</configValue>
</config>

You can turn off this automatic checking by setting this to false, such as:

<name>CHECK_NAN_INFINITY</name>
<configValue>false</configValue>

This will allow you to produce outputs even when the output contains a Nan/Infinity value. There is a PCR in Sustainment 34481 (DR7200 - VIIRS CTP - Mx7 Out-of-Bounds issues per 474-CCR-12-0746 (DR4740)), that may be the cause of what you are seeing. However, I was told this problem was introduced in Mx7 build.

Can you let me know what build or ADL version of the software you are executing. It is certainly possible that there could be more than one problem. Do you have code modifications? Can you summarize what granules failed? The IDPS sustainment team probably needs to look into the failures further to determine what is causing the NaN/Infinity values in the output.

Thanks,

Bryan Henderson
Raytheon Company
yli
Posts: 16
Joined: Fri Apr 26, 2013 1:25 pm

Re: Error ProEdrViirsCloudsFirstController

Post by yli »

Hi Bryan,

Thanks for the reply.

If I change the ADL_CFG.xml file, a rebuild of ADL is needed, right?

The ADL version was downloaded from SSEC website, and I went through a standard install. If I check the .version and .version_idps files under $ADL_HOME, it says 4.1.1 and Mx6.5, respectively. I do not think I ever modified the codes. Some LUTs and input/ancillary data were provided by a colleague, so there is mixture of versions of LUTs (some of them could be Mx7.1), etc. Could this be the reason?

At least for the following two granules, the ProEdrViirsCloudsFirstController failed:
NPP000331978213
NPP000332070391
bhenders
Posts: 72
Joined: Wed Jan 05, 2011 9:27 am
Location: Omaha, NE

Re: Error ProEdrViirsCloudsFirstController

Post by bhenders »

Yue,

You will not need to recompile ADL for a change to ADL_CFG.xml. This file is only read and used at execution or run time. I will pass your information on to the sustainment team. It is possible that your mixture of LUTs may be causing the problem but it could also be due to an existing software issue within the algorithm.

Thanks for the information and granule ids.

Bryan Henderson
Raytheon Company
yli
Posts: 16
Joined: Fri Apr 26, 2013 1:25 pm

Re: Error ProEdrViirsCloudsFirstController

Post by yli »

Hi Bryan,

An Update. I linked all LUTs to the original LUTs coming with ADL, which are are $CSPP_HOME/static/ADL/data/repositories/cache, but the ProEdrViirsCloudsFirstController still failed for the aforementioned granules. So the failure may not be due to mixture of LUTs.

Thanks.

Yue
Post Reply