Matlab toolbox for handling ODV ascii format from OceanDataView adopted by SeaDataNet.
Please also see our python toolbox pyodv for ODV files.
Getting the toolbox
The free and open source Matlab ODV toolbox can be downloaded from https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/OceanDataView/
when you join openearth, download the tools with SubVersion and add them to your Matlab path. Subsequently
>> help oceandataview
will show the contents
ODV meta-data csv
odv_metadata.m
reads the meta-data csv file, and constructs the urls to the CDI.
Data_set_name: {'OGS_ECOMADR_1_SED'} Discipline: {[1x78 char]} Category: {[1x129 char]} Variables_measured: {[1x210 char]} Abstract: {'Ecologia del Mar Adriatico (ECOMADR)'} Data_format: {'ODV'} Data_size: NaN Data_set_creation_date: 20110513 Latitude_1: 45.6638 Latitude_2: 45.6638 Longitude_1: 13.5962 Longitude_2: 13.5962 Datum: NaN Measuring_area_type: {'point'} Water_depth__m_: NaN Depth_reference: NaN Minimum_instrument_depth__m_: NaN Maximum_instrument_depth__m_: NaN Start_date: 20060510 Start_time: {'00:00:00'} End_date: 20060510 End_time: {'00:00:00'} Instrument___gear_type: 51 Track_resolution: NaN Resolution_unit: NaN Time_resolution: NaN Time_unit: NaN Vertical_resolution: NaN Vertical_unit: NaN Platform_type: {'unknown'} Cruise_name: NaN Alternative_cruise_name: NaN Cruise_start_date: NaN Station_name: {'OGS-1-BIO-AA101'} Alternative_station_name: 285916 Station_start_date: 20060510 Originator: {[1x114 char]} Data_Holding_centre: {[1x114 char]} Project_name: {'ADRiatic sea ECOlogy - ECOlogia del Mar ADRiatico'} Dataset_name: NaN Cruise_Summary_Reports: NaN Data_Distributor: {[1x100 char]} Database_reference: NaN Access_ordering_of_data: {'web data access with registration'} Access_restriction: {'by negotiation'} CDI_record_id: 1146989 LOCAL_CDI_ID: {'285916'} CDI_record_creation_date: 20110509 CDI_partner: {[1x100 char]} Versions: {{1x1 cell}} Download_datenum: {[7.3568e+05]} name: {'285916_20140320_163008.txt'} date: {'20-Mar-2014 15:30:12'} bytes: {[1595]} isdir: {[0]} datenum: {[7.3568e+05]} fnames: {'285916_20140320_163008.txt'} fullfile: {[1x113 char]} url: {'http://seadatanet.maris2.nl/v_cdi_v3/print_wfs.asp?n_code=1146989 '} EDMO_code: {[120]}
ODV file loading, merging and parsing
odvread.m
loads an odv file, and resolves the P01 parameter codes and P06 units, and return one struct
odv_name: {1x25 cell} standard_name: {1x25 cell} units: {1x25 cell} local_name: {1x25 cell} local_units: {1x25 cell} sdn_standard_name: {1x25 cell} sdn_units: {1x25 cell} sdn_long_name: {1x25 cell} sdn_description: '' data: {1x25 cell} file: [1x1 struct] lines: [1x1 struct] index: [1x1 struct] institution: [1x38 char] metadata: [1x1 struct] LOCAL_CDI_ID: '285916' EDMO_code: 120 cruise: 'ECOMADR' type: 'B' cast: 1 station: '1' CDI_record_id: {[1146989]}
odv_merge.m
merges one parameter from multiple odv files into one struct. This type of information is suited for modellers.
P01
parses the P01.xml, stored it as a mat cache for fats and offline use, and resolves the P01
ODV plotting
odvplot_overview.m
plots a map of an ODV file with trajectory. odvplot_overview_kml.m
does that in kml format (Google Earth).
odvplot_cast.m
plots vertical profiles of one ODV file with profile information.
Acknowledgments
This toolbox has been developed since April 2009 as part of the Deltares in kind contribution to the NODC of the Netherlands. Early 2014 small fixes were made as part of the EMODnet Chemistry 2 project to handle the BODC/SeaDataNet transition from the P011 to the P01 vocabulary.