L1a to L2 Aquarius Processor Frank Wentz and Thomas Meissner Aquarius Algorithm Workshop, Santa Rosa, CA, March 9-11, 2010.

Slides:



Advertisements
Similar presentations
SMALLEST LARGEST UNIVERSE SOLAR SYSTEM STARS GALAXIES MILKY WAY
Advertisements

F. Wentz, T. Meissner, J. Scott and K. Hilburn Remote Sensing Systems 2014 Aquarius / SAC-D Science Team Meeting November ,
Atmospheric Correction Algorithm for the GOCI Jae Hyun Ahn* Joo-Hyung Ryu* Young Jae Park* Yu-Hwan Ahn* Im Sang Oh** Korea Ocean Research & Development.
Principles of the Global Positioning System Lecture 19 Prof. Thomas Herring Room A;
GN/MAE155B1 Orbital Mechanics Overview 2 MAE 155B G. Nacouzi.
Chapter 17 Earth’s Cycles
Level-1A to Level-1B Spacecraft data to Geolocation Data and Antenna Temperature Level-1B to Level-2A Antenna Temperatures Converted to TOA Brightness.
The Aquarius Salinity Retrieval Algorithm Frank J. Wentz and Thomas Meissner, Remote Sensing Systems Gary S. Lagerloef, Earth and Space Research David.
UNIT V: EARTH’S COORDINATE SYSTEMS
Scanner Characteristics
Maintaining and Improving the AMSR-E and WindSat Ocean Products Frank J. Wentz Remote Sensing Systems, Santa Rosa CA AMSR TIM Agenda 4-5 September 2013.
End of Semester Meeting Conically Scanning Active/Passive Sensor Simulation Tool (CAPS) Pete Laupattarakasem Liang Hong.
Sea water dielectric constant, temperature and remote sensing of Sea Surface Salinity E. P. Dinnat 1,2, D. M. Le Vine 1, J. Boutin 3, X. Yin 3, 1 Cryospheric.
Cold Sky Calibration Aquarius: D. M. Le Vine MWR: J. C. Gallo.
Frank J. Wentz and Thomas Meissner Remote Sensing Systems Aquarius Salinity Algorithm and Simulations Aquarius/SAC-D Science Workshop July 2010,
Scatterometer Algorithm Simon Yueh, Alex Fore, Adam Freedman, Julian Chaubell Aquarius Scatterometer Algorithm Team July 19, 2010 Seattle.
The Earth Rotates.
Aquarius/SAC-D Mission Mission Simulators - Gary Lagerloef 6 th Science Meeting; Seattle, WA, USA July 2010.
Astronomy 104 Lunar Phases AndEclipses January 24, 2007.
Analysis and Mitigation of Atmospheric Crosstalk Kyle Hilburn Remote Sensing Systems May 21, 2015.
MWR Algorithms (Wentz): Provide and validate wind, rain and sea ice [TBD] retrieval algorithms for MWR data Between now and launch (April 2011) 1. In-orbit.
Patterns in the Sky (cont)
Initial Results on the Cross- Calibration of QuikSCAT and Oceansat-2 Scatterometers David G. Long Department of Electrical and Computer Engineering Brigham.
Aquarius Algorithm Meeting To Do Lists. From Frank Wentz:  Implement Ruf RFI flagging  Implement other QC flags  Further test review, and finalize.
MWR Roughness Correction Algorithm for the Aquarius SSS Retrieval W. Linwood Jones, Yazan Hejazin, Salem Al-Nimri Central Florida Remote Sensing Lab University.
Celestial Sphere. Local View On earth objects are usually viewed in flat Euclidean geometry. From the earth the stars appear to be fixed on a sphere that.
Bob Black Life401.com
Solar Energy Part 1: Resource San Jose State University FX Rongère January 2009.
Observational Astrophysics in the visible light Shai Kaspi Technion - March 2015.
13.1 & 13.3 A Closer Look at the Earth and Why we have Seasons Katrina
Aquarius Algorithm Workshop March 2007 College of Engineering Department of Atmospheric, Oceanic & Space Sciences Chris Ruf Space Physics Research.
UPDATE ON THE SUN GLINT Joe Tenerelli Ocean Data Lab SMOS Level 2 OS Progress Meeting 26 SMOS Barcelona Expert Centre Barcelona, Spain April 2015.
SCIENCE PROCESSING OVERVIEW David Le Vine Aquarius Deputy PI 07 July 2009.
Last time: 2.1. Patterns in The Sky: Stars and constellations, TODAY: celestial coordinates 2.2 Seasons,…Precession 2.2 (cont.) The Moon and Eclipses.
7 th SMOS Workshop, Frascati, October /17 AMIRAS campaign Fernando Martin-Porqueras.
Celestial Sphere. Earthly Sphere Latitude measures the number of degrees north or south of the equator. –DeKalb at 41° 55’ N Longitude measures degrees.
25 June 2009 Dawn Conway, AMSR-E TLSCF Lead Software Engineer AMSR-E Team Leader Science Computing Facility.
A scientific model.  Why do we use the model of the celestial sphere when studying the night sky, even though it does not accurately represent three-dimensional.
T. Meissner, F. Wentz, J. Scott, K. Hilburn Remote Sensing Systems ESA Ocean Salinity Science and Salinity Remote Sensing Workshop November.
Level 2 Algorithm. Definition of Product Levels LevelDescription Level 1 1A Reconstructed unprocessed instrument data 1B Geolocated, calibrated sensor.
Optimization of L-band sea surface emissivity models deduced from SMOS data X. Yin (1), J. Boutin (1), N. Martin (1), P. Spurgeon (2) (1) LOCEAN, Paris,
Unit 4 Motions of Earth, Moon, and Sun. Apparent Motions of Celestial Objects Apparent Apparent motion is the motion an object appears to make. Can be.
Do Now On the Maps: – Locate the Prime Meridian, Equator, Tropic of Cancer, Tropic of Capricorn, Artic Circle, Antarctic Circle – Locate the Continents,
Aquarius Algorithm Workshop Santa Rosa, CA 9 March 2010 College of Engineering Department of Atmospheric, Oceanic & Space Sciences Chris Ruf University.
Space Reflecto, November 4 th -5 th 2013, Plouzané Characterization of scattered celestial signals in SMOS observations over the Ocean J. Gourrion 1, J.
Sea Surface Salinity from Space Simulation of Aquarius brightness temperature, Tb, at spacecraft during one orbit Top Panel –Ground track (red) –Outer.
Workshop Agenda: Day One 9:30 IntroductionLagerloef / Le Vine 9:45 Workshop objectivesG. Feldman 10:00 Overview of the Aquarius Data Processing System:G.
Simulator Wish-List Gary Lagerloef Aquarius Principal Investigator Cal/Val/Algorithm Workshop March GSFC.
Celestial Sphere Facts: It’s an imaginary sphere with earth in the center. It is useful for locating constellations and stars on a star map.
Mission Operations Review February 8-10, 2010 Cordoba, ARGENTINA SECTION 16.x Aquarius Science Commissioning and Acceptance Draft 2 Prepared by: Gary Lagerloef,
Level 2 Scatterometer Processing Alex Fore Julian Chaubell Adam Freedman Simon Yueh.
ADPS Science Software Development Bryan Franz NASA Ocean Biology Processing Group Aquarius Data Processing Workshop, NASA/GSFC, March 2007.
The Inter-Calibration of AMSR-E with WindSat, F13 SSM/I, and F17 SSM/IS Frank J. Wentz Remote Sensing Systems 1 Presented to the AMSR-E Science Team June.
Satellites Storm “Since the early 1960s, virtually all areas of the atmospheric sciences have been revolutionized by the development and application of.
Aquarius Level 0-to-1A Processing Rule #1: save everything from the Level 0 data. Rule #2: never forget Rule #1! The objective is to ensure that the Level.
Radiometer Calibration: Implementation of Counts to TA Processor Frank Wentz and Thomas Meissner Aquarius Algorithm Workshop, Santa Rosa, CA, March 9-11,
Introduction to On-Orbit Thermal Environments
Balance of Energy on Earth Yumna Sarah Maria. The global energy balance is the balance between incoming energy from the sun and outgoing heat from the.
Chapter S1 Celestial Timekeeping and Navigation
you thought of going into teaching?”
Calibration Activities of GCOM-W/AMSR2
LRO Mission Baseline Ephemeris v10.0
Extreme Wind Speed Measurements from NASA’s SMAP L-Band Radiometer
Frank Wentz and Carl Mears Remote Sensing Systems, Santa Rosa CA, USA
Chapter 4A: SOLAR RADIATION- GEOMETRY
Lunar Observation Data for GIRO Landsat–8 Operational Land Imager
The Sky (Celestial Sphere)
AMSR-E RFI Update - Towards RFI Adaptive Algorithms 1.0
Chapter 4A: SOLAR RADIATION- GEOMETRY
Presentation transcript:

L1a to L2 Aquarius Processor Frank Wentz and Thomas Meissner Aquarius Algorithm Workshop, Santa Rosa, CA, March 9-11, 2010

Aquarius Sun Solar Reflection Quasi Specular Solar Backscatter Galaxy & Cosmic Moon Ocean Surface Signals Receive by Aquarius Ionosphere Atmosphere Land

Subroutines that are called: call initialize call read_l1a call geolocation call count_to_TA call get_ancillary_data call fd_tb_toa call fd_tbsur_sss call fd_ta_expected call write_l2_arrays L1a to L2 Aquarius Processor Green Boxes show L2 Outputs

Floor value for galaxy radiation, treated like uniform cosmic background, subtract out of galaxy tables real(4), parameter :: tb_cos=3.0 Apply these to get effective eia real(8), parameter :: tht_coef(n_rad)=(/ d0, d0, d0/) Coefs for directional variable of surface emission. Currently set to 0 real(4), parameter :: dir_coef(4,2)=(/0.,0.,0.,0.,0.,0.,0.,0./) refl=refl - wind*((dir_coef(1,:)+dir_coef(2,:)*tht)*cosd(phir) - (dir_coef(3,:)+dir_coef(4,:)*tht)*cosd(2*phir)) Coefs for sun backscatter, currently set to 0 real(4), parameter :: bk_coef(3,2,n_rad)=(/0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) tb_backscatter=bk_coef(1,:,irad)*flux*wind*(bk_coef(2,:,irad)*abs(celtht-suntht) + bk_coef(3,:,irad)*abs(celphi-sunphi)) Calibration constants for counts-to-ta process Discussed later this morning Subroutine Initialize

APC matrices real(4) apc_matrix(3,3,n_rad), apc_matrix_inv(3,3,n_rad) do istokes=1,3 tbtoi(istokes)=dot_product(apc_matrix(:,istokes,irad),taearth) enddo SSS Regression Algorithm real(4) sss_coef(4,251,451) sss_coef1=a1*b1*sss_coef(1,i1,j1)+ a1*b2*sss_coef(1,i1,j2) + a2*b1*sss_coef(1,i2,j1) + a2*b2*sss_coef(1,i2,j2) sss_coef2=a1*b1*sss_coef(2,i1,j1)+ a1*b2*sss_coef(2,i1,j2) + a2*b1*sss_coef(2,i2,j1) + a2*b2*sss_coef(2,i2,j2) sss_coef3=a1*b1*sss_coef(3,i1,j1)+ a1*b2*sss_coef(3,i1,j2) + a2*b1*sss_coef(3,i2,j1) + a2*b2*sss_coef(3,i2,j2) sss_coef4=a1*b1*sss_coef(4,i1,j1)+ a1*b2*sss_coef(4,i1,j2) + a2*b1*sss_coef(4,i2,j1) + a2*b2*sss_coef(4,i2,j2) sss=sss_coef1 + sss_coef2*surtb(1) + sss_coef3*surtb(2) + sss_coef4*win Meissner-Wentz Specular Reflectivity Coef: EIA,SST,SSS integer(2) ireflecv(901,371,226),ireflech(901,371,226) Direct and Reflected TA Sun and Galaxy Tables: (nomega=1441, nzang=1441, 0.25 deg) real(4) tasun_dir_tab(nomega,nzang,3,n_rad), tasun_ref_tab(nomega,nzang,3,n_rad) real(4) tagal_dir_tab(nomega,nzang,3,n_rad), tagal_ref_tab(nomega,nzang,3,n_rad,5) Fractional Land Tables: Within 3dB footprint and average over entire Earth, nlon_lnd=2160, nzang_lnd=2881 real(4) fpt_lnd(nlon_lnd,nzang_lnd,n_rad), frc_lnd(nlon_lnd,nzang_lnd,n_rad) Approximate Gain Pattern for Finding Sea Ice Contamination real(4) gain_ice(0:150,n_rad) Monthly Climatology SSS Table: Used for Computing Reflected Galaxy TA and Expected TA real(4) sss_tab(360,180,12) Monthly Climatology Surface Reflectivity Tables: Used for Computing Reflected Galaxy TA and Expected TA real(4) reflv_land_tab(360,181,12,3),reflh_land_tab(360,181,12,3) Subroutine Initialize (cont)

Subroutine Read_L1A Simply reads in all the L1A variables and arrays for a single orbit. integer(4), parameter :: max_cyc= 5000 ! max number of block in l1a file = (5872 sec/orbit)*(1.2 overlap)/(1.44 sec/block) + slop integer(4), parameter :: n_rad=3 ! number of radiometers (i.e., horns) (inner, middle, outer) integer(4), parameter :: n_prt=85 ! number of thermistors integer(4), parameter :: n_subcyc=12 ! number of sub cycles per cycle integer(4), parameter :: npol=4 !number of polarizations (v, h, plus, minus) integer(4), parameter :: n_Sacc=6 ! number of S(short) accum (antenna) integer(4), parameter :: n_Lacc=8 ! number of L(long) accum (calibration) integer(4) iorbit, n_cyc real(8), dimension (max_cyc) :: time_utc_2000, time_ut1_2000 real(8), dimension(3,max_cyc) :: scpos_j2k, scvel_j2k, scrpy integer(4), dimension (max_cyc) :: iflag_qc real(4), dimension(n_prt,max_cyc) :: t_prt ! Short accummulation radiometer raw counts ! 6 records for each of the 12 subcycles. ! S1 and S2 are double accumulatons and will be divided by 2 during pocessing. ! Polarization order (last dimension) is 1=V, 2=P, 3=M, 4=H real(4), dimension(n_Sacc, n_subcyc, npol, n_rad, max_cyc) :: S_acc_raw! raw SA counts ! Long accumulation radiometer raw counts ! 8 records per cycle. ! L1-L4 are to be divided by 10. L5-L8 are to be divided by 2. The divisions will be performed during processing. real(4), dimension(n_Lacc, npol, n_rad, max_cyc) :: L_acc_raw! raw LA counts

integer(4),dimension( max_cyc) :: iflag_sun real(8), dimension( max_cyc) :: zang, sclat, sclon, scalt real(8), dimension(3, max_cyc) :: sund, sunr, moond real(8), dimension(3,n_rad,max_cyc) :: bore_sight real(4), dimension( n_rad,max_cyc) :: cellat, cellon, celtht, celphi, suntht, sunphi, sunglt, moonglt, glxlat, glxlon real(4), dimension(4,n_rad,max_cyc) :: cellat_corners, cellon_corners iflag_sun=1 if sun is visible from spacecraft (usual case), otherwise it = 0 zang=intra-orbit angle. it is zero at the south pole, 90 deg at the equator ascending node, etc. sclat=geodetic latitude of the spacecraft earth nadir point (deg) sclon=east longitude of the spacecraft earth nadir point (deg) scalt=spacecraft altitude, nadir point to spacecraft (meters) sund=earth-to-sun unit vector in eci coordinates sunr=unit vector from spacecraft to sun reflection point on earth in eci coordinates moond=earth-to-moon unit vector in eci coordinates bore_sight=unit vector from the spacecraft to the center of the observation cell cellat=geodetic latitude (deg) cellon=east longitude (deg) celtht=boresight earth incidence angle (deg) celphi=boresight earth-projection relative to clockwise from north (deg), boresight points towards earth suntht=sun vector earth incidence angle (deg) sunphi=sun vector earth_projection relative to clockwise from north (deg), sun vector points away from earth sunglt=sun glint angle: angle between the specular reflected boresight vector and the sun vector (deg) mooonglt=moon glint angle: angle between the specular reflected boresight vector and the moon vector (deg) glxlat=j2k declination latitude from where the specular galactic radiation originated (deg) glxlon=j2k ascension from where the specular galactic radiation originated (deg) cellat_corners= geodetic latitudes of the four corners of the 3-db footprint cellon_corners= east longitudes of the four corners of the 3-db footprint Subroutine geolocation Software for geolocation is based on standard methods with accuracy <= 100 meters

Subroutine count_to_ta This routine was written by Thomas Meissner in close coordination with Jeff Piepmeier It was verified by doing closure runs: count  TA  count Embedded in the routine is currently a placeholder for RFI detection. Chris Ruf recently delivered RFI detection code that we will implement in the coming weeks. Discussed later this morning

Subroutine get_ancillary_data real(4), dimension( max_cyc) :: solar_flux real(4), dimension(n_rad,max_cyc) :: fland, gland, fice, gice, sss_climate, surtep, winspd, windir, tran, tbup, tbdw solar_flux=solar flux (sfu) fland =fraction of land within 3db footprint (0 to 1.0) gland=fraction of land over entire gain pattern (0 to 1.0) fice=fraction of sea ice at boresight (0 to 1.0) gice=fraction of sea ice over entire gain pattern (0 to 1.0) sss_climate=salinity climatology (psu) surtep =ncep surface temp (kelvin) winspd =ncep wind speed (m/s) windir=ncep wind direction (deg) tran=one-way atmospheric transmission (0 to 1) tbup=upwelling atmospheric brightness temperature (k) tbdw=downwelling atmospheric brightness temperature (k) Ancillary data comes from: 1. Simulator: land fraction 2.NCEP: sea ice, surface temperature, wind speed and direction, tran, tbup, tbdw 3.TBD: solar flux and salinity climatology 3-D Interpolation of tables in latitude, longitude, and time used to get value at Aquarius footprint

Subroutine fd_tb_toa real(4), dimension(3,n_rad,max_cyc) :: tagal_dir, tagal_ref, t asun_dir, tasun_ref, ta_earth tagal_dir=direct galaxy radiation in terms of classical stokes (K) tagal_ref =reflected galaxy radiation in terms of classical stokes (K) tasun_dir=direct solar radiation in terms of classical stokes (K) tasun_ref=reflected solar radiation in terms of classical stokes (K) ta_earth=TA just from earth with galaxy and sun removed in term of vpol, hpol, 3rd stokes (K) Subtract direct and reflected sun radiation (optional) and subtract direct galaxy from TA measurement: ta_earth=tamea - tagal_dir- iopt(1)*tasun_dir - iopt(2)*tasun_ref Adjust table value of reflected galaxy radiation to correspond to actual surface reflectivity and atmos. transmittance Then subtract the adjusted value from the TA measurement: call adjust_tagal_ref(irad,refl0,refl,transq0,transq,taearth,tagal_ref, tagal_ref_adj) tagal_ref=tagal_ref_adj ta_earth=ta_earth - tagal_ref Arrays tagal_dir, tagal_ref, tasun_dir, and tasun_ref are computed from tables generated by the simulator given the satellite position and time of year and ascending node local time.

Subroutine fd_tb_toa (cont.) real(4), dimension(3,n_rad,max_cyc) :: tb_toi real(4), dimension(2,n_rad,max_cyc) :: tb_toa real(4), dimension( n_rad,max_cyc) :: faraday_deg APC correction to convert TA to TOI TB: do istokes=1,3 tb_toi(istokes)=dot_product(apc_matrix(:,istokes,irad),ta_earth) enddo Compute Faraday rotation: faraday_deg(irad,icyc)=0.5*atand(tb_toi(3)/tb_toi(2)) Remove Faraday rotation to convert TOI TB to TOA TB: tb_toa(1)=tb_toi(1) tb_toa(2)=sqrt(tb_toi(2)**2 + tb_toi(3)**2) Store TA and TB values as modified Stokes: call stokes_to_vh( ta_earth) call stokes_to_vh( tb_toi) call stokes_to_vh( tb_toa) tb_toi=top of ionosphere brightness temperature in term of vpol, hpol, 3rd stokes (K) tb_toa =top of atmosphere brightness temperature in term of vpol, hpol faraday_deg=faraday rotation angle (deg)

Subroutine fd_tbsur_sss do icyc=1,n_cyc do irad=1,n_rad thtadj=tht_coef(irad)*celtht(irad,icyc) !apply a very small adjustment to incidence angle to get effective incidence angle phir=celphi(irad,icyc) - windir(irad,icyc) !relative azimuth angle, 0=upwind sst=surtep(irad,icyc) tbdown=tbdw(irad,icyc)+ tran(irad,icyc)*tb_cos !tb_cos = 3 K call fd_sun_backscatter(irad,solar_flux(icyc),thtadj,celphi(irad,icyc),suntht(irad,icyc),sunphi(irad,icyc),winspd(irad,icyc), tb_backscatter) surtb=(tb_toa( :,irad,icyc) - tbup(irad,icyc))/tran(irad,icyc) - tb_backscatter emiss=(surtb - tbdown)/(surtep(irad,icyc) -tbdown) surf_emission=emiss*surtep(irad,icyc) tb_sur( :,irad,icyc)=surf_emission ! remove direction component of surface emssion to get isotropic surface emission surf_emission0=surf_emission - winspd(irad,icyc)*((dir_coef(1,:)+dir_coef(2,:)*thtadj)*cosd(phir) – (dir_coef(3,:)+dir_coef(4,:)*thtadj)*cosd(2*phir)) ! estimate sea-surface salinity if(sst.lt ) sst= if(sst.gt ) sst= call fd_sss(thtadj,sst,winspd(irad,icyc),surf_emission0, sss_aquarius(irad,icyc)) enddo !irad enddo !icyc real(4), dimension(2,n_rad,max_cyc) :: tb_sur real(4), dimension( n_rad,max_cyc) :: sss_aquarius tb_sur = surface brightness temperature, ie emissivity times temperature, in term of vpol, hpol sss_aquarius = aquarius salinity retrieval (psu)

Subroutine fd_ta_expected real(4), dimension(3,n_rad,max_cyc) :: ta_expected ta_expected = expected ta measurement computed from all the ancillary data in term of vpol, hpol, 3rd stokes (K) call find_refl_tot(irad,idayjl,isecdy,cellat(irad,icyc),cellon(irad,icyc),thtadj,phir, fland(irad,icyc),fice(irad,icyc),sss_climate(irad,icyc),sst,winspd(irad,icyc), refl) emiss=1 - refl tbdown=tbdw(irad,icyc)+ tran(irad,icyc)*tb_cos call fd_sun_backscatter(irad,solar_flux(icyc),thtadj,celphi(irad,icyc),suntht(irad,icyc),sunphi(irad,icyc),winspd(irad,icyc), tb_backscatter) tbtoa=tbup(irad,icyc) + tran(irad,icyc)*(emiss*surtep(irad,icyc) + (1-emiss)*tbdown + tb_backscatter) call vh_to_stokes( tbtoa) tbtoi(1)=tbtoa(1) tbtoi(2)=tbtoa(2)*cosd(2*faraday_deg(irad,icyc)) tbtoi(3)=tbtoa(2)*sind(2*faraday_deg(irad,icyc)) do istokes=1,3 taexpected(istokes)=dot_product(apc_matrix_inv(:,istokes,irad),tbtoi) enddo taexpected=taexpected + tagal_dir(:,irad,icyc) + tagal_ref(:,irad,icyc) + iopt(1)*tasun_dir(:,irad,icyc) + iopt(2)*tasun_ref(:,irad,icyc) call stokes_to_vh( taexpected) ta_expected(:,irad,icyc)=taexpected

! Interpolate pre-computed sss_coef to actual incidence angle and sst brief=10*(tht-25.) i1=int(1+brief) i2=i1+1 a1=i1-brief a2=1.-a1 brief=10*(sst+5.) j1=int(1+brief) j2=j1+1 b1=j1-brief b2=1.-b1 sss_coef1=a1*b1*sss_coef(1,i1,j1)+ a1*b2*sss_coef(1,i1,j2) + a2*b1*sss_coef(1,i2,j1) + a2*b2*sss_coef(1,i2,j2) sss_coef2=a1*b1*sss_coef(2,i1,j1)+ a1*b2*sss_coef(2,i1,j2) + a2*b1*sss_coef(2,i2,j1) + a2*b2*sss_coef(2,i2,j2) sss_coef3=a1*b1*sss_coef(3,i1,j1)+ a1*b2*sss_coef(3,i1,j2) + a2*b1*sss_coef(3,i2,j1) + a2*b2*sss_coef(3,i2,j2) sss_coef4=a1*b1*sss_coef(4,i1,j1)+ a1*b2*sss_coef(4,i1,j2) + a2*b1*sss_coef(4,i2,j1) + a2*b2*sss_coef(4,i2,j2) ! Compute estimate of salinity sss=sss_coef1 + sss_coef2*surtb(1) + sss_coef3*surtb(2) + sss_coef4*win Train estimator to minimize (in a least-squares sense) the difference between the estimate of salinity given by the following expression and the true salinity. Appropriate noise is added to both the Tb values and the wind value when doing the training. Subroutine fd_sss

Work To Be Done 1.Continue to Analysis 2007 Simulation Results to better Understand the Problem we are facing 2.Implement ancillary data routines for obtaining Solar Flux and “real-time” salinity. 3.Upgrade simulator to process data on a daily basis and send to ADF. 4.Generate TA Galaxy Reflection Tables for Rough Ocean Surfaces 5.Generate Land Correction Tables 6.Implement flags into the L2 data. 7.Implement moon in antenna main lobe 8.And, all the things I have forgotten