diff --git a/code/classes/SCDclass_mdspar.m b/code/classes/SCDclass_mdspar.m index 656e6f183565f6f301709268275f9b68bd720d5c..a89b0f803135c07539a134b1cd2b46dd1ea04220 100644 --- a/code/classes/SCDclass_mdspar.m +++ b/code/classes/SCDclass_mdspar.m @@ -34,6 +34,7 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous caststring % actualizedata specific unlinked % unlinked parameter, no actualization will be performed (this is set via an empty MDS source path) + actualizable % true if after MDS data retrieval phase the parameter is actualizable end properties @@ -106,7 +107,8 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous obj.mdsconnect(shot); % Checking if data can be retrieved, updating get command [obj, obj.value]=obj.getdata(shot); - + if ~obj.actualizable, return; end + pointspos=strfind(obj.modelparam,'.'); baseparam=obj.modelparam(1:pointspos(1)-1); structparam=obj.modelparam(pointspos(1):end); @@ -133,9 +135,14 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous function [obj,value]=getdatacommon(obj, shot) obj=obj.actualizegetcmd('mdsvalue(''%s'')', shot); + value=eval(obj.getcommand); - str=sprintf('MDS+ error for parameter %s: %s', obj.modelparam, value); - assert(isnumeric(value), str); + if(~isnumeric(value)) + warning('SCDclass_mdspar:MDSerror','MDS+ error for parameter %s: %s. Actualization skipped.',obj.modelparam, value); + obj.actualizable=false; + else + obj.actualizable=true; + end end function obj=actualizegetcmd(obj, cmdstring, shot) diff --git a/code/classes/SCDclass_mdspar3Dmatrix.m b/code/classes/SCDclass_mdspar3Dmatrix.m index bc8b2ced141f8dd07eac26897f1cee8c700926c0..7287fb0990fda6a6ff996c191d51a663c3c9a280 100644 --- a/code/classes/SCDclass_mdspar3Dmatrix.m +++ b/code/classes/SCDclass_mdspar3Dmatrix.m @@ -17,6 +17,7 @@ classdef SCDclass_mdspar3Dmatrix < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); + if ~obj.actualizable, return; end obj.caststring=sprintf('%s=single(%s);',obj.assignvar,obj.assignvar); obj.postactualizecommon(shot); end diff --git a/code/classes/SCDclass_mdsparfixdimvector.m b/code/classes/SCDclass_mdsparfixdimvector.m index aa3518a202ad54068412b7671448b9bf7ac0c8ce..22299103f6ce6057a6cbed02b1b9457c8b719824 100644 --- a/code/classes/SCDclass_mdsparfixdimvector.m +++ b/code/classes/SCDclass_mdsparfixdimvector.m @@ -21,7 +21,8 @@ classdef SCDclass_mdsparfixdimvector < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); - + if ~obj.actualizable, return; end + numelements=numel(obj.value); if(numelements<obj.dimension) localgetcommand=sprintf('[%s; zeros(%d,1)]',obj.getcommand, obj.dimension-numelements); diff --git a/code/classes/SCDclass_mdsparfixdimvectorint.m b/code/classes/SCDclass_mdsparfixdimvectorint.m index 197d4d4989501fc670aefb375381692e4b644e9c..810b25c48ba0ae6f8a18daa09752098f96876206 100644 --- a/code/classes/SCDclass_mdsparfixdimvectorint.m +++ b/code/classes/SCDclass_mdsparfixdimvectorint.m @@ -22,7 +22,8 @@ classdef SCDclass_mdsparfixdimvectorint < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); - + if ~obj.actualizable, return; end + numelements=numel(obj.value); if(numelements<obj.dimension) localgetcommand=sprintf('[%s; zeros(%d,1)]',obj.getcommand, obj.dimension-numelements); diff --git a/code/classes/SCDclass_mdsparmatrix.m b/code/classes/SCDclass_mdsparmatrix.m index 63b9c4093c591725670b42e0d94e9a1c37742948..c62e0b36fc6795cd7d2f4b28863e112037881f55 100644 --- a/code/classes/SCDclass_mdsparmatrix.m +++ b/code/classes/SCDclass_mdsparmatrix.m @@ -17,6 +17,7 @@ classdef SCDclass_mdsparmatrix < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); + if ~obj.actualizable, return; end obj.caststring=sprintf('%s=single(%s);',obj.assignvar,obj.assignvar); obj.postactualizecommon(shot); end diff --git a/code/classes/SCDclass_mdsparscalar.m b/code/classes/SCDclass_mdsparscalar.m index bc5993187f88a03eab3db80515d2a6326301a341..22f7658cf0e5bc68848bb75747d4db7fa0049161 100644 --- a/code/classes/SCDclass_mdsparscalar.m +++ b/code/classes/SCDclass_mdsparscalar.m @@ -17,6 +17,7 @@ classdef SCDclass_mdsparscalar < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); + if ~obj.actualizable, return; end obj.caststring=sprintf('%s=single(%s);',obj.assignvar,obj.assignvar); obj.postactualizecommon(shot); end diff --git a/code/classes/SCDclass_mdsparscalarint.m b/code/classes/SCDclass_mdsparscalarint.m index af6ac786fbe9114d4cd1b5d3331d973a53e83a57..ce8d5030a8257cc2f3646edbfae8d81168bfd725 100644 --- a/code/classes/SCDclass_mdsparscalarint.m +++ b/code/classes/SCDclass_mdsparscalarint.m @@ -16,6 +16,7 @@ classdef SCDclass_mdsparscalarint < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); + if ~obj.actualizable, return; end obj.caststring=sprintf('%s=int32(%s);',obj.assignvar,obj.assignvar); obj.postactualizecommon(shot); end diff --git a/code/classes/SCDclass_mdsparscalartaridx.m b/code/classes/SCDclass_mdsparscalartaridx.m index e67b8d5e8472a947078f5c7e4ecfbea9df4aeb0b..3835533b660ebfad9b48def50051bff6a9d3cd2f 100644 --- a/code/classes/SCDclass_mdsparscalartaridx.m +++ b/code/classes/SCDclass_mdsparscalartaridx.m @@ -19,6 +19,7 @@ classdef SCDclass_mdsparscalartaridx < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); + if ~obj.actualizable, return; end obj.assignstring=sprintf('%s(%d)=%s;',obj.assignvar,obj.targetidx,obj.getcommand); obj.caststring=sprintf('%s=single(%s);',obj.assignvar,obj.assignvar); obj.postactualizecommon(shot); diff --git a/code/classes/SCDclass_mdsparvector.m b/code/classes/SCDclass_mdsparvector.m index 8eed9399ced00af685d351f07e4ec44d8556d264..78192478389980998443e3ca0b8d3fc3940e6caa 100644 --- a/code/classes/SCDclass_mdsparvector.m +++ b/code/classes/SCDclass_mdsparvector.m @@ -17,6 +17,7 @@ classdef SCDclass_mdsparvector < SCDclass_mdspar function actualizedata(obj, shot) obj=obj.preactualizecommon(shot); + if ~obj.actualizable, return; end obj.caststring=sprintf('%s=single(%s);',obj.assignvar,obj.assignvar); obj.postactualizecommon(shot); end