SWOT Simulator for Ocean Science
|Latest Documentation Status| |Conda| |Downloads statistics| |Platforms| |Latest Release Date| |License| |Binder|
This software simulates SWOT observations of the sea surface height (SSH) that can be applied to an ocean general circulation model (OGCM), allowing the exploration of ideas and methods to optimize information retrieval from the SWOT Mission in the future. From OGCM SSH inputs, the software generates SWOT-like outputs on a swath along the orbit ground track and adds measurement errors and noise, which are generated according to technical characteristics published by the SWOT project team. Not designed to directly simulate the payload instrument performance, this SWOT simulator aims at providing statistically realistic outputs for the science community with a simple software package released as an open source in Python. The software is scalable and designed to support future evolution of orbital parameters, error budget estimates from the project team and suggestions from the science community.
Tutorial and reference documentation is provided at
swot-simulator.readthedocs.io <https://swot-simulator.readthedocs.io>
_.
This project was created by Clement Ubelmann, Lucile Gaultier and Lee-Lueng Fu.
Jet Propulsion Laboratory, California Institute of Technology, CNES
swot_simulator
is provided under a BSD-style license that can be found in
the LICENSE <https://github.com/CNES/swot_simulator/blob/master/LICENSE>
_
file. By using, distributing, or contributing to this project, you agree to the
terms and conditions of this license.
.. |Latest Documentation Status| image:: https://dev.azure.com/fbriol/swot_simulator/_apis/build/status/CNES.swot_simulator?branchName=master :target: https://dev.azure.com/fbriol/swot_simulator/_build/latest?definitionId=2&branchName=master .. |Conda| image:: https://anaconda.org/conda-forge/swot_simulator/badges/installer/conda.svg?service=github :target: https://www.anaconda.com/distribution/ .. |Downloads statistics| image:: https://anaconda.org/conda-forge/swot_simulator/badges/downloads.svg?service=github :target: https://www.anaconda.com/distribution/ .. |Platforms| image:: https://anaconda.org/conda-forge/swot_simulator/badges/platforms.svg?service=github :target: https://anaconda.org/conda-forge/swot_simulator .. |Latest Release Date| image:: https://anaconda.org/conda-forge/swot_simulator/badges/latest_release_date.svg?service=github :target: https://github.com/CNES/swot_simulator/commits/master .. |License| image:: https://anaconda.org/conda-forge/swot_simulator/badges/license.svg?service=github :target: https://opensource.org/licenses/BSD-3-Clause .. |Binder| image:: https://binder.pangeo.io/badge_logo.svg :target: https://binder.pangeo.io/v2/gh/CNES/swot_simulator/master?filepath=notebooks
Hello,
I would like to re-create 21 days of SWOT passes, I am interested to have the passes location in a certain region during the entire cycle. To do that, I plan to use the AVISO example. I would like to run: swot_simulator conf.py --first-date 20190101 --last-date 20190122
Thus I would like to extend the range definition. I get this kind of error if I try to run swot_simulator conf.py --first-date 20190102: IndexError: period [2019-01-02T00:00:00.000000000, 2019-01-03T00:51:26.254174000] is out of range: [2018-12-31T00:00:00, 2019-01-03T00:00:00]
How can I use other dates other than 20190101 for AVISO? Do I have to modify the AVISO plugin in order to do that or is there a simpler way?
Thanks!
Marina
I would like to use HYCOM (HYCOM + NCODA Global 1/12° Reanalysis (GLBu0.08/expt_19.1)) to simulate SWOT observations, but the data format I downloaded does not meet the requirements of the swot_simulator. However, the manual has few instructions on the input data format. Can you provide an example of HYCOM for swot_simlator? Just like the example from AVISO in swot_simulator. Many thanks!
When I run the simulator with different NSEED values, the swaths produced are identical, as well as the errors generated.
The left swath is generated using nseed =1655997574418 , while the right swath is generated with nseed= 1655997771280.
The errors are the same. How can we fix this? The errors are no longer generated truly randomly.
After generating a swath based on the example and using the build in AVISO sample data I noticed that the orbital noise added to the swath is far too high.
The left hand image is the 'truth' from the
product.simulated_true_ssh_karin
and the right hand image is karin SSH with all errors/noise generated product.ssh_karin
These swaths were generated using:
configuration = swot_simulator.settings.template(python = True)
parameters = swot_simulator.settings.Parameters(configuration)
parameters.ssh_plugin = swot_simulator.plugins.ssh.AVISO(swot_simulator.DATA)
After removing the orbital noise error and utilizing the corrected roll the swath looks much more realistic
Where the left is truth and the right is
product.ssh_karin
These swaths were generated using:
configuration = swot_simulator.settings.template(python = True)
parameters = swot_simulator.settings.Parameters(configuration)
parameters.ssh_plugin = swot_simulator.plugins.ssh.AVISO(swot_simulator.DATA)
parameters.noise = ['Altimeter', 'Karin', 'BaselineDilation', 'WetTroposphere', 'Timing', 'CorrectedRollPhase']
When looked at alone, the swath with only orbital error looks like:
Is it possible I am implementing this error wrong or is the signal from this error too strong? Thanks!
When specifying the first_date and last_date of a simulation, it is possible that the simulator generates a swath that ends after the specified last_date (see https://github.com/CNES/swot_simulator/blob/master/swot_simulator/orbit_propagator.py#L298)
In my case, I try to simulate data over the MITGCM time span but my plugin raises an error stating that I do not have sufficient interpolation data:
Exception: Out of bounds, mitgcm files spans [2011-09-13T00:00:00.000000000,2012-11-15T14:00:00.000000000]which does not cover the required time period [2012-11-15T13:59:27.280938, 2012-11-15T14:03:52.230859]
How should we handle this case ? - Should the plugin be returning invalid values when out of bounds - Should the last swath be omitted from the simulation if its last date is out of bounds - Should the user tune its first and last date of simulation so that the simulated swath falls in-bounds
The generation failed when writing the wet troposphere correction in Nadir products.
simulation python swot ocean-sciences