- Timestamp:
- 11/12/21 06:25:41 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r26608 r26615 500 500 501 501 bool isstochasticforcing; 502 503 504 int num_fields;505 506 507 iomodel->FindConstant(&fields,&num_fields,"md.stochasticforcing.fields");508 if(num_fields<1) _error_("no stochasticforcing fields found");509 int* stochasticforcing_enums = xNew<int>(num_fields);510 for(int i=0;i<num_fields;i++){ 511 stochasticforcing_enums[i] = StringToEnumx(fields[i]); 512 xDelete<char>(fields[i]);513 } 514 xDelete<char*>(fields); 515 parameters->AddObject(new IntVecParam(StochasticForcingFieldsEnum,stochasticforcing_enums,num_fields));516 xDelete<int>(stochasticforcing_enums);517 502 parameters->FindParam(&isstochasticforcing,StochasticForcingIsStochasticForcingEnum); 503 if(isstochasticforcing){ 504 int num_fields,stochastic_dim; 505 char** fields; 506 parameters->AddObject(iomodel->CopyConstantObject("md.stochasticforcing.num_fields",StochasticForcingNumFieldsEnum)); 507 parameters->AddObject(iomodel->CopyConstantObject("md.stochasticforcing.defaultdimension",StochasticForcingDefaultDimensionEnum)); 508 iomodel->FindConstant(&fields,&num_fields,"md.stochasticforcing.fields"); 509 if(num_fields<1) _error_("no stochasticforcing fields found"); 510 int* stochasticforcing_enums = xNew<int>(num_fields); 511 for(int i=0;i<num_fields;i++){ 512 stochasticforcing_enums[i] = StringToEnumx(fields[i]); 513 xDelete<char>(fields[i]); 514 } 515 xDelete<char*>(fields); 516 parameters->AddObject(new IntVecParam(StochasticForcingFieldsEnum,stochasticforcing_enums,num_fields)); 517 xDelete<int>(stochasticforcing_enums); 518 518 parameters->AddObject(iomodel->CopyConstantObject("md.stochasticforcing.randomflag",StochasticForcingRandomflagEnum)); 519 520 521 522 523 524 525 519 iomodel->FetchData(&transparam,&M,&N,"md.stochasticforcing.dimensions"); 520 parameters->AddObject(new IntVecParam(StochasticForcingDimensionsEnum,transparam,N)); 521 xDelete<IssmDouble>(transparam); 522 iomodel->FetchData(&transparam,&M,&N,"md.stochasticforcing.covariance"); 523 parameters->AddObject(new DoubleMatParam(StochasticForcingCovarianceEnum,transparam,M,N)); 524 xDelete<IssmDouble>(transparam); 525 } 526 526 527 527 /*Deal with mass flux segments: {{{*/
Note:
See TracChangeset
for help on using the changeset viewer.