Closed LandonTClipp closed 7 years ago
According to ASTER user's guide, The HGH, NOR, LO1, LO2, and OFF are all they provided. So this LOW must be an outlier. I will double check the file, hang on.
This file path is for Blue waters, FYI
Landon, I verified what you said. We need to contact ASTER team on this issue. You should notify Guangyu and ask him to contact LP DAAC how we should interpret the LOW. This is not in their user's guide.
From Guangyu: On page 13 of the ASTER 1T product specification (https://lpdaac.usgs.gov/sites/default/files/public/product_documentation/aster_l1t_product_specification.pdf), you will see the gain markers for VNIR (Bands 1-3) are “HIGH”, “NOR” or “LOW”. But for SWIR, they are “HIGH”, “NOR” , “LO1” or “LO2”.
I’ve looked at the sample ASTER file and found the gain settings for bands 1 and 2 are indeed set to “Low”.
Note that there are no conversion coefficients for “LO2” setting for Bands 1, 2, and 3N in table 2-3. So if the gain setting is “LOW” for these three bands, the conversion coefficients for “LO1" have to be used.
Landon, could you provide me the inputfilelist for this at roger?
The input file list for ROGER:
/projects/TDataFus/fusionTesting/input/2013/input74612.txt
I have changed the ASTER code so that any time cameras 1, 2, or 3N are found with a gain label of "LOW", it remaps this internally to the "LO1" label, as per what Dr. Zhao suggested. This seems to have fixed the problem.
Given that no other issues pop up, this should now give us >99% success rate for 2013 processing. I will submit another job to Blue Waters to test everything we have so far.
landon, we are duplicating our work :) I am going to check in the change and my change is simple. Could you revert your ASTER.c and I can check in my change?
@@ -1679,10 +1679,10 @@ short get_band_index(char band_index_str) short get_gain_stat(char gain_stat_str) {
const char *gain_stat_str_list[5] = {"HGH","NOR","LO1","LO2","OFF"};
const char *gain_stat_str_list[6] = {"HGH","NOR","LO1","LO2","OFF","LOW"}; int ret_value = -1; int i = 0;
for(i= 0; i <5; i++)
for(i= 0; i <6; i++) {
if(!strncmp(gain_stat_str,gain_stat_str_list[i],3))
@@ -1843,6 +1843,13 @@ int obtain_gain_index(int32 sd_id,short gain_index[15]) strncpy(gain_stat_str,tp,3); temp_gain_index = get_gain_stat(gain_stat_str);
// On page 13 of the ASTER 1T product specification
// (https://lpdaac.usgs.gov/sites/default/files/public/product_documentation/aster_l1t_product_specification.pdf), you will see the gain markers for VNIR (Bands 1-3) are .HIGH., .NOR. or .LOW..
// Since There is no Low Gain 2 for band 1-3B, the "LOW" must be "Low Gain 1". Change the index.
if(temp_gain_index == 5)
temp_gain_index = 2;
gain[band_index] = temp_gain_index;
}
Okay I will revert my work. Please do not merge to master until I revert the change.
Dr. Yang, go ahead and push your changes to this specific portion of ASTER to a development branch. I made other changes to ASTER, namely adding more robust error checks. I am afraid that if you try to push to master, you will run into conflicts. I will simply copy-paste your version of this bug-fix to ASTER.c
Done with the branch temp_aster_fix. Note the ASTER.c is based on the version before you reverted. Please just add your error handling code/comments to this file and check it into the master. I've checked it with the ASTER files that have low with my version. The values look correct.
Your changes have been successfully merged. I will begin the next round of BW tests.
ASTER retrieves the gain status for each camera from productmetadata.0. It searches for HGH, NOR, LO1, LO2, and OFF. However in the file
Some of the cameras have "LOW" as the status. ASTER does not check for this???
The error that manifests is "There is no valid Unit Conversion Coefficient for this dataset ImageData2". Need to figure out how to fix this problem.