Changeset 16298


Ignore:
Timestamp:
10/04/13 12:31:48 (11 years ago)
Author:
Eric.Larour
Message:

NEW: transferring to outputdefinitions framework.

Location:
issm/trunk-jpl/src
Files:
2 added
2 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r16291 r16298  
    2828        int          mass_flux_num_profiles     = 0;
    2929        bool         qmu_mass_flux_present      = false;
    30         bool         autodiff_mass_flux_present = false;
    3130        bool         mass_flux_present          = false;
    3231        IssmDouble **array                      = NULL;
     
    153152        /*Deal with mass flux segments: {{{*/
    154153        iomodel->FetchData(&qmu_mass_flux_present,QmuMassFluxSegmentsPresentEnum);
    155         iomodel->FetchData(&autodiff_mass_flux_present,AutodiffMassFluxSegmentsPresentEnum);
    156 
    157         if(qmu_mass_flux_present || autodiff_mass_flux_present)mass_flux_present=true;
     154
     155        if(qmu_mass_flux_present)mass_flux_present=true;
    158156        else mass_flux_present=false;
    159157        parameters->AddObject(new BoolParam(MassFluxSegmentsPresentEnum,mass_flux_present));
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r16291 r16298  
    2727        AutodiffFovForwardIndicesEnum,
    2828        AutodiffFosReverseIndexEnum,
    29         AutodiffMassFluxSegmentsPresentEnum,
    3029        AutodiffKeepEnum,
    3130        AutodiffObufsizeEnum,
     
    213212        MasstransportNumRequestedOutputsEnum,
    214213        MasstransportRequestedOutputsEnum,
    215         QmuIsdakotaEnum,
    216214        MassFluxSegmentsEnum,
    217215        MassFluxSegmentsPresentEnum,
    218         QmuMassFluxSegmentsPresentEnum,
     216        MassfluxatgateNameEnum,
     217        MassfluxatgateSegmentsEnum,
     218        QmuIsdakotaEnum,
    219219        QmuNumberofpartitionsEnum,
    220220        QmuNumberofresponsesEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r16291 r16298  
    3535                case AutodiffFovForwardIndicesEnum : return "AutodiffFovForwardIndices";
    3636                case AutodiffFosReverseIndexEnum : return "AutodiffFosReverseIndex";
    37                 case AutodiffMassFluxSegmentsPresentEnum : return "AutodiffMassFluxSegmentsPresent";
    3837                case AutodiffKeepEnum : return "AutodiffKeep";
    3938                case AutodiffObufsizeEnum : return "AutodiffObufsize";
     
    221220                case MasstransportNumRequestedOutputsEnum : return "MasstransportNumRequestedOutputs";
    222221                case MasstransportRequestedOutputsEnum : return "MasstransportRequestedOutputs";
    223                 case QmuIsdakotaEnum : return "QmuIsdakota";
    224222                case MassFluxSegmentsEnum : return "MassFluxSegments";
    225223                case MassFluxSegmentsPresentEnum : return "MassFluxSegmentsPresent";
    226                 case QmuMassFluxSegmentsPresentEnum : return "QmuMassFluxSegmentsPresent";
     224                case MassfluxatgateNameEnum : return "MassfluxatgateName";
     225                case MassfluxatgateSegmentsEnum : return "MassfluxatgateSegments";
     226                case QmuIsdakotaEnum : return "QmuIsdakota";
    227227                case QmuNumberofpartitionsEnum : return "QmuNumberofpartitions";
    228228                case QmuNumberofresponsesEnum : return "QmuNumberofresponses";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r16291 r16298  
    3535              else if (strcmp(name,"AutodiffFovForwardIndices")==0) return AutodiffFovForwardIndicesEnum;
    3636              else if (strcmp(name,"AutodiffFosReverseIndex")==0) return AutodiffFosReverseIndexEnum;
    37               else if (strcmp(name,"AutodiffMassFluxSegmentsPresent")==0) return AutodiffMassFluxSegmentsPresentEnum;
    3837              else if (strcmp(name,"AutodiffKeep")==0) return AutodiffKeepEnum;
    3938              else if (strcmp(name,"AutodiffObufsize")==0) return AutodiffObufsizeEnum;
     
    137136              else if (strcmp(name,"InversionCostFunctionsCoefficients")==0) return InversionCostFunctionsCoefficientsEnum;
    138137              else if (strcmp(name,"InversionCostFunctions")==0) return InversionCostFunctionsEnum;
     138              else if (strcmp(name,"InversionGradientScaling")==0) return InversionGradientScalingEnum;
    139139         else stage=2;
    140140   }
    141141   if(stage==2){
    142               if (strcmp(name,"InversionGradientScaling")==0) return InversionGradientScalingEnum;
    143               else if (strcmp(name,"InversionIscontrol")==0) return InversionIscontrolEnum;
     142              if (strcmp(name,"InversionIscontrol")==0) return InversionIscontrolEnum;
    144143              else if (strcmp(name,"InversionTao")==0) return InversionTaoEnum;
    145144              else if (strcmp(name,"InversionIncompleteAdjoint")==0) return InversionIncompleteAdjointEnum;
     
    224223              else if (strcmp(name,"MasstransportNumRequestedOutputs")==0) return MasstransportNumRequestedOutputsEnum;
    225224              else if (strcmp(name,"MasstransportRequestedOutputs")==0) return MasstransportRequestedOutputsEnum;
    226               else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum;
    227225              else if (strcmp(name,"MassFluxSegments")==0) return MassFluxSegmentsEnum;
    228226              else if (strcmp(name,"MassFluxSegmentsPresent")==0) return MassFluxSegmentsPresentEnum;
    229               else if (strcmp(name,"QmuMassFluxSegmentsPresent")==0) return QmuMassFluxSegmentsPresentEnum;
     227              else if (strcmp(name,"MassfluxatgateName")==0) return MassfluxatgateNameEnum;
     228              else if (strcmp(name,"MassfluxatgateSegments")==0) return MassfluxatgateSegmentsEnum;
     229              else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum;
    230230              else if (strcmp(name,"QmuNumberofpartitions")==0) return QmuNumberofpartitionsEnum;
    231231              else if (strcmp(name,"QmuNumberofresponses")==0) return QmuNumberofresponsesEnum;
  • issm/trunk-jpl/src/m/classes/autodiff.m

    r16264 r16298  
    8383                        %early return
    8484                        if ~obj.isautodiff,
    85                                 WriteData(fid,'data',false,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean');
    8685                                WriteData(fid,'data',false,'enum',AutodiffKeepEnum(),'format','Boolean');
    8786                                return;
     
    198197                        end
    199198                        %}}}
    200                         %deal with mass fluxes:  {{{
    201                         mass_flux_segments=cell(0,1);
    202                         for i=1:num_dependent_objects,
    203                                 dep=obj.dependents{i};
    204                                 if strcmpi(dep.name,'MassFlux'),
    205                                         mass_flux_segments{end+1,1}=dep.segments;
    206                                 end
    207                         end
    208                         if ~isempty(mass_flux_segments),
    209                                 WriteData(fid,'data',mass_flux_segments,'enum',MassFluxSegmentsEnum(),'format','MatArray');
    210                                 flag=true;
    211                         else
    212                                 flag=false;
    213                         end
    214                         WriteData(fid,'data',flag,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean');
    215                         %}}}
    216199                        %deal with trace keep on: {{{
    217200                        keep=false;
  • issm/trunk-jpl/src/m/classes/autodiff.py

    r16268 r16298  
    8686                #early return
    8787                if not self.isautodiff:
    88                         WriteData(fid,'data',False,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean')
    8988                        WriteData(fid,'data',False,'enum',AutodiffKeepEnum(),'format','Boolean')
    9089                        return
     
    182181                        WriteData(fid,'data',indices,'enum',AutodiffFovForwardIndicesEnum(),'format','IntMat','mattype',3)
    183182                #}}}
    184                 #deal with mass fluxes:  {{{
    185                 mass_flux_segments=[dep.segments for dep in self.dependents if strcmpi(dep.name,'MassFlux')]
    186 
    187                 if mass_flux_segments:
    188                         WriteData(fid,'data',mass_flux_segments,'enum',MassFluxSegmentsEnum(),'format','MatArray')
    189                         flag=True
    190                 else:
    191                         flag=False
    192                 WriteData(fid,'data',flag,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean')
    193                 #}}}
    194183                #deal with trace keep on: {{{
    195184                keep=False
  • issm/trunk-jpl/src/m/classes/massfluxatgate.m

    r16297 r16298  
    3131                function md = checkconsistency(obj,md,solution,analyses) % {{{
    3232                       
    33                         md = checkfield(md,'massfluxatgate.name','empty',1);
    34                         md = checkfield(md,'massfluxatgate.profilename','empty',1);
     33                        if ~ischar(obj.name),
     34                                error('massfluxatgate error message: ''name'' field should be a string!');
     35                        end
     36                        if ~ischar(obj.profilename),
     37                                error('massfluxatgate error message: ''profilename'' field should be a string!');
     38                        end
    3539
    3640                        %check the profilename points to a file!:
    37                         if exist(profilename,'file'),
     41                        if exist(obj.profilename,'file')~=2,
    3842                                error('massfluxatgate error message: file name for profile corresponding to gate does not point to a legitimate file on disk!');
    3943                        end
  • issm/trunk-jpl/src/m/classes/outputdefinition.m

    r16297 r16298  
    66classdef outputdefinition
    77        properties (SetAccess=public)
    8                 list                 = {};
     8                definitions                 = {};
     9        end
     10        properties (SetAccess=private)
     11                enums                 = {};
    912        end
    1013        methods
     
    1922                function obj = setdefaultparameters(obj) % {{{
    2023
    21                         obj.list={};
     24                        obj.definitions={};
     25                        obj.enums=NaN;
    2226
    2327                end % }}}
    2428                function md = checkconsistency(obj,md,solution,analyses) % {{{
    2529
    26                         md = checkfield(md,'outputdefinition.list','cell',1);
     30                        md = checkfield(md,'outputdefinition.definitions','cell',1);
    2731
    28                         for i=1:length(obj.list),
    29                                 md=checkconsistency(obj.list{i},md,solution,analyses);
     32                        for i=1:length(obj.definitions),
     33                                md=checkconsistency(obj.definitions{i},md,solution,analyses);
    3034                        end
    3135
     
    3337                function disp(obj) % {{{
    3438                        disp(sprintf('   outputdefinition:'));
    35                         fielddisplay(obj,'list','list of potential outputs that can be requested, but which need additional data to be defined');
     39                        fielddisplay(obj,'definitions','list of potential outputs that can be requested, but which need additional data to be defined');
    3640
    3741                end % }}}
    3842                function marshall(obj,md,fid) % {{{
    3943
    40                 for i=1:length(obj.list),
    41                         obj.list{i}.marshall(md,fid);
     44                enums=zeros(length(obj.definitions),1);
     45                for i=1:length(obj.definitions),
     46                        obj.definitions{i}.marshall(md,fid);
     47                        obj.enums(i)=StringToEnum(class(obj.definitions{i}));
    4248                end
     49                WriteData(fid,'object',obj,'fieldname','enums','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
    4350                end % }}}
    4451        end
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r16293 r16298  
    2727def AutodiffFovForwardIndicesEnum(): return StringToEnum("AutodiffFovForwardIndices")[0]
    2828def AutodiffFosReverseIndexEnum(): return StringToEnum("AutodiffFosReverseIndex")[0]
    29 def AutodiffMassFluxSegmentsPresentEnum(): return StringToEnum("AutodiffMassFluxSegmentsPresent")[0]
    3029def AutodiffKeepEnum(): return StringToEnum("AutodiffKeep")[0]
    3130def AutodiffObufsizeEnum(): return StringToEnum("AutodiffObufsize")[0]
     
    213212def MasstransportNumRequestedOutputsEnum(): return StringToEnum("MasstransportNumRequestedOutputs")[0]
    214213def MasstransportRequestedOutputsEnum(): return StringToEnum("MasstransportRequestedOutputs")[0]
    215 def QmuIsdakotaEnum(): return StringToEnum("QmuIsdakota")[0]
    216214def MassFluxSegmentsEnum(): return StringToEnum("MassFluxSegments")[0]
    217215def MassFluxSegmentsPresentEnum(): return StringToEnum("MassFluxSegmentsPresent")[0]
    218 def QmuMassFluxSegmentsPresentEnum(): return StringToEnum("QmuMassFluxSegmentsPresent")[0]
     216def MassfluxatgateNameEnum(): return StringToEnum("MassfluxatgateName")[0]
     217def MassfluxatgateSegmentsEnum(): return StringToEnum("MassfluxatgateSegments")[0]
     218def QmuIsdakotaEnum(): return StringToEnum("QmuIsdakota")[0]
    219219def QmuNumberofpartitionsEnum(): return StringToEnum("QmuNumberofpartitions")[0]
    220220def QmuNumberofresponsesEnum(): return StringToEnum("QmuNumberofresponses")[0]
Note: See TracChangeset for help on using the changeset viewer.