SWOT KaRIn Sea Surface Height (SSH) Cloud Data Loading, Subsetting, and Visualization
PO.DAAC, Jet Propulsion Laboratory, California Institution of Technology
Author: Ayush Nag
Background
This notebook allows you to visualize large amounts of simulated SWOT data in an interactive dashboard
Connects to PO.DAAC simulated SWOT collection
Reads data as zarr cloud-optimized data store
173 GB in milliseconds
To run this notebook, the SWOT_SIMULATED_L2_KARIN_SSH_GLORYS_SCIENCE_V1_kerchunk_DEMO.json file made from the SWOT_to_kerchunk.ipynb notebook is needed.
User Workflow
Connect to SWOT collection (currently ~17k granules)
Very fast using zarr/kerchunk (500ms-1s)
Subset temporally or spatially
Ex: lat/lon, time, or mean.
Can be done easily with xarray
Fast operations since xarray can slice with coordinates
Visualize
Analyze the data you selected
Interactive dashboard allows for panning around and zooming in to view full resolution swaths
Uses the familiar xarray interface; User can modify as needed and revisualize
Uses little system memory because of xarray + zarr + dask + datashader optimizations
Save
S3 bucket transfer
Fastest method of data transfer
Connect to your own workspace/code
PODAAC data subscriber (https://github.com/podaac/data-subscriber)
Explore data in this notebook; Then use podaac-data-subscriber CLI interface to filter and download netCDF’s to local machine
import s3fsimport globimport daskimport ujsonimport hvplotimport cartopyimport requestsimport matplotlibimport hvplot.daskimport hvplot.xarrayimport osimport numpy as npimport panel as pnimport xarray as xrimport holoviews as hvimport cartopy.crs as ccrsimport panel.widgets as pnwimport matplotlib.pyplot as pltfrom tqdm.notebook import tqdmfrom dask.distributed import Clienthv.extension('bokeh')pn.param.ParamMethod.loading_indicator =True
Start Dask cluster
Data can be read from s3 in parallel and used by hvplot
2023-08-24 04:37:30,076 - distributed.diskutils - INFO - Found stale lock file and directory '/tmp/dask-worker-space/worker-yeean92m', purging
2023-08-24 04:37:30,077 - distributed.diskutils - INFO - Found stale lock file and directory '/tmp/dask-worker-space/worker-mhuxlvme', purging
2023-08-24 04:37:30,077 - distributed.diskutils - INFO - Found stale lock file and directory '/tmp/dask-worker-space/worker-cru4iqsj', purging
CPU times: user 170 ms, sys: 12.8 ms, total: 183 ms
Wall time: 3.26 s
Open collection using Kerchunk/Zarr
This tutorial uses the PODAAC SWOT_SIMULATED_L2_KARIN_SSH_GLORYS_SCIENCE_V1 collection (https://doi.org/10.5067/KARIN-2GLS1)
Dataset explained
Dimensions
cycle_number: One cycle represents when SWOT records approximate global coverage (21 days of data)
pass_number: One swath represents one pass. Each granule/file in PO.DAAC is exactly one SWOT pass. The same pass number across cycles should match up spatially
num_lines and num_pixels represent the “length” and “width” of a satellite swath
num_sides represents the two swaths that the SWOT KaRIn instrument records. Here is an excellent visual.
Here, we use a JSON file of the entire dataset made using Kerchunk for efficiently processing large amounts of data in the cloud. To make this file, see the companion notebook, SWOT_to_kerchunk.ipynb
We read in the file as zarr cloud-optimized data store from the chunked JSON
Longitude (degrees east of Grenwich meridian) of the satellite nadir point.
long_name :
longitude of satellite nadir point
standard_name :
longitude
units :
degrees_east
valid_max :
359999999
valid_min :
0
Array
Chunk
Bytes
102.97 MiB
77.08 kiB
Shape
(3, 456, 9866)
(1, 1, 9866)
Count
1369 Tasks
1368 Chunks
Type
float64
numpy.ndarray
pass_num
(pass_num)
float64
1.0 2.0 3.0 ... 579.0 580.0 583.0
array([ 1., 2., 3., ..., 579., 580., 583.])
comment :
Height of the sea surface free of measurement errors.
long_name :
sea surface height
standard_name :
sea surface height above reference ellipsoid
units :
m
valid_max :
150000000
valid_min :
-15000000
# Note: this represents the amount of data needed in memory to load the entire dataset# The actual files are smaller on disk (s3) because of netCDF compressionprint(f'{data.nbytes /1e9} GB')
385.573386456 GB
Visualize with interactive dashboard
def dashboard(data: xr.Dataset, x="longitude", y="latitude", groupby=["cycle_num", "pass_num"]):""" Creates dashboard that can visualize SWOT collection """# --- WIDGETS --- ## only keep the vars that are in swath format plotting_vars = [var for var in data.data_vars ifset(data[var].dims) == {'cycle_num', 'pass_num', 'num_lines', 'num_pixels'}] var_select = pnw.Select(value='simulated_true_ssh_karin', options=plotting_vars, name="variable")# var_select = pnw.Select(value='simulated_true_ssh_karin', options=list(data.variables), name="variable") cmap = pnw.Select(value='jet', options=['jet', 'RdBu', 'viridis', 'plasma', 'inferno', 'magma', 'cividis'], name="colormap") agg_fn = pnw.Select(value='mean', options=['count','sum','min','max','mean','var','std'], name="aggregration function") normalization = pnw.Select(value='linear', options=['linear', 'eq_hist'], name="normalization") projection = pnw.Select(value='PlateCarree', options=['PlateCarree', 'SouthPolarStereo', 'NorthPolarStereo'], name="projection")# fixes certain projections to a zoomed in starting point (otherwise plot is zoomed out to show the whole swath) projection_xlim = {'PlateCarree': None, 'SouthPolarStereo': (-180, 180), 'NorthPolarStereo': (-180, 180)} projection_ylim = {'PlateCarree': None, 'SouthPolarStereo': (-30, -90), 'NorthPolarStereo': (30, 90)} coastlines=pnw.Checkbox(name="coastlines", value=True, width=65) colorbar=pnw.Checkbox(name="colorbar", value=True, width=60) grid=pnw.Checkbox(name="grid", value=False, width=60)# z_slider = pnw.IntSlider(name="z", start=0, end=data.z.size - 1, step=1, value=0, width=500)# def time_boxes(z):# return pn.Column(pnw.StaticText(name='start', value=str(data.time[z].values[0])), pnw.StaticText(name='end', value=str(data.time[z].values[data.num_lines.size - 1])))# --- INTERACTIVE PLOT --- #def data_plot(var, proj):return data[var].hvplot.points( x=x, xlabel=x, y=y, ylabel=y, groupby=groupby,# widgets={"z": z_slider}, widget_location="bottom", aggregator=agg_fn, cnorm=normalization, cmap=cmap, colorbar=colorbar, coastline=coastlines, grid=grid, geo=True, projection=proj,# tools=['tap', 'wheel_zoom'], width=650, height=450, rasterize=True, project=True, dynspread=True, xlim=projection_xlim[proj], ylim=projection_ylim[proj], title=f"PODAAC SWOT L2 Dashboard ({str(var)})" )# bind functions to widgets (like update handlers) idata_plot = pn.bind(data_plot, var=var_select, proj=projection)# itime_boxes = pn.bind(time_boxes, z=z_slider)# --- DEFINE LAYOUT --- ## return pn.Row(pn.Column(idata_plot), pn.Column(var_select, agg_fn, normalization, cmap, projection, itime_boxes, pn.Row(coastlines, colorbar, grid)))return pn.Row(pn.Column(idata_plot), pn.Column(var_select, agg_fn, normalization, cmap, projection, pn.Row(coastlines, colorbar, grid)))
WARNING:param.main: Calling the .opts method with options broken down by options group (i.e. separate plot, style and norm groups) is deprecated. Use the .options method converting to the simplified format instead or use hv.opts.apply_groups for backward compatibility.
CPU times: user 3.28 s, sys: 224 ms, total: 3.5 s
Wall time: 3.38 s
Note: if you get the error DataError: XArrayInterface expects gridded data. This means you need to refresh your PODAAC s3 credentials and reopen the dataset
Latitude of measurement [-80,80]. Positive latitude is North latitude, negative latitude is South latitude.
long_name :
latitude (positive N, negative S)
standard_name :
latitude
units :
degrees_north
valid_max :
80000000
valid_min :
-80000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
1372 Tasks
1 Chunks
Type
float64
numpy.ndarray
latitude_nadir
(num_lines)
float64
dask.array<chunksize=(304,), meta=np.ndarray>
comment :
Geodetic latitude [-80,80] (degrees north of equator) of the satellite nadir point.
long_name :
latitude of satellite nadir point
standard_name :
latitude
units :
degrees_north
valid_max :
80000000
valid_min :
-80000000
Array
Chunk
Bytes
2.38 kiB
2.38 kiB
Shape
(304,)
(304,)
Count
1372 Tasks
1 Chunks
Type
float64
numpy.ndarray
longitude
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Longitude of measurement. East longitude relative to Greenwich meridian.
long_name :
longitude (degrees East)
standard_name :
longitude
units :
degrees_east
valid_max :
359999999
valid_min :
0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
1372 Tasks
1 Chunks
Type
float64
numpy.ndarray
longitude_nadir
(num_lines)
float64
dask.array<chunksize=(304,), meta=np.ndarray>
comment :
Longitude (degrees east of Grenwich meridian) of the satellite nadir point.
long_name :
longitude of satellite nadir point
standard_name :
longitude
units :
degrees_east
valid_max :
359999999
valid_min :
0
Array
Chunk
Bytes
2.38 kiB
2.38 kiB
Shape
(304,)
(304,)
Count
1372 Tasks
1 Chunks
Type
float64
numpy.ndarray
pass_num
()
float64
2.0
array(2.)
ancillary_surface_classification_flag
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
7-state surface type classification computed from a mask built with MODIS and GlobCover data.
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]
institution :
European Space Agency
long_name :
surface classification
source :
MODIS/GlobCover
standard_name :
status_flag
valid_max :
6
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
correction_flag
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Quality flag for corrections.
flag_meanings :
good bad
flag_values :
[0, 1]
long_name :
quality flag for corrections
standard_name :
status_flag
valid_max :
1
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
cross_track_angle
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Angle with respect to true north of the cross-track direction to the right of the spacecraft velocity vector.
long_name :
cross-track angle from true north
units :
degrees
valid_max :
359999999
valid_min :
0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
float64
numpy.ndarray
cross_track_distance
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Distance of sample from nadir. Negative values indicate the left side of the swath, and positive values indicate the right side of the swath.
long_name :
cross track distance
units :
m
valid_max :
75000.0
valid_min :
-75000.0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
dac
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Model estimate of the effect on sea surface topography due to high frequency air pressure and wind effects and the low-frequency height from inverted barometer effect (inv_bar_cor). This value is subtracted from the ssh_karin and ssh_karin_2 to compute ssha_karin and ssha_karin_2, respectively. Use only one of inv_bar_cor and dac.
institution :
LEGOS/CNES/CLS
long_name :
dynamic atmospheric correction
source :
MOG2D
units :
m
valid_max :
12000
valid_min :
-12000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
depth_or_elevation
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Ocean depth or land elevation above reference ellipsoid. Ocean depth (bathymetry) is given as negative values, and land elevation positive values.
institution :
European Space Agency
long_name :
ocean depth or land elevation
source :
Altimeter Corrected Elevations, version 2
units :
m
valid_max :
10000
valid_min :
-12000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
distance_to_coast
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Approximate distance to the nearest coast point along the Earth surface.
Doppler centroid (in hertz or cycles per second) estimated by KaRIn.
long_name :
doppler centroid estimated by KaRIn
units :
1/s
valid_max :
30000
valid_min :
-30000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 2, 71)
(304, 2, 71)
Count
2750 Tasks
1 Chunks
Type
float32
numpy.ndarray
dynamic_ice_flag
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Dynamic ice flag for the location of the KaRIn measurement.
flag_meanings :
no_ice probable_ice ice
flag_values :
[0, 1, 2]
institution :
EUMETSAT
long_name :
dynamic ice flag
source :
EUMETSAT Ocean and Sea Ice Satellite Applications Facility
standard_name :
status_flag
valid_max :
2
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
geoid
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
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).
long_name :
geoid height
source :
EGM2008 (Pavlis et al., 2012)
standard_name :
geoid_height_above_reference_ellipsoid
units :
m
valid_max :
1500000
valid_min :
-1500000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
heading_to_coast
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Approximate compass heading (0-360 degrees with respect to true north) to the nearest coast point.
long_name :
heading to coast
units :
degrees
valid_max :
35999
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
height_cor_xover
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Height correction from KaRIn 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.
long_name :
height correction from KaRIn crossovers
units :
m
valid_max :
100000
valid_min :
-100000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ice_conc
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Concentration of sea ice from model.
institution :
EUMETSAT
long_name :
concentration of sea ice
source :
EUMETSAT Ocean and Sea Ice Satellite Applications Facility
standard_name :
sea_ice_area_fraction
units :
%
valid_max :
10000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
internal_tide_hret
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
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.
long_name :
coherent internal tide (HRET)
source :
Zaron (2019)
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
internal_tide_sol2
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Coherent internal tide.
long_name :
coherent internal tide (Model 2)
source :
TBD
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
inv_bar_cor
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Estimate of static effect of atmospheric pressure on sea surface height. Above average pressure lowers sea surface height. Computed by interpolating ECMWF pressure fields in space and time. The value is included in dac. To apply, add dac to ssha_karin and ssha_karin_2 and subtract inv_bar_cor.
long_name :
static inverse barometer effect on sea surface height
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
iono_cor_gim_ka
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Equivalent vertical correction due to ionosphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
institution :
JPL
long_name :
ionosphere vertical correction
source :
Global Ionosphere Maps
units :
m
valid_max :
0
valid_min :
-5000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
latitude_avg_ssh
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Latitude of measurement [-80,80]. Positive latitude is North latitude, negative latitude is South latitude. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average latitude of samples used to compute SSH
standard_name :
latitude
units :
degrees_north
valid_max :
80000000
valid_min :
-80000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
load_tide_fes
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_fes).
institution :
LEGOS/CNES
long_name :
geocentric load tide height (FES)
source :
FES2014b (Carrere et al., 2016)
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
load_tide_got
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_got).
institution :
GSFC
long_name :
geocentric load tide height (GOT)
source :
GOT4.10c (Ray, 2013)
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
longitude_avg_ssh
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Longitude of measurement. East longitude relative to Greenwich meridian. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average longitude of samples used to compute SSH
standard_name :
longitude
units :
degrees_east
valid_max :
359999999
valid_min :
0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
mean_dynamic_topography
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Mean dynamic topography above the geoid.
institution :
CNES/CLS
long_name :
mean dynamic topography
source :
CNES_CLS_18
units :
m
valid_max :
30000
valid_min :
-30000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
mean_dynamic_topography_uncert
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Accuracy of the mean dynamic topography.
institution :
CNES/CLS
long_name :
mean dynamic topography accuracy
source :
CNES_CLS_18
units :
m
valid_max :
10000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
mean_sea_surface_cnescls
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
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).
institution :
CNES/CLS
long_name :
mean sea surface height (CNES/CLS)
source :
CNES_CLS_15
units :
m
valid_max :
1500000
valid_min :
-1500000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
mean_sea_surface_cnescls_uncert
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Accuracy of the mean sea surface height (mean_sea_surface_cnescls).
institution :
CNES/CLS
long_name :
mean sea surface height accuracy (CNES/CLS)
source :
CNES_CLS_15
units :
m
valid_max :
10000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
mean_sea_surface_dtu
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
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).
institution :
DTU
long_name :
mean sea surface height (DTU)
source :
DTU18
units :
m
valid_max :
1500000
valid_min :
-1500000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
mean_sea_surface_dtu_uncert
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Accuracy of the mean sea surface height (mean_sea_surface_dtu)
institution :
DTU
long_name :
mean sea surface height accuracy (DTU)
source :
DTU18
units :
m
valid_max :
10000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
mean_wave_direction
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Mean sea surface wave direction.
institution :
Meteo France
long_name :
mean sea surface wave direction
source :
Meteo France Wave Model (MF-WAM)
units :
degree
valid_max :
36000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
mean_wave_period_t02
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Sea surface wind wave mean period from model spectral density second moment.
institution :
Meteo France
long_name :
sea surface wind wave mean period
source :
Meteo France Wave Model (MF-WAM)
standard_name :
sea_surface_wave_significant_period
units :
s
valid_max :
100
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
model_dry_tropo_cor
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Equivalent vertical correction due to dry troposphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
dry troposphere vertical correction
source :
European Centre for Medium-Range Weather Forecasts
units :
m
valid_max :
-15000
valid_min :
-30000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
model_wet_tropo_cor
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Equivalent vertical correction due to wet troposphere delay from weather model data. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin_2) results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
wet troposphere vertical correction from weather model data
source :
European Centre for Medium-Range Weather Forecasts
units :
m
valid_max :
0
valid_min :
-10000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
num_pt_avg
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Number of native unsmoothed, beam-combined KaRIn samples averaged.
long_name :
number of samples averaged
units :
1
valid_max :
289
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
obp_ref_surface
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Height (relative to the reference ellipsoid) of the reference surface used by the KaRIn on-board processor.
long_name :
height of reference surface used by on-board-processor
units :
m
valid_max :
150000000
valid_min :
-15000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ocean_tide_eq
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Equilibrium long-period ocean tide height. This value has already been added to the corresponding ocean tide height values (ocean_tide_fes and ocean_tide_got).
long_name :
equilibrium long-period ocean tide height
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
ocean_tide_fes
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_fes) and equilibrium long-period ocean tide height (ocean_tide_eq).
institution :
LEGOS/CNES
long_name :
geocentric ocean tide height (FES)
source :
FES2014b (Carrere et al., 2016)
units :
m
valid_max :
300000
valid_min :
-300000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ocean_tide_got
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_got) and equilibrium long-period ocean tide height (ocean_tide_eq).
institution :
GSFC
long_name :
geocentric ocean tide height (GOT)
source :
GOT4.10c (Ray, 2013)
units :
m
valid_max :
300000
valid_min :
-300000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ocean_tide_non_eq
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Non-equilibrium long-period ocean tide height. This value is reported as a relative displacement with repsect to ocean_tide_eq. This value can be added to ocean_tide_eq, ocean_tide_fes, or ocean_tide_got, or subtracted from ssha_karin and ssha_karin_2, to account for the total long-period ocean tides from equilibrium and non-equilibrium contributions.
institution :
LEGOS/CNES
long_name :
non-equilibrium long-period ocean tide height
source :
FES2014b (Carrere et al., 2016)
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
orbit_alt_rate
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Orbital altitude rate with respect to the mean sea surface.
long_name :
orbital altitude rate with respect to mean sea surface
units :
m/s
valid_max :
3500
valid_min :
-3500
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
float32
numpy.ndarray
orbit_qual
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Orbit quality flag.
long_name :
orbit quality flag
standard_name :
status_flag
valid_max :
1
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
float32
numpy.ndarray
phase_bias_ref_surface
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Height (relative to the reference ellipsoid) of the reference surface used for phase bias calculation during L1B processing.
long_name :
height of reference surface used for phase bias calculation
H denotes co-polarized linear horizontal, V denotes co-polarized linear vertical.
long_name :
polarization for each side of the KaRIn swath
Array
Chunk
Bytes
337.25 kiB
337.25 kiB
Shape
(304, 2, 71)
(304, 2, 71)
Count
2750 Tasks
1 Chunks
Type
object
numpy.ndarray
pole_tide
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Geocentric pole tide height. The total of the contribution from the solid-Earth (body) pole tide height, the ocean pole tide height, and the load pole tide height (i.e., the effect of the ocean pole tide loading of the Earth's crust).
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.
Integrated water vapor content from radiometer measurements.
long_name :
water vapor content from radiometer
source :
Advanced Microwave Radiometer
standard_name :
atmosphere_water_vapor_content
units :
kg/m^2
valid_max :
15000
valid_min :
0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 2, 71)
(304, 2, 71)
Count
2750 Tasks
1 Chunks
Type
float32
numpy.ndarray
rad_wet_tropo_cor
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Equivalent vertical correction due to wet troposphere delay from radiometer measurements. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin) results in the uncorrected sea surface height.
long_name :
wet troposphere vertical correction from radiometer data
source :
Advanced Microwave Radiometer
units :
m
valid_max :
0
valid_min :
-10000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
rain_flag
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Flag indicates that signal is attenuated, probably from rain.
flag_meanings :
no_rain probable_rain rain
flag_values :
[0, 1, 2]
long_name :
rain flag
standard_name :
status_flag
valid_max :
2
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
rain_rate
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Rain rate from weather model.
institution :
ECMWF
long_name :
rain rate from weather model
source :
European Centre for Medium-Range Weather Forecasts
KMSF attitude roll angle; positive values move the +y antenna down.
long_name :
roll of the spacecraft
standard_name :
platform_roll_angle
units :
degrees
valid_max :
1800000
valid_min :
-1799999
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
float64
numpy.ndarray
sc_yaw
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
KMSF attitude yaw angle relative to the nadir track. The yaw angle is a right-handed rotation about the nadir (downward) direction. A yaw value of 0 deg indicates that the KMSF +x axis is aligned with the horizontal component of the Earth-relative velocity vector. A yaw value of 180 deg indicates that the spacecraft is in a yaw-flipped state, with the KMSF -x axis aligned with the horizontal component of the Earth-relative velocity vector.
long_name :
yaw of the spacecraft
standard_name :
platform_yaw_angle
units :
degrees
valid_max :
1800000
valid_min :
-1799999
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
float64
numpy.ndarray
sea_state_bias_cor
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Sea state bias correction to ssh_karin. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin value is used to compute this quantity.
long_name :
sea state bias correction to height
source :
TBD
units :
m
valid_max :
0
valid_min :
-6000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
sea_state_bias_cor_2
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Sea state bias correction to ssh_karin_2. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin_2 value is used to compute this quantity.
long_name :
sea state bias correction to height
source :
TBD
units :
m
valid_max :
0
valid_min :
-6000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
sig0_cor_atmos_model
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Atmospheric correction to sigma0 from weather model data as a linear power multiplier (not decibels). sig0_cor_atmos_model is already applied in computing sig0_karin_2.
institution :
ECMWF
long_name :
two-way atmospheric correction to sigma0 from model
source :
European Centre for Medium-Range Weather Forecasts
units :
1
valid_max :
10.0
valid_min :
1.0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
sig0_cor_atmos_rad
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Atmospheric correction to sigma0 from radiometer data as a linear power multiplier (not decibels). sig0_cor_atmos_rad is already applied in computing sig0_karin.
long_name :
two-way atmospheric correction to sigma0 from radiometer data
source :
Advanced Microwave Radiometer
units :
1
valid_max :
10.0
valid_min :
1.0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
sig0_karin
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. Radiometer measurements provide the atmospheric attenuation (sig0_cor_atmos_rad).
long_name :
normalized radar cross section (sigma0) from KaRIn
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. A meteorological model provides the atmospheric attenuation (sig0_cor_atmos_model).
long_name :
normalized radar cross section (sigma0) from KaRIn
Height of the sea surface free of measurement errors.
long_name :
sea surface height
standard_name :
sea surface height above reference ellipsoid
units :
m
valid_max :
150000000
valid_min :
-15000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
solid_earth_tide
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Solid-Earth (body) tide height. The zero-frequency permanent tide component is not included.
long_name :
solid Earth tide height
source :
Cartwright and Taylor (1971) and Cartwright and Edden (1973)
units :
m
valid_max :
10000
valid_min :
-10000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
ssh_karin
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
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).
long_name :
sea surface height
standard_name :
sea surface height above reference ellipsoid
units :
m
valid_max :
150000000
valid_min :
-15000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ssh_karin_2
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
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).
long_name :
sea surface height
standard_name :
sea surface height above reference ellipsoid
units :
m
valid_max :
150000000
valid_min :
-15000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ssh_karin_uncert
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
1-sigma uncertainty on the sea surface height from the KaRIn measurement.
long_name :
sea surface height anomaly uncertainty
units :
m
valid_max :
60000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
ssha_karin
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Sea surface height anomaly from the KaRIn measurement = ssh_karin - mean_sea_surface_cnescls - solid_earth_tide - ocean_tide_fes – internal_tide_hret - pole_tide - dac.
long_name :
sea surface height anomaly
units :
m
valid_max :
1000000
valid_min :
-1000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ssha_karin_2
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Sea surface height anomaly from the KaRIn measurement = ssh_karin_2 - mean_sea_surface_cnescls - solid_earth_tide - ocean_tide_fes – internal_tide_hret - pole_tide - dac.
long_name :
sea surface height anomaly
units :
m
valid_max :
1000000
valid_min :
-1000000
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
ssha_karin_qual
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Quality flag for the SSHA from KaRIn.
flag_meanings :
good bad
flag_values :
[0, 1]
long_name :
sea surface height quality flag
standard_name :
status_flag
valid_max :
1
valid_min :
0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
swh_karin
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Significant wave height from KaRIn volumetric correlation.
long_name :
significant wave height from KaRIn
standard_name :
sea_surface_wave_significant_height
units :
m
valid_max :
25000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
swh_karin_qual
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Quality flag for significant wave height from KaRIn.
flag_meanings :
good bad
flag_values :
[0, 1]
long_name :
quality flag for significant wave height from KaRIn.
standard_name :
status_flag
valid_max :
1
valid_min :
0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float64
numpy.ndarray
swh_karin_uncert
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
1-sigma uncertainty on significant wave height from KaRIn.
long_name :
1-sigma uncertainty on significant wave height from KaRIn
units :
m
valid_max :
25000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
swh_model
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Significant wave height from model.
institution :
ECMWF
long_name :
significant wave height from wave model
source :
European Centre for Medium-Range Weather Forecasts
standard_name :
sea_surface_wave_significant_height
units :
m
valid_max :
30000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
swh_sea_state_bias
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Significant wave height used in sea state bias correction.
long_name :
SWH used in sea state bias correction
units :
m
valid_max :
25000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
time
(num_lines, num_pixels)
datetime64[ns]
dask.array<chunksize=(304, 71), meta=np.ndarray>
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.
leap_second :
YYYY-MM-DDThh:mm:ssZ
long_name :
time in UTC
standard_name :
time
tai_utc_difference :
35.0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
datetime64[ns]
numpy.ndarray
time_tai
(num_lines, num_pixels)
datetime64[ns]
dask.array<chunksize=(304, 71), meta=np.ndarray>
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].
long_name :
time in TAI
standard_name :
time
tai_utc_difference :
[Value of TAI-UTC at time of first record]
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
datetime64[ns]
numpy.ndarray
velocity_heading
(num_lines, num_pixels)
float64
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Angle with respect to true north of the horizontal component of the spacecraft Earth-relative velocity vector. A value of 90 deg indicates that the spacecraft velocity vector pointed due east. Values between 0 and 90 deg indicate that the velocity vector has a northward component, and values between 90 and 180 deg indicate that the velocity vector has a southward component.
long_name :
heading of the spacecraft Earth-relative velocity vector
units :
degrees
valid_max :
359999999
valid_min :
0
Array
Chunk
Bytes
168.62 kiB
168.62 kiB
Shape
(304, 71)
(304, 71)
Count
2749 Tasks
1 Chunks
Type
float64
numpy.ndarray
wind_speed_karin
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Wind speed from KaRIn computed from sig0_karin.
long_name :
wind speed from KaRIn
source :
TBD
standard_name :
wind_speed
units :
m/s
valid_max :
65000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
wind_speed_karin_2
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Wind speed from KaRIn computed from sig0_karin_2.
long_name :
wind speed from KaRIn
source :
TBD
standard_name :
wind_speed
units :
m/s
valid_max :
65000
valid_min :
0
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
wind_speed_model_u
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Eastward component of the atmospheric model wind vector at 10 meters.
institution :
ECMWF
long_name :
u component of model wind
source :
European Centre for Medium-Range Weather Forecasts
standard_name :
eastward_wind
units :
m/s
valid_max :
30000
valid_min :
-30000
Array
Chunk
Bytes
84.31 kiB
84.31 kiB
Shape
(304, 71)
(304, 71)
Count
2748 Tasks
1 Chunks
Type
float32
numpy.ndarray
wind_speed_model_v
(num_lines, num_pixels)
float32
dask.array<chunksize=(304, 71), meta=np.ndarray>
comment :
Northward component of the atmospheric model wind vector at 10 meters.
institution :
ECMWF
long_name :
v component of model wind
source :
European Centre for Medium-Range Weather Forecasts
Gaultier, L., C. Ubelmann, and L.-L. Fu, 2016: The Challenge of Using Future SWOT Data for Oceanic Field Reconstruction. J. Atmos. Oceanic Technol., 33, 119-126, doi:10.1175/jtech-d-15-0160.1. http://dx.doi.org/10.1175/JTECH-D-15-0160.1.
right_first_latitude :
-78.29203183241484
right_first_longitude :
122.70935482261133
right_last_latitude :
77.03284214129418
right_last_longitude :
289.6585533138908
source :
Simulate product
time_coverage_end :
2014-07-24T10:18:18.533147Z
time_coverage_start :
2014-07-24T09:26:52.109265Z
title :
Level 2 Low Rate Sea Surface Height Data Product - Expert SSH with Wind and Wave
CPU times: user 146 ms, sys: 14.6 ms, total: 161 ms
Wall time: 638 ms
<Figure size 1512x1080 with 0 Axes>
Example: Plot 21-day cycle subset on the Southern Ocean
The coordinate latitude_nadir has dimensions (z, num_lines) since it only measures one pixel per line. Subsetting over this latitude is much faster and more memory efficient since there is less data to look over then KaRIn’s latitude’s (z, num_lines, num_pixels)
Model estimate of the effect on sea surface topography due to high frequency air pressure and wind effects and the low-frequency height from inverted barometer effect (inv_bar_cor). This value is subtracted from the ssh_karin and ssh_karin_2 to compute ssha_karin and ssha_karin_2, respectively. Use only one of inv_bar_cor and dac.
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).
Height correction from KaRIn 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.
Estimate of static effect of atmospheric pressure on sea surface height. Above average pressure lowers sea surface height. Computed by interpolating ECMWF pressure fields in space and time. The value is included in dac. To apply, add dac to ssha_karin and ssha_karin_2 and subtract inv_bar_cor.
long_name :
static inverse barometer effect on sea surface height
Equivalent vertical correction due to ionosphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
Latitude of measurement [-80,80]. Positive latitude is North latitude, negative latitude is South latitude. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average latitude of samples used to compute SSH
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_fes).
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_got).
Longitude of measurement. East longitude relative to Greenwich meridian. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average longitude of samples used to compute SSH
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).
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).
Equivalent vertical correction due to dry troposphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
dry troposphere vertical correction
source :
European Centre for Medium-Range Weather Forecasts
Equivalent vertical correction due to wet troposphere delay from weather model data. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin_2) results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
wet troposphere vertical correction from weather model data
source :
European Centre for Medium-Range Weather Forecasts
Equilibrium long-period ocean tide height. This value has already been added to the corresponding ocean tide height values (ocean_tide_fes and ocean_tide_got).
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_fes) and equilibrium long-period ocean tide height (ocean_tide_eq).
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_got) and equilibrium long-period ocean tide height (ocean_tide_eq).
Non-equilibrium long-period ocean tide height. This value is reported as a relative displacement with repsect to ocean_tide_eq. This value can be added to ocean_tide_eq, ocean_tide_fes, or ocean_tide_got, or subtracted from ssha_karin and ssha_karin_2, to account for the total long-period ocean tides from equilibrium and non-equilibrium contributions.
institution :
LEGOS/CNES
long_name :
non-equilibrium long-period ocean tide height
source :
FES2014b (Carrere et al., 2016)
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
801.67 MiB
1.76 MiB
Shape
(456, 6491, 71)
(1, 6491, 71)
Count
5930 Tasks
456 Chunks
Type
float32
numpy.ndarray
orbit_alt_rate
(pass_num, num_lines)
float32
dask.array<chunksize=(1, 6491), meta=np.ndarray>
comment :
Orbital altitude rate with respect to the mean sea surface.
long_name :
orbital altitude rate with respect to mean sea surface
Geocentric pole tide height. The total of the contribution from the solid-Earth (body) pole tide height, the ocean pole tide height, and the load pole tide height (i.e., the effect of the ocean pole tide loading of the Earth's crust).
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.
Equivalent vertical correction due to wet troposphere delay from radiometer measurements. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin) results in the uncorrected sea surface height.
long_name :
wet troposphere vertical correction from radiometer data
KMSF attitude roll angle; positive values move the +y antenna down.
long_name :
roll of the spacecraft
standard_name :
platform_roll_angle
units :
degrees
valid_max :
1800000
valid_min :
-1799999
Array
Chunk
Bytes
22.58 MiB
50.71 kiB
Shape
(456, 6491)
(1, 6491)
Count
5474 Tasks
456 Chunks
Type
float64
numpy.ndarray
sc_yaw
(pass_num, num_lines)
float64
dask.array<chunksize=(1, 6491), meta=np.ndarray>
comment :
KMSF attitude yaw angle relative to the nadir track. The yaw angle is a right-handed rotation about the nadir (downward) direction. A yaw value of 0 deg indicates that the KMSF +x axis is aligned with the horizontal component of the Earth-relative velocity vector. A yaw value of 180 deg indicates that the spacecraft is in a yaw-flipped state, with the KMSF -x axis aligned with the horizontal component of the Earth-relative velocity vector.
Sea state bias correction to ssh_karin. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin value is used to compute this quantity.
Sea state bias correction to ssh_karin_2. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin_2 value is used to compute this quantity.
Atmospheric correction to sigma0 from weather model data as a linear power multiplier (not decibels). sig0_cor_atmos_model is already applied in computing sig0_karin_2.
institution :
ECMWF
long_name :
two-way atmospheric correction to sigma0 from model
source :
European Centre for Medium-Range Weather Forecasts
Atmospheric correction to sigma0 from radiometer data as a linear power multiplier (not decibels). sig0_cor_atmos_rad is already applied in computing sig0_karin.
long_name :
two-way atmospheric correction to sigma0 from radiometer data
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. Radiometer measurements provide the atmospheric attenuation (sig0_cor_atmos_rad).
long_name :
normalized radar cross section (sigma0) from KaRIn
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. A meteorological model provides the atmospheric attenuation (sig0_cor_atmos_model).
long_name :
normalized radar cross section (sigma0) from KaRIn
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).
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).
Significant wave height used in sea state bias correction.
long_name :
SWH used in sea state bias correction
units :
m
valid_max :
25000
valid_min :
0
Array
Chunk
Bytes
801.67 MiB
1.76 MiB
Shape
(456, 6491, 71)
(1, 6491, 71)
Count
5930 Tasks
456 Chunks
Type
float32
numpy.ndarray
time
(pass_num, num_lines)
datetime64[ns]
dask.array<chunksize=(1, 6491), meta=np.ndarray>
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.
leap_second :
YYYY-MM-DDThh:mm:ssZ
long_name :
time in UTC
standard_name :
time
tai_utc_difference :
35.0
Array
Chunk
Bytes
22.58 MiB
50.71 kiB
Shape
(456, 6491)
(1, 6491)
Count
5474 Tasks
456 Chunks
Type
datetime64[ns]
numpy.ndarray
time_tai
(pass_num, num_lines)
datetime64[ns]
dask.array<chunksize=(1, 6491), meta=np.ndarray>
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].
long_name :
time in TAI
standard_name :
time
tai_utc_difference :
[Value of TAI-UTC at time of first record]
Array
Chunk
Bytes
22.58 MiB
50.71 kiB
Shape
(456, 6491)
(1, 6491)
Count
5474 Tasks
456 Chunks
Type
datetime64[ns]
numpy.ndarray
velocity_heading
(pass_num, num_lines)
float64
dask.array<chunksize=(1, 6491), meta=np.ndarray>
comment :
Angle with respect to true north of the horizontal component of the spacecraft Earth-relative velocity vector. A value of 90 deg indicates that the spacecraft velocity vector pointed due east. Values between 0 and 90 deg indicate that the velocity vector has a northward component, and values between 90 and 180 deg indicate that the velocity vector has a southward component.
long_name :
heading of the spacecraft Earth-relative velocity vector
Gaultier, L., C. Ubelmann, and L.-L. Fu, 2016: The Challenge of Using Future SWOT Data for Oceanic Field Reconstruction. J. Atmos. Oceanic Technol., 33, 119-126, doi:10.1175/jtech-d-15-0160.1. http://dx.doi.org/10.1175/JTECH-D-15-0160.1.
right_first_latitude :
-78.29203183241484
right_first_longitude :
122.70935482261133
right_last_latitude :
77.03284214129418
right_last_longitude :
289.6585533138908
source :
Simulate product
time_coverage_end :
2014-07-24T10:18:18.533147Z
time_coverage_start :
2014-07-24T09:26:52.109265Z
title :
Level 2 Low Rate Sea Surface Height Data Product - Expert SSH with Wind and Wave
wavelength :
0.008385803020979
Using .coarsen()
Xarray has built in functionality to coarsen the data to avoid overplotting and fit the data into memory
Model estimate of the effect on sea surface topography due to high frequency air pressure and wind effects and the low-frequency height from inverted barometer effect (inv_bar_cor). This value is subtracted from the ssh_karin and ssh_karin_2 to compute ssha_karin and ssha_karin_2, respectively. Use only one of inv_bar_cor and dac.
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).
Height correction from KaRIn 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.
Estimate of static effect of atmospheric pressure on sea surface height. Above average pressure lowers sea surface height. Computed by interpolating ECMWF pressure fields in space and time. The value is included in dac. To apply, add dac to ssha_karin and ssha_karin_2 and subtract inv_bar_cor.
long_name :
static inverse barometer effect on sea surface height
Equivalent vertical correction due to ionosphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
Latitude of measurement [-80,80]. Positive latitude is North latitude, negative latitude is South latitude. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average latitude of samples used to compute SSH
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_fes).
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_got).
Longitude of measurement. East longitude relative to Greenwich meridian. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average longitude of samples used to compute SSH
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).
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).
Equivalent vertical correction due to dry troposphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
dry troposphere vertical correction
source :
European Centre for Medium-Range Weather Forecasts
Equivalent vertical correction due to wet troposphere delay from weather model data. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin_2) results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
wet troposphere vertical correction from weather model data
source :
European Centre for Medium-Range Weather Forecasts
Equilibrium long-period ocean tide height. This value has already been added to the corresponding ocean tide height values (ocean_tide_fes and ocean_tide_got).
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_fes) and equilibrium long-period ocean tide height (ocean_tide_eq).
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_got) and equilibrium long-period ocean tide height (ocean_tide_eq).
Non-equilibrium long-period ocean tide height. This value is reported as a relative displacement with repsect to ocean_tide_eq. This value can be added to ocean_tide_eq, ocean_tide_fes, or ocean_tide_got, or subtracted from ssha_karin and ssha_karin_2, to account for the total long-period ocean tides from equilibrium and non-equilibrium contributions.
institution :
LEGOS/CNES
long_name :
non-equilibrium long-period ocean tide height
source :
FES2014b (Carrere et al., 2016)
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
64.89 MiB
145.73 kiB
Shape
(456, 1622, 23)
(1, 1622, 23)
Count
8210 Tasks
456 Chunks
Type
float32
numpy.ndarray
orbit_alt_rate
(pass_num, num_lines)
float32
dask.array<chunksize=(1, 1622), meta=np.ndarray>
comment :
Orbital altitude rate with respect to the mean sea surface.
long_name :
orbital altitude rate with respect to mean sea surface
Geocentric pole tide height. The total of the contribution from the solid-Earth (body) pole tide height, the ocean pole tide height, and the load pole tide height (i.e., the effect of the ocean pole tide loading of the Earth's crust).
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.
Equivalent vertical correction due to wet troposphere delay from radiometer measurements. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin) results in the uncorrected sea surface height.
long_name :
wet troposphere vertical correction from radiometer data
KMSF attitude roll angle; positive values move the +y antenna down.
long_name :
roll of the spacecraft
standard_name :
platform_roll_angle
units :
degrees
valid_max :
1800000
valid_min :
-1799999
Array
Chunk
Bytes
5.64 MiB
12.67 kiB
Shape
(456, 1622)
(1, 1622)
Count
7298 Tasks
456 Chunks
Type
float64
numpy.ndarray
sc_yaw
(pass_num, num_lines)
float64
dask.array<chunksize=(1, 1622), meta=np.ndarray>
comment :
KMSF attitude yaw angle relative to the nadir track. The yaw angle is a right-handed rotation about the nadir (downward) direction. A yaw value of 0 deg indicates that the KMSF +x axis is aligned with the horizontal component of the Earth-relative velocity vector. A yaw value of 180 deg indicates that the spacecraft is in a yaw-flipped state, with the KMSF -x axis aligned with the horizontal component of the Earth-relative velocity vector.
Sea state bias correction to ssh_karin. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin value is used to compute this quantity.
Sea state bias correction to ssh_karin_2. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin_2 value is used to compute this quantity.
Atmospheric correction to sigma0 from weather model data as a linear power multiplier (not decibels). sig0_cor_atmos_model is already applied in computing sig0_karin_2.
institution :
ECMWF
long_name :
two-way atmospheric correction to sigma0 from model
source :
European Centre for Medium-Range Weather Forecasts
Atmospheric correction to sigma0 from radiometer data as a linear power multiplier (not decibels). sig0_cor_atmos_rad is already applied in computing sig0_karin.
long_name :
two-way atmospheric correction to sigma0 from radiometer data
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. Radiometer measurements provide the atmospheric attenuation (sig0_cor_atmos_rad).
long_name :
normalized radar cross section (sigma0) from KaRIn
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. A meteorological model provides the atmospheric attenuation (sig0_cor_atmos_model).
long_name :
normalized radar cross section (sigma0) from KaRIn
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).
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).
Significant wave height used in sea state bias correction.
long_name :
SWH used in sea state bias correction
units :
m
valid_max :
25000
valid_min :
0
Array
Chunk
Bytes
64.89 MiB
145.73 kiB
Shape
(456, 1622, 23)
(1, 1622, 23)
Count
8210 Tasks
456 Chunks
Type
float32
numpy.ndarray
time
(pass_num, num_lines)
datetime64[ns]
dask.array<chunksize=(1, 1622), meta=np.ndarray>
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.
leap_second :
YYYY-MM-DDThh:mm:ssZ
long_name :
time in UTC
standard_name :
time
tai_utc_difference :
35.0
Array
Chunk
Bytes
5.64 MiB
12.67 kiB
Shape
(456, 1622)
(1, 1622)
Count
12317 Tasks
456 Chunks
Type
datetime64[ns]
numpy.ndarray
time_tai
(pass_num, num_lines)
datetime64[ns]
dask.array<chunksize=(1, 1622), meta=np.ndarray>
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].
long_name :
time in TAI
standard_name :
time
tai_utc_difference :
[Value of TAI-UTC at time of first record]
Array
Chunk
Bytes
5.64 MiB
12.67 kiB
Shape
(456, 1622)
(1, 1622)
Count
12317 Tasks
456 Chunks
Type
datetime64[ns]
numpy.ndarray
velocity_heading
(pass_num, num_lines)
float64
dask.array<chunksize=(1, 1622), meta=np.ndarray>
comment :
Angle with respect to true north of the horizontal component of the spacecraft Earth-relative velocity vector. A value of 90 deg indicates that the spacecraft velocity vector pointed due east. Values between 0 and 90 deg indicate that the velocity vector has a northward component, and values between 90 and 180 deg indicate that the velocity vector has a southward component.
long_name :
heading of the spacecraft Earth-relative velocity vector
Gaultier, L., C. Ubelmann, and L.-L. Fu, 2016: The Challenge of Using Future SWOT Data for Oceanic Field Reconstruction. J. Atmos. Oceanic Technol., 33, 119-126, doi:10.1175/jtech-d-15-0160.1. http://dx.doi.org/10.1175/JTECH-D-15-0160.1.
right_first_latitude :
-78.29203183241484
right_first_longitude :
122.70935482261133
right_last_latitude :
77.03284214129418
right_last_longitude :
289.6585533138908
source :
Simulate product
time_coverage_end :
2014-07-24T10:18:18.533147Z
time_coverage_start :
2014-07-24T09:26:52.109265Z
title :
Level 2 Low Rate Sea Surface Height Data Product - Expert SSH with Wind and Wave
Model estimate of the effect on sea surface topography due to high frequency air pressure and wind effects and the low-frequency height from inverted barometer effect (inv_bar_cor). This value is subtracted from the ssh_karin and ssh_karin_2 to compute ssha_karin and ssha_karin_2, respectively. Use only one of inv_bar_cor and dac.
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).
Height correction from KaRIn 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.
Estimate of static effect of atmospheric pressure on sea surface height. Above average pressure lowers sea surface height. Computed by interpolating ECMWF pressure fields in space and time. The value is included in dac. To apply, add dac to ssha_karin and ssha_karin_2 and subtract inv_bar_cor.
long_name :
static inverse barometer effect on sea surface height
Equivalent vertical correction due to ionosphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
Latitude of measurement [-80,80]. Positive latitude is North latitude, negative latitude is South latitude. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average latitude of samples used to compute SSH
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_fes).
Geocentric load tide height. The effect of the ocean tide loading of the Earth's crust. This value has already been added to the corresponding ocean tide height value (ocean_tide_got).
Longitude of measurement. East longitude relative to Greenwich meridian. This value may be biased away from a nominal grid location if some of the native, unsmoothed samples were discarded during processing.
long_name :
weighted average longitude of samples used to compute SSH
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).
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).
Equivalent vertical correction due to dry troposphere delay. The reported sea surface height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
dry troposphere vertical correction
source :
European Centre for Medium-Range Weather Forecasts
Equivalent vertical correction due to wet troposphere delay from weather model data. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin_2) results in the uncorrected sea surface height.
institution :
ECMWF
long_name :
wet troposphere vertical correction from weather model data
source :
European Centre for Medium-Range Weather Forecasts
Equilibrium long-period ocean tide height. This value has already been added to the corresponding ocean tide height values (ocean_tide_fes and ocean_tide_got).
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_fes) and equilibrium long-period ocean tide height (ocean_tide_eq).
Geocentric ocean tide height. Includes the sum total of the ocean tide, the corresponding load tide (load_tide_got) and equilibrium long-period ocean tide height (ocean_tide_eq).
Non-equilibrium long-period ocean tide height. This value is reported as a relative displacement with repsect to ocean_tide_eq. This value can be added to ocean_tide_eq, ocean_tide_fes, or ocean_tide_got, or subtracted from ssha_karin and ssha_karin_2, to account for the total long-period ocean tides from equilibrium and non-equilibrium contributions.
institution :
LEGOS/CNES
long_name :
non-equilibrium long-period ocean tide height
source :
FES2014b (Carrere et al., 2016)
units :
m
valid_max :
2000
valid_min :
-2000
Array
Chunk
Bytes
1.61 GiB
2.67 MiB
Shape
(616, 9864, 71)
(1, 9864, 71)
Count
617 Tasks
616 Chunks
Type
float32
numpy.ndarray
orbit_alt_rate
(z, num_lines)
float32
dask.array<chunksize=(1, 9864), meta=np.ndarray>
comment :
Orbital altitude rate with respect to the mean sea surface.
long_name :
orbital altitude rate with respect to mean sea surface
Geocentric pole tide height. The total of the contribution from the solid-Earth (body) pole tide height, the ocean pole tide height, and the load pole tide height (i.e., the effect of the ocean pole tide loading of the Earth's crust).
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.
Equivalent vertical correction due to wet troposphere delay from radiometer measurements. The reported pixel height, latitude and longitude are computed after adding negative media corrections to uncorrected range along slant-range paths, accounting for the differential delay between the two KaRIn antennas. The equivalent vertical correction is computed by applying obliquity factors to the slant-path correction. Adding the reported correction to the reported sea surface height (ssh_karin) results in the uncorrected sea surface height.
long_name :
wet troposphere vertical correction from radiometer data
KMSF attitude roll angle; positive values move the +y antenna down.
long_name :
roll of the spacecraft
standard_name :
platform_roll_angle
units :
degrees
valid_max :
1800000
valid_min :
-1799999
Array
Chunk
Bytes
46.36 MiB
77.06 kiB
Shape
(616, 9864)
(1, 9864)
Count
617 Tasks
616 Chunks
Type
float64
numpy.ndarray
sc_yaw
(z, num_lines)
float64
dask.array<chunksize=(1, 9864), meta=np.ndarray>
comment :
KMSF attitude yaw angle relative to the nadir track. The yaw angle is a right-handed rotation about the nadir (downward) direction. A yaw value of 0 deg indicates that the KMSF +x axis is aligned with the horizontal component of the Earth-relative velocity vector. A yaw value of 180 deg indicates that the spacecraft is in a yaw-flipped state, with the KMSF -x axis aligned with the horizontal component of the Earth-relative velocity vector.
Sea state bias correction to ssh_karin. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin value is used to compute this quantity.
Sea state bias correction to ssh_karin_2. Adding the reported correction to the reported sea surface height results in the uncorrected sea surface height. The wind_speed_karin_2 value is used to compute this quantity.
Atmospheric correction to sigma0 from weather model data as a linear power multiplier (not decibels). sig0_cor_atmos_model is already applied in computing sig0_karin_2.
institution :
ECMWF
long_name :
two-way atmospheric correction to sigma0 from model
source :
European Centre for Medium-Range Weather Forecasts
Atmospheric correction to sigma0 from radiometer data as a linear power multiplier (not decibels). sig0_cor_atmos_rad is already applied in computing sig0_karin.
long_name :
two-way atmospheric correction to sigma0 from radiometer data
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. Radiometer measurements provide the atmospheric attenuation (sig0_cor_atmos_rad).
long_name :
normalized radar cross section (sigma0) from KaRIn
Normalized radar cross section (sigma0) from KaRIn in real, linear units (not decibels). The value may be negative due to noise subtraction. The value is corrected for instrument calibration and atmospheric attenuation. A meteorological model provides the atmospheric attenuation (sig0_cor_atmos_model).
long_name :
normalized radar cross section (sigma0) from KaRIn
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).
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).
Significant wave height used in sea state bias correction.
long_name :
SWH used in sea state bias correction
units :
m
valid_max :
25000
valid_min :
0
Array
Chunk
Bytes
1.61 GiB
2.67 MiB
Shape
(616, 9864, 71)
(1, 9864, 71)
Count
617 Tasks
616 Chunks
Type
float32
numpy.ndarray
time
(z, num_lines)
datetime64[ns]
dask.array<chunksize=(77, 1233), meta=np.ndarray>
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.
leap_second :
YYYY-MM-DDThh:mm:ssZ
long_name :
time in UTC
standard_name :
time
tai_utc_difference :
35.0
Array
Chunk
Bytes
46.36 MiB
741.73 kiB
Shape
(616, 9864)
(77, 1233)
Count
65 Tasks
64 Chunks
Type
datetime64[ns]
numpy.ndarray
time_tai
(z, num_lines)
datetime64[ns]
dask.array<chunksize=(77, 1233), meta=np.ndarray>
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].
long_name :
time in TAI
standard_name :
time
tai_utc_difference :
[Value of TAI-UTC at time of first record]
Array
Chunk
Bytes
46.36 MiB
741.73 kiB
Shape
(616, 9864)
(77, 1233)
Count
65 Tasks
64 Chunks
Type
datetime64[ns]
numpy.ndarray
velocity_heading
(z, num_lines)
float64
dask.array<chunksize=(1, 9864), meta=np.ndarray>
comment :
Angle with respect to true north of the horizontal component of the spacecraft Earth-relative velocity vector. A value of 90 deg indicates that the spacecraft velocity vector pointed due east. Values between 0 and 90 deg indicate that the velocity vector has a northward component, and values between 90 and 180 deg indicate that the velocity vector has a southward component.
long_name :
heading of the spacecraft Earth-relative velocity vector
Gaultier, L., C. Ubelmann, and L.-L. Fu, 2016: The Challenge of Using Future SWOT Data for Oceanic Field Reconstruction. J. Atmos. Oceanic Technol., 33, 119-126, doi:10.1175/jtech-d-15-0160.1. http://dx.doi.org/10.1175/JTECH-D-15-0160.1.
right_first_latitude :
77.03255119402299
right_first_longitude :
141.69602279630138
right_last_latitude :
-78.29158160448438
right_last_longitude :
308.65044766455395
source :
Simulate product
time_coverage_end :
2014-07-01T00:40:37.846974Z
time_coverage_start :
2014-06-30T23:49:11.421067Z
title :
Level 2 Low Rate Sea Surface Height Data Product - Expert SSH with Wind and Wave
CPU times: user 140 ms, sys: 11.6 ms, total: 151 ms
Wall time: 643 ms
Edge case (to be fixed) - Needs to handle case where longitude jumps from 0 to 360. The swath is not numerically continous (longitude). Probably create MultiPolygon at split point - Split point is when values go from (+) -> (-) or (-) to (+) split_points = np.where(lon_left[1:] <= lon_left[:-1])[0]