1 / 25

Level 2 Ocean Salinity status

Level 2 Ocean Salinity status. 4 February 2013. ARGANS. L2OS v600 status. FAT 18/19 December 2012 – redelivery 25/1/2013 with updated schema Significant changes from v550 new RFI snapshot level detection, improved RFI outlier detection

Download Presentation

Level 2 Ocean Salinity status

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Level 2 Ocean Salinity status 4 February 2013 ARGANS

  2. L2OS v600 status • FAT 18/19 December 2012 – redelivery 25/1/2013 with updated schema • Significant changes from v550 • new RFI snapshot level detection, improved RFI outlier detection • new galactic noise model LUTs (ascending/descending) • filters & flags moved from code to configuration ADFs • improved Acard filtering near ice • changes to UDP & DAP formats • removed Fg_ctrl_gal_noise from Fg_ctrl_poor_geophysical • bug fixes to iterative scheme, TB_42.5, galactic noise flagging

  3. First results with v600 L2OS & L1PP • L1OP v504 L1PP v600 delta = v600 – v504 • AFFOV median (X/Y) 0.35/-1.12 1.30/-0.12 0.92/1.14 • Single orbit OTT: 20100802T153815

  4. First results with v600 L2OS & L1PP • L1OP v504 L1PP v600 delta = v600 – v504 • (not using new L1c RFI flags)

  5. First results with v600 L2OS & L1PP • Cross-track salinity profile • (latitude -15 to 0) • L1OP v504 • (slope -0.04/degree) • L1PP v600 • (slope -0.03/degree)

  6. First results with v600 L2OS & L1PP • Cross-track salinity quality profile • (latitude -15 to 0) • L1OP v504 • L1PP v600

  7. v600 L2OS & L1PP integration • Need to evaluate integration between v600 L1PP & L2OS • new sun point/tail width • new RFI flags • Test with more than one orbit: 9 RFI orbits used to tune L2OS RFI algorithms Fm__L1c_sun_point Fm__L1c_sun_tails Fm__L2_RFI_outlier Fm__L1c_RFI_YY

  8. Filters and flags • Previous versions of L2OS embedded filtering (eg for grid point & measurement selection) in the code: • if( (ISTRUE(meas->l2flags,fm_resol) == TRUE) || • ((ISTRUE(meas->l2flags,fm_outlier) == TRUE) && (ISTRUE(gp->report->ctrlFlags, fg_ctrl_suspect_rfi) == FALSE))|| • ((ISTRUE(meas->l2flags,fm_l2_rfi) == TRUE) && (ISTRUE(gp->report->ctrlFlags, fg_ctrl_suspect_rfi) == TRUE))|| • (ISTRUE(meas->l2flags,fm_out_of_range) == TRUE) || • (ISTRUE(meas->l2flags,fm_chi_eta) == TRUE) || • (ISTRUE(meas->l1flags,fml1c_border_fov) == TRUE) || • ((!ISTRUE(meas->l1flags,fml1c_af_fov) == TRUE) && (decision_tree->switch_af == TRUE)) || • (ISTRUE(meas->l2flags,fm_moon_specDir) == TRUE) || • (ISTRUE(meas->l2flags,fm_gal_noise_error) == TRUE) || • (((ISTRUE(meas->l2flags,fm_high_sun_glint) == TRUE) && (ISTRUE(meas->l2flags,fm_low_sun_glint) == FALSE))) || • (ISTRUE(meas->l2flags,fm_l1c_sun) == TRUE) || • (ISTRUE(meas->l2flags,fm_suspect_ice) == TRUE) || • (ISTRUE(meas->l2flags,fm_l1c_error) == TRUE) ) • v600 replaces this by a filter defined in AUX_CNFOSF. Code replaced by: • if (applyFilter(configHandle,MEASUREMENT_DECISION_TREE,meas,gp->report[ == TRUE)

  9. Filters and flags • In AUX_CNFOSF, filter MEASUREMENT_DECISION_TREE is defined as: • <Filter><Name>Measurement_decision_tree</Name> • <List_of_tests count="12"> • <Reject>Fm_resol</Reject> • <Reject>Fm_outlier</Reject> • <Reject>Fm_L2_RFI_snapshot_out_of_range</Reject> • <Reject>Fm_out_of_range</Reject> • <Reject>Fm_xi_eta</Reject> • <Reject>Fm_border</Reject> • <Reject>Fm_moon_spec_dir</Reject> • <Reject>Fm_gal_noise_error</Reject> • <Reject>Fm_high_sun_glint</Reject> • <Reject>Fm_L1c_sun</Reject> • <Reject>Fm_suspect_ice</Reject> • <Reject>Fm_L1c_error</Reject> • </List_of_tests> • </Filter> • which is easier to read and modify. Flag names are defined in the ADF.

  10. Filters and flags • Flag names used in filters are defined in AUX_CNFOSF, eg: • <Flag> <Name>Fm_L1c_sun</Name><Mask>0x00000010</Mask> <Test>0x00000010</Test> </Flag> • <Flag> <Name>Fm_sun_glint_fov</Name> <Mask>0x0008</Mask><Test>0x0008</Test></Flag> • <Flag> <Name>Fm_sun_point</Name><Mask>0x0080</Mask><Test>0x0080</Test></Flag> • <Filter><Name>Set_sun_flag_from_L1c</Name> • <Description>Set Fm_L1c_sun measurement flag from L1c flag(s)</Description> • <List_of_tests count="2"> • <Reject>Fm_sun_glint_fov</Reject> • <Reject>Fm_sun_point</Reject> • </List_of_tests> • </Filter> • This mechanism allows new flags to be defined & used in filters without recompilation & delivery of a new L2OS build (eg L1 v600 new RFI flags): • <Flag> <Name>Fm_RFI_XX</Name> <Mask>0x0040</Mask><Test>0x0040</Test></Flag> • <Flag> <Name>Fm_RFI_YY</Name> <Mask>0x4000</Mask><Test>0x4000</Test></Flag> • (Maybe flag names should be in schema?)

  11. Filters and flags • Flags can be combined to make filters easier to read • <Flag> <Name>Fg_sc_land</Name> <Mask>0x00000003</Mask> <Test>0x00000000</Test></Flag> • <Flag> <Name>Fg_sc_ocean</Name><Mask>0x00000003</Mask><Test>0x00000001</Test> </Flag> • <Flag> <Name>Fg_sc_coast</Name><Mask>0x00000003</Mask><Test>0x00000002</Test></Flag> • <Flag> <Name>Fg_sc_near_land</Name><Mask>0x00000003</Mask><Test>0x00000003</Test></Flag> • and user • <Filter.> • <Name>Grid_point_decision_tree</Name> • <Description>Clear Fg_ctrl_valid for ignored grid points</Description> • <List_of_tests count=“4"> • <Reject>Fg_sc_land</Reject> • <Reject>Fg_sc_coast</Reject> • <Reject>Fg_ctrl_num_meas_min</Reject> • <Reject>Fg_sc_ice</Reject> • </List_of_tests> • </Filter.>

  12. RFI • v600 has 3 RFI detection algorithms: • snapshot out-of-range • snapshot standard deviation • measurement outlier detection • New UDP fields support AUX_DGGRFI • L2OS job order optionally uses AUX_DGGRFI • AUX_CNFOSF has several new RFI detection thresholds (& filters), tuned with L1c v504/505, with 9 test orbits: 20100709, 20100730, 20110209, 201206010 & 20120611 • Balance achieved between too many false positives (land, sun/tails, ice, tec...) and visible RFI/tails missed. Visual (snapshot) & statistical analysis performed. • Need to repeat tuning with L1c v600 & compare with new L1c RFI flags...

  13. RFI test orbits • v550 v600 • 20100709T034234

  14. RFI test orbits • v550 v600 • 20100709T161301

  15. RFI test orbits • v550 v600 • 20100730T055514

  16. RFI test orbits • v550 v600 • 20100730T214604

  17. RFI test orbits • v550 v600 • 20120611T191812

  18. RFI: snapshot out-of-range • Snapshot discarded if any out-of-range TBs & no land/ice contamination Threshold 50K in AFFOV, 100K in EAFFOV & <20% land/coast/ice pixels in snapshot 20100709T161301

  19. RFI: snapshot standard deviation • Snapshot discarded if standard deviation / radiometric accuracy too high (eg RFI tails) Threshold 2.5 K & > 35% measurements in snapshot 20100709T161301

  20. RFI: measurement outliers • Measurements discarded if dwell line standard deviation / theoretical std too high RFI tails not detected by snapshot std/ra Threshold 2.4 (was 1.2) & > 3% RFI outliers & > 15 measurements 20100709T161301

  21. RFI: measurement outliers • Why is std/theory above theoretical value of 1.2? Measurement outlier detection computes outliers differently:

  22. RFI: summary • Test with L1c v600 & compare with new L1c RFI flags • Check & tune RFI filters • snapshot out-of-range filter • > 40km from land, no ice, ignore border, sun point (tails?) • snapshot standard deviation filter • > 40km from land, no ice, AFFOV, border, sun point (tails?), out-of-range • measurement outlier filter • >200km from land, border, sun point/glint fov (& tails), out-of-range, hi std • Monitor AUX_DGGRFI • Dg_RFI_X/Y counts Fm_L2_RFI, set by out-of-range & outlier tests (filters could be changed to set Fm_L2_RFI from any/all of the above tests, & from L1c flags)

  23. Cardioid model & iceberg detection • Acard measurement selection previously discarded TBs that were too high for open ocean, but expected for ice. In v600 Acard is retrieved over ice & land, so ice extent & icebergs can be seen & flagged. Iceberg at 59S, 163W v550 20110825T171549 v600 Fg_sc_ice_acard

  24. Cardioid model & iceberg detection 20120611T191812 • But icebergs trigger false RFI measurement outlier detection Acard Fm_L2_RFI_outlier Fg_ctrl_suspect_RFI std/theory for the centre of the iceberg at 57S is 16.8, with 46% measurements flagged as RFI outliers False RFI measurement outlier detection will probably also occur for fresh water lenses.

  25. L2OS v650 • Proposed evolution for v650 • TEC from Stokes 3 • Analyse prototype/breadboard: test near land, low TEC regions, & ascending orbits • Land-mass proximity update to AUX_DISTAN • Thresholds of 40km & 200km in v600 & earlier filters processing near islands as well as large land masses, but we suspect small islands do not cause land/sea contamination • UDP fields modified • ESL requests for retrieved WS in UDP, ... • Review DAP: add OTT data • Supports drift analysis & automatic OTT generation – xi/eta, replaces Tb_gal_H/V, snapshot ID replaced Diff_TB_4

More Related