Changeset 24989
- Timestamp:
- 06/09/20 01:00:37 (5 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp
r24988 r24989 10 10 #include "../InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h" 11 11 12 void InputUpdateFromDakotax(FemModel* femmodel,double* variables,char* *variables_descriptors,int num variables){12 void InputUpdateFromDakotax(FemModel* femmodel,double* variables,char* *variables_descriptors,int numdakotavariables){ 13 13 14 14 int i,j,k,l; … … 20 20 IssmDouble **variable_partitions = NULL; 21 21 IssmDouble * variable_partition = NULL; 22 int * variable_partitions_npart = NULL; 22 23 int variable_partitions_num; 23 int *partitions_m = NULL;24 int *partitions_n = NULL;25 24 int npart; 26 int dummy; //should match numvariables25 int variablecount=0; 27 26 28 27 double *distributed_values = NULL; … … 32 31 33 32 /*retrieve parameters: */ 34 femmodel->parameters->FindParam(&variable_partitions,&variable_partitions_num,&partitions_m,&partitions_n,QmuVariablePartitionsEnum); 33 femmodel->parameters->FindParam(&variable_partitions,&variable_partitions_num,NULL,NULL,QmuVariablePartitionsEnum); 34 femmodel->parameters->FindParam(&variable_partitions_npart,NULL,NULL,QmuVariablePartitionsNpartEnum); 35 35 36 36 numberofvertices=femmodel->vertices->NumberOfVertices(); … … 39 39 /*Go through all dakota descriptors, ex: "rho_ice","thermal_conductivity","thickness1","thickness2", etc ..., and 40 40 * for each descriptor, take the variable value and plug it into the inputs: */ 41 42 for(i=0;i<numvariables;i++){ 41 for(i=0;i<numdakotavariables;i++){ //these are the dakota variables, for all partitions. 43 42 44 43 descriptor=variables_descriptors[i]; … … 48 47 49 48 /*recover partition vector: */ 50 variable_partition=variable_partitions[i]; 51 //_printf_("variable_partition_M: " << variable_partition_M << " variable_partition_N " << variable_partition_N << "\n"); 52 npart=partitions_m[i]; 49 variable_partition=variable_partitions[variablecount]; 50 npart=variable_partitions_npart[variablecount]; 53 51 54 52 /*Variable is scaled. Determine root name of variable (ex: scaled_DragCoefficient_1 -> DragCoefficient). Allocate distributed_values and fill the … … 136 134 InputUpdateFromConstantx(femmodel,variables[i],StringToEnumx(descriptor)); 137 135 } 136 variablecount++; 138 137 } 139 138 … … 143 142 xDelete<IssmDouble>(matrix); 144 143 } 145 xDelete<int>(partitions_m);146 xDelete<int>(partitions_n);147 144 xDelete<IssmDouble*>(variable_partitions); 148 145 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
r24988 r24989 38 38 int *ndims_array = NULL; 39 39 int num_partitions; 40 int* intarray = NULL; 41 int M,N; 40 42 41 43 /*recover parameters: */ … … 77 79 iomodel->FetchData(&array,&mdims_array,&ndims_array,&num_partitions,"md.qmu.variablepartitions"); 78 80 parameters->AddObject(new DoubleMatArrayParam(QmuVariablePartitionsEnum,array,num_partitions,mdims_array,ndims_array)); 79 81 iomodel->FetchData(&intarray,&M,&N,"md.qmu.variablepartitions_npart"); 82 parameters->AddObject(new IntMatParam(QmuVariablePartitionsNpartEnum,intarray,M,N)); 80 83 81 84 /*Deal with data needed because of qmu variables*/ … … 128 131 xDelete<int>(ndims_array); 129 132 xDelete<IssmDouble*>(array); 133 xDelete<int>(intarray); 130 134 131 135 } -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r24987 r24989 299 299 syn keyword cConstant QmuVariableDescriptorsEnum 300 300 syn keyword cConstant QmuVariablePartitionsEnum 301 syn keyword cConstant QmuVariablePartitionsNpartEnum 301 302 syn keyword cConstant RestartFileNameEnum 302 303 syn keyword cConstant ResultsEnum -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r24987 r24989 293 293 QmuVariableDescriptorsEnum, 294 294 QmuVariablePartitionsEnum, 295 QmuVariablePartitionsNpartEnum, 295 296 RestartFileNameEnum, 296 297 ResultsEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r24987 r24989 301 301 case QmuVariableDescriptorsEnum : return "QmuVariableDescriptors"; 302 302 case QmuVariablePartitionsEnum : return "QmuVariablePartitions"; 303 case QmuVariablePartitionsNpartEnum : return "QmuVariablePartitionsNpart"; 303 304 case RestartFileNameEnum : return "RestartFileName"; 304 305 case ResultsEnum : return "Results"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r24987 r24989 307 307 else if (strcmp(name,"QmuVariableDescriptors")==0) return QmuVariableDescriptorsEnum; 308 308 else if (strcmp(name,"QmuVariablePartitions")==0) return QmuVariablePartitionsEnum; 309 else if (strcmp(name,"QmuVariablePartitionsNpart")==0) return QmuVariablePartitionsNpartEnum; 309 310 else if (strcmp(name,"RestartFileName")==0) return RestartFileNameEnum; 310 311 else if (strcmp(name,"Results")==0) return ResultsEnum; … … 382 383 else if (strcmp(name,"SmbIsthermal")==0) return SmbIsthermalEnum; 383 384 else if (strcmp(name,"SmbIsturbulentflux")==0) return SmbIsturbulentfluxEnum; 384 else if (strcmp(name,"SmbK")==0) return SmbKEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum; 388 if (strcmp(name,"SmbK")==0) return SmbKEnum; 389 else if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum; 389 390 else if (strcmp(name,"SmbPfac")==0) return SmbPfacEnum; 390 391 else if (strcmp(name,"SmbRdl")==0) return SmbRdlEnum; … … 505 506 else if (strcmp(name,"BaseSlopeY")==0) return BaseSlopeYEnum; 506 507 else if (strcmp(name,"Bed")==0) return BedEnum; 507 else if (strcmp(name,"BedSlopeX")==0) return BedSlopeXEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"BedSlopeY")==0) return BedSlopeYEnum; 511 if (strcmp(name,"BedSlopeX")==0) return BedSlopeXEnum; 512 else if (strcmp(name,"BedSlopeY")==0) return BedSlopeYEnum; 512 513 else if (strcmp(name,"CalvingCalvingrate")==0) return CalvingCalvingrateEnum; 513 514 else if (strcmp(name,"CalvingHabFraction")==0) return CalvingHabFractionEnum; … … 628 629 else if (strcmp(name,"HydrologyWatercolumnMax")==0) return HydrologyWatercolumnMaxEnum; 629 630 else if (strcmp(name,"HydrologyWaterVx")==0) return HydrologyWaterVxEnum; 630 else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"Ice")==0) return IceEnum; 634 if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum; 635 else if (strcmp(name,"Ice")==0) return IceEnum; 635 636 else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum; 636 637 else if (strcmp(name,"Input")==0) return InputEnum; … … 751 752 else if (strcmp(name,"SmbFAC")==0) return SmbFACEnum; 752 753 else if (strcmp(name,"SmbGdn")==0) return SmbGdnEnum; 753 else if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"SmbGsp")==0) return SmbGspEnum; 757 if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum; 758 else if (strcmp(name,"SmbGsp")==0) return SmbGspEnum; 758 759 else if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum; 759 760 else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum; … … 874 875 else if (strcmp(name,"WaterfractionDrainage")==0) return WaterfractionDrainageEnum; 875 876 else if (strcmp(name,"WaterfractionDrainageIntegrated")==0) return WaterfractionDrainageIntegratedEnum; 876 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"Waterheight")==0) return WaterheightEnum; 880 if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum; 881 else if (strcmp(name,"Waterheight")==0) return WaterheightEnum; 881 882 else if (strcmp(name,"WeightsSurfaceObservation")==0) return WeightsSurfaceObservationEnum; 882 883 else if (strcmp(name,"Outputdefinition1")==0) return Outputdefinition1Enum; … … 997 998 else if (strcmp(name,"BalancethicknessApparentMassbalance")==0) return BalancethicknessApparentMassbalanceEnum; 998 999 else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum; 999 else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum; 1003 if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum; 1004 else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum; 1004 1005 else if (strcmp(name,"BalancethicknessSpcthickness")==0) return BalancethicknessSpcthicknessEnum; 1005 1006 else if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum; … … 1120 1121 else if (strcmp(name,"HydrologyPismAnalysis")==0) return HydrologyPismAnalysisEnum; 1121 1122 else if (strcmp(name,"HydrologyShaktiAnalysis")==0) return HydrologyShaktiAnalysisEnum; 1122 else if (strcmp(name,"HydrologyShreveAnalysis")==0) return HydrologyShreveAnalysisEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum; 1126 if (strcmp(name,"HydrologyShreveAnalysis")==0) return HydrologyShreveAnalysisEnum; 1127 else if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum; 1127 1128 else if (strcmp(name,"Hydrologydc")==0) return HydrologydcEnum; 1128 1129 else if (strcmp(name,"Hydrologypism")==0) return HydrologypismEnum; … … 1243 1244 else if (strcmp(name,"P1xP4")==0) return P1xP4Enum; 1244 1245 else if (strcmp(name,"P2")==0) return P2Enum; 1245 else if (strcmp(name,"P2bubble")==0) return P2bubbleEnum;1246 1246 else stage=11; 1247 1247 } 1248 1248 if(stage==11){ 1249 if (strcmp(name,"P2bubblecondensed")==0) return P2bubblecondensedEnum; 1249 if (strcmp(name,"P2bubble")==0) return P2bubbleEnum; 1250 else if (strcmp(name,"P2bubblecondensed")==0) return P2bubblecondensedEnum; 1250 1251 else if (strcmp(name,"P2xP1")==0) return P2xP1Enum; 1251 1252 else if (strcmp(name,"P2xP4")==0) return P2xP4Enum; … … 1366 1367 else if (strcmp(name,"SealevelWeights")==0) return SealevelWeightsEnum; 1367 1368 else if (strcmp(name,"StrainRate")==0) return StrainRateEnum; 1368 else if (strcmp(name,"StressTensor")==0) return StressTensorEnum;1369 1369 else stage=12; 1370 1370 } 1371 1371 if(stage==12){ 1372 if (strcmp(name,"StressbalanceViscosityOvershoot")==0) return StressbalanceViscosityOvershootEnum; 1372 if (strcmp(name,"StressTensor")==0) return StressTensorEnum; 1373 else if (strcmp(name,"StressbalanceViscosityOvershoot")==0) return StressbalanceViscosityOvershootEnum; 1373 1374 else if (strcmp(name,"SubelementMigration4")==0) return SubelementMigration4Enum; 1374 1375 else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum; -
issm/trunk-jpl/src/m/classes/qmu.m
r24988 r24989 19 19 variabledescriptors = {}; 20 20 variablepartitions = {}; 21 variablepartitions_npart = []; 21 22 responsedescriptors = {}; 22 23 mass_flux_profile_directory = NaN; … … 173 174 end 174 175 fielddisplay(self,'variablepartitions',''); 176 fielddisplay(self,'variablepartitions_npart',''); 175 177 fielddisplay(self,'variabledescriptors',''); 176 178 fielddisplay(self,'responsedescriptors',''); … … 196 198 WriteData(fid,prefix,'object',self,'fieldname','variabledescriptors','format','StringArray'); 197 199 WriteData(fid,prefix,'object',self,'fieldname','variablepartitions','format','MatArray'); 200 WriteData(fid,prefix,'object',self,'fieldname','variablepartitions_npart','format','IntMat','mattype',3); 198 201 WriteData(fid,prefix,'object',self,'fieldname','responsedescriptors','format','StringArray'); 199 202 if ~isempty(self.mass_flux_segments), -
issm/trunk-jpl/src/m/qmu/preqmu.m
r24988 r24989 90 90 variable_fieldnames=fieldnames(md.qmu.variables(ivar)); 91 91 variablepartitions={}; 92 variablepartitions_npart=[]; 92 93 for i=1:length(variable_fieldnames), 93 94 field_name=variable_fieldnames{i}; … … 95 96 if fieldvariable.isscaled(); 96 97 variablepartitions{end+1}=fieldvariable.partition; 98 variablepartitions_npart(end+1)=qmupart2npart(fieldvariable.partition); 97 99 else 98 100 variablepartitions{end+1}=[]; 101 variablepartitions_npart(end+1)=0; 99 102 end 100 103 end … … 105 108 md.qmu.variabledescriptors=variabledescriptors; 106 109 md.qmu.variablepartitions=variablepartitions; 110 md.qmu.variablepartitions_npart=variablepartitions_npart; 107 111 md.qmu.responsedescriptors=responsedescriptors; 108 112 -
issm/trunk-jpl/src/m/qmu/setupdesign/QmuSetupVariables.m
r24988 r24989 12 12 partition=variables.partition; 13 13 %figure out number of partitions: 14 npart=qmupart2npart(partition) 14 npart=qmupart2npart(partition); 15 15 16 16 if isa(variables,'uniform_uncertain'),
Note:
See TracChangeset
for help on using the changeset viewer.