The Radar Altimeter Database System (RADS) was developed by the Delft Institute for Earth-Oriented Space Research, the NOAA Laboratory for Satellite Altimetry, and EUMETSAT. Apart from actual altimeter data, RADS provides here a suite of applications and subroutines that simplify the reading, editing and handling of data from various radar altimeters. Although the actual content and layout of the underlying data products do not have to be identical for all altimeters, the user interface is. Also, the data base is easily expandable with additional data and/or additional corrections without impact to the user interface, or to the software in general. In fact, only in very few cases the software will need to be adjusted and recompiled, in even fewer cases adjustments to the actual tools will be required.
The RADS database and code has gone through various generations. NetCDF datasets were introduced in version 3, while the software more or less stayed the same as in version 2. This new version is a complete rewrite of the code, making it much easier to configure, handle, and expand, and for the first time taking all the advantages of the underlying NetCDF data and the linear algebra provided by Fortran 90.
There are two manuals that cover the use of the RADS software and the contents of the RADS data base:
The only requirements to compile and run the code are:
- A unix type environment (Linux, Mac OS X, etc.).
- The make command.
- A fortran compiler (preferrably gfortran, but others like f90, f95, xlf90, xlf95 and ifort are known to work as well)
- The NetCDF library (version 4.3 or later) and together with the Fortran 90 interface and module file.
- Optionally, the git program.
- For downloading and synchronising the data base: the rsync program.
Tarballs are released on GitHub 'releases' page.
Please submit your bug reports or feature requests, and track existing ones, on the GitHub 'issues' page. To add content will need to sign up to GitHub.
Following is a history of releases on GitHub, newest to oldest. This does not include explanations of changes to the code that generates the data base.
Version with GDR-G variables added, though not yet made standard for computing SLA
rads.xml
- Added GDR-G variables mss_dtu21, mss_hybrid23, ocean_tide_fes22, load_tide_fes22
- Updated OI SST from v2 to v2.1
- Added JPL GPS orbits (6a and j3)
rads.xml
:- Correct comment for drange_cg
- Add/update alt_gps orbits for j2, j3, 6a
- Update orbit info for ERS-1/2 and Envisat
- Fix add_offset for all SWOT ranges
- Set new ref_frame_offset* for SWOT (#195)
- Set proper limits for flag_alt_oper_mode (6a c2 tx pn)
radsxogen
:- Correctly report maximum tie interval in xovers (#196)
- Fix handling of if/elseif/else in xml (#197)
rads.xml
- Extended SWOT mission back to cycle 102
- Updated
configure
file usingautoconf
2.72
- Documentation
- made a lot of corrections and updates.
- removed obsolete variables, indicated deprecated variables slated to be removed.
- updates to include tx/pn reprocessed data.
- described better the original data sources.
- corrected in the tables which data are available for which satellites.
rads.xml
- updates to include tx/pn reprocessed (GDR-F) data and removed old tx/pn RGDR data.
- removed obsolete variables.
- corrected
sat
options to correctly identify which data are available for which satellites. - added alias
tpx
for TOPEX.
- Updated
config.sub
andconfig.guess
- Documentation
- replaced name of rads2asc4 by rads2asc; same for other *4 executables.
rads.xml
:- updated
ref_frame_offset*
for JA3 (#180) - introduced
ref_frame_offset*
for S6A (#180) - prepared for SWOT Calval and Science Orbits with cycle numbers shifted -300 and +300 respectively to make them time ordered.
- added all necessary information for SWOT nadir (sw)
- adaptations for S6A baseline F08 and prepared for baseline F09
- introduce
flag_manoeuvre
properfly (#177) - update SSB model info for S3A/
- increase cycle limit for SRAL
- fix wrong scale on
ssb_3d
,ssb_3d_adaptive
,ssb_adaptive
- added
*_nr
variables for 6a - updated
- updated
radsstat
:- allow to compute statistics for the difference between two satellites/missions
- introduced
-c/N
,--mean-only
, and--groups
options - do not add attribute
coordinates
to variables. - do not write out phase in ASCII header (#188)
- extend info in global attributes
- Increased number of characters allowed per option to 640.
- Updated manuals
- Updated
config.sub
andconfig.guess
- Corrected flag bit 0 for S6A (#192)
rads.xml
:- prepared for Jason-3 Interleaved Orbit (Phase B)
- align lower limit of
range_numval_ku_adaptive
withrange_numval_ku
(for j3) - added
mss_dtu21
(#174) - fix formatting of flag mask of 6a, j2, j3
- add
*_adaptive
variables for j3 (#173) - update
ref_frame_offset
for j3 (#178) - correct
standard_name
formean_wave_period
- remove
ssb_tran2012
from S6A (it was never included in the data files) - change limits on sig0 for j3 as result of no longer biasing sig0
- add
mss_comb15
- update limits for
range_numval_ku
(6a),range_numval_ku_plrm
(3a 3b c2) - Update attributes of
ssb_cls
,ssb_cls_c
,ssb_mle3
for JA3 and S6A - Removed
ssb_hyb
from configuration of c2 - including SARAL GDR-F wave model
radsstat
:- improve matching time stamps
- fix problems (#171)
- introduced
--no-stddev
- introduce check on collinearity as well as
--force
and--dt
options - can now also do differences (along collinear tracks)
- updated documentation
radscolin
:- added
--eqtime
option - option
--force
: also apply to rogue equator crossing times - use inclination to check if missions are collinear
- added
radsxolist
: activated--dual-asc
and--dual-des
options- Add MFWAM fields to S3A, S3B, S6A
- Updated manuals
- Updated
config.sub
andconfig.guess
- Switch CryoSat-2 (c2) data over from NOAA-generated IGDR to NOP/IOP/GOP products
- Updated
config.sub
andconfig.guess
rads.xml
prepared for Sentinel-6A (6a)- Switch SARAL (sa) data over to GDR-F; Change default ssb for SARAL to
ssb_tran2019
(which is what GDR-F does) - Switch Jason data production over to GDR-F
rads.xml
: Updatedref_frame_offset
for JA3 (raise by 1 mm)rads.xml
: Addedref_frame_offset
for S3A/S3B PLRMrads.xml
: Updated JA2 parameters since coming back on-line on 22-May-2019rads.xml
: Provide and use GDR-F orbits for CryoSat-2 (alt_gdrf)rads.xml
: Specified various subphases for sa/b in order to get correct prediction of equator times and longitudes. This solved issue #152.- Added
conf/ntc_only.xml
and set latency to 2 (NTC) by default. - Bug fix: Simple modification of syntax for option parsing check to avoid segfault when compiled with default intel-fc/12.1.9.293.
- New option introduced in
radsstat
that echoes to stdout fullpath to each pass file checked for data. - Using
-L|--limits
on an alias now sets limits of all aliased variables, instead of only the first one. - Documentation updates.
- Bug fix: Update equator prediction for longitude (not NaN) and using different phases.
- Added command
radspassesindex
as in RADS3.
rads.xml
: Addedref_frame_offset_plrm
.rads.xml
: Properly usewet_tropo_rad_plrm
instead ofwet_tropo_rad
for PLRM data.rads.xml
: Usealt_gdrf
for S3A and S3B.rads.xml
: Addedlatency
variable.- Properly deal with longitude rollovers in computing means or differences in
radscolin
. - Remove insistence that 0-dimension variable (constant) is a double.
- Bug fix: invalid values in RPN data notation may not have always worked correctly.
- Restrict the name of the time dimension to the first word in
S%time%info%dataname
.
- Bug fix in
rads_def_var
. - Small documentation update.
- Allow multiple mission phases with the same name (needed for Sentinel-3B and Jason-2 after geodetic phase rewind).
- Updated Sentinel-3B mission phases.
- Implemented internal tides.
- Removed support for FES2012 tide model.
- Bug fix in
rads_add_tide
. - Removed DTU MSS13 from standard models provided.
- Added
topo_srtm15plus
to alias fortopo
ahread of removingtopo_srtm30plus
.
- Added new optional argument
varid
torads_def_var
routine (fixed bug issue #139).
- New mission definitions for Sentinel-3B.
- Do not store output varid in
rads_varinfo
struct, but determine as needed (fixed issue #126 and #138). - Update data manual on Sentinel-3A and -3B (fixed issue #131).
- Specify separate
flag_meanings
for each mission (fixed issue #132).
- New mission phase definition for Jason-2 Phase D.
- New mission definitions for Sentinel-3B.
- Added optional argument "deflate" to
nf90_def_axis
. - Replaced iqsort by more stable version of quicksort (fixed issue #127).
- No more duplicate tracks in radsxogen when generating single- and dual-satellite xovers (fixed issue #129).
- Documented the --reject-on-nan=all option in radscolin4.
- Added support for processing of Sentinel-3B data.
- Added routine
rads_set_phase
. - Added <end_time> specifications on last mission phase of terminated missions.
- Added license file.
- Added
geoid_xgm2016
specification in support of issue #119. - Added
topo_strm15plus
specification in support of issue #120. - Fixed issue #121.
- Updated information on Sentinel-3B orbit and mission phases.
- Provide better "histogram limits" from radsvar.
- Changed format for all time fields in 1985 seconds, so they do not overrun the maximum number of characters.
- Changed the reference frame offset for Sentinel-3A from 27 mm to 2 mm.
- Polishing of manuals
- Copyright updated to 2018
- Increased number of cycles for CryoSat-2
- Replaced freeunit() by getlun()
- Added standard_name and axis attributes when writing lat/lon grids
- Added valid_min, valid_max, grid_step attributes to output grids. Removed actual_range.
- Many changes to the developer code to produce the Nov 2017 updates; see there for more information.
- Changes to configuration file (rads.xml) in accordance with the Nov 2017 updates.
- Fixed information on Jason-2 Phase C in
rads.xml
- Updates for Jason-2 Phase C ("tango")
- Added definition of qual_alt_rain_ice and qual_rad_rain_ice to Sentinel-3.
- New features in radscolin: --diff-no-coord and --diff1.
- Numerous updates for the generation of RADS data for Sentinel-3, Jason-2, and Jason-3.
- New variables for modern mean sea surfaces and tide models.
- Updates to user and data manuals.
- Updates to manuals (e.g., issue #99).
- Numerous updates for the generation of RADS data for Sentinel-3 and Jason-3 (developer tools only).
- Bug fix: nesting of <if> tags could go wrong when reading XML files.
- Installation: use nc-config if nf-config is not supplied.
- Adjustments for SARAL Drift Mission.
- Preparation for Jason-2 Interleaved Mission.
- Bug fix (issue #97), which prevented radsxogen from running properly. This error was introduced in the master on 1 May 2016 (v4.2.2).
- Enhancements to the user manual.
- Bug fix (issue #96), which prevented installation of symbolic links within shells other than bash.
- Updated Jason-1 SLCCI orbits to Version 11 for ERS-1, ERS-2, Envisat, Jason-1, Jason-2, and TOPEX/Poseidon.
- Changed reference frame offset for CryoSat-2 Baseline C data from -26 to -34 mm.
- Major additions to the user manual.
- Changes and additions to configuration files for Jason-3 and Sentinel-3A.
- All help output to be sent to standard output (not standard error).
- rads2grd: --fmt replaced by --line-format, variable name in NetCDF now always ${var}_mean and ${var}_stddev, even when only one variable is used.
- Updated global attributes to be written in new NetCDF files.
- --quality_flag replaced by --quality-flag (with backward compatibility).
- Made adaptations for Jason-1 GDR-E (to be released later).
- Change format of time field to f17.6 in advance of 2016-09-09 when extra digit will be added.
- Bug fix (issue #89).
- Bug fix: updated missing building dependencies.
- Moved directory "include" to "src/include" to avoid clash with default location for "include".
- Updated information on Sentinel-3A.
- Made clearer that -- can be used ahead of FILENAME argument to make sure that the option list is terminated; this addressed issue #85.
- When opening XML file, skip lines until the first line that contains '<'; this fixed issue #87.
- rads2asc: added -c and -p as alternatives to -sc and -sp.
- rads2asc, rads2nc, rads2adr: support --output OUTNAME/ for storing passfiles in directory OUTNAME.
- radscolin: when using -r# (not -rn or -r0) require at least # tracks, not the minimum of # and the available number of tracks.
- Tuning for processing of Jason-3 data.
- Added <plot_range> XML tag, which can be used for generating the right plotting range.
- Added new functionalities to radsvar (i.e. create output that can be included in batch files).
- Replaced 'units = "count"' by 'units = "1"' in line with udunits standards.
- On -S option now allow satellite names with more than 2 characters (e.g. ja3, jason3).
- Introduced the possibility to read RADS data from multiple directories using a tag like <data branch=".ext">.
- Allow "single-line" XML tags with "var" option like <limits var="sla" sat="j3">-0.4 0.4</limits>
- Added s3combine to merge and split Sentinel-3 granules into pass files.
- Made some changes to rads_gen_s3, rads_gen_c2, ogdrsplit.
- Added SARAL GDR-E orbits, which are now the default.
- Further updates for Jason-3.
- Implement processing of Jason-3 and Sentinel-3 data.
- Implement satellite codes 'j3' (Jason-3), '3a' (Sentinel-3A), '3b' (Sentinel-3B).
- Minor bug fixes.
- Added Jason-2 GDR-E orbits, which are now the default.
- Bug fixes for 'radscolin --diff -r0' and for 'rads2grd -c'.
- Add 'configure' to distribution.
- Bug fixes.
- Improved warnings for erroneous command line options.
- Subroutines documented with robodoc headers.
- Start of RADS User Manual.
- Installing documents with 'make install'.
- Removed 'verbose' argument from rads_init.
- Numerous updates to the database: removed obsolete variables, updated several, introduced new variables.
- New handling of "long options". For example: can now use either --var=VAR or --var VAR (without = symbol).
- Improvements to rads_add_surface; new landmask based on GSHHG 2.3.4 introduced.
- Fixed scaling of water_vapor_rad in rads_gen_j1; affected only cycles 1-283.
- Updated data manual with GDR-D/E references.
- Prepared for GCC and GFortran version 5.
- rads_add_ww3_222 did not properly identify 6-hourly time step for recent grids.
- Improved module dependencies in Makefiles.
- Introduced GDR-E orbit for CryoSat-2.
- Updated the way the version number is determined, using either the version tag in configure.ac or "git describe --tags" when using a git repository.
- Removed all the SVN
$Id$ and$Revision$ tags. - Updates for future Jason-3 processing.
- Updates for processing of CryoSat-2 Baseline C.
- Import from GoogleCode into GitHub.