Release Notes

If you are upgrading from v1.5.1 (or earlier), there are significant changes to note with respect to syntax, and to how profiles are organized:

  1. Name-Value Pair Arguments: All input arguments are Name-Value Pairs except when specifying RSK structure or file name.

    rsk = RSKreaddata(rsk, 't1', starttime, 't2', endtime)
    % OR
    rsk = RSKreadprofiles(rsk, 'profile', 1:5, 'direction' , 'down'); 
  2. Profiles data is now accessible by instead of or If multiple casts are read they are stored in as elements of the field.

    % The data in the first cast is accessed with:

Version No.

Release Date


  • Bug fix reading RSK files without/or unpopulated instrumentChannels table
  • Bug fix reading RSK files without instrumentID columns in instruments table
  • Workaround for Ruskin bug (RSK-8255) with trailing space at the end of channels long names.
  • Bug fix compatibility with RSK generated by the RBRcervata
  • New function RSKderiveA0A for applying A-zero-A drift correction to BPR data from the RBRquartz BPR|zero.
  • RSKderiveBPR now supports RBRquartz instruments with multiple Digiquartz® sensors
  • Quickstart pdfs updated on the RSKtools support page
  • CSV2RSK is compatible with Wirewalker CSV files downloaded from the RBR data hosting website.
  • CSV2RSK and RSK2RSK now handle encoding scheme without SIMULINK.
  • CSV2RSK and readsamplingperiod now supports the directional dependent (DD) CTD sampling mode.
  • RSKplotdata, RSKplotburstdata and RSKplotdownsample now reverse the y-axis for `depth` channel.
  • RSKplotdata showcast option now works for both `pressure` and `sea pressure` channels.
  • RSKtrim log entry shows time period correctly when `reference` is set to `time`.
  • All RSKtools functions now require name-value pair format for input arguments except when specifying the RSK structure and filename.
  • More derivation functions now support CSIRO seawater library, including RSKderivesalinity, RSKderivedepth, RSKderivebuoyancy, RSKderivetheta and RSKderivesigma.
  • New function RSKderivesoundspeed to derive speed of sound in seawater.
  • New function CSV2RSK to read CSV file into rsk structure.
  • New functions RSKsettings and RSKdefaultsettings to set up global parameters for RSKtools.
  • New function RSKprintchannels to display channel names and units in MATLAB command window.
  • New functions RSKerror and RSKwarning to better handle error and warning messages.
  • Fixed bug that RSKderiveO2 could not recognize saturation/concentration channel correctly.
  • Fixed bug that RSKgenerate2D required user to specify cast direction when only upcast is available.
  • Fixed bug that RSKreaddata could not recognize derived and hidden channels correctly.
  • Export functions now adjust file path separator to be compatible across operating systems.
  • RSK2RSK now uses millisecond for sampling period unit.
  • Subfolder Utilities renamed to private.
  • Utilites/loadconstants removed.
  • RSKreadata now handles cases when file type is not available.
  • RSKderivetheta and RSKderivesigma now check if Absolute Salinity exists before calculation.
  • RSKderivebuoyancy now recognizes latitude input by RSKaddstationdata.
  • New function RSKderivesigma to calculate density anomaly.
  • New function RSKderivetheta to calculate potential temperature.
  • New function RSKderiveSA to calculate absolute salinity.
  • RSKderivesalinity allows to choose seawater or TEOS-10 toolboxes.
  • RSKderiveBPR allows coefficients as optional input.
  • RSKcorrectTM handles NaN values in temperature channel correctly.
  • RSKimages, RSKplotdownsample and RSKplotburstdata can output axes objects.
  • RSK2RSK handles DDsampling (different sampling rate during up and downcasts) correctly.
  • Fixed bug that RSKimages won’t work for rsk with upcasts only when not specifying cast direction.
  • RSKreadburstdata locates pressure channel correctly for multi-channel instruments.
  • Visualization functions will not output handles when not specified.
  • Removed dependency on stats toolbox.
  • Integrated functions for reading different rsk file types into Utilities/readheader.
  • Optimized legend location for RSKplotprofiles.
  • New function RSKcorrecttau to apply Fozdar et al. (1985) algorithm for sharpening sensor response (e.g., O2).
  • New function RSKcreate to convert any data (e.g., other CTDs, gliders, floats) into rsk structure.
  • RSKtools correctly handles cases when the number of downcasts and upcasts is not the same.
  • RSKaddmetadata renamed to RSKaddstationdata .
  • RSKaddstationdata now allows adding station data to time series data.
  • RSKtrim now requires reference  and range  as mandatory inputs.
  • Simplify RSK2RSK schema by removing the events, errors, and downloads tables.
  • RSKfindprofiles now uses sea pressure to detect profiles when pressure channel is missing.
  • RSKplotdata returns an error when showcast is set to true while pressure channel is missing.
  • RSKopen now reads instrumentSensors table if it exists.
  • RSKderivesalinity now sets sea pressure to 0 dbar when pressure channel is absent.
  • Fixed bug that caused RSKbinaverage not to work when bin averaging an upcast by time.
  • Fixed bug that caused RSK2CSV and RSK2ODV not to work when profile field is missing.
  • Utilities/getchannelindex now allows multiple channel inputs and outputs.
  • New function RSKcentrebursttimestamp  to set the burst timestamps to the centre of each burst period instead of the beginning.
  • RSKplotprofiles  returns an error for rsk files containing only a pressure channel (e.g., soloD).
  • Fixed bug that caused readdownsample  not to work when readHiddenChannels  was set to true.
  • RSKreaddata  now reads derived channels for RBRcoda T.ODO.
  • RSKreaddata  now converts `NULL` values into `NaN`s instead of zeros.
  • Improved speed when bin averaging by time with RSKbinaverage .
  • readfirmwarever  and readsamplingperiod  are now compatible with rsk files generated by RSK2RSK .
  • RSKfindprofiles  only deletes the profile field when new profiles are detected.
  • New function RSK2RSK for writing the RSKtools rsk MATLAB structure into a new rsk file.
  • New function RSKcorrectTM to correct conductivity for the thermal inertia effect.
  • New function RSKderivebuoyancy for deriving buoyancy frequency and stability.
  • New function RSKderiveO2 for converting between oxygen concentration and saturation.
  • New function RSKplotTS for plotting T-S diagrams.
  • New function RSKgenerate2D for generating 2D data with time as x-axis and reference channel (e.g., depth) as y-axis.
  • New function RSKtimeseries2profiles for organizing a time series into discrete profiles without reading from the rsk file on disk.
  • RSKreadprofiles now only reads data from the rsk file on disk.
  • RSKselectdowncast and RSKselectupcast are replaced by RSKremovecasts.
  • Renamed the following functions that are typically called internally:

    RSKfirmwarever to readfirmwarever
    - RSKgetprofiles to getprofiles
    - RSKreaddownsample to readdownsample
    - RSKreadevents to readevents
    - RSKreadgeodata to readgeodata
    - RSKsamplingperiod to readsamplingperiod
    - RSKver to returnversion
    - RSKreadannotations to readannotations
    - RSKconstants to loadconstants
    - datenum2RSKtime to datenum2rsktime
    - RSKtime2datenum to rsktime2datenum

  • Move subfunctions that are mostly for internal use into folder ../rsktools/Utilities/

  • Synchronises plot limits using linkaxes in visualization mode of all post-processing functions.

  • Plot downcast only when both downcast and upcast are processed in visualization mode.

  • Revise RSKalignchannel visualize mode by plotting against time instead of sea pressure.

  • Make x-axis tight in RSKplotdata and RSKimages.

  • RSKderiveseapressure allows variable atmosphere pressure input.

  • Exclude pressure and sea pressure channel from being NaN in RSKremoveloops.

  • Input argument rhc in RSKopen is renamed to readHiddenChannels, whose type is changed from numeric (1 or 0) to boolean (true or false).

  • Input argument showcast type in RSKplotdata is changed from numeric (1 or 0) to boolean (true or false).

  • RSKplot2D renamed to RSKimages.

  • RSKimages (formerly RSKplot2D) optional input interp renamed as showgap.

  • RSKimages defaults to operate on all channels.

  • Unit of input argument threshold in RSKimages is changed from hours to seconds.

  • When bin averaging by time, the binSize argument in RSKbinaverage is now specified in seconds instead of days.

  • Fixed bug that RSKreaddata mislabels channels when reading wave file.

  • Fixed bug in RSKcorrecthold when one channel contains zero value only
  • Changed input variable name pressure to seapressure in calculatedepth.m
  • Removed thumbnail data from the rsk structure; use downsample for a quick overview of the dataset

  • New function RSK2ODV for outputting RSK structure into Ocean Data View (ODV) files.
  • New function RSKaddmetadata for adding station metadata to profiles.
  • RSKopen now reads Ruskin annotations including latitude, longitude, comment, and description.
  • RSKreadprofiles assigns latitude, longitude, comment and description annotations into data structure.
  • Fixed bug that RSKplot2D was not aligning profile with correct time stamp.
  • Added option that RSKplot2D could determine the length of gap shown on the plot.
  • Visualization mode added to RSKalignchannel,RSKbinaverage,RSKcorrecthold,RSKdespike,RSKremoveloops,RSKsmooth and RSKtrim to show differences before and after alteration of data.
  • RSKtrim input appliedchannel changed to channel.
  • Option to choose cast direction to write with RSK2CSV.
  • RSK2CSV will write station metadata to the file CSV file header.
  • showcast option added in RSKplotdata to show cast detection events overlaid on pressure.
  • Added profile number and cast direction as legend in the last subplot in RSKplotdata.
  • New function RSKcorrecthold for correcting analog-to-digital zero-order hold points.
  • New function RSKaddchannel for adding new variable into existing rsk structure.
  • New function RSKderiveC25 for deriving specific conductivity at 25 degree Celsius.
  • New function RSKderiveBPR for deriving pressure and temperature from period data with bottom pressure recorder (BPR) channels.
  • New function RSK2CSV for writing logger data to CSV files.
  • New functions RSKreaddownsample and RSKplotdownsample for reading and plotting downsample data.
  • mksqlite upgraded to Version 2.5
  • Fixed bug that RSKopen imports wrong data table when multiple files are opened.
  • Fixed bug that RSKfindprofiles does not always detect upcast correctly.
  • Added option to specify lag in units of time in RSKalignchannel.
  • Option added in RSKopen to read hidden channels
  • RSKopen now reads power table for certain logger firmware versions.
  • Added interpolation option in RSKtrim.
  • Added Optode Temperature channel long name.
  • Improved algorithm for RSKbinaverage.
  • Improved algorithm for finding pressure reversals in RSKremoveloops.
  • Added direction and profilenumber fields to with profiles.
  • RSKplotprofiles uses different line styles for upcast and downcast.
  • Added option in RSKplotprofiles to plot against total pressure.
  • New function RSKtrim for pruning data
  • Improved vignettes
  • Option to plot against depth in RSKplotprofiles
  • Fixed RSKplotprofiles for compatibility with pre-R2014b
  • Fixed RSKcalculateCTlag and RSKdespike for compatibility with pre-R2015a
  • pressureRange option in RSKcalculatedCTlag now seapressureRange
  • Removed dependence on Financial Toolbox in RSKbinaverage
  • Fixed bug occurring when RSK file has multiple dissolved oxygen channels
  • Enumerate channels with duplicate longName
  • All optional input arguments are name-value pair
  • Rename burstdata field to burstData
  • Add post-processing functions for smoothing, channel alignment, etc.
  • RSKtools data processing log recorded in RSK structure
  • Add 2D plotting function, RSKplot2D
  • RSKplotprofiles contains a subplot for each channel
  • Add option to plot selected channels to plotting functions
  • Plotting functions output handles to line objects for customization
  • Relocate profiling data from the profiles field to the data field
  • Added function to calculate Practical Salinity, RSKderivesalinity
  • Added function to calculate sea pressure from total pressure, RSKderiveseapressure
  • Added function to calculate depth, RSKderivedepth
  • Added function to calculate profiling speed, RSKderivevelocity
  • Use atmospheric pressure in database if available
  • Improve channel table reading by using instrumentChannels
  • Change geodata warning to a display message
  • Only read current parameter values in parameter table
  • Update RSKconstants.m
  • Fix bug with opening files that are not in current directory.
  • Add RSKderivedepth function
  • Add RSKderiveseapressure function
  • Add channel longName change for doxy09
  • Add filename check to RSKopen
  • Fix bug with dbInfo 1.13.0
  • Add channel argument to RSKplotdata
  • Fix bug introduced in 1.5.0 in RSKreaddata from dbInfo.version < 1.8.9.
  • Move salinity derivation from RSKreaddata to RSKderivesalinity
  • Move calibrations table reading from RSKopen to RSKreadcalibrations
  • Add RSKfirmwarever function
  • Add RSKsamplingperiod function
  • Add channel longName change for temp04, temp05, temp10 and temp13
  • Remove dataset and datasetDeployments fields
  • Fix bug with loading geodata
  • Support for RSK v1.13.8
  • Remove non-marine channels from data table
  • Fix bugs that occured if RSKreaddata.m is run twice
  • Seperate profile metadata reading into a different fuction in RSKopen.m
  • Add option to enter UTCdelta for geodata
  • Remove channels units and longName from data table
  • Fix bug in data when reading in profile data
  • Add more support for geodata
  • Add helper files to open different file types
  • Add function to read version of file
  • Add support for geodata
  • Assure that non-marine channel stay hidden
  • Add RSK2MAT.m for legacy mat file users
  • Update support for coefficients and parameter tables
  • Events structure does not read in notes
  • Fix dbInfo bug to read last entry
  • Support for RSK v1.13.4
  • Changed removal of 'datasetID' to be case insensitive
  • Fix upcast/downcast type in RSKplotprofiles
  • Fix RSKreadprofile typo
  • Fix bug opening |rt instruments data
  • Add RSKreadwavetxt to handle import wave text exports
  • properly read "realtime" RSK files
  • don't plot hidden channels in profiles
  • Fix bug reading data table for RSK version >= 1.12.2
  • add info from ranging table to structure
  • mfile vignette using Matlab markup
  • add support for profile events and profile plotting
  • supports TEOS-10 for calculation of salinity
  • improved documentation

compatible with RSK generated from an EasyParse (iOs format) logger

added Linux 64-bit mksqlite library


added burst and event readers