'VIIRS-ANC-Preci-Wtr-Mod-Gran',
'VIIRS-ANC-Temp-Surf2M-Mod-Gran',
'VIIRS-ANC-Wind-Speed-Mod-Gran',
'VIIRS-ANC-Wind-Direction-Mod-Gran',
'VIIRS-ANC-Press-Surf-Mod-Gran',
'VIIRS-ANC-Tot-Col-Mod-Gran'
When attempting to run the controller, I get the following error...
Code: Select all
DBG_HIGH ProEdrViirsAerosol.cpp|6983| VIIRS AOT calculated invalid Molecular Optical Thickness at Watertests() in InternalChecks.cpp
DBG_HIGH ProCmnMessage.cpp|165|Status: INF_STATUSTYPE_PRO_ERR | Routine: ProEdrViirsAerosol | Description: ProEdrViirsAerosol::AOT_main - Error returned from Watertests
DBG_HIGH ProCmnMethodAudit.cpp|207|ProEdrViirsAerosol[ProEdrViirsAerosol]::doProcessing(NPP000340188883) [0x31fcad0] ROOT PRO_FAIL Science Algorithm: AOT_main() call from file ProEdrViirsAerosol.cpp, line 1038
Code: Select all
/* Calculate Molecular optical thickness at P */
lprs = (Float32)(*(mdl->psl + pixel));
work_.xtauP[band] = lprs/STDPSL * cfgParmsPtr_->moltau[band];
/* Verify calculated xtauP value is not less than or equal to 0 */
if (work_.xtauP[band] <= 0)
{
std::ostringstream message;
message.str("");
message << "VIIRS AOT calculated invalid Molecular Optical "
<< "Thickness at ChsMdlLand() in DoInversionLand.cpp";
DEBUG_HIGH((ProCmnLogger::getLogger()), message.str());
/* Terminate processing for this pixel */
return PRO_FAIL;
}
corrected for the surface terrain, would it be a reasonable guess that that is the reason I am getting negative xtauP?
I think the code to correct the raw NCEP surface pressure using the VIIRS-MOD-GEO-TC terrain height is in ProAncViirsGranulateSurfPres.cpp, and if I can confirm that
the surface correction is the missing piece, I can re-implement that functionality in CSPP.
Any comments?
Geoff