Changeset 20635
- Timestamp:
- 05/23/16 09:16:41 (9 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 43 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/FemModel.cpp
r20618 r20635 80 80 /*Save communicator in the parameters dataset: */ 81 81 this->parameters->AddObject(new GenericParam<ISSM_MPI_Comm>(incomm,FemModelCommEnum)); 82 83 82 84 83 /*Free resources */ -
issm/trunk-jpl/src/c/classes/IoModel.cpp
r19138 r20635 281 281 282 282 /*Find constant*/ 283 Param* param=xDynamicCast<Param*>(this->constants->FindParamObject(constant_enum)); 283 //FIXME _error_("Needs to be FIXED"); 284 Param* param=this->constants->FindParamObject(constant_enum); 284 285 if(!param) _error_("Constant " << EnumToStringx(constant_enum) << " not found in iomodel"); 285 286 … … 485 486 486 487 /*create BoolParam: */ 487 this->constants->AddObject(new BoolParam(record_enum,(bool)booleanint)); //cast to boolean 488 if(record_enum!=MaximumNumberOfDefinitionsEnum && record_enum!=MaximumNumberOfDefinitionsEnum+1) 489 this->constants->AddObject(new BoolParam(record_enum,(bool)booleanint)); //cast to boolean 488 490 489 491 break; … … 594 596 595 597 /*create BoolParam: */ 596 this->constants->AddObject(new BoolParam(record_enum,(bool)booleanint)); //cast to a boolean 598 if(record_enum!=MaximumNumberOfDefinitionsEnum && record_enum!=MaximumNumberOfDefinitionsEnum+1) 599 this->constants->AddObject(new BoolParam(record_enum,(bool)booleanint)); //cast to a boolean 597 600 break; 598 601 -
issm/trunk-jpl/src/c/classes/Params/BoolParam.cpp
r19254 r20635 48 48 } 49 49 /*}}}*/ 50 Object* BoolParam::copy() {/*{{{*/50 Param* BoolParam::copy() {/*{{{*/ 51 51 52 52 return new BoolParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/BoolParam.h
r19216 r20635 35 35 int Id(); 36 36 int ObjectEnum(); 37 Object* copy();37 Param* copy(); 38 38 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 39 39 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp
r19217 r20635 52 52 } 53 53 /*}}}*/ 54 Object* DataSetParam::copy() {/*{{{*/54 Param* DataSetParam::copy() {/*{{{*/ 55 55 56 56 return new DataSetParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/DataSetParam.h
r19217 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp
r19254 r20635 116 116 } 117 117 /*}}}*/ 118 Object* DoubleMatArrayParam::copy() {/*{{{*/118 Param* DoubleMatArrayParam::copy() {/*{{{*/ 119 119 120 120 return new DoubleMatArrayParam(this->enum_type,this->array, this->M, this->mdim_array,this->ndim_array); -
issm/trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.h
r19222 r20635 38 38 int Id(); 39 39 int ObjectEnum(); 40 Object* copy();40 Param* copy(); 41 41 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 42 42 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp
r20026 r20635 67 67 } 68 68 /*}}}*/ 69 Object* DoubleMatParam::copy() {/*{{{*/69 Param* DoubleMatParam::copy() {/*{{{*/ 70 70 71 71 return new DoubleMatParam(this->enum_type,this->value,this->M,this->N); -
issm/trunk-jpl/src/c/classes/Params/DoubleMatParam.h
r20026 r20635 37 37 int Id(); 38 38 int ObjectEnum(); 39 Object* copy();39 Param* copy(); 40 40 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 41 41 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/DoubleParam.cpp
r19215 r20635 46 46 } 47 47 /*}}}*/ 48 Object* DoubleParam::copy() {/*{{{*/48 Param* DoubleParam::copy() {/*{{{*/ 49 49 50 50 return new DoubleParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/DoubleParam.h
r19215 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp
r20028 r20635 59 59 } 60 60 /*}}}*/ 61 Object* DoubleVecParam::copy() {/*{{{*/61 Param* DoubleVecParam::copy() {/*{{{*/ 62 62 63 63 return new DoubleVecParam(this->enum_type,this->values,this->M); -
issm/trunk-jpl/src/c/classes/Params/DoubleVecParam.h
r20028 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/FileParam.cpp
r19261 r20635 49 49 } 50 50 /*}}}*/ 51 Object* FileParam::copy() {/*{{{*/51 Param* FileParam::copy() {/*{{{*/ 52 52 53 53 return new FileParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/FileParam.h
r19222 r20635 35 35 int Id(); 36 36 int ObjectEnum(); 37 Object* copy();37 Param* copy(); 38 38 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 39 39 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/GenericParam.h
r20365 r20635 52 52 // it does not clarify ownership of the newed up instance... 53 53 // use the default copy constructor instead 54 Object* copy() { return new GenericParam<P>(*this); };54 Param* copy() { return new GenericParam<P>(*this); }; 55 55 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ 56 56 _printf_(" WARNING: parameter "<<EnumToStringx(this->myEnumVal)<<" is a GenericParam and cannot be marshalled\n"); -
issm/trunk-jpl/src/c/classes/Params/IntMatParam.cpp
r19254 r20635 67 67 } 68 68 /*}}}*/ 69 Object* IntMatParam::copy() {/*{{{*/69 Param* IntMatParam::copy() {/*{{{*/ 70 70 71 71 return new IntMatParam(this->enum_type,this->value,this->M,this->N); -
issm/trunk-jpl/src/c/classes/Params/IntMatParam.h
r19222 r20635 37 37 int Id(); 38 38 int ObjectEnum(); 39 Object* copy();39 Param* copy(); 40 40 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 41 41 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/IntParam.cpp
r19254 r20635 49 49 } 50 50 /*}}}*/ 51 Object* IntParam::copy() {/*{{{*/51 Param* IntParam::copy() {/*{{{*/ 52 52 53 53 return new IntParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/IntParam.h
r19215 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/IntVecParam.cpp
r19254 r20635 79 79 } 80 80 /*}}}*/ 81 Object* IntVecParam::copy() {/*{{{*/81 Param* IntVecParam::copy() {/*{{{*/ 82 82 83 83 return new IntVecParam(this->enum_type,this->values,this->M); -
issm/trunk-jpl/src/c/classes/Params/IntVecParam.h
r19222 r20635 37 37 int Id(); 38 38 int ObjectEnum(); 39 Object* copy();39 Param* copy(); 40 40 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 41 41 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/MatrixParam.cpp
r19254 r20635 58 58 } 59 59 /*}}}*/ 60 Object* MatrixParam::copy() {/*{{{*/60 Param* MatrixParam::copy() {/*{{{*/ 61 61 62 62 return new MatrixParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/MatrixParam.h
r19198 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); }; 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/Param.h
r16233 r20635 19 19 /*}}}*/ 20 20 21 class Param : public Object{21 class Param{ 22 22 23 23 public: … … 25 25 26 26 /*Virtual functions:*/ 27 virtual void Echo()=0; 28 virtual Param* copy()=0; 27 29 virtual int InstanceEnum()=0; 28 30 virtual void GetParameterValue(bool* pbool)=0; -
issm/trunk-jpl/src/c/classes/Params/Parameters.cpp
r20553 r20635 41 41 /*Object constructors and destructor*/ 42 42 Parameters::Parameters(){/*{{{*/ 43 enum_type=ParametersEnum;43 for(int i=0;i<NUMPARAMS;i++) this->params[i] = NULL; 44 44 return; 45 45 } 46 46 /*}}}*/ 47 47 Parameters::~Parameters(){/*{{{*/ 48 for(int i=0;i<NUMPARAMS;i++){ 49 if(this->params[i]) delete this->params[i]; 50 } 48 51 return; 49 52 } 50 53 /*}}}*/ 51 54 55 void Parameters::AddObject(Param* newparam){/*{{{*/ 56 57 /*Get Enum from Param*/ 58 _assert_(newparam); 59 int param_enum = newparam->InstanceEnum(); 60 61 /*Get index in array*/ 62 _assert_(param_enum>ParametersSTARTEnum); 63 _assert_(param_enum<ParametersENDEnum); 64 int index = param_enum - ParametersSTARTEnum -1; 65 66 /*Delete param if it already exists*/ 67 if(this->params[index]){ 68 delete this->params[index]; 69 this->params[index] = NULL; 70 } 71 72 /*Add param to array*/ 73 this->params[index] = newparam; 74 } 75 /*}}}*/ 76 Parameters* Parameters::Copy(void){/*{{{*/ 77 _error_("not implemented yet"); 78 } 79 /*}}}*/ 80 void Parameters::Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction){/*{{{*/ 81 _error_("not implemented yet"); 82 } 83 /*}}}*/ 84 void Parameters::Echo(void){/*{{{*/ 85 _error_("not implemented yet"); 86 } 87 /*}}}*/ 88 void Parameters::DeepEcho(void){/*{{{*/ 89 _error_("not implemented yet"); 90 } 91 /*}}}*/ 92 52 93 /*Object management*/ 53 bool Parameters::Exist(int enum_type){/*{{{*/ 54 55 vector<Object*>::iterator object; 56 Param* param=NULL; 57 58 for ( object=objects.begin() ; object < objects.end(); object++ ){ 59 param=xDynamicCast<Param*>(*object); 60 if(param->InstanceEnum()==enum_type) return true; 61 } 94 bool Parameters::Exist(int param_enum){/*{{{*/ 95 96 _assert_(param_enum>ParametersSTARTEnum); 97 _assert_(param_enum<ParametersENDEnum); 98 99 int index = param_enum - ParametersSTARTEnum -1; 100 if(this->params[index]) return true; 101 62 102 return false; 63 103 } 64 104 /*}}}*/ 65 void Parameters::FindParam(bool* pbool,int enum_type){ _assert_(this);/*{{{*/ 66 67 vector<Object*>::iterator object; 68 Param* param=NULL; 69 70 for ( object=objects.begin() ; object < objects.end(); object++ ){ 71 72 param=xDynamicCast<Param*>(*object); 73 if(param->InstanceEnum()==enum_type){ 74 param->GetParameterValue(pbool); 75 return; 76 } 77 } 78 _error_("could not find parameter " << EnumToStringx(enum_type)); 79 } 80 /*}}}*/ 81 void Parameters::FindParam(int* pinteger,int enum_type){ _assert_(this);/*{{{*/ 82 83 vector<Object*>::iterator object; 84 Param* param=NULL; 85 86 for ( object=objects.begin() ; object < objects.end(); object++ ){ 87 88 param=xDynamicCast<Param*>(*object); 89 if(param->InstanceEnum()==enum_type){ 90 param->GetParameterValue(pinteger); 91 return; 92 } 93 } 94 _error_("could not find parameter " << EnumToStringx(enum_type)); 95 } 96 /*}}}*/ 97 void Parameters::FindParam(IssmDouble* pscalar, int enum_type){ _assert_(this);/*{{{*/ 98 99 vector<Object*>::iterator object; 100 Param* param=NULL; 101 102 for ( object=objects.begin() ; object < objects.end(); object++ ){ 103 104 param=xDynamicCast<Param*>(*object); 105 if(param->InstanceEnum()==enum_type){ 106 param->GetParameterValue(pscalar); 107 return; 108 } 109 } 110 _error_("could not find parameter " << EnumToStringx(enum_type)); 111 } 112 /*}}}*/ 113 void Parameters::FindParam(IssmDouble* pscalar, int enum_type,IssmDouble time){ _assert_(this);/*{{{*/ 114 115 vector<Object*>::iterator object; 116 Param* param=NULL; 117 118 for ( object=objects.begin() ; object < objects.end(); object++ ){ 119 120 param=xDynamicCast<Param*>(*object); 121 if(param->InstanceEnum()==enum_type){ 122 param->GetParameterValue(pscalar,time); 123 return; 124 } 125 } 126 _error_("could not find parameter " << EnumToStringx(enum_type)); 127 } 128 /*}}}*/ 129 void Parameters::FindParam(char** pstring,int enum_type){ _assert_(this);/*{{{*/ 130 131 vector<Object*>::iterator object; 132 Param* param=NULL; 133 134 for ( object=objects.begin() ; object < objects.end(); object++ ){ 135 136 param=xDynamicCast<Param*>(*object); 137 if(param->InstanceEnum()==enum_type){ 138 param->GetParameterValue(pstring); 139 return; 140 } 141 } 142 _error_("could not find parameter " << EnumToStringx(enum_type)); 143 144 } 145 /*}}}*/ 146 void Parameters::FindParam(char*** pstringarray,int* pM,int enum_type){ _assert_(this);/*{{{*/ 147 148 vector<Object*>::iterator object; 149 Param* param=NULL; 150 151 for ( object=objects.begin() ; object < objects.end(); object++ ){ 152 153 param=xDynamicCast<Param*>(*object); 154 if(param->InstanceEnum()==enum_type){ 155 param->GetParameterValue(pstringarray,pM); 156 return; 157 } 158 } 159 _error_("could not find parameter " << EnumToStringx(enum_type)); 160 161 } 162 /*}}}*/ 163 void Parameters::FindParam(int** pintarray,int* pM, int enum_type){ _assert_(this);/*{{{*/ 164 165 vector<Object*>::iterator object; 166 Param* param=NULL; 167 168 for ( object=objects.begin() ; object < objects.end(); object++ ){ 169 170 param=xDynamicCast<Param*>(*object); 171 if(param->InstanceEnum()==enum_type){ 172 param->GetParameterValue(pintarray,pM); 173 return; 174 } 175 } 176 _error_("could not find parameter " << EnumToStringx(enum_type)); 177 178 } 179 /*}}}*/ 180 void Parameters::FindParam(int** pintarray,int* pM,int *pN,int enum_type){ _assert_(this);/*{{{*/ 181 182 vector<Object*>::iterator object; 183 Param* param=NULL; 184 185 for ( object=objects.begin() ; object < objects.end(); object++ ){ 186 187 param=xDynamicCast<Param*>(*object); 188 if(param->InstanceEnum()==enum_type){ 189 param->GetParameterValue(pintarray,pM,pN); 190 return; 191 } 192 } 193 _error_("could not find parameter " << EnumToStringx(enum_type)); 194 195 } 196 /*}}}*/ 197 void Parameters::FindParam(IssmDouble** pIssmDoublearray,int* pM, int enum_type){ _assert_(this);/*{{{*/ 198 199 vector<Object*>::iterator object; 200 Param* param=NULL; 201 202 for ( object=objects.begin() ; object < objects.end(); object++ ){ 203 204 param=xDynamicCast<Param*>(*object); 205 if(param->InstanceEnum()==enum_type){ 206 param->GetParameterValue(pIssmDoublearray,pM); 207 return; 208 } 209 } 210 _error_("could not find parameter " << EnumToStringx(enum_type)); 211 212 } 213 /*}}}*/ 214 void Parameters::FindParam(IssmDouble** pIssmDoublearray,int* pM, int* pN,int enum_type){ _assert_(this);/*{{{*/ 215 216 vector<Object*>::iterator object; 217 Param* param=NULL; 218 219 for ( object=objects.begin() ; object < objects.end(); object++ ){ 220 221 param=xDynamicCast<Param*>(*object); 222 if(param->InstanceEnum()==enum_type){ 223 param->GetParameterValue(pIssmDoublearray,pM,pN); 224 return; 225 } 226 } 227 _error_("could not find parameter " << EnumToStringx(enum_type)); 228 229 } 230 /*}}}*/ 231 void Parameters::FindParam(IssmDouble*** parray,int* pM,int** pmdims_array,int** pndims_array,int enum_type){ _assert_(this);/*{{{*/ 232 233 vector<Object*>::iterator object; 234 Param* param=NULL; 235 236 for ( object=objects.begin() ; object < objects.end(); object++ ){ 237 238 param=xDynamicCast<Param*>(*object); 239 if(param->InstanceEnum()==enum_type){ 240 param->GetParameterValue(parray,pM,pmdims_array,pndims_array); 241 return; 242 } 243 } 244 _error_("could not find parameter " << EnumToStringx(enum_type)); 245 } 246 /*}}}*/ 247 void Parameters::FindParam(Vector<IssmDouble>** pvec,int enum_type){ _assert_(this);/*{{{*/ 248 249 vector<Object*>::iterator object; 250 Param* param=NULL; 251 252 for ( object=objects.begin() ; object < objects.end(); object++ ){ 253 254 param=xDynamicCast<Param*>(*object); 255 if(param->InstanceEnum()==enum_type){ 256 param->GetParameterValue(pvec); 257 return; 258 } 259 } 260 _error_("could not find parameter " << EnumToStringx(enum_type)); 261 262 } 263 /*}}}*/ 264 void Parameters::FindParam(Matrix<IssmDouble>** pmat,int enum_type){ _assert_(this);/*{{{*/ 265 266 vector<Object*>::iterator object; 267 Param* param=NULL; 268 269 for ( object=objects.begin() ; object < objects.end(); object++ ){ 270 271 param=xDynamicCast<Param*>(*object); 272 if(param->InstanceEnum()==enum_type){ 273 param->GetParameterValue(pmat); 274 return; 275 } 276 } 277 _error_("could not find parameter " << EnumToStringx(enum_type)); 278 279 } 280 /*}}}*/ 281 void Parameters::FindParam(FILE** pfid,int enum_type){ _assert_(this);/*{{{*/ 282 283 vector<Object*>::iterator object; 284 Param* param=NULL; 285 286 for ( object=objects.begin() ; object < objects.end(); object++ ){ 287 288 param=xDynamicCast<Param*>(*object); 289 if(param->InstanceEnum()==enum_type){ 290 param->GetParameterValue(pfid); 291 return; 292 } 293 } 294 _error_("could not find parameter " << EnumToStringx(enum_type)); 295 } 296 /*}}}*/ 297 void Parameters::FindParam(DataSet** pdataset,int enum_type){ /*{{{*/ 105 void Parameters::FindParam(bool* pbool,int param_enum){ _assert_(this);/*{{{*/ 106 107 _assert_(param_enum>ParametersSTARTEnum); 108 _assert_(param_enum<ParametersENDEnum); 109 110 int index = param_enum - ParametersSTARTEnum -1; 111 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 112 this->params[index]->GetParameterValue(pbool); 113 } 114 /*}}}*/ 115 void Parameters::FindParam(int* pinteger,int param_enum){ _assert_(this);/*{{{*/ 116 117 _assert_(param_enum>ParametersSTARTEnum); 118 _assert_(param_enum<ParametersENDEnum); 119 120 int index = param_enum - ParametersSTARTEnum -1; 121 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 122 this->params[index]->GetParameterValue(pinteger); 123 } 124 /*}}}*/ 125 void Parameters::FindParam(IssmDouble* pscalar,int param_enum){ _assert_(this);/*{{{*/ 126 127 _assert_(param_enum>ParametersSTARTEnum); 128 _assert_(param_enum<ParametersENDEnum); 129 130 int index = param_enum - ParametersSTARTEnum -1; 131 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 132 this->params[index]->GetParameterValue(pscalar); 133 } 134 /*}}}*/ 135 void Parameters::FindParam(IssmDouble* pscalar, int param_enum,IssmDouble time){ _assert_(this);/*{{{*/ 136 137 _assert_(param_enum>ParametersSTARTEnum); 138 _assert_(param_enum<ParametersENDEnum); 139 140 int index = param_enum - ParametersSTARTEnum -1; 141 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 142 this->params[index]->GetParameterValue(pscalar,time); 143 } 144 /*}}}*/ 145 void Parameters::FindParam(char** pstring,int param_enum){ _assert_(this);/*{{{*/ 146 147 _assert_(param_enum>ParametersSTARTEnum); 148 _assert_(param_enum<ParametersENDEnum); 149 150 int index = param_enum - ParametersSTARTEnum -1; 151 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 152 this->params[index]->GetParameterValue(pstring); 153 154 } 155 /*}}}*/ 156 void Parameters::FindParam(char*** pstringarray,int* pM,int param_enum){ _assert_(this);/*{{{*/ 157 158 _assert_(param_enum>ParametersSTARTEnum); 159 _assert_(param_enum<ParametersENDEnum); 160 161 int index = param_enum - ParametersSTARTEnum -1; 162 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 163 this->params[index]->GetParameterValue(pstringarray,pM); 164 } 165 /*}}}*/ 166 void Parameters::FindParam(int** pintarray,int* pM, int param_enum){ _assert_(this);/*{{{*/ 167 168 _assert_(param_enum>ParametersSTARTEnum); 169 _assert_(param_enum<ParametersENDEnum); 170 171 int index = param_enum - ParametersSTARTEnum -1; 172 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 173 this->params[index]->GetParameterValue(pintarray,pM); 174 175 } 176 /*}}}*/ 177 void Parameters::FindParam(int** pintarray,int* pM,int *pN,int param_enum){ _assert_(this);/*{{{*/ 178 179 _assert_(param_enum>ParametersSTARTEnum); 180 _assert_(param_enum<ParametersENDEnum); 181 182 int index = param_enum - ParametersSTARTEnum -1; 183 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 184 this->params[index]->GetParameterValue(pintarray,pM,pN); 185 186 } 187 /*}}}*/ 188 void Parameters::FindParam(IssmDouble** pIssmDoublearray,int* pM, int param_enum){ _assert_(this);/*{{{*/ 189 190 _assert_(param_enum>ParametersSTARTEnum); 191 _assert_(param_enum<ParametersENDEnum); 192 193 int index = param_enum - ParametersSTARTEnum -1; 194 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 195 this->params[index]->GetParameterValue(pIssmDoublearray,pM); 196 } 197 /*}}}*/ 198 void Parameters::FindParam(IssmDouble** pIssmDoublearray,int* pM, int* pN,int param_enum){ _assert_(this);/*{{{*/ 199 200 _assert_(param_enum>ParametersSTARTEnum); 201 _assert_(param_enum<ParametersENDEnum); 202 203 int index = param_enum - ParametersSTARTEnum -1; 204 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 205 this->params[index]->GetParameterValue(pIssmDoublearray,pM,pN); 206 } 207 /*}}}*/ 208 void Parameters::FindParam(IssmDouble*** parray,int* pM,int** pmdims_array,int** pndims_array,int param_enum){ _assert_(this);/*{{{*/ 209 210 _assert_(param_enum>ParametersSTARTEnum); 211 _assert_(param_enum<ParametersENDEnum); 212 213 int index = param_enum - ParametersSTARTEnum -1; 214 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 215 this->params[index]->GetParameterValue(parray,pM,pmdims_array,pndims_array); 216 } 217 /*}}}*/ 218 void Parameters::FindParam(Vector<IssmDouble>** pvec,int param_enum){ _assert_(this);/*{{{*/ 219 220 _assert_(param_enum>ParametersSTARTEnum); 221 _assert_(param_enum<ParametersENDEnum); 222 223 int index = param_enum - ParametersSTARTEnum -1; 224 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 225 this->params[index]->GetParameterValue(pvec); 226 } 227 /*}}}*/ 228 void Parameters::FindParam(Matrix<IssmDouble>** pmat,int param_enum){ _assert_(this);/*{{{*/ 229 230 _assert_(param_enum>ParametersSTARTEnum); 231 _assert_(param_enum<ParametersENDEnum); 232 233 int index = param_enum - ParametersSTARTEnum -1; 234 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 235 this->params[index]->GetParameterValue(pmat); 236 } 237 /*}}}*/ 238 void Parameters::FindParam(FILE** pfid,int param_enum){ _assert_(this);/*{{{*/ 239 240 _assert_(param_enum>ParametersSTARTEnum); 241 _assert_(param_enum<ParametersENDEnum); 242 243 int index = param_enum - ParametersSTARTEnum -1; 244 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 245 this->params[index]->GetParameterValue(pfid); 246 } 247 /*}}}*/ 248 void Parameters::FindParam(DataSet** pdataset,int param_enum){ /*{{{*/ 298 249 _assert_(this); 299 250 300 vector<Object*>::iterator object; 301 Param* param=NULL; 302 303 for ( object=objects.begin() ; object < objects.end(); object++ ){ 304 305 param=xDynamicCast<Param*>(*object); 306 if(param->InstanceEnum()==enum_type){ 307 param->GetParameterValue(pdataset); 308 return; 309 } 310 } 311 _error_("could not find parameter " << EnumToStringx(enum_type)); 251 _assert_(param_enum>ParametersSTARTEnum); 252 _assert_(param_enum<ParametersENDEnum); 253 254 int index = param_enum - ParametersSTARTEnum -1; 255 if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set"); 256 this->params[index]->GetParameterValue(pdataset); 312 257 } 313 258 /*}}}*/ … … 457 402 /*}}}*/ 458 403 459 Object* Parameters::FindParamObject(int enum_type){/*{{{*/ 460 461 vector<Object*>::iterator object; 462 Param* param=NULL; 463 464 for ( object=objects.begin() ; object < objects.end(); object++ ){ 465 466 param=xDynamicCast<Param*>(*object); 467 if(param && param->InstanceEnum()==enum_type){ 468 return (*object); 469 } 470 } 471 return NULL; 404 Param* Parameters::FindParamObject(int param_enum){/*{{{*/ 405 406 _assert_(param_enum>ParametersSTARTEnum); 407 _assert_(param_enum<ParametersENDEnum); 408 409 int index = param_enum - ParametersSTARTEnum -1; 410 return this->params[index]; 472 411 } 473 412 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/Parameters.h
r16792 r20635 4 4 5 5 /*forward declarations */ 6 class Param; 7 class DataSet; 6 8 template <class doublematrix> class Matrix; 7 9 template <class doubletype> class Vector; 8 #include "../../datastructures/datastructures.h"9 10 #include "../../shared/shared.h" 11 12 #define NUMPARAMS ParametersENDEnum - ParametersSTARTEnum -1 10 13 11 14 /*!\brief Declaration of Parameters class. 12 15 * 13 * Declaration of Parameters class. Parameters are vector lists (Containers)of Parameter objects.16 * Declaration of Parameters class. Parameters are a static array of Parameter objects. 14 17 */ 15 class Parameters: public DataSet{ 18 class Parameters{ 19 20 private: 21 Param* params[NUMPARAMS]; 16 22 17 23 public: … … 23 29 /*numerics*/ 24 30 bool Exist(int enum_type); 31 void AddObject(Param* newparam); 32 Parameters* Copy(void); 33 void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction); 34 void Echo(); 35 void DeepEcho(); 25 36 26 37 void FindParam(bool* pinteger,int enum_type); … … 54 65 void SetParam(DataSet* dataset,int enum_type); 55 66 56 Object* FindParamObject(int enum_type);67 Param* FindParamObject(int enum_type); 57 68 58 69 }; 59 70 60 71 /*Methods relating to parameters: */ 61 char 62 void 72 char *OptionsFromAnalysis(Parameters *parameters,int analysis_type); 73 void ToolkitsOptionsFromAnalysis(Parameters* parameters,int analysis_type); 63 74 64 75 #endif //ifndef _PARAMETERS_H_ -
issm/trunk-jpl/src/c/classes/Params/StringArrayParam.cpp
r19254 r20635 75 75 } 76 76 /*}}}*/ 77 Object* StringArrayParam::copy() {/*{{{*/77 Param* StringArrayParam::copy() {/*{{{*/ 78 78 79 79 return new StringArrayParam(this->enum_type,this->value,this->numstrings); -
issm/trunk-jpl/src/c/classes/Params/StringArrayParam.h
r19217 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/StringParam.cpp
r19254 r20635 50 50 } 51 51 /*}}}*/ 52 Object* StringParam::copy() {/*{{{*/52 Param* StringParam::copy() {/*{{{*/ 53 53 54 54 return new StringParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/StringParam.h
r19222 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp
r19254 r20635 68 68 } 69 69 /*}}}*/ 70 Object* TransientParam::copy() {/*{{{*/70 Param* TransientParam::copy() {/*{{{*/ 71 71 72 72 return new TransientParam(this->enum_type,this->values,this->timesteps,this->interpolation,this->N); -
issm/trunk-jpl/src/c/classes/Params/TransientParam.h
r19254 r20635 38 38 int Id(); 39 39 int ObjectEnum(); 40 Object* copy();40 Param* copy(); 41 41 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 42 42 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Params/VectorParam.cpp
r18064 r20635 60 60 } 61 61 /*}}}*/ 62 Object* VectorParam::copy() {/*{{{*/62 Param* VectorParam::copy() {/*{{{*/ 63 63 64 64 return new VectorParam(this->enum_type,this->value); -
issm/trunk-jpl/src/c/classes/Params/VectorParam.h
r19198 r20635 36 36 int Id(); 37 37 int ObjectEnum(); 38 Object* copy();38 Param* copy(); 39 39 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); }; 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Profiler.h
r19215 r20635 16 16 17 17 enum ProfilerEnums { 18 Start ,18 Start=ParametersSTARTEnum+1,//FIXME 19 19 StartInit, 20 20 FinishInit, -
issm/trunk-jpl/src/c/datastructures/DataSet.cpp
r20362 r20635 161 161 this->AddObject(vertex); 162 162 } 163 else if(obj_enum==DoubleParamEnum){164 DoubleParam* doubleparam=NULL;165 doubleparam=new DoubleParam();166 doubleparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);167 this->AddObject(doubleparam);168 }169 else if(obj_enum==IntParamEnum){170 IntParam* intparam=NULL;171 intparam=new IntParam();172 intparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);173 this->AddObject(intparam);174 }175 else if(obj_enum==IntMatParamEnum){176 IntMatParam* intmparam=NULL;177 intmparam=new IntMatParam();178 intmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);179 this->AddObject(intmparam);180 }181 else if(obj_enum==IntVecParamEnum){182 IntVecParam* intvparam=NULL;183 intvparam=new IntVecParam();184 intvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);185 this->AddObject(intvparam);186 }187 else if(obj_enum==BoolParamEnum){188 BoolParam* boolparam=NULL;189 boolparam=new BoolParam();190 boolparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);191 this->AddObject(boolparam);192 }193 else if(obj_enum==DataSetParamEnum){194 DataSetParam* dsparam=NULL;195 dsparam=new DataSetParam();196 dsparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);197 this->AddObject(dsparam);198 }199 else if(obj_enum==DoubleMatArrayParamEnum){200 DoubleMatArrayParam* dmaparam=NULL;201 dmaparam=new DoubleMatArrayParam();202 dmaparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);203 this->AddObject(dmaparam);204 }205 else if(obj_enum==DoubleMatParamEnum){206 DoubleMatParam* dmparam=NULL;207 dmparam=new DoubleMatParam();208 dmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);209 this->AddObject(dmparam);210 }211 else if(obj_enum==DoubleVecParamEnum){212 DoubleVecParam* dvparam=NULL;213 dvparam=new DoubleVecParam();214 dvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);215 this->AddObject(dvparam);216 }217 else if(obj_enum==FileParamEnum){218 FileParam* fileparam=NULL;219 fileparam=new FileParam();220 fileparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);221 delete fileparam;222 /* No need to add this object, the pointer is not valid223 The FemModel should reset all FileParams in the restart function */224 }225 else if(obj_enum==StringParamEnum){226 StringParam* sparam=NULL;227 sparam=new StringParam();228 sparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);229 this->AddObject(sparam);230 }231 else if(obj_enum==StringArrayParamEnum){232 StringArrayParam* saparam=NULL;233 saparam=new StringArrayParam();234 saparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);235 this->AddObject(saparam);236 }237 else if(obj_enum==TransientParamEnum){238 TransientParam* transparam=NULL;239 transparam=new TransientParam();240 transparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);241 this->AddObject(transparam);242 }243 else if(obj_enum==GenericParamEnum){244 /*Skip for now (we don't want to Marhsall Comms*/245 }163 //else if(obj_enum==DoubleParamEnum){ 164 // DoubleParam* doubleparam=NULL; 165 // doubleparam=new DoubleParam(); 166 // doubleparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 167 // this->AddObject(doubleparam); 168 //} 169 //else if(obj_enum==IntParamEnum){ 170 // IntParam* intparam=NULL; 171 // intparam=new IntParam(); 172 // intparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 173 // this->AddObject(intparam); 174 //} 175 //else if(obj_enum==IntMatParamEnum){ 176 // IntMatParam* intmparam=NULL; 177 // intmparam=new IntMatParam(); 178 // intmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 179 // this->AddObject(intmparam); 180 //} 181 //else if(obj_enum==IntVecParamEnum){ 182 // IntVecParam* intvparam=NULL; 183 // intvparam=new IntVecParam(); 184 // intvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 185 // this->AddObject(intvparam); 186 //} 187 //else if(obj_enum==BoolParamEnum){ 188 // BoolParam* boolparam=NULL; 189 // boolparam=new BoolParam(); 190 // boolparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 191 // this->AddObject(boolparam); 192 //} 193 //else if(obj_enum==DataSetParamEnum){ 194 // DataSetParam* dsparam=NULL; 195 // dsparam=new DataSetParam(); 196 // dsparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 197 // this->AddObject(dsparam); 198 //} 199 //else if(obj_enum==DoubleMatArrayParamEnum){ 200 // DoubleMatArrayParam* dmaparam=NULL; 201 // dmaparam=new DoubleMatArrayParam(); 202 // dmaparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 203 // this->AddObject(dmaparam); 204 //} 205 //else if(obj_enum==DoubleMatParamEnum){ 206 // DoubleMatParam* dmparam=NULL; 207 // dmparam=new DoubleMatParam(); 208 // dmparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 209 // this->AddObject(dmparam); 210 //} 211 //else if(obj_enum==DoubleVecParamEnum){ 212 // DoubleVecParam* dvparam=NULL; 213 // dvparam=new DoubleVecParam(); 214 // dvparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 215 // this->AddObject(dvparam); 216 //} 217 //else if(obj_enum==FileParamEnum){ 218 // FileParam* fileparam=NULL; 219 // fileparam=new FileParam(); 220 // fileparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 221 // delete fileparam; 222 // /* No need to add this object, the pointer is not valid 223 // The FemModel should reset all FileParams in the restart function */ 224 //} 225 //else if(obj_enum==StringParamEnum){ 226 // StringParam* sparam=NULL; 227 // sparam=new StringParam(); 228 // sparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 229 // this->AddObject(sparam); 230 //} 231 //else if(obj_enum==StringArrayParamEnum){ 232 // StringArrayParam* saparam=NULL; 233 // saparam=new StringArrayParam(); 234 // saparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 235 // this->AddObject(saparam); 236 //} 237 //else if(obj_enum==TransientParamEnum){ 238 // TransientParam* transparam=NULL; 239 // transparam=new TransientParam(); 240 // transparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction); 241 // this->AddObject(transparam); 242 //} 243 //else if(obj_enum==GenericParamEnum){ 244 // /*Skip for now (we don't want to Marhsall Comms*/ 245 //} 246 246 else if(obj_enum==MaticeEnum){ 247 247 Matice* matice=NULL; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r20459 r20635 39 39 IssmDouble yts; 40 40 int N,M; 41 42 /*Make sure current dataset is empty*/43 _assert_(parameters->Size()==0);44 41 45 42 /*Copy some constants from iomodel */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
r19749 r20635 90 90 91 91 constraints->Presort(); 92 parameters->Presort();93 92 if(VerboseMProcessor()) _printf0_(" done with model processor \n"); 94 93 -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r20622 r20635 8 8 9 9 enum definitions{ 10 ParametersSTARTEnum, 10 11 /*General: {{{*/ 11 12 FemModelEnum, … … 1073 1074 SealevelriseNumRequestedOutputsEnum, 1074 1075 /*}}}*/ 1076 ParametersENDEnum, 1075 1077 MaximumNumberOfDefinitionsEnum 1076 1078 }; -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r20622 r20635 17 17 switch(en){ 18 18 19 case ParametersSTARTEnum : return "ParametersSTART"; 19 20 case FemModelEnum : return "FemModel"; 20 21 case FemModelCommEnum : return "FemModelComm"; … … 1024 1025 case SealevelriseRequestedOutputsEnum : return "SealevelriseRequestedOutputs"; 1025 1026 case SealevelriseNumRequestedOutputsEnum : return "SealevelriseNumRequestedOutputs"; 1027 case ParametersENDEnum : return "ParametersEND"; 1026 1028 case MaximumNumberOfDefinitionsEnum : return "MaximumNumberOfDefinitions"; 1027 1029 default : return "unknown"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r20622 r20635 17 17 18 18 if(stage==1){ 19 if (strcmp(name,"FemModel")==0) return FemModelEnum; 19 if (strcmp(name,"ParametersSTART")==0) return ParametersSTARTEnum; 20 else if (strcmp(name,"FemModel")==0) return FemModelEnum; 20 21 else if (strcmp(name,"FemModelComm")==0) return FemModelCommEnum; 21 22 else if (strcmp(name,"WorldComm")==0) return WorldCommEnum; … … 136 137 else if (strcmp(name,"HydrologyModel")==0) return HydrologyModelEnum; 137 138 else if (strcmp(name,"Hydrologyshreve")==0) return HydrologyshreveEnum; 138 else if (strcmp(name,"HydrologyshreveSpcwatercolumn")==0) return HydrologyshreveSpcwatercolumnEnum;139 139 else stage=2; 140 140 } 141 141 if(stage==2){ 142 if (strcmp(name,"HydrologyshreveStabilization")==0) return HydrologyshreveStabilizationEnum; 142 if (strcmp(name,"HydrologyshreveSpcwatercolumn")==0) return HydrologyshreveSpcwatercolumnEnum; 143 else if (strcmp(name,"HydrologyshreveStabilization")==0) return HydrologyshreveStabilizationEnum; 143 144 else if (strcmp(name,"Hydrologydc")==0) return HydrologydcEnum; 144 145 else if (strcmp(name,"SedimentHead")==0) return SedimentHeadEnum; … … 259 260 else if (strcmp(name,"DamageEvolutionRequestedOutputs")==0) return DamageEvolutionRequestedOutputsEnum; 260 261 else if (strcmp(name,"Damage")==0) return DamageEnum; 261 else if (strcmp(name,"NewDamage")==0) return NewDamageEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum; 265 if (strcmp(name,"NewDamage")==0) return NewDamageEnum; 266 else if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum; 266 267 else if (strcmp(name,"CalvingLaw")==0) return CalvingLawEnum; 267 268 else if (strcmp(name,"CalvingCalvingrate")==0) return CalvingCalvingrateEnum; … … 382 383 else if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum; 383 384 else if (strcmp(name,"TransientIsthermal")==0) return TransientIsthermalEnum; 384 else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"TransientIsdamageevolution")==0) return TransientIsdamageevolutionEnum; 388 if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum; 389 else if (strcmp(name,"TransientIsdamageevolution")==0) return TransientIsdamageevolutionEnum; 389 390 else if (strcmp(name,"TransientIshydrology")==0) return TransientIshydrologyEnum; 390 391 else if (strcmp(name,"TransientIsmovingfront")==0) return TransientIsmovingfrontEnum; … … 505 506 else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum; 506 507 else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum; 507 else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum; 511 if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum; 512 else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum; 512 513 else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum; 513 514 else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum; … … 628 629 else if (strcmp(name,"MassconaxpbyNamey")==0) return MassconaxpbyNameyEnum; 629 630 else if (strcmp(name,"MassconaxpbyAlpha")==0) return MassconaxpbyAlphaEnum; 630 else if (strcmp(name,"MassconaxpbyBeta")==0) return MassconaxpbyBetaEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"NodeSId")==0) return NodeSIdEnum; 634 if (strcmp(name,"MassconaxpbyBeta")==0) return MassconaxpbyBetaEnum; 635 else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum; 635 636 else if (strcmp(name,"VectorParam")==0) return VectorParamEnum; 636 637 else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum; … … 751 752 else if (strcmp(name,"StrainRatexy")==0) return StrainRatexyEnum; 752 753 else if (strcmp(name,"StrainRatexz")==0) return StrainRatexzEnum; 753 else if (strcmp(name,"StrainRateyy")==0) return StrainRateyyEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"StrainRateyz")==0) return StrainRateyzEnum; 757 if (strcmp(name,"StrainRateyy")==0) return StrainRateyyEnum; 758 else if (strcmp(name,"StrainRateyz")==0) return StrainRateyzEnum; 758 759 else if (strcmp(name,"StrainRatezz")==0) return StrainRatezzEnum; 759 760 else if (strcmp(name,"Divergence")==0) return DivergenceEnum; … … 874 875 else if (strcmp(name,"Outputdefinition77")==0) return Outputdefinition77Enum; 875 876 else if (strcmp(name,"Outputdefinition78")==0) return Outputdefinition78Enum; 876 else if (strcmp(name,"Outputdefinition79")==0) return Outputdefinition79Enum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"Outputdefinition80")==0) return Outputdefinition80Enum; 880 if (strcmp(name,"Outputdefinition79")==0) return Outputdefinition79Enum; 881 else if (strcmp(name,"Outputdefinition80")==0) return Outputdefinition80Enum; 881 882 else if (strcmp(name,"Outputdefinition81")==0) return Outputdefinition81Enum; 882 883 else if (strcmp(name,"Outputdefinition82")==0) return Outputdefinition82Enum; … … 997 998 else if (strcmp(name,"Sset")==0) return SsetEnum; 998 999 else if (strcmp(name,"Verbose")==0) return VerboseEnum; 999 else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum; 1003 if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum; 1004 else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum; 1004 1005 else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum; 1005 1006 else if (strcmp(name,"XY")==0) return XYEnum; … … 1048 1049 else if (strcmp(name,"SealevelriseRequestedOutputs")==0) return SealevelriseRequestedOutputsEnum; 1049 1050 else if (strcmp(name,"SealevelriseNumRequestedOutputs")==0) return SealevelriseNumRequestedOutputsEnum; 1051 else if (strcmp(name,"ParametersEND")==0) return ParametersENDEnum; 1050 1052 else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum; 1051 1053 else stage=10;
Note:
See TracChangeset
for help on using the changeset viewer.