Skip to content
Snippets Groups Projects
Commit c5d639c1 authored by jacques.grelet_ird.fr's avatar jacques.grelet_ird.fr
Browse files

utilise la derniere version du fichier netcdf (1.4 maj)

parent 69e453bc
No related branches found
No related tags found
No related merge requests found
......@@ -15,131 +15,159 @@ function [error] = tsg_readTsgDataNetCDF( hTsgGUI, filename)
%
% $Id$
% Get the data from the application GUI
% -------------------------------------
tsg = getappdata( hTsgGUI, 'tsg_data');
% Open netCDF file
% -------------
nc1 = netcdf(filename,'read');
msg_error = 'ok';
if isempty(nc1)
msg_error = ['TSG_GOSUD file_lecture : Open file error : ' filename];
% ----------------
nc = netcdf(filename,'read');
if isempty(nc)
msg_error = ['TSG_GOSUD file_lecture : Open file error : ' filename];
warndlg( msg_error, 'NetCDF error dialog');
error = -1;
end
% Read global attributes: meta data
% ----------------------------------
tsg.PLATFORM_NAME = nc1.PLATFORM_NAME(:);
tsg.PLATFORM_WMO_NUMBER = nc1.PLATFORM_WMO_NUMBER(:);
tsg.PLATFORM_MMSI_NUMBER = nc1.PLATFORM_MMSI_NUMBER(:);
tsg.TSG_TYPE = nc1.TSG_TYPE(:);
tsg.TSG_NUMBER = nc1.TSG_NUMBER(:);
tsg.TINT_TYPE = nc1.TINT_TYPE(:);
tsg.TINT_NUMBER = nc1.TINT_NUMBER(:);
tsg.DATA_TYPE = nc1.DATA_TYPE(:);
tsg.DATA_MODE = nc1.DATA_MODE(:);
tsg.SAMPLING_PERIOD = nc1.SAMPLING_PERIOD(:);
tsg.PROCESSING_STATUS = nc1.PROCESSING_STATUS(:);
tsg.DATE_START = nc1.DATE_START(:);
tsg.DATE_END = nc1.DATE_END(:);
tsg.SOUTH_LATITUDE = nc1.SOUTH_LATITUDE;
tsg.NORTH_LATITUDE = nc1.NORTH_LATITUDE;
tsg.WEST_LONGITUDE = nc1.WEST_LONGITUDE;
tsg.EAST_LONGITUDE = nc1.EAST_LONGITUDE;
tsg.FORMAT_VERSION = nc1.FORMAT_VERSION(:);
tsg.DATE_CREATION = nc1.DATE_CREATION(:);
tsg.DATE_UPDATE = nc1.DATE_UPDATE(:);
tsg.DATA_RESTRICTIONS = nc1.DATA_RESTRICTIONS(:);
tsg.CITATION = nc1.CITATION(:);
tsg.COMMENT = nc1.COMMENT(:);
tsg.PROJECT_NAME = nc1.PROJECT_NAME(:);
tsg.PI_NAME = nc1.PI_NAME(:);
tsg.DATA_CENTRE = nc1.DATA_CENTRE(:);
tsg.PLATFORM_NAME = nc.PLATFORM_NAME(:);
tsg.SHIP_CALL_SIGN = nc.SHIP_CALL_SIGN(:);
tsg.SHIP_MMSI = nc.SHIP_MMSI(:);
tsg.TSG_TYPE = nc.TSG_TYPE(:);
tsg.TSG_NUMBER = nc.TSG_NUMBER(:);
tsg.TINT_TYPE = nc.TINT_TYPE(:);
tsg.TINT_NUMBER = nc.TINT_NUMBER(:);
tsg.DATA_TYPE = nc.DATA_TYPE(:);
tsg.DATA_MODE = nc.DATA_MODE(:);
tsg.SAMPLING_PERIOD = nc.SAMPLING_PERIOD(:);
tsg.PROCESSING_STATUS = nc.PROCESSING_STATUS(:);
tsg.DATE_START = nc.DATE_START(:);
tsg.DATE_END = nc.DATE_END(:);
tsg.SOUTH_LATX = nc.SOUTH_LATX(:);
tsg.NORTH_LATX = nc.NORTH_LATX(:);
tsg.WEST_LONX = nc.WEST_LONX(:);
tsg.EAST_LONX = nc.EAST_LONX(:);
tsg.FORMAT_VERSION = nc.FORMAT_VERSION(:);
tsg.DATE_CREATION = nc.DATE_CREATION(:);
tsg.DATE_UPDATE = nc.DATE_UPDATE(:);
tsg.DATA_RESTRICTIONS = nc.DATA_RESTRICTIONS(:);
tsg.CITATION = nc.CITATION(:);
tsg.COMMENT = nc.COMMENT(:);
tsg.PROJECT_NAME = nc.PROJECT_NAME(:);
tsg.PI_NAME = nc.PI_NAME(:);
tsg.DATA_CENTRE = nc.DATA_CENTRE(:);
tsg.DATA_ACQUISITION = nc.DATA_ACQUISITION(:);
tsg.PROCESSING_CENTRE = nc.PROCESSING_CENTRE(:);
tsg.PROCESSING_STATE = nc.PROCESSING_STATE(:);
% read variables describing TSG installation
% ------------------------------------------
tsg.DEPTH_TSG = nc1{'DEPTH_TSG'}(:);
tsg.DEPTH_TSG_MIN = nc1{'DEPTH_TSG_MIN'}(:);
tsg.DEPTH_TSG_MAX = nc1{'DEPTH_TSG_MAX'}(:);
tsg.CNDC_TSG_CALCOEF = nc1{'CNDC_TSG_CALCOEF'}(:);
tsg.CNDC_TSG_LINCOEF = nc1{'CNDC_TSG_LINCOEF'}(:);
tsg.TEMP_TSG_CALCOEF = nc1{'TEMP_TSG_CALCOEF'}(:);
tsg.TEMP_TSG_LINCOEF = nc1{'TEMP_TSG_LINCOEF'}(:);
tsg.SSJT_DEPH = nc{'SSJT_DEPH'}(:);
tsg.SSJT_DEPH_MIN = nc{'SSJT_DEPH_MIN'}(:);
tsg.SSJT_DEPH_MAX = nc{'SSJT_DEPH_MAX'}(:);
tsg.CNDC_CALCOEF = nc{'CNDC_CALCOEF'}(:);
tsg.CNDC_LINCOEF = nc{'CNDC_LINCOEF'}(:);
tsg.SSJT_CALCOEF = nc{'SSJT_CALCOEF'}(:);
tsg.SSJT_LINCOEF = nc{'SSJT_LINCOEF'}(:);
% read variables describing Temperature sensor at intake (TINT) installation
% --------------------------------------------------------------------------
tsg.DEPTH_TINT = nc1{'DEPTH_TINT'}(:);
tsg.DEPTH_TINT_MIN = nc1{'DEPTH_TINT_MIN'}(:);
tsg.DEPTH_TINT_MAX = nc1{'DEPTH_TINT_MAX'}(:);
tsg.TEMP_TINT_CALCOEF = nc1{'TEMP_TINT_CALCOEF'}(:);
tsg.TEMP_TINT_LINCOEF = nc1{'TEMP_TINT_LINCOEF'}(:);
tsg.SSTP_DEPH = nc{'SSTP_DEPH'}(:);
tsg.SSTP_DEPH_MIN = nc{'SSTP_DEPH_MIN'}(:);
tsg.SSTP_DEPH_MAX = nc{'SSTP_DEPH_MAX'}(:);
tsg.SSTP_CALCOEF = nc{'SSTP_CALCOEF'}(:);
tsg.SSTP_LINCOEF = nc{'SSTP_LINCOEF'}(:);
% Coordinates
%------------
tsg.DATE_TSG = nc1{'DATE_TSG'}(:,:);
tsg.TIME_TSG = nc1{'TIME_TSG'}(:);
tsg.LATITUDE_TSG = nc1{'LATITUDE_TSG'}(:);
tsg.LONGITUDE_TSG = nc1{'LONGITUDE_TSG'}(:);
tsg.POSITION_TSG_QC = nc1{'POSITION_TSG_QC'}(:);
tsg.VELOCITY_TSG = nc1{'VELOCITY_TSG'}(:);
tsg.DATE = nc{'DATE'}(:,:);
tsg.DAYD = nc{'DAYD'}(:);
tsg.LATX = nc{'LATX'}(:);
tsg.LONX = nc{'LONX'}(:);
tsg.POSITION_QC = nc{'POSITION_QC'}(:);
tsg.SPDC = nc{'SPDC'}(:);
tsg.REFERENCE_DATE_TIME = nc{'REFERENCE_DATE_TIME'}(:);
% Convert julian day with origin 1950 to Matlab datenum in memory
% ---------------------------------------------------------------
tsg.DAYD = julianToDatenum( tsg.DAYD );
% Variables holding data from the main TSG
% data series 1
% data series 1
%-----------------------------------------
% measured variables
% measured variables
%-----------------------------------------
if ~isempty('PRES')
tsg.PRES_TSG = nc1{'PRES_TSG'}(:);
end
if ~isempty('TEMP')
tsg.TEMP_TSG = nc1{'TEMP_TSG'}(:);
tsg.TEMP_TSG_STD = nc1{'TEMP_TSG_STD'}(:);
tsg.TEMP_STD_CAL = nc1{'TEMP_STD_CAL'}(:);
end
if ~isempty('CNDC')
tsg.CNDC_TSG = nc1{'CNDC_TSG'}(:);
tsg.CNDC_TSG_STD = nc1{'CNDC_TSG_STD'}(:);
tsg.CNDC_TSG_CAL = nc1{'CNDC_TSG_CAL'}(:);
end
% intake temperature variable
%if isempty(tsg.PRES)
tsg.PRES = nc{'PRES'}(:);
%end
%if isempty(tsg.SSJT)
tsg.SSJT = nc{'SSJT'}(:);
tsg.SSJT_STD = nc{'SSJT_STD'}(:);
tsg.SSJT_STD_CAL = nc{'TEMP_STD_CAL'}(:);
%end
%if isempty(tsg.CNDC)
tsg.CNDC = nc{'CNDC'}(:);
tsg.CNDC_STD = nc{'CNDC_STD'}(:);
tsg.CNDC_CAL = nc{'CNDC_CAL'}(:);
%end
% intake temperature variable
%-----------------------------------------
tsg.TEMP = nc1{'TEMP'}(:);
tsg.TEMP_QC = nc1{'TEMP_QC'}(:);
tsg.TEMP_CAL = nc1{'TEMP_CAL'}(:);
tsg.TEMP_ADJUSTED = nc1{'TEMP_ADJUSTED'}(:);
tsg.TEMP_ADJUSTED_ERROR = nc1{'TEMP_ADJUSTED_ERROR'}(:);
tsg.TEMP_ADJUSTED_QC = nc1{'TEMP_ADJUSTED_QC'}(:);
tsg.TEMP_ADJUSTED_HIST = nc1{'HIST_TEMP_ADJUSTED'}(:);
% derived variables
tsg.SSTP = nc{'SSTP'}(:);
tsg.SSTP_QC = nc{'SSTP_QC'}(:);
tsg.SSTP_CAL = nc{'SSTP_CAL'}(:);
tsg.SSTP_ADJUSTED = nc{'SSTP_ADJUSTED'}(:);
tsg.SSTP_ADJUSTED_ERROR = nc{'SSTP_ADJUSTED_ERROR'}(:);
tsg.SSTP_ADJUSTED_QC = nc{'SSTP_ADJUSTED_QC'}(:);
tsg.SSTP_ADJUSTED_HIST = nc{'HIST_SSTP_ADJUSTED'}(:);
% derived variables
%-----------------------------------------
tsg.PSAL = nc1{'PSAL'}(:);
tsg.PSAL_QC = nc1{'PSAL_QC'}(:);
tsg.PSAL_CAL = nc1{'PSAL_CAL'}(:);
tsg.PSAL_ADJUSTED = nc1{'PSAL_ADJUSTED'}(:);
tsg.PSAL_ADJUSTED_ERROR = nc1{'PSAL_ADJUSTED_ERROR'}(:);
tsg.PSAL_ADJUSTED_QC = nc1{'PSAL_ADJUSTED_QC'}(:);
tsg.PSAL_ADJUSTED_HIST = nc1{'HIST_PSAL_ADJUSTED'}(:);
% data series 2
tsg.SSPS = nc{'SSPS'}(:);
tsg.SSPS_QC = nc{'SSPS_QC'}(:);
tsg.SSPS_CAL = nc{'SSPS_CAL'}(:);
tsg.SSPS_ADJUSTED = nc{'SSPS_ADJUSTED'}(:);
tsg.SSPS_ADJUSTED_ERROR = nc{'SSPS_ADJUSTED_ERROR'}(:);
tsg.SSPS_ADJUSTED_QC = nc{'SSPS_ADJUSTED_QC'}(:);
tsg.SSPS_ADJUSTED_HIST = nc{'HIST_SSPS_ADJUSTED'}(:);
% data series 2
%-----------------------------------------
% water samples
% water samples
%-----------------------------------------
tsg.DATE_WS = nc1{'DATE_WS'}(:,:);
tsg.TIME_WS = nc1{'TIME_WS'}(:);
tsg.LATITUDE_WS = nc1{'LATITUDE_WS'}(:);
tsg.LONGITUDE_WS = nc1{'LONGITUDE_WS'}(:);
tsg.PSAL_WS = nc1{'PSAL_WS'}(:);
tsg.PSAL_WS_QC = nc1{'PSAL_WS_QC'}(:);
tsg.PSAL_WS_ANALDATE = nc1{'PSAL_WS_ANALDATE'}(:,:);
tsg.PSAL_WS_BOTTLE = nc1{'PSAL_WS_BOTTLE'}(:,:);
tsg.DATE_WS = nc{'DATE_WS'}(:,:);
tsg.DAYD_WS = julianToDatenum(nc{'DAYD_WS'}(:));
tsg.LATX_WS = nc{'LATX_WS'}(:);
tsg.LONX_WS = nc{'LONX_WS'}(:);
tsg.SSPS_WS = nc{'SSPS_WS'}(:);
tsg.SSPS_WS_QC = nc{'SSPS_WS_QC'}(:);
tsg.SSPS_WS_ANALDATE = nc{'SSPS_WS_ANALDATE'}(:,:);
tsg.SSPS_WS_BOTTLE = nc{'SSPS_WS_BOTTLE'}(:,:);
% Save the data in the application GUI
% ------------------------------------
setappdata( hTsgGUI, 'tsg_data', tsg );
% Clear the Workspace
% -------------------
clear tsgdata
% Close the file
% --------------
%endef(nc)
close(nc)
close(nc);
% Everything OK
% -------------
error = 1;
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment