From cd4a76a55cdcee5c850518775d4622f7ec7b1d3e Mon Sep 17 00:00:00 2001 From: Camille Mazoyer <camille.mazoyer@ird.fr> Date: Wed, 19 Feb 2025 17:18:23 +0100 Subject: [PATCH] support for matlab 20xx versions, in particular 2024 and more recent versions,... --- CHANGELOG.md | 2 ++ UTILITIES/mexcdf/mexnc/mexcdf.m | 4 +++- UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/mexcdf.m | 4 +++- UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/ncmex.m | 4 +++- UTILITIES/netcdf_matlab_60/ncutility/ncclose.m | 4 +++- UTILITIES/netcdf_matlab_60/ncutility/tnc4ml5.m | 4 +++- 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70015d9f..cda1eb22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Release changelog are available here : https://gitlab.inria.fr/croco-ocean/croco ## Fixed +- Preprocessing_tools : fix in mexcdf functionality for matlab 20xx versions (in particular matlab 2024), see issue [#50](https://gitlab.inria.fr/croco-ocean/croco_tools/-/issues/50) + ## Changed ## Removed diff --git a/UTILITIES/mexcdf/mexnc/mexcdf.m b/UTILITIES/mexcdf/mexnc/mexcdf.m index 399405a7..0c21295a 100644 --- a/UTILITIES/mexcdf/mexnc/mexcdf.m +++ b/UTILITIES/mexcdf/mexnc/mexcdf.m @@ -95,7 +95,9 @@ if nargin < 1, help(mfilename), return, end % Mex-file gateway. v = version; -if eval(v(1)) > 4 +matversion=version('-release'); +myversion=str2num(matversion(1:2)); +if eval(v(1)) > 4 || myversion >= 20 fcn = 'mexcdf53'; % Matlab-5 or 6. elseif eval(v(1)) == 4 fcn = 'mexcdf4'; % Matlab-4 only. diff --git a/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/mexcdf.m b/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/mexcdf.m index 399405a7..0c21295a 100644 --- a/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/mexcdf.m +++ b/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/mexcdf.m @@ -95,7 +95,9 @@ if nargin < 1, help(mfilename), return, end % Mex-file gateway. v = version; -if eval(v(1)) > 4 +matversion=version('-release'); +myversion=str2num(matversion(1:2)); +if eval(v(1)) > 4 || myversion >= 20 fcn = 'mexcdf53'; % Matlab-5 or 6. elseif eval(v(1)) == 4 fcn = 'mexcdf4'; % Matlab-4 only. diff --git a/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/ncmex.m b/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/ncmex.m index 5bd46cf7..82d8ffe5 100644 --- a/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/ncmex.m +++ b/UTILITIES/mexcdf/netcdf_toolbox/netcdf/ncutility/ncmex.m @@ -113,7 +113,9 @@ end % Mex-file gateway. v = version; -if eval(v(1)) > 4 +matversion=version('-release'); +myversion=str2num(matversion(1:2)); +if eval(v(1)) > 4 || myversion >= 20 fcn = 'mexcdf53'; % Matlab-5 or 6. elseif eval(v(1)) == 4 fcn = 'mexcdf4'; % Matlab-4 only. diff --git a/UTILITIES/netcdf_matlab_60/ncutility/ncclose.m b/UTILITIES/netcdf_matlab_60/ncutility/ncclose.m index 65d86d56..247893f8 100644 --- a/UTILITIES/netcdf_matlab_60/ncutility/ncclose.m +++ b/UTILITIES/netcdf_matlab_60/ncutility/ncclose.m @@ -18,7 +18,9 @@ end theNCid = -sort(-theNCid); v = version; -if v(1) == '6' +matversion=version('-release'); +myversion=str2num(matversion(1:2)); +if v(1) == '6' || myversion >= 20 fcn = 'mexcdf60'; % Matlab-6 only. elseif v(1) == '5' fcn = 'mexcdf53'; % Matlab-5 only. diff --git a/UTILITIES/netcdf_matlab_60/ncutility/tnc4ml5.m b/UTILITIES/netcdf_matlab_60/ncutility/tnc4ml5.m index 2234cfb6..8608a0d4 100644 --- a/UTILITIES/netcdf_matlab_60/ncutility/tnc4ml5.m +++ b/UTILITIES/netcdf_matlab_60/ncutility/tnc4ml5.m @@ -12,7 +12,9 @@ function tnc4ml5 % Version of 15-Apr-1997 09:50:05. v = version; -if v(1) == '6' +matversion=version('-release'); +myversion=str2num(matversion(1:2)); +if v(1) == '6' || myversion >= 20 fcn = 'mexcdf60'; % Matlab-6 only. elseif v(1) == '5' fcn = 'mexcdf53'; % Matlab-5 only. -- GitLab