level 2 ocean salinity status

25
SMOS L2 Ocean Salinity www.argans.co. Level 2 Ocean Salinity status 4 February 2013 ARGANS

Upload: talon-fuller

Post on 30-Dec-2015

30 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

SMOS L2 Ocean Salinity

www.argans.co.uk

Level 2 Ocean Salinitystatus

4 February 2013

ARGANS

SMOS L2 Ocean Salinity

www.argans.co.uk

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

L2OS v600 status

SMOS L2 Ocean Salinity

www.argans.co.uk

First results with v600 L2OS & L1PP

L1OP v504 L1PP v600 delta = v600 – v504AFFOV median (X/Y) 0.35/-1.12 1.30/-0.12 0.92/1.14

Single orbit OTT: 20100802T153815

SMOS L2 Ocean Salinity

www.argans.co.uk

First results with v600 L2OS & L1PP

L1OP v504 L1PP v600 delta = v600 – v504(not using new L1c RFI flags)

SMOS L2 Ocean Salinity

www.argans.co.uk

First results with v600 L2OS & L1PPCross-track salinity profile(latitude -15 to 0)

L1OP v504(slope -0.04/degree)

L1PP v600(slope -0.03/degree)

SMOS L2 Ocean Salinity

www.argans.co.uk

First results with v600 L2OS & L1PPCross-track salinity quality profile(latitude -15 to 0)

L1OP v504

L1PP v600

SMOS L2 Ocean Salinity

www.argans.co.uk

Need to evaluate integration between v600 L1PP & L2OS

• new sun point/tail width

• new RFI flagsTest with more than one orbit: 9 RFI orbits used to tune L2OS RFI algorithms

v600 L2OS & L1PP integration

Fm__L1c_RFI_YY

Fm__L1c_sun_tailsFm__L1c_sun_point

Fm__L2_RFI_outlier

SMOS L2 Ocean Salinity

www.argans.co.uk

Filters and flagsPrevious 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)

SMOS L2 Ocean Salinity

www.argans.co.uk

Filters and flagsIn 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.

SMOS L2 Ocean Salinity

www.argans.co.uk

Filters and flagsFlag 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?)

SMOS L2 Ocean Salinity

www.argans.co.uk

Filters and flagsFlags 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.>

SMOS L2 Ocean Salinity

www.argans.co.uk

RFIv600 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...

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI test orbits

v550 v60020100709T034234

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI test orbits

v550 v60020100709T161301

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI test orbits

v550 v60020100730T055514

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI test orbits

v550 v60020100730T214604

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI test orbits

v550 v60020120611T191812

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI: snapshot out-of-rangeSnapshot discarded if any out-of-range TBs & no land/ice contamination

20100709T161301Threshold 50K in AFFOV, 100K in EAFFOV& <20% land/coast/ice pixels in snapshot

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI: snapshot standard deviationSnapshot discarded if standard deviation / radiometric accuracy too high (eg RFI tails)

20100709T161301Threshold 2.5 K& > 35% measurements in snapshot

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI: measurement outliersMeasurements discarded if dwell line standard deviation / theoretical std too high

20100709T161301Threshold 2.4 (was 1.2)& > 3% RFI outliers & > 15 measurements

RFI tails not detected by snapshot std/ra

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI: measurement outliersWhy is std/theory above theoretical value of 1.2?

Measurement outlier detection computes outliers differently:

SMOS L2 Ocean Salinity

www.argans.co.uk

RFI: summaryTest 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_DGGRFIDg_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)

SMOS L2 Ocean Salinity

www.argans.co.uk

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.

Cardioid model & iceberg detection

20110825T171549 v600

Iceberg at 59S, 163W

v550

Fg_sc_ice_acard

SMOS L2 Ocean Salinity

www.argans.co.uk

But icebergs trigger false RFI measurement outlier detection

Cardioid model & iceberg 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.

20120611T191812

SMOS L2 Ocean Salinity

www.argans.co.uk

Proposed evolution for v650

• TEC from Stokes 3Analyse prototype/breadboard: test near land, low TEC regions, & ascending orbits

• Land-mass proximity update to AUX_DISTANThresholds 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 modifiedESL requests for retrieved WS in UDP, ...

• Review DAP: add OTT dataSupports drift analysis & automatic OTT generation – xi/eta, replaces Tb_gal_H/V, snapshot ID replaced Diff_TB_4

L2OS v650