Changeset 27902
- Timestamp:
- 09/12/23 15:48:53 (18 months ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r27851 r27902 91 91 ./classes/Cfsurfacesquaretransient.cpp \ 92 92 ./classes/Cfdragcoeffabsgrad.cpp \ 93 ./classes/Cfdragcoeffabsgradtransient.cpp \ 93 94 ./classes/Cfrheologybbarabsgrad.cpp \ 94 95 ./classes/Cfsurfacelogvel.cpp \ -
issm/trunk-jpl/src/c/classes/classes.h
r27709 r27902 26 26 #include "./Cfsurfacesquaretransient.h" 27 27 #include "./Cfdragcoeffabsgrad.h" 28 #include "./Cfdragcoeffabsgradtransient.h" 28 29 #include "./Cfrheologybbarabsgrad.h" 29 30 #include "./Cfsurfacelogvel.h" -
issm/trunk-jpl/src/c/datastructures/DataSet.cpp
r27733 r27902 276 276 this->AddObject(cfdragcoeff); 277 277 } 278 else if(obj_enum==CfdragcoeffabsgradtransientEnum){ 279 Cfdragcoeffabsgradtransient* cfdragcoeff=new Cfdragcoeffabsgradtransient(); 280 cfdragcoeff->Marshall(marshallhandle); 281 this->AddObject(cfdragcoeff); 282 } 278 283 else if(obj_enum==CfrheologybbarabsgradEnum){ 279 284 Cfrheologybbarabsgrad* cfrheologybbarabsgrad=new Cfrheologybbarabsgrad(); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
r27795 r27902 373 373 /*}}}*/ 374 374 } 375 else if (output_definition_enums[i]==CfdragcoeffabsgradtransientEnum){ 376 /*Deal with cfdragcoeffabsgradtransient: {{{*/ 377 378 /*cfdragcoeffabsgrad variables: */ 379 int num_cfdragcoeffabsgradtransients, test; 380 char** cfdraggradt_name_s = NULL; 381 char** cfdraggradt_definitionstring_s = NULL; 382 IssmDouble** cfdraggradt_weights_s = NULL; 383 int* cfdraggradt_weights_M_s = NULL; 384 int* cfdraggradt_weights_N_s = NULL; 385 386 /*Fetch name, model_string, observation, observation_string, etc ... (see src/m/classes/cfdragcoeffabsgrad.m): */ 387 iomodel->FetchMultipleData(&cfdraggradt_name_s,&num_cfdragcoeffabsgradtransients, "md.cfdragcoeffabsgradtransient.name"); 388 iomodel->FetchMultipleData(&cfdraggradt_definitionstring_s,&num_cfdragcoeffabsgradtransients, "md.cfdragcoeffabsgradtransient.definitionstring"); 389 iomodel->FetchMultipleData(&cfdraggradt_weights_s,&cfdraggradt_weights_M_s,&cfdraggradt_weights_N_s,&test, "md.cfdragcoeffabsgradtransient.weights"); 390 391 for(j=0;j<num_cfdragcoeffabsgradtransients;j++){ 392 393 /*Check that we can use P1 inputs*/ 394 if (cfdraggradt_weights_M_s[j]!=iomodel->numberofvertices+1) _error_("weights should be a P1 time series"); 395 396 /*extract data times from last row of observations*/ 397 IssmDouble *datatimes = xNew<IssmDouble>(cfdraggradt_weights_N_s[j]); 398 for(int k=0;k<cfdraggradt_weights_N_s[j];k++) datatimes[k] = (cfdraggradt_weights_s[j])[cfdraggradt_weights_N_s[j]*(cfdraggradt_weights_M_s[j]-1)+k]; 399 400 /*First create a cfdragcoeffabsgradtransient object for that specific string:*/ 401 output_definitions->AddObject(new Cfdragcoeffabsgradtransient(cfdraggradt_name_s[j],StringToEnumx(cfdraggradt_definitionstring_s[j]), cfdraggradt_weights_N_s[j], datatimes)); 402 403 /*Now, for this particular cfdragcoeffabsgrad object, make sure we plug into the elements: the observation, and the weights.*/ 404 for(Object* & object : elements->objects){ 405 406 Element* element=xDynamicCast<Element*>(object); 407 408 element->DatasetInputAdd(StringToEnumx(cfdraggradt_definitionstring_s[j]),cfdraggradt_weights_s[j],inputs,iomodel,cfdraggradt_weights_M_s[j],cfdraggradt_weights_N_s[j],1,WeightsSurfaceObservationEnum,WeightsSurfaceObservationEnum); 409 410 } 411 } 412 413 /*Free resources:*/ 414 for(j=0;j<num_cfdragcoeffabsgradtransients;j++){ 415 char* string=NULL; 416 IssmDouble* matrix = NULL; 417 418 string = cfdraggradt_definitionstring_s[j]; xDelete<char>(string); 419 string = cfdraggradt_name_s[j]; xDelete<char>(string); 420 matrix = cfdraggradt_weights_s[j]; xDelete<IssmDouble>(matrix); 421 } 422 xDelete<char*>(cfdraggradt_name_s); 423 xDelete<char*>(cfdraggradt_definitionstring_s); 424 xDelete<IssmDouble*>(cfdraggradt_weights_s); 425 xDelete<int>(cfdraggradt_weights_M_s); 426 xDelete<int>(cfdraggradt_weights_N_s); 427 /*}}}*/ 428 } 375 429 else if (output_definition_enums[i]==CfrheologybbarabsgradEnum){ 376 430 /*Deal with cfrheologybbarabsgrad: {{{*/ -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r27863 r27902 1418 1418 syn keyword cConstant CalvingPollardEnum 1419 1419 syn keyword cConstant CfdragcoeffabsgradEnum 1420 syn keyword cConstant CfdragcoeffabsgradtransientEnum 1420 1421 syn keyword cConstant CfrheologybbarabsgradEnum 1421 1422 syn keyword cConstant CfsurfacelogvelEnum … … 1795 1796 syn keyword cType BoolParam 1796 1797 syn keyword cType Cfdragcoeffabsgrad 1798 syn keyword cType Cfdragcoeffabsgradtransient 1797 1799 syn keyword cType Cflevelsetmisfit 1798 1800 syn keyword cType Cfrheologybbarabsgrad -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r27863 r27902 1417 1417 CalvingPollardEnum, 1418 1418 CfdragcoeffabsgradEnum, 1419 CfdragcoeffabsgradtransientEnum, 1419 1420 CfrheologybbarabsgradEnum, 1420 1421 CfsurfacelogvelEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r27863 r27902 1420 1420 case CalvingPollardEnum : return "CalvingPollard"; 1421 1421 case CfdragcoeffabsgradEnum : return "Cfdragcoeffabsgrad"; 1422 case CfdragcoeffabsgradtransientEnum : return "Cfdragcoeffabsgradtransient"; 1422 1423 case CfrheologybbarabsgradEnum : return "Cfrheologybbarabsgrad"; 1423 1424 case CfsurfacelogvelEnum : return "Cfsurfacelogvel"; -
issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim
r27863 r27902 1411 1411 syn keyword juliaConstC CalvingPollardEnum 1412 1412 syn keyword juliaConstC CfdragcoeffabsgradEnum 1413 syn keyword juliaConstC CfdragcoeffabsgradtransientEnum 1413 1414 syn keyword juliaConstC CfrheologybbarabsgradEnum 1414 1415 syn keyword juliaConstC CfsurfacelogvelEnum -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r27863 r27902 1453 1453 else if (strcmp(name,"CalvingPollard")==0) return CalvingPollardEnum; 1454 1454 else if (strcmp(name,"Cfdragcoeffabsgrad")==0) return CfdragcoeffabsgradEnum; 1455 else if (strcmp(name,"Cfdragcoeffabsgradtransient")==0) return CfdragcoeffabsgradtransientEnum; 1455 1456 else if (strcmp(name,"Cfrheologybbarabsgrad")==0) return CfrheologybbarabsgradEnum; 1456 1457 else if (strcmp(name,"Cfsurfacelogvel")==0) return CfsurfacelogvelEnum; … … 1489 1490 else if (strcmp(name,"DependentObject")==0) return DependentObjectEnum; 1490 1491 else if (strcmp(name,"DepthAverageAnalysis")==0) return DepthAverageAnalysisEnum; 1491 else if (strcmp(name,"DeviatoricStressErrorEstimator")==0) return DeviatoricStressErrorEstimatorEnum;1492 1492 else stage=13; 1493 1493 } 1494 1494 if(stage==13){ 1495 if (strcmp(name,"Divergence")==0) return DivergenceEnum; 1495 if (strcmp(name,"DeviatoricStressErrorEstimator")==0) return DeviatoricStressErrorEstimatorEnum; 1496 else if (strcmp(name,"Divergence")==0) return DivergenceEnum; 1496 1497 else if (strcmp(name,"Domain3Dsurface")==0) return Domain3DsurfaceEnum; 1497 1498 else if (strcmp(name,"DoubleArrayInput")==0) return DoubleArrayInputEnum; … … 1612 1613 else if (strcmp(name,"LoveKt")==0) return LoveKtEnum; 1613 1614 else if (strcmp(name,"LoveLf")==0) return LoveLfEnum; 1614 else if (strcmp(name,"LoveLt")==0) return LoveLtEnum;1615 1615 else stage=14; 1616 1616 } 1617 1617 if(stage==14){ 1618 if (strcmp(name,"LoveTidalHt")==0) return LoveTidalHtEnum; 1618 if (strcmp(name,"LoveLt")==0) return LoveLtEnum; 1619 else if (strcmp(name,"LoveTidalHt")==0) return LoveTidalHtEnum; 1619 1620 else if (strcmp(name,"LoveTidalKt")==0) return LoveTidalKtEnum; 1620 1621 else if (strcmp(name,"LoveTidalLt")==0) return LoveTidalLtEnum; … … 1735 1736 else if (strcmp(name,"SealevelAbsolute")==0) return SealevelAbsoluteEnum; 1736 1737 else if (strcmp(name,"SealevelEmotion")==0) return SealevelEmotionEnum; 1737 else if (strcmp(name,"SealevelchangePolarMotionX")==0) return SealevelchangePolarMotionXEnum;1738 1738 else stage=15; 1739 1739 } 1740 1740 if(stage==15){ 1741 if (strcmp(name,"SealevelchangePolarMotionY")==0) return SealevelchangePolarMotionYEnum; 1741 if (strcmp(name,"SealevelchangePolarMotionX")==0) return SealevelchangePolarMotionXEnum; 1742 else if (strcmp(name,"SealevelchangePolarMotionY")==0) return SealevelchangePolarMotionYEnum; 1742 1743 else if (strcmp(name,"SealevelchangePolarMotionZ")==0) return SealevelchangePolarMotionZEnum; 1743 1744 else if (strcmp(name,"SealevelchangePolarMotion")==0) return SealevelchangePolarMotionEnum;
Note:
See TracChangeset
for help on using the changeset viewer.