NCC Status December 18, 2012 Calvin Liang Stephanie Weiss NGAS A&DP Path Forward to Investigate NCC EDR Issues • Proposed steps to investigate NCC issue: •Completed •In Work •Planned 1. Collect SVDNB, GDNBO, and IVOBC granules from August 16-17th, 2012 – Around new moon 2. Construct stray light correction lookup table (LUT) from new moon data 3. Apply stray light correction LUT to new moon granules using NGAS stray light correction algorithm 4. Determine best functional fit to corrected radiances and account for night glow. (In work right now) 5. Produce a new GVVSSE/GVVSLE LUT based on the new functional fits. 6. Remove stray light in problematic granules 7. Run the latest version of the NCC EDR algorithm in ADL on stray light corrected granules (results are shown using ADL 3.1) 8. Inspect output to determine whether some of the problems identified in the granules go away with stray light correction 9. If it is found that fixing stray light does not completely solve the problems, then we will delve into the NCC EDR algorithm logic (Wrote offline NCC code for testing) 10. ADL code has been modified along with appropriate LUTs to address fill granules. 2 Radiance vs Solar Zenith After Stray Light Correction (Updated) Current SZA cutoff = 105 New solar table to account for night glow. Straylight removed Noise floor 7e-11 New Lunar table that excludes night Some overcorrection glow. but very little 3 C. Liang, NGAS The NCC Algorithm • Pseudo-albedo α is the NCC output and is defined as: LDNB Lsol Llun Lsol Llun 4 arfsol Esol Gsol arflun Elun Glun where LDNB is the DNB radiances from the SVDNB product. Lsol, and Llun are solar reference and lunar radiances computed for a reference earth that is Lambertian to first order. arf is the asymmetric reflectance factor which takes into account a second order BRDF effect on the reference earth E and G are the irradiance and GVVSSE/GVVSLE gain values VNCCO-npp-d20120612-t0010428-e0012136-b03229 • Currently the Ops code cuts off at 105 for both solar and lunar zenith angles Lunar Solar • This limit creates problems since both Lsol and Lrad are necessary to balance each other. LDNB Lsol Llun 5 It is recommended to extend the solar/lunar zenith angle to span [0,180]. C. Liang, NGAS VNCCO-npp-d20120612-t0010428-e0012136-b03229 Lunar Solar Lunar Solar 6 The discontinuity arises because the solar angle limit is 105. Need solar and lunar values to transition smoothly. C. Liang, NGAS VNCCO-npp-d20120612-t0010428-e0012136-b03229 (new) Lunar Solar Lunar Solar 7 With recommended changes, ADL now produces expected smooth transition between solar and lunar conditions C. Liang, NGAS Aurora Imagery (SDR, 12 granules), d20120612-t0000485-e0017522-b03229 8 C. Liang, NGAS Aurora Imagery (NCC, 12 granules), d20120612-t0000485-e0017522-b03229 Large value is due to 1 pixel having a light source that was magnified by gain. 9 C. Liang, NGAS Proposed GVVSSE/GVVSLE LUT GVVSLE just needs to be larger than the GVVSSE in the night glow region. Night glow will be handled by GVVSSE table 10 C. Liang, NGAS Proposed GVVSSE/GVVSLE LUT GVVSLE just needs to be larger than the GVVSSE in the night glow region. Night glow will be handled by GVVSSE table 11 LDNB Lsol Llun Lsol arfsol Esol Gsol Llun arflun Elun Glun C. Liang, NGAS Summary • New updates to the ADL LUT and code have removed the fill value granule issues previously observed. • Previous out of bounds issues primarily were due two issues: – – The 105 solar angle cut-off The Ops table did not account for night glow – – It is recommended to extend the solar and lunar zenith angles out to 180 GVVSSE will be modified to account for night glow/ GVVSLE will NOT account for night glow because the solar table will do so • It is also recommended to remove the [0,5] albedo limit. User of the NCC product can use whatever limit they choose to suit their needs. • A pure LUT change to avoid code changes is not possible: 12 – Although the solar/lunar angle thresholds (sza_threshold/lza_threshold), minimum NCC radiance (min_ncc_radiance), and albedo limits can be adjusted by simple LUT changes, the size of the table cannot be adjusted through a LUT change. – Keeping the 0.1 degree resolution of the GVVSSE/GVVSLE table (10 bins per degree) would require a change to the parameter ZENITH_ANGLE_GAIN_BINS from the value 1051 to 1801; this parameter is in “ViirsNccStructs.h” This will require a recompile of the code – Another route is to change the angular resolution of the GVVSSE/GVVSLE table such that number of solar/lunar angle and gain values remain 1051; this corresponds to an angular resolution of ~0.1714 deg. However, this will also require a code change as the gradation of the table is NOT calculated from the LUT solar/lunar angles but hard coded into the file “NccPtrStruct.f” in the parameter “GVVSE_BIN_WIDTH” which is set to 10 in the ops code. This value would need to be changed to 5.83333333. Path Forward (Overall) • The change from 0.1 to 0.1714 deg resolution in solar/zenith angles did not produce any visual artifacts. Thus, in order to avoid a change in LUT size, which would involve recompilation of modules upstream from the NCC EDR code, it is recommended to update the GVVSSE_BIN_WIDTH parameter to 5.8333333. • Albedo limits should be expanded to a range that allows for negative values and positive albedos much larger than 5. – Allowing negative albedos will require a change to “min_ncc_radiance” to a value < -1.5-e9 (the minimum allowed DNB radiance). – Set the high albedo limit to be 1000. This may be overkill but will allow for extraneous cases (bright light source at large lunar angles for near new to new moon conditions) • SZA and LZA thresholds should be set to [0,180]; these threshold are in the same LUT as “min_ncc_radiance” 13 Path Forward (2 Step Process) 1. Make LUT/PCT changes: – Albedo limits in: ProCmnProductDictionary_CFG.xml – Set “min_ncc_radiance” to value < -1.5e-9 in: *VIIRS-NCC-EDR-AC*xml_Internal – Modify GVVSSE to account for night glow – Modify GVVSLE table so that it increases exponentially beyond the GVVSSE night point – Both GVVSSE/GVVSLE will continue to have the 105 solar/lunar zenith angle limit 2. Make code changes along with LUT changes: • 14 – Set sza_threhold/lza_threshold to 180 in : *VIIRS-NCC-EDR-AC*xml_Internal – Change GVVSE_BIN_WIDTH to 5.833333 in: NccPtrStruct.f – Leave the number of LUT elements constant at 1051 for angle and gain – Update GVVSSE and GVVSLE table to extend out to 180 with a resolution changed from 0.1 to 0.1714 deg. Because there is a code change involved, the small code change will not make it into build Mx7.0; will not likely get in until fall of 2013. The LUT changes in step 1 can be implemented relatively quickly and will lead to improvement in the images.