SWOT L2 KaRIn LR Ocean Data Products
This tutorial will introduce you to some sample SWOT L2 KaRIn LR data products and show you how to download these data from AVISO and perform basic plots using Python related libraries.
Note
Required environment to run this notebook:
xarraymatplotlib+cartopyaltimetry_downloader_aviso: see documentation.altimetry.io: available here.
Tutorial Objectives
Present SWOT sample L2 KaRIn LR data products (Basic version)
Download locally SWOT KaRIn (2D swath) data using the
altimetry_downloader_avisoShow you how to query SWOT Sea Level Anomaly (SLA) data sets using
altimetry.ioHow to visualise data using
matplotlib
Import + code
[1]:
# Install Cartopy with mamba to avoid discrepancies
# ! mamba install -q -c conda-forge cartopy
[2]:
# Configure logging if you want more details
import logging
logging.basicConfig(level=logging.INFO)
[3]:
from pathlib import Path
import cartopy.crs as ccrs
import cartopy.feature as cft
import cartopy.mpl.geoaxes as cmplgeo
import cartopy.mpl.gridliner as cmplgrid
import matplotlib.pyplot as plt
%matplotlib inline
Parameters
Define a local filepath to download files
[4]:
output_dir= Path.home() / "TMP_DATA"
[5]:
cycle_number = 34
pass_number = 39
[6]:
# California
bbox = (233, 35, 237, 42)
Download data using altimetry_downloader_aviso
[7]:
import altimetry_downloader_aviso as dl_aviso
Consult Aviso’s catalog
[8]:
cat = dl_aviso.summary()
INFO:altimetry_downloader_aviso.catalog_client.client:Fetching products from Aviso's catalog...
[9]:
for product in cat.products:
print(f"{product.short_name} {product.title}")
SWOT_L3_LR_WIND_WAVE_Extended Wind & Wave product SWOT Level-3 WindWave - Extended
L4_exp_with_SWOT Experimental Products: Multimission Gridded (with SWOT) Level-4 Sea Surface Heights and Velocities
SWOT_L3_LR_WIND_WAVE_Light Wind & Wave product SWOT Level-3 WindWave - Light
SWOT_L3_LR_SSH_Unsmoothed Altimetry product SWOT Level-3 Low Rate SSH - Unsmoothed
SWOT_L3_LR_SSH_Technical Altimetry product SWOT Level-3 Low Rate SSH - Technical
SWOT_L2_LR_SSH_Expert Altimetry product SWOT Level-2 KaRIn Low Rate SSH - Expert
SWOT_L3_LR_SSH_Expert Altimetry product SWOT Level-3 Low Rate SSH - Expert
SWOT_L2_LR_SSH_Basic Altimetry product SWOT Level-2 KaRIn Low Rate SSH - Basic
SWOT_L2_LR_SSH_WindWave Altimetry product SWOT Level-2 KaRIn Low Rate SSH - WindWave
SWOT_L2_LR_SSH_Unsmoothed Altimetry product SWOT Level-2 KaRIn Low Rate SSH - Unsmoothed
SWOT_L3_LR_SSH_Basic Altimetry product SWOT Level-3 Low Rate SSH - Basic
Download basic half orbit
[10]:
dl_aviso.get(
'SWOT_L2_LR_SSH_Basic',
output_dir=output_dir,
cycle_number=cycle_number,
pass_number=pass_number
)
INFO:altimetry_downloader_aviso.catalog_client.client:Fetching products from Aviso's catalog...
INFO:altimetry_downloader_aviso.catalog_client.granule_discoverer:Filtering SWOT_L2_LR_SSH_Basic product with filters {'cycle_number': 34, 'pass_number': 39}...
INFO:altimetry_downloader_aviso.core:0 files to download. 1 files already exist.
[10]:
['/home/atonneau/TMP_DATA/SWOT_L2_LR_SSH_Basic_034_039_20250610T025623_20250610T034710_PID0_01.nc']
Open a data subset using altimetry.io
[11]:
from altimetry.io import AltimetryData, FileCollectionSource
Open data source
[12]:
alti_data = AltimetryData(
source=FileCollectionSource(
path=output_dir,
ftype="SWOT_L2_LR_SSH",
subset="Basic"
),
)
Query data with half orbit with geographical selection
[13]:
ds_basic = alti_data.query_orbit(
cycle_number=cycle_number,
pass_number=pass_number,
polygon=bbox
)
INFO:fcollections.implementations.optional._predicates:The bbox intersects with pass numbers (calval phase): [13, 26]
INFO:fcollections.implementations.optional._predicates:The bbox intersects with pass numbers (science phase): [11, 24, 39, 52, 67, 302, 317, 330, 345, 358, 373, 580]
INFO:fcollections.core._readers:Files to read: 1
INFO:fcollections.implementations.optional._area_selectors:Size of the dataset matching the bbox: {'num_lines': 410, 'num_pixels': 69, 'num_sides': 2}
[14]:
ds_basic
[14]:
<xarray.Dataset> Size: 5MB
Dimensions: (num_lines: 410, num_pixels: 69,
num_sides: 2)
Coordinates:
time (num_lines) datetime64[ns] 3kB dask.array<chunksize=(410,), meta=np.ndarray>
latitude (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
longitude (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
Dimensions without coordinates: num_lines, num_pixels, num_sides
Data variables: (12/25)
time_tai (num_lines) datetime64[ns] 3kB dask.array<chunksize=(410,), meta=np.ndarray>
ssh_karin (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssh_karin_qual (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssh_karin_uncert (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssha_karin (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssha_karin_qual (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
... ...
geoid (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
internal_tide_hret (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
height_cor_xover (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
height_cor_xover_qual (num_lines, num_pixels) float32 113kB dask.array<chunksize=(410, 69), meta=np.ndarray>
cycle_number (num_lines) uint16 820B 34 34 ... 34
pass_number (num_lines) uint16 820B 39 39 ... 39
Attributes: (12/62)
Conventions: CF-1.7
title: Level 2 Low Rate Sea Surfa...
institution: CNES
source: Ka-band radar interferometer
history: 2025-06-12T22:07:03Z : Cre...
platform: SWOT
... ...
ellipsoid_semi_major_axis: 6378137.0
ellipsoid_flattening: 0.0033528106647474805
good_ocean_data_percent: 64.45744266445926
ssha_variance: 2.3281695511349625
references: V1.4.1
equator_longitude: -131.75- num_lines: 410
- num_pixels: 69
- num_sides: 2
- time(num_lines)datetime64[ns]dask.array<chunksize=(410,), meta=np.ndarray>
- long_name :
- time in UTC
- standard_name :
- time
- tai_utc_difference :
- 37.0
- leap_second :
- 0000-00-00T00:00:00Z
- comment :
- Time of measurement in seconds in the UTC time scale since 1 Jan 2000 00:00:00 UTC. [tai_utc_difference] is the difference between TAI and UTC reference time (seconds) for the first measurement of the data set. If a leap second occurs within the data set, the attribute leap_second is set to the UTC time at which the leap second occurs.
Array Chunk Bytes 3.20 kiB 3.20 kiB Shape (410,) (410,) Dask graph 1 chunks in 3 graph layers Data type datetime64[ns] numpy.ndarray - latitude(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- latitude (positive N, negative S)
- standard_name :
- latitude
- units :
- degrees_north
- valid_min :
- -80000000
- valid_max :
- 80000000
- comment :
- Latitude of measurement [-80,80]. Positive latitude is North latitude, negative latitude is South latitude.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - longitude(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- longitude (degrees East)
- standard_name :
- longitude
- units :
- degrees_east
- valid_min :
- 0
- valid_max :
- 359999999
- comment :
- Longitude of measurement. East longitude relative to Greenwich meridian.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray
- time_tai(num_lines)datetime64[ns]dask.array<chunksize=(410,), meta=np.ndarray>
- long_name :
- time in TAI
- standard_name :
- time
- comment :
- Time of measurement in seconds in the TAI time scale since 1 Jan 2000 00:00:00 TAI. This time scale contains no leap seconds. The difference (in seconds) with time in UTC is given by the attribute [time:tai_utc_difference].
- tai_utc_difference :
- 37.0
Array Chunk Bytes 3.20 kiB 3.20 kiB Shape (410,) (410,) Dask graph 1 chunks in 3 graph layers Data type datetime64[ns] numpy.ndarray - ssh_karin(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height
- standard_name :
- sea surface height above reference ellipsoid
- units :
- m
- quality_flag :
- ssh_karin_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Fully corrected sea surface height measured by KaRIn. The height is relative to the reference ellipsoid defined in the global attributes. This value is computed using radiometer measurements for wet troposphere effects on the KaRIn measurement (e.g., rad_wet_tropo_cor and sea_state_bias_cor).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- quality flag for sea surface height from KaRIn
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_ssb_missing bad_radiometer_corr_missing bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 134217728 268435456 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 4212113375
- comment :
- Quality flag for sea surface height from KaRIn in ssh_karin variable.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_uncert(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly uncertainty
- units :
- m
- valid_min :
- 0
- valid_max :
- 60000
- comment :
- 1-sigma uncertainty on the sea surface height from the KaRIn measurement.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly
- units :
- m
- quality_flag :
- ssha_karin_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Sea surface height anomaly from the KaRIn measurement = ssh_karin - mean_sea_surface_cnescls - solid_earth_tide - ocean_tide_fes – ocean_tide_non_eq – internal_tide_hret - pole_tide - dac.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly quality flag
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_tide_corrections_missing bad_ssb_missing bad_radiometer_corr_missing bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 4279222239
- comment :
- Quality flag for the SSHA from KaRIn in the ssha_karin variable.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_2(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height
- standard_name :
- sea surface height above reference ellipsoid
- units :
- m
- quality_flag :
- ssh_karin_2_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Fully corrected sea surface height measured by KaRIn. The height is relative to the reference ellipsoid defined in the global attributes. This value is computed using model-based estimates for wet troposphere effects on the KaRIn measurement (e.g., model_wet_tropo_cor and sea_state_bias_cor_2).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_2_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- quality flag for sea surface height from KaRIn
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 3809460191
- comment :
- Quality flag for sea surface height from KaRIn in ssh_karin_2 variable.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin_2(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly
- units :
- m
- quality_flag :
- ssha_karin_2_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Sea surface height anomaly from the KaRIn measurement = ssh_karin_2 - mean_sea_surface_cnescls - solid_earth_tide - ocean_tide_fes – ocean_tide_non_eq – internal_tide_hret - pole_tide - dac.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin_2_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly quality flag
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_tide_corrections_missing bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 67108864 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 3876569055
- comment :
- Quality flag for the SSHA from KaRIn in the ssha_karin_2 variable
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - num_pt_avg(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- number of samples averaged
- units :
- 1
- valid_min :
- 0
- valid_max :
- 289
- comment :
- Number of native unsmoothed, beam-combined KaRIn samples averaged.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - distance_to_coast(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- distance to coast
- source :
- MODIS/GlobCover
- institution :
- European Space Agency
- units :
- m
- valid_min :
- -21000
- valid_max :
- 21000
- comment :
- Approximate distance to the nearest coast point along the Earth surface.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - heading_to_coast(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- heading to coast
- units :
- degrees
- valid_min :
- 0
- valid_max :
- 35999
- comment :
- Approximate compass heading (0-360 degrees with respect to true north) to the nearest coast point.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ancillary_surface_classification_flag(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- surface classification
- standard_name :
- status_flag
- source :
- MODIS/GlobCover
- institution :
- European Space Agency
- flag_meanings :
- open_ocean land continental_water aquatic_vegetation continental_ice_snow floating_ice salted_basin
- flag_values :
- [0 1 2 3 4 5 6]
- valid_min :
- 0
- valid_max :
- 6
- comment :
- 7-state surface type classification computed from a mask built with MODIS and GlobCover data.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - dynamic_ice_flag(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- dynamic ice flag
- standard_name :
- status_flag
- source :
- EUMETSAT Ocean and Sea Ice Satellite Applications Facility
- institution :
- EUMETSAT
- flag_meanings :
- no_ice probable_ice ice no_data
- flag_values :
- [0 1 2 3]
- valid_min :
- 0
- valid_max :
- 3
- comment :
- Dynamic ice flag for the location of the KaRIn measurement.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - rain_flag(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- rain flag
- standard_name :
- status_flag
- flag_meanings :
- no_rain probable_rain rain no_data
- flag_values :
- [0 1 2 3]
- valid_min :
- 0
- valid_max :
- 3
- comment :
- Flag indicates that signal is attenuated, probably from rain.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - rad_surface_type_flag(num_lines, num_sides)float32dask.array<chunksize=(410, 2), meta=np.ndarray>
- long_name :
- radiometer surface type flag
- standard_name :
- status_flag
- source :
- Advanced Microwave Radiometer
- flag_meanings :
- open_ocean coastal_ocean land
- flag_values :
- [0 1 2]
- valid_min :
- 0
- valid_max :
- 2
- comment :
- Flag indicating the validity and type of processing applied to generate the wet troposphere correction (rad_wet_tropo_cor). A value of 0 indicates that open ocean processing is used, a value of 1 indicates coastal processing, and a value of 2 indicates that rad_wet_tropo_cor is invalid due to land contamination.
Array Chunk Bytes 3.20 kiB 3.20 kiB Shape (410, 2) (410, 2) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - mean_sea_surface_cnescls(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- mean sea surface height (CNES/CLS)
- source :
- MSS CNES_CLS_2022; MSS SIO_2022; MSS DTU_2021
- institution :
- CNES/CLS/SIO/DTU
- units :
- m
- valid_min :
- -1500000
- valid_max :
- 1500000
- comment :
- Mean sea surface height above the reference ellipsoid. The value is referenced to the mean tide system, i.e. includes the permanent tide (zero frequency).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - mean_sea_surface_cnescls_uncert(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- mean sea surface height accuracy (CNES/CLS)
- source :
- MSS CNES_CLS_2022; MSS SIO_2022; MSS DTU_2021
- institution :
- CNES/CLS/SIO/DTU
- units :
- m
- valid_min :
- 0
- valid_max :
- 10000
- comment :
- Accuracy of the mean sea surface height (mean_sea_surface_cnescls).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - geoid(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- geoid height
- standard_name :
- geoid_height_above_reference_ellipsoid
- source :
- EGM2008 (Pavlis et al., 2012)
- units :
- m
- valid_min :
- -1500000
- valid_max :
- 1500000
- comment :
- Geoid height above the reference ellipsoid with a correction to refer the value to the mean tide system, i.e. includes the permanent tide (zero frequency).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - internal_tide_hret(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- coherent internal tide (HRET)
- source :
- Zaron (2019)
- units :
- m
- valid_min :
- -2000
- valid_max :
- 2000
- comment :
- Coherent internal ocean tide. This value is subtracted from the ssh_karin and ssh_karin_2 to compute ssha_karin and ssha_karin_2, respectively.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - height_cor_xover(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- height correction from crossover calibration
- units :
- m
- quality_flag :
- height_cor_xover_qual
- valid_min :
- -100000
- valid_max :
- 100000
- comment :
- Height correction from crossover calibration. To apply this correction the value of height_cor_xover should be added to the value of ssh_karin, ssh_karin_2, ssha_karin, and ssha_karin_2.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - height_cor_xover_qual(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- quality flag for height correction from crossover calibration
- standard_name :
- status_flag
- flag_meanings :
- good suspect bad
- flag_values :
- [0 1 2]
- valid_min :
- 0
- valid_max :
- 2
- comment :
- Flag indicating the quality of the height correction from crossover calibration. Values of 0, 1, and 2 indicate that the correction is good, suspect, and bad, respectively.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - cycle_number(num_lines)uint1634 34 34 34 34 ... 34 34 34 34 34
array([34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34], dtype=uint16) - pass_number(num_lines)uint1639 39 39 39 39 ... 39 39 39 39 39
array([39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39], dtype=uint16)
- Conventions :
- CF-1.7
- title :
- Level 2 Low Rate Sea Surface Height Data Product - Basic SSH
- institution :
- CNES
- source :
- Ka-band radar interferometer
- history :
- 2025-06-12T22:07:03Z : Creation
- platform :
- SWOT
- reference_document :
- D-56407_SWOT_Product_Description_L2_LR_SSH
- contact :
- podaac@podaac.jpl.nasa.gov
- cycle_number :
- 34
- pass_number :
- 39
- equator_time :
- 2025-06-10T03:22:09.482000Z
- short_name :
- L2_LR_SSH
- product_file_id :
- Basic
- crid :
- PID0
- product_version :
- 01
- pge_name :
- PGE_L2_LR_SSH
- pge_version :
- 5.4.0
- time_coverage_start :
- 2025-06-10T02:56:23.158528
- time_coverage_end :
- 2025-06-10T03:47:10.282917
- geospatial_lon_min :
- 144.531895
- geospatial_lon_max :
- 311.976428
- geospatial_lat_min :
- -78.271942
- geospatial_lat_max :
- 78.27206799999999
- left_first_longitude :
- 144.551266
- left_first_latitude :
- -77.05370099999999
- left_last_longitude :
- 311.976428
- left_last_latitude :
- 78.27200599999999
- right_first_longitude :
- 144.531895
- right_first_latitude :
- -78.27186999999999
- right_last_longitude :
- 311.958602
- right_last_latitude :
- 77.053837
- wavelength :
- 0.008385803020979021
- transmit_antenna :
- minus_y
- xref_l1b_lr_intf_file :
- SWOT_L1B_LR_INTF_034_039_20250610T025620_20250610T034712_PID0_01.nc
- xref_l2_nalt_gdr_files :
- SWOT_IPN_2PsP034_038_20250610_020457_20250610_025623.nc, SWOT_IPN_2PsP034_039_20250610_025623_20250610_034751.nc, SWOT_IPN_2PsP034_040_20250610_034751_20250610_043917.nc
- xref_l2_rad_gdr_files :
- SWOT_IPRAD_2PaP034_038_20250610_020457_20250610_025623_PID0_01.nc, SWOT_IPRAD_2PaP034_039_20250610_025623_20250610_034751_PID0_01.nc, SWOT_IPRAD_2PaP034_040_20250610_034751_20250610_043917_PID0_01.nc
- xref_int_lr_xover_cal_file :
- SWOT_INT_LR_XOverCal_20250609T233026_20250610T233118_PID0_01.nc
- xref_statickarincal_files :
- SWOT_StaticKaRInCalAdjustableParam_20000101T000000_20991231T235959_20250115T180000_v107.nc
- xref_param_l2_lr_precalssh_file :
- SWOT_Param_L2_LR_PreCalSSH_20000101T000000_20991231T235959_20241202T110000_v501.nc
- xref_orbit_ephemeris_file :
- SWOT_POR_AXVCNE20250611_105227_20250609_225923_20250611_005923.nc
- xref_reforbittrack_files :
- SWOT_RefOrbitTrack125mPass1_Nom_20000101T000000_21000101T000000_20200617T193054_v101.txt, SWOT_RefOrbitTrack125mPass2_Nom_20000101T000000_21000101T000000_20200617T193054_v101.txt
- xref_meteorological_sealevel_pressure_files :
- SMM_PMA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_PMA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_wettroposphere_files :
- SMM_WEA_AXPCNE20250610_064430_20250610_000000_20250610_000000.grb, SMM_WEA_AXPCNE20250610_184216_20250610_060000_20250610_060000.grb
- xref_meteorological_wind_files :
- SMM_VWA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_UWA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_UWA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb, SMM_VWA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_surface_pressure_files :
- SMM_PSA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_PSA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_temperature_files :
- SMM_T2M_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_T2M_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_water_vapor_files :
- SMM_CWV_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_CWV_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_cloud_liquid_water_files :
- SMM_CLW_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_CLW_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_model_significant_wave_height_files :
- SMM_SWH_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_SWH_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_gim_files :
- SMM_TEC_AXPCNE20250611_070504_20250610_000000_20250611_000000
- xref_pole_location_file :
- SMM_PO1_AXXCNE20250612_020000_19900101_000000_20251209_000000
- xref_dac_files :
- SMM_MOG_AXPCNE20250610_084811_20250610_000000_20250610_000000, SMM_MOG_AXPCNE20250610_205038_20250610_060000_20250610_060000
- xref_precipitation_files :
- SMM_LSR_AXFCNE20250610_162756_20250610_000000_20250610_000000.grb, SMM_CRR_AXFCNE20250610_162756_20250610_000000_20250610_000000.grb, SMM_CRR_AXFCNE20250610_162756_20250610_060000_20250610_060000.grb, SMM_LSR_AXFCNE20250610_162756_20250610_060000_20250610_060000.grb
- xref_sea_ice_mask_files :
- SMM_ICS_AXFCNE20250611_042002_20250610_000000_20250610_235959.nc, SMM_ICN_AXFCNE20250611_041503_20250610_000000_20250610_235959.nc
- xref_wave_model_files :
- SMM_WMA_AXPCNE20250610_072013_20250609_030000_20250610_000000.grb, SMM_WMA_AXPCNE20250611_072010_20250610_030000_20250611_000000.grb
- xref_geco_database_version :
- v107
- ellipsoid_semi_major_axis :
- 6378137.0
- ellipsoid_flattening :
- 0.0033528106647474805
- good_ocean_data_percent :
- 64.45744266445926
- ssha_variance :
- 2.3281695511349625
- references :
- V1.4.1
- equator_longitude :
- -131.75
Discover SWOT L2 KaRIn Ocean Basic product
Basic product content
This product contains two versions of SLA (ssha in the datasets) with different wet troposhere and sea state bias (SSB) corrections:
ssha_karin relies more on observations (e.g., wet tropo corrected using radiometer data)
ssha_karin_2 relies more on model for corrections (e.g., wet tropo corrected using ECMWF model)
[15]:
[v for v in ds_basic.variables]
[15]:
['time',
'time_tai',
'ssh_karin',
'ssh_karin_qual',
'ssh_karin_uncert',
'ssha_karin',
'ssha_karin_qual',
'ssh_karin_2',
'ssh_karin_2_qual',
'ssha_karin_2',
'ssha_karin_2_qual',
'num_pt_avg',
'distance_to_coast',
'heading_to_coast',
'ancillary_surface_classification_flag',
'dynamic_ice_flag',
'rain_flag',
'rad_surface_type_flag',
'mean_sea_surface_cnescls',
'mean_sea_surface_cnescls_uncert',
'geoid',
'internal_tide_hret',
'height_cor_xover',
'height_cor_xover_qual',
'latitude',
'longitude',
'cycle_number',
'pass_number']
Application of Crossover Calibration Correction (XOverCal or xover)
To get corrected SSHA, user must apply the xover as follows:
ssha_karin_corrected = ssha_karin + height_cor_xover
ssha_karin_2_corrected = ssha_karin_2 + height_cor_xover
[16]:
ds_basic['ssha_karin_corrected'] = ds_basic.ssha_karin + ds_basic.height_cor_xover
ds_basic['ssha_karin_2_corrected'] = ds_basic.ssha_karin_2 + ds_basic.height_cor_xover
ds_basic
[16]:
<xarray.Dataset> Size: 5MB
Dimensions: (num_lines: 410, num_pixels: 69,
num_sides: 2)
Coordinates:
time (num_lines) datetime64[ns] 3kB dask.array<chunksize=(410,), meta=np.ndarray>
latitude (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
longitude (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
Dimensions without coordinates: num_lines, num_pixels, num_sides
Data variables: (12/27)
time_tai (num_lines) datetime64[ns] 3kB dask.array<chunksize=(410,), meta=np.ndarray>
ssh_karin (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssh_karin_qual (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssh_karin_uncert (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssha_karin (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssha_karin_qual (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
... ...
height_cor_xover (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
height_cor_xover_qual (num_lines, num_pixels) float32 113kB dask.array<chunksize=(410, 69), meta=np.ndarray>
cycle_number (num_lines) uint16 820B 34 34 ... 34
pass_number (num_lines) uint16 820B 39 39 ... 39
ssha_karin_corrected (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
ssha_karin_2_corrected (num_lines, num_pixels) float64 226kB dask.array<chunksize=(410, 69), meta=np.ndarray>
Attributes: (12/62)
Conventions: CF-1.7
title: Level 2 Low Rate Sea Surfa...
institution: CNES
source: Ka-band radar interferometer
history: 2025-06-12T22:07:03Z : Cre...
platform: SWOT
... ...
ellipsoid_semi_major_axis: 6378137.0
ellipsoid_flattening: 0.0033528106647474805
good_ocean_data_percent: 64.45744266445926
ssha_variance: 2.3281695511349625
references: V1.4.1
equator_longitude: -131.75- num_lines: 410
- num_pixels: 69
- num_sides: 2
- time(num_lines)datetime64[ns]dask.array<chunksize=(410,), meta=np.ndarray>
- long_name :
- time in UTC
- standard_name :
- time
- tai_utc_difference :
- 37.0
- leap_second :
- 0000-00-00T00:00:00Z
- comment :
- Time of measurement in seconds in the UTC time scale since 1 Jan 2000 00:00:00 UTC. [tai_utc_difference] is the difference between TAI and UTC reference time (seconds) for the first measurement of the data set. If a leap second occurs within the data set, the attribute leap_second is set to the UTC time at which the leap second occurs.
Array Chunk Bytes 3.20 kiB 3.20 kiB Shape (410,) (410,) Dask graph 1 chunks in 3 graph layers Data type datetime64[ns] numpy.ndarray - latitude(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- latitude (positive N, negative S)
- standard_name :
- latitude
- units :
- degrees_north
- valid_min :
- -80000000
- valid_max :
- 80000000
- comment :
- Latitude of measurement [-80,80]. Positive latitude is North latitude, negative latitude is South latitude.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - longitude(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- longitude (degrees East)
- standard_name :
- longitude
- units :
- degrees_east
- valid_min :
- 0
- valid_max :
- 359999999
- comment :
- Longitude of measurement. East longitude relative to Greenwich meridian.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray
- time_tai(num_lines)datetime64[ns]dask.array<chunksize=(410,), meta=np.ndarray>
- long_name :
- time in TAI
- standard_name :
- time
- comment :
- Time of measurement in seconds in the TAI time scale since 1 Jan 2000 00:00:00 TAI. This time scale contains no leap seconds. The difference (in seconds) with time in UTC is given by the attribute [time:tai_utc_difference].
- tai_utc_difference :
- 37.0
Array Chunk Bytes 3.20 kiB 3.20 kiB Shape (410,) (410,) Dask graph 1 chunks in 3 graph layers Data type datetime64[ns] numpy.ndarray - ssh_karin(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height
- standard_name :
- sea surface height above reference ellipsoid
- units :
- m
- quality_flag :
- ssh_karin_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Fully corrected sea surface height measured by KaRIn. The height is relative to the reference ellipsoid defined in the global attributes. This value is computed using radiometer measurements for wet troposphere effects on the KaRIn measurement (e.g., rad_wet_tropo_cor and sea_state_bias_cor).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- quality flag for sea surface height from KaRIn
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_ssb_missing bad_radiometer_corr_missing bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 134217728 268435456 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 4212113375
- comment :
- Quality flag for sea surface height from KaRIn in ssh_karin variable.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_uncert(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly uncertainty
- units :
- m
- valid_min :
- 0
- valid_max :
- 60000
- comment :
- 1-sigma uncertainty on the sea surface height from the KaRIn measurement.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly
- units :
- m
- quality_flag :
- ssha_karin_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Sea surface height anomaly from the KaRIn measurement = ssh_karin - mean_sea_surface_cnescls - solid_earth_tide - ocean_tide_fes – ocean_tide_non_eq – internal_tide_hret - pole_tide - dac.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly quality flag
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_tide_corrections_missing bad_ssb_missing bad_radiometer_corr_missing bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 4279222239
- comment :
- Quality flag for the SSHA from KaRIn in the ssha_karin variable.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_2(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height
- standard_name :
- sea surface height above reference ellipsoid
- units :
- m
- quality_flag :
- ssh_karin_2_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Fully corrected sea surface height measured by KaRIn. The height is relative to the reference ellipsoid defined in the global attributes. This value is computed using model-based estimates for wet troposphere effects on the KaRIn measurement (e.g., model_wet_tropo_cor and sea_state_bias_cor_2).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssh_karin_2_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- quality flag for sea surface height from KaRIn
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 3809460191
- comment :
- Quality flag for sea surface height from KaRIn in ssh_karin_2 variable.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin_2(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly
- units :
- m
- quality_flag :
- ssha_karin_2_qual
- valid_min :
- -15000000
- valid_max :
- 150000000
- comment :
- Sea surface height anomaly from the KaRIn measurement = ssh_karin_2 - mean_sea_surface_cnescls - solid_earth_tide - ocean_tide_fes – ocean_tide_non_eq – internal_tide_hret - pole_tide - dac.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ssha_karin_2_qual(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- sea surface height anomaly quality flag
- standard_name :
- status_flag
- flag_meanings :
- suspect_large_ssh_delta suspect_large_ssh_std suspect_large_ssh_window_std suspect_beam_used suspect_less_than_nine_beams suspect_ssb_out_of_range suspect_pixel_used suspect_num_pt_avg suspect_karin_telem suspect_orbit_control suspect_sc_event_flag suspect_tvp_qual suspect_volumetric_corr degraded_ssb_not_computable degraded_media_delays_missing degraded_beam_used degraded_large_attitude degraded_karin_ifft_overflow bad_karin_telem bad_very_large_attitude bad_tide_corrections_missing bad_outside_of_range degraded bad_not_usable
- flag_masks :
- [ 1 2 4 8 16 64 128 256 512 1024 2048 4096 8192 32768 65536 131072 262144 524288 16777216 33554432 67108864 536870912 1073741824 2147483648]
- valid_min :
- 0
- valid_max :
- 3876569055
- comment :
- Quality flag for the SSHA from KaRIn in the ssha_karin_2 variable
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - num_pt_avg(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- number of samples averaged
- units :
- 1
- valid_min :
- 0
- valid_max :
- 289
- comment :
- Number of native unsmoothed, beam-combined KaRIn samples averaged.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - distance_to_coast(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- distance to coast
- source :
- MODIS/GlobCover
- institution :
- European Space Agency
- units :
- m
- valid_min :
- -21000
- valid_max :
- 21000
- comment :
- Approximate distance to the nearest coast point along the Earth surface.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - heading_to_coast(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- heading to coast
- units :
- degrees
- valid_min :
- 0
- valid_max :
- 35999
- comment :
- Approximate compass heading (0-360 degrees with respect to true north) to the nearest coast point.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - ancillary_surface_classification_flag(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- surface classification
- standard_name :
- status_flag
- source :
- MODIS/GlobCover
- institution :
- European Space Agency
- flag_meanings :
- open_ocean land continental_water aquatic_vegetation continental_ice_snow floating_ice salted_basin
- flag_values :
- [0 1 2 3 4 5 6]
- valid_min :
- 0
- valid_max :
- 6
- comment :
- 7-state surface type classification computed from a mask built with MODIS and GlobCover data.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - dynamic_ice_flag(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- dynamic ice flag
- standard_name :
- status_flag
- source :
- EUMETSAT Ocean and Sea Ice Satellite Applications Facility
- institution :
- EUMETSAT
- flag_meanings :
- no_ice probable_ice ice no_data
- flag_values :
- [0 1 2 3]
- valid_min :
- 0
- valid_max :
- 3
- comment :
- Dynamic ice flag for the location of the KaRIn measurement.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - rain_flag(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- rain flag
- standard_name :
- status_flag
- flag_meanings :
- no_rain probable_rain rain no_data
- flag_values :
- [0 1 2 3]
- valid_min :
- 0
- valid_max :
- 3
- comment :
- Flag indicates that signal is attenuated, probably from rain.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - rad_surface_type_flag(num_lines, num_sides)float32dask.array<chunksize=(410, 2), meta=np.ndarray>
- long_name :
- radiometer surface type flag
- standard_name :
- status_flag
- source :
- Advanced Microwave Radiometer
- flag_meanings :
- open_ocean coastal_ocean land
- flag_values :
- [0 1 2]
- valid_min :
- 0
- valid_max :
- 2
- comment :
- Flag indicating the validity and type of processing applied to generate the wet troposphere correction (rad_wet_tropo_cor). A value of 0 indicates that open ocean processing is used, a value of 1 indicates coastal processing, and a value of 2 indicates that rad_wet_tropo_cor is invalid due to land contamination.
Array Chunk Bytes 3.20 kiB 3.20 kiB Shape (410, 2) (410, 2) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - mean_sea_surface_cnescls(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- mean sea surface height (CNES/CLS)
- source :
- MSS CNES_CLS_2022; MSS SIO_2022; MSS DTU_2021
- institution :
- CNES/CLS/SIO/DTU
- units :
- m
- valid_min :
- -1500000
- valid_max :
- 1500000
- comment :
- Mean sea surface height above the reference ellipsoid. The value is referenced to the mean tide system, i.e. includes the permanent tide (zero frequency).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - mean_sea_surface_cnescls_uncert(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- mean sea surface height accuracy (CNES/CLS)
- source :
- MSS CNES_CLS_2022; MSS SIO_2022; MSS DTU_2021
- institution :
- CNES/CLS/SIO/DTU
- units :
- m
- valid_min :
- 0
- valid_max :
- 10000
- comment :
- Accuracy of the mean sea surface height (mean_sea_surface_cnescls).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - geoid(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- geoid height
- standard_name :
- geoid_height_above_reference_ellipsoid
- source :
- EGM2008 (Pavlis et al., 2012)
- units :
- m
- valid_min :
- -1500000
- valid_max :
- 1500000
- comment :
- Geoid height above the reference ellipsoid with a correction to refer the value to the mean tide system, i.e. includes the permanent tide (zero frequency).
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - internal_tide_hret(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- coherent internal tide (HRET)
- source :
- Zaron (2019)
- units :
- m
- valid_min :
- -2000
- valid_max :
- 2000
- comment :
- Coherent internal ocean tide. This value is subtracted from the ssh_karin and ssh_karin_2 to compute ssha_karin and ssha_karin_2, respectively.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - height_cor_xover(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- height correction from crossover calibration
- units :
- m
- quality_flag :
- height_cor_xover_qual
- valid_min :
- -100000
- valid_max :
- 100000
- comment :
- Height correction from crossover calibration. To apply this correction the value of height_cor_xover should be added to the value of ssh_karin, ssh_karin_2, ssha_karin, and ssha_karin_2.
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float64 numpy.ndarray - height_cor_xover_qual(num_lines, num_pixels)float32dask.array<chunksize=(410, 69), meta=np.ndarray>
- long_name :
- quality flag for height correction from crossover calibration
- standard_name :
- status_flag
- flag_meanings :
- good suspect bad
- flag_values :
- [0 1 2]
- valid_min :
- 0
- valid_max :
- 2
- comment :
- Flag indicating the quality of the height correction from crossover calibration. Values of 0, 1, and 2 indicate that the correction is good, suspect, and bad, respectively.
Array Chunk Bytes 110.51 kiB 110.51 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 3 graph layers Data type float32 numpy.ndarray - cycle_number(num_lines)uint1634 34 34 34 34 ... 34 34 34 34 34
array([34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34], dtype=uint16) - pass_number(num_lines)uint1639 39 39 39 39 ... 39 39 39 39 39
array([39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39], dtype=uint16) - ssha_karin_corrected(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- units :
- m
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 7 graph layers Data type float64 numpy.ndarray - ssha_karin_2_corrected(num_lines, num_pixels)float64dask.array<chunksize=(410, 69), meta=np.ndarray>
- units :
- m
Array Chunk Bytes 221.02 kiB 221.02 kiB Shape (410, 69) (410, 69) Dask graph 1 chunks in 7 graph layers Data type float64 numpy.ndarray
- Conventions :
- CF-1.7
- title :
- Level 2 Low Rate Sea Surface Height Data Product - Basic SSH
- institution :
- CNES
- source :
- Ka-band radar interferometer
- history :
- 2025-06-12T22:07:03Z : Creation
- platform :
- SWOT
- reference_document :
- D-56407_SWOT_Product_Description_L2_LR_SSH
- contact :
- podaac@podaac.jpl.nasa.gov
- cycle_number :
- 34
- pass_number :
- 39
- equator_time :
- 2025-06-10T03:22:09.482000Z
- short_name :
- L2_LR_SSH
- product_file_id :
- Basic
- crid :
- PID0
- product_version :
- 01
- pge_name :
- PGE_L2_LR_SSH
- pge_version :
- 5.4.0
- time_coverage_start :
- 2025-06-10T02:56:23.158528
- time_coverage_end :
- 2025-06-10T03:47:10.282917
- geospatial_lon_min :
- 144.531895
- geospatial_lon_max :
- 311.976428
- geospatial_lat_min :
- -78.271942
- geospatial_lat_max :
- 78.27206799999999
- left_first_longitude :
- 144.551266
- left_first_latitude :
- -77.05370099999999
- left_last_longitude :
- 311.976428
- left_last_latitude :
- 78.27200599999999
- right_first_longitude :
- 144.531895
- right_first_latitude :
- -78.27186999999999
- right_last_longitude :
- 311.958602
- right_last_latitude :
- 77.053837
- wavelength :
- 0.008385803020979021
- transmit_antenna :
- minus_y
- xref_l1b_lr_intf_file :
- SWOT_L1B_LR_INTF_034_039_20250610T025620_20250610T034712_PID0_01.nc
- xref_l2_nalt_gdr_files :
- SWOT_IPN_2PsP034_038_20250610_020457_20250610_025623.nc, SWOT_IPN_2PsP034_039_20250610_025623_20250610_034751.nc, SWOT_IPN_2PsP034_040_20250610_034751_20250610_043917.nc
- xref_l2_rad_gdr_files :
- SWOT_IPRAD_2PaP034_038_20250610_020457_20250610_025623_PID0_01.nc, SWOT_IPRAD_2PaP034_039_20250610_025623_20250610_034751_PID0_01.nc, SWOT_IPRAD_2PaP034_040_20250610_034751_20250610_043917_PID0_01.nc
- xref_int_lr_xover_cal_file :
- SWOT_INT_LR_XOverCal_20250609T233026_20250610T233118_PID0_01.nc
- xref_statickarincal_files :
- SWOT_StaticKaRInCalAdjustableParam_20000101T000000_20991231T235959_20250115T180000_v107.nc
- xref_param_l2_lr_precalssh_file :
- SWOT_Param_L2_LR_PreCalSSH_20000101T000000_20991231T235959_20241202T110000_v501.nc
- xref_orbit_ephemeris_file :
- SWOT_POR_AXVCNE20250611_105227_20250609_225923_20250611_005923.nc
- xref_reforbittrack_files :
- SWOT_RefOrbitTrack125mPass1_Nom_20000101T000000_21000101T000000_20200617T193054_v101.txt, SWOT_RefOrbitTrack125mPass2_Nom_20000101T000000_21000101T000000_20200617T193054_v101.txt
- xref_meteorological_sealevel_pressure_files :
- SMM_PMA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_PMA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_wettroposphere_files :
- SMM_WEA_AXPCNE20250610_064430_20250610_000000_20250610_000000.grb, SMM_WEA_AXPCNE20250610_184216_20250610_060000_20250610_060000.grb
- xref_meteorological_wind_files :
- SMM_VWA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_UWA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_UWA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb, SMM_VWA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_surface_pressure_files :
- SMM_PSA_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_PSA_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_temperature_files :
- SMM_T2M_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_T2M_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_water_vapor_files :
- SMM_CWV_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_CWV_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_meteorological_cloud_liquid_water_files :
- SMM_CLW_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_CLW_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_model_significant_wave_height_files :
- SMM_SWH_AXPCNE20250610_054030_20250610_000000_20250610_000000.grb, SMM_SWH_AXPCNE20250610_174036_20250610_060000_20250610_060000.grb
- xref_gim_files :
- SMM_TEC_AXPCNE20250611_070504_20250610_000000_20250611_000000
- xref_pole_location_file :
- SMM_PO1_AXXCNE20250612_020000_19900101_000000_20251209_000000
- xref_dac_files :
- SMM_MOG_AXPCNE20250610_084811_20250610_000000_20250610_000000, SMM_MOG_AXPCNE20250610_205038_20250610_060000_20250610_060000
- xref_precipitation_files :
- SMM_LSR_AXFCNE20250610_162756_20250610_000000_20250610_000000.grb, SMM_CRR_AXFCNE20250610_162756_20250610_000000_20250610_000000.grb, SMM_CRR_AXFCNE20250610_162756_20250610_060000_20250610_060000.grb, SMM_LSR_AXFCNE20250610_162756_20250610_060000_20250610_060000.grb
- xref_sea_ice_mask_files :
- SMM_ICS_AXFCNE20250611_042002_20250610_000000_20250610_235959.nc, SMM_ICN_AXFCNE20250611_041503_20250610_000000_20250610_235959.nc
- xref_wave_model_files :
- SMM_WMA_AXPCNE20250610_072013_20250609_030000_20250610_000000.grb, SMM_WMA_AXPCNE20250611_072010_20250610_030000_20250611_000000.grb
- xref_geco_database_version :
- v107
- ellipsoid_semi_major_axis :
- 6378137.0
- ellipsoid_flattening :
- 0.0033528106647474805
- good_ocean_data_percent :
- 64.45744266445926
- ssha_variance :
- 2.3281695511349625
- references :
- V1.4.1
- equator_longitude :
- -131.75
Mask invalid data
[17]:
ds_basic["ssha_karin_corrected"] = ds_basic.ssha_karin_corrected.where(ds_basic.ancillary_surface_classification_flag==0)
ds_basic["ssha_karin_corrected"] = ds_basic.ssha_karin_corrected.where(ds_basic.ssha_karin_qual==0)
[18]:
ds_basic["ssha_karin_2_corrected"] = ds_basic.ssha_karin_2_corrected.where(ds_basic.ancillary_surface_classification_flag==0)
ds_basic["ssha_karin_2_corrected"] = ds_basic.ssha_karin_2_corrected.where(ds_basic.ssha_karin_2_qual==0)
Output visualisation: basic SLA plots
Let’s visualise SWOT KaRIn LR data using cartopy
[19]:
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(21, 12), subplot_kw=dict(projection=ccrs.PlateCarree()))
plot_kwargs = dict(
x="longitude",
y="latitude",
cmap="Spectral_r",
vmin=-0.2,
vmax=0.2,
cbar_kwargs={"shrink": 0.3},)
# SWOT KaRIn SLA plots
ds_basic.ssha_karin_corrected.plot.pcolormesh(ax=ax1, **plot_kwargs)
ds_basic.ssha_karin_2_corrected.plot.pcolormesh(ax=ax2, **plot_kwargs)
ax1.gridlines(draw_labels=True)
ax1.coastlines()
ax2.gridlines(draw_labels=True)
ax1.set_title("SSHA KaRIn corrected")
ax2.coastlines()
ax2.gridlines()
ax2.set_title("SSHA KaRIn 2 corrected")
[19]:
Text(0.5, 1.0, 'SSHA KaRIn 2 corrected')