Changeset 15767
- Timestamp:
- 08/09/13 09:05:02 (12 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 11 added
- 11 deleted
- 157 edited
- 1 copied
- 8 moved
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/m4/issm_options.m4
r15764 r15767 1523 1523 AC_MSG_RESULT($HAVE_THERMAL) 1524 1524 dnl }}} 1525 dnl with- prognostic{{{1526 AC_ARG_WITH([ prognostic],1527 AS_HELP_STRING([--with- prognostic = YES], [compile with prognosticcapabilities (default is yes)]),1528 [ PROGNOSTIC=$withval],[PROGNOSTIC=yes])1529 AC_MSG_CHECKING(for prognosticcapability compilation)1530 1531 if test "x$ PROGNOSTIC" = "xyes"; then1525 dnl with-masstransport{{{ 1526 AC_ARG_WITH([masstransport], 1527 AS_HELP_STRING([--with-masstransport = YES], [compile with masstransport capabilities (default is yes)]), 1528 [MASSTRANSPORT=$withval],[MASSTRANSPORT=yes]) 1529 AC_MSG_CHECKING(for masstransport capability compilation) 1530 1531 if test "x$MASSTRANSPORT" = "xyes"; then 1532 1532 1533 1533 dnl defaults 1534 HAVE_ PROGNOSTIC=yes1535 1536 AC_DEFINE([_HAVE_ PROGNOSTIC_],[1],[with prognosticcapability])1537 else 1538 HAVE_ PROGNOSTIC=no1539 fi 1540 AM_CONDITIONAL([ PROGNOSTIC], [test x$HAVE_PROGNOSTIC= xyes])1541 AC_MSG_RESULT($HAVE_ PROGNOSTIC)1534 HAVE_MASSTRANSPORT=yes 1535 1536 AC_DEFINE([_HAVE_MASSTRANSPORT_],[1],[with masstransport capability]) 1537 else 1538 HAVE_MASSTRANSPORT=no 1539 fi 1540 AM_CONDITIONAL([MASSTRANSPORT], [test x$HAVE_MASSTRANSPORT = xyes]) 1541 AC_MSG_RESULT($HAVE_MASSTRANSPORT) 1542 1542 dnl }}} 1543 1543 dnl with-control{{{ -
issm/trunk-jpl/src/ad/validation/Update/update.m
r15564 r15767 12 12 md.verbose=verbose('solution',true); 13 13 14 md=solve(md, PrognosticSolutionEnum);14 md=solve(md,MasstransportSolutionEnum); 15 15 16 thickness=md.results. PrognosticSolution.Thickness;16 thickness=md.results.MasstransportSolution.Thickness; 17 17 save ../Validation/Archive.mat thickness; -
issm/trunk-jpl/src/ad/validation/Validation/validation.m
r10333 r15767 22 22 23 23 s=load('Archive.mat'); h0=s.thickness; 24 h=md.results. PrognosticSolution.Thickness;24 h=md.results.MasstransportSolution.Thickness; 25 25 error_diff=full(max(abs(h-h0))/(max(abs(h0))+eps)); 26 26 if (error_diff>tolerance); -
issm/trunk-jpl/src/c/Makefile.am
r15764 r15767 366 366 steadystate_sources = ./analyses/steadystate_core.cpp 367 367 #}}} 368 # Prognosticsources {{{369 prognostic_sources = ./modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp\370 ./modules/ModelProcessorx/ Prognostic/CreateNodesPrognostic.cpp\371 ./modules/ModelProcessorx/ Prognostic/CreateConstraintsPrognostic.cpp\372 ./modules/ModelProcessorx/ Prognostic/CreateLoadsPrognostic.cpp\373 ./analyses/ prognostic_core.cpp368 #Masstransport sources {{{ 369 masstransport_sources = ./modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp\ 370 ./modules/ModelProcessorx/Masstransport/CreateNodesMasstransport.cpp\ 371 ./modules/ModelProcessorx/Masstransport/CreateConstraintsMasstransport.cpp\ 372 ./modules/ModelProcessorx/Masstransport/CreateLoadsMasstransport.cpp\ 373 ./analyses/masstransport_core.cpp 374 374 #}}} 375 375 #Thermal sources {{{ … … 870 870 endif 871 871 872 if PROGNOSTIC873 issm_sources += $( prognostic_sources)872 if MASSTRANSPORT 873 issm_sources += $(masstransport_sources) 874 874 endif 875 875 -
issm/trunk-jpl/src/c/analyses/AnalysisConfiguration.cpp
r15564 r15767 71 71 break; 72 72 73 case PrognosticSolutionEnum:73 case MasstransportSolutionEnum: 74 74 numanalyses=1; 75 75 analyses=xNew<int>(numanalyses); 76 analyses[0]= PrognosticAnalysisEnum;76 analyses[0]=MasstransportAnalysisEnum; 77 77 break; 78 78 … … 118 118 analyses[6]=MeltingAnalysisEnum; 119 119 analyses[7]=EnthalpyAnalysisEnum; 120 analyses[8]= PrognosticAnalysisEnum;120 analyses[8]=MasstransportAnalysisEnum; 121 121 break; 122 122 -
issm/trunk-jpl/src/c/analyses/CorePointerFromSolutionEnum.cpp
r15339 r15767 93 93 #endif 94 94 break; 95 case PrognosticSolutionEnum:96 #ifdef _HAVE_ PROGNOSTIC_97 solutioncore=& prognostic_core;95 case MasstransportSolutionEnum: 96 #ifdef _HAVE_MASSTRANSPORT_ 97 solutioncore=&masstransport_core; 98 98 #else 99 _error_("ISSM was not compiled with prognosticcapabilities. Exiting");99 _error_("ISSM was not compiled with masstransport capabilities. Exiting"); 100 100 #endif 101 101 break; -
issm/trunk-jpl/src/c/analyses/analyses.h
r15055 r15767 28 28 void control_core(FemModel* femmodel); 29 29 void controltao_core(FemModel* femmodel); 30 void prognostic_core(FemModel* femmodel);30 void masstransport_core(FemModel* femmodel); 31 31 void balancethickness_core(FemModel* femmodel); 32 32 void slopecompute_core(FemModel* femmodel); -
issm/trunk-jpl/src/c/analyses/masstransport_core.cpp
r15764 r15767 1 /*!\file: prognostic_core.cpp2 * \brief: core of the prognosticsolution1 /*!\file: masstransport_core.cpp 2 * \brief: core of the masstransport solution 3 3 */ 4 4 … … 10 10 #include "../solutionsequences/solutionsequences.h" 11 11 12 void prognostic_core(FemModel* femmodel){12 void masstransport_core(FemModel* femmodel){ 13 13 14 14 /*parameters: */ … … 20 20 21 21 /*activate formulation: */ 22 femmodel->SetCurrentConfiguration( PrognosticAnalysisEnum);22 femmodel->SetCurrentConfiguration(MasstransportAnalysisEnum); 23 23 24 24 /*recover parameters: */ … … 28 28 femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 29 29 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 30 femmodel->parameters->FindParam(&numoutputs, PrognosticNumRequestedOutputsEnum);31 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs, PrognosticRequestedOutputsEnum);30 femmodel->parameters->FindParam(&numoutputs,MasstransportNumRequestedOutputsEnum); 31 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,MasstransportRequestedOutputsEnum); 32 32 33 33 if(issmbgradients){ … … 52 52 } 53 53 54 if(solution_type== PrognosticSolutionEnum)femmodel->RequestedDependentsx();54 if(solution_type==MasstransportSolutionEnum)femmodel->RequestedDependentsx(); 55 55 56 56 /*Free ressources:*/ -
issm/trunk-jpl/src/c/analyses/transient_core.cpp
r15375 r15767 21 21 /*parameters: */ 22 22 IssmDouble starttime,finaltime,dt,yts; 23 bool isdiagnostic,is prognostic,isthermal,isgroundingline,isenthalpy,isdelta18o,isgia;23 bool isdiagnostic,ismasstransport,isthermal,isgroundingline,isenthalpy,isdelta18o,isgia; 24 24 bool save_results,dakota_analysis; 25 25 bool time_adapt=false; … … 43 43 femmodel->parameters->FindParam(&time_adapt,TimesteppingTimeAdaptEnum); 44 44 femmodel->parameters->FindParam(&isdiagnostic,TransientIsdiagnosticEnum); 45 femmodel->parameters->FindParam(&is prognostic,TransientIsprognosticEnum);45 femmodel->parameters->FindParam(&ismasstransport,TransientIsmasstransportEnum); 46 46 femmodel->parameters->FindParam(&isthermal,TransientIsthermalEnum); 47 47 femmodel->parameters->FindParam(&isgia,TransientIsgiaEnum); … … 69 69 if(isthermal && dim==3){ 70 70 //Update Vertex Position after updating Thickness and Bed 71 femmodel->SetCurrentConfiguration( PrognosticAnalysisEnum);71 femmodel->SetCurrentConfiguration(MasstransportAnalysisEnum); 72 72 femmodel->UpdateVertexPositionsx(); 73 73 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVxMeshEnum,VxMeshEnum); … … 126 126 } 127 127 128 if(is prognostic){128 if(ismasstransport){ 129 129 if(VerboseSolution()) _printf0_(" computing new thickness\n"); 130 prognostic_core(femmodel);130 masstransport_core(femmodel); 131 131 if(VerboseSolution()) _printf0_(" updating vertices positions\n"); 132 132 femmodel->UpdateVertexPositionsx(); -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r15757 r15767 467 467 return CreateBasalMassMatrix(); 468 468 break; 469 case PrognosticAnalysisEnum:470 return CreateKMatrix Prognostic();469 case MasstransportAnalysisEnum: 470 return CreateKMatrixMasstransport(); 471 471 break; 472 472 #ifdef _HAVE_BALANCED_ … … 502 502 } 503 503 /*}}}*/ 504 /*FUNCTION Penta::CreateKMatrix Prognostic{{{*/505 ElementMatrix* Penta::CreateKMatrix Prognostic(void){504 /*FUNCTION Penta::CreateKMatrixMasstransport {{{*/ 505 ElementMatrix* Penta::CreateKMatrixMasstransport(void){ 506 506 507 507 if (!IsOnBed()) return NULL; … … 512 512 513 513 Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1. 514 ElementMatrix* Ke=tria->CreateKMatrix Prognostic();514 ElementMatrix* Ke=tria->CreateKMatrixMasstransport(); 515 515 delete tria->material; delete tria; 516 516 … … 663 663 return CreatePVectorSlope(); 664 664 break; 665 case PrognosticAnalysisEnum:666 return CreatePVector Prognostic();665 case MasstransportAnalysisEnum: 666 return CreatePVectorMasstransport(); 667 667 break; 668 668 #ifdef _HAVE_BALANCED_ … … 687 687 } 688 688 /*}}}*/ 689 /*FUNCTION Penta::CreatePVector Prognostic{{{*/690 ElementVector* Penta::CreatePVector Prognostic(void){689 /*FUNCTION Penta::CreatePVectorMasstransport {{{*/ 690 ElementVector* Penta::CreatePVectorMasstransport(void){ 691 691 692 692 if (!IsOnBed()) return NULL; … … 698 698 /*Call Tria function*/ 699 699 Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1. 700 ElementVector* pe=tria->CreatePVector Prognostic();700 ElementVector* pe=tria->CreatePVectorMasstransport(); 701 701 delete tria->material; delete tria; 702 702 … … 2260 2260 InputUpdateFromSolutionOneDofCollapsed(solution,SurfaceSlopeYEnum); 2261 2261 break; 2262 case PrognosticAnalysisEnum:2263 InputUpdateFromSolution Prognostic(solution);2262 case MasstransportAnalysisEnum: 2263 InputUpdateFromSolutionMasstransport(solution); 2264 2264 break; 2265 2265 #ifdef _HAVE_BALANCED_ … … 2281 2281 } 2282 2282 /*}}}*/ 2283 /*FUNCTION Penta::InputUpdateFromSolution Prognostic{{{*/2284 void Penta::InputUpdateFromSolution Prognostic(IssmDouble* solution){2283 /*FUNCTION Penta::InputUpdateFromSolutionMasstransport{{{*/ 2284 void Penta::InputUpdateFromSolutionMasstransport(IssmDouble* solution){ 2285 2285 2286 2286 const int numdof = NDOF1*NUMVERTICES; … … 2305 2305 2306 2306 /*Use the dof list to index into the solution vector and extrude it */ 2307 this->parameters->FindParam(&minthickness, PrognosticMinThicknessEnum);2307 this->parameters->FindParam(&minthickness,MasstransportMinThicknessEnum); 2308 2308 for(i=0;i<numdof2d;i++){ 2309 2309 newthickness[i]=solution[doflist[i]]; … … 2319 2319 GetInputListOnVertices(&oldthickness[0],ThicknessEnum); 2320 2320 2321 /*Fing PrognosticHydrostaticAdjustment to figure out how to update the geometry:*/2322 this->parameters->FindParam(&hydroadjustment, PrognosticHydrostaticAdjustmentEnum);2321 /*Fing MasstransportHydrostaticAdjustment to figure out how to update the geometry:*/ 2322 this->parameters->FindParam(&hydroadjustment,MasstransportHydrostaticAdjustmentEnum); 2323 2323 2324 2324 /*recover material parameters: */ -
issm/trunk-jpl/src/c/classes/Elements/Penta.h
r15749 r15767 180 180 ElementMatrix* CreateBasalMassMatrix(void); 181 181 ElementMatrix* CreateKMatrix(void); 182 ElementMatrix* CreateKMatrix Prognostic(void);182 ElementMatrix* CreateKMatrixMasstransport(void); 183 183 ElementVector* CreatePVector(void); 184 ElementVector* CreatePVector Prognostic(void);184 ElementVector* CreatePVectorMasstransport(void); 185 185 ElementVector* CreatePVectorSlope(void); 186 186 void GetAreaCoordinates(IssmDouble *area_coordinates,IssmDouble xyz_zero[3][3],IssmDouble xyz_list[6][3],int numpoints); … … 210 210 Penta* GetBasalElement(void); 211 211 void InputExtrude(int enum_type,int object_type); 212 void InputUpdateFromSolution Prognostic(IssmDouble* solutiong);212 void InputUpdateFromSolutionMasstransport(IssmDouble* solutiong); 213 213 void InputUpdateFromSolutionOneDof(IssmDouble* solutiong,int enum_type); 214 214 void InputUpdateFromSolutionOneDofCollapsed(IssmDouble* solutiong,int enum_type); -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r15749 r15767 226 226 return CreateMassMatrix(); 227 227 break; 228 case PrognosticAnalysisEnum:229 return CreateKMatrix Prognostic();228 case MasstransportAnalysisEnum: 229 return CreateKMatrixMasstransport(); 230 230 break; 231 231 #ifdef _HAVE_HYDROLOGY_ … … 368 368 return CreatePVectorSlope(); 369 369 break; 370 case PrognosticAnalysisEnum:371 return CreatePVector Prognostic();370 case MasstransportAnalysisEnum: 371 return CreatePVectorMasstransport(); 372 372 break; 373 373 #ifdef _HAVE_HYDROLOGY_ … … 1613 1613 InputUpdateFromSolutionOneDof(solution,SurfaceSlopeYEnum); 1614 1614 break; 1615 case PrognosticAnalysisEnum:1616 InputUpdateFromSolution Prognostic(solution);1615 case MasstransportAnalysisEnum: 1616 InputUpdateFromSolutionMasstransport(solution); 1617 1617 break; 1618 1618 default: … … 1648 1648 } 1649 1649 /*}}}*/ 1650 /*FUNCTION Tria::InputUpdateFromSolution Prognostic{{{*/1651 void Tria::InputUpdateFromSolution Prognostic(IssmDouble* solution){1650 /*FUNCTION Tria::InputUpdateFromSolutionMasstransport{{{*/ 1651 void Tria::InputUpdateFromSolutionMasstransport(IssmDouble* solution){ 1652 1652 1653 1653 /*Intermediaries*/ … … 1669 1669 1670 1670 /*Use the dof list to index into the solution vector: */ 1671 this->parameters->FindParam(&minthickness, PrognosticMinThicknessEnum);1671 this->parameters->FindParam(&minthickness,MasstransportMinThicknessEnum); 1672 1672 for(i=0;i<numnodes;i++){ 1673 1673 newthickness[i]=solution[doflist[i]]; … … 1682 1682 GetInputListOnNodes(&oldthickness[0],ThicknessEnum); 1683 1683 1684 /*Fing PrognosticHydrostaticAdjustment to figure out how to update the geometry:*/1685 this->parameters->FindParam(&hydroadjustment, PrognosticHydrostaticAdjustmentEnum);1684 /*Fing MasstransportHydrostaticAdjustment to figure out how to update the geometry:*/ 1685 this->parameters->FindParam(&hydroadjustment,MasstransportHydrostaticAdjustmentEnum); 1686 1686 rho_ice=matpar->GetRhoIce(); 1687 1687 rho_water=matpar->GetRhoWater(); … … 2402 2402 /*Fetch parameters: */ 2403 2403 iomodel->Constant(&yts,ConstantsYtsEnum); 2404 iomodel->Constant(&progstabilization, PrognosticStabilizationEnum);2404 iomodel->Constant(&progstabilization,MasstransportStabilizationEnum); 2405 2405 iomodel->Constant(&balancestabilization,BalancethicknessStabilizationEnum); 2406 2406 iomodel->Constant(&fe_ssa,FlowequationFeSSAEnum); … … 5624 5624 Ke->values,1); 5625 5625 5626 GetB Prognostic(B,&xyz_list[0][0], gauss);5627 GetBprime Prognostic(Bprime,&xyz_list[0][0], gauss);5626 GetBMasstransport(B,&xyz_list[0][0], gauss); 5627 GetBprimeMasstransport(Bprime,&xyz_list[0][0], gauss); 5628 5628 5629 5629 dvxdx=dvx[0]; … … 6278 6278 #endif 6279 6279 6280 #ifdef _HAVE_ PROGNOSTIC_6281 /*FUNCTION Tria::CreateKMatrix Prognostic{{{*/6282 ElementMatrix* Tria::CreateKMatrix Prognostic(void){6280 #ifdef _HAVE_MASSTRANSPORT_ 6281 /*FUNCTION Tria::CreateKMatrixMasstransport {{{*/ 6282 ElementMatrix* Tria::CreateKMatrixMasstransport(void){ 6283 6283 6284 6284 switch(GetElementType()){ 6285 6285 case P1Enum: case P2Enum: 6286 return CreateKMatrix Prognostic_CG();6286 return CreateKMatrixMasstransport_CG(); 6287 6287 case P1DGEnum: 6288 return CreateKMatrix Prognostic_DG();6288 return CreateKMatrixMasstransport_DG(); 6289 6289 default: 6290 6290 _error_("Element type " << EnumToStringx(GetElementType()) << " not supported yet"); … … 6292 6292 } 6293 6293 /*}}}*/ 6294 /*FUNCTION Tria::CreateKMatrix Prognostic_CG {{{*/6295 ElementMatrix* Tria::CreateKMatrix Prognostic_CG(void){6294 /*FUNCTION Tria::CreateKMatrixMasstransport_CG {{{*/ 6295 ElementMatrix* Tria::CreateKMatrixMasstransport_CG(void){ 6296 6296 6297 6297 /*Intermediaries */ … … 6317 6317 this->parameters->FindParam(&dt,TimesteppingTimeStepEnum); 6318 6318 this->parameters->FindParam(&dim,MeshDimensionEnum); 6319 this->parameters->FindParam(&stabilization, PrognosticStabilizationEnum);6319 this->parameters->FindParam(&stabilization,MasstransportStabilizationEnum); 6320 6320 Input* vxaverage_input=NULL; 6321 6321 Input* vyaverage_input=NULL; … … 6351 6351 &Ke->values[0],1); 6352 6352 6353 GetB Prognostic(B,&xyz_list[0][0],gauss);6354 GetBprime Prognostic(Bprime,&xyz_list[0][0],gauss);6353 GetBMasstransport(B,&xyz_list[0][0],gauss); 6354 GetBprimeMasstransport(Bprime,&xyz_list[0][0],gauss); 6355 6355 6356 6356 dvxdx=dvx[0]; … … 6411 6411 } 6412 6412 /*}}}*/ 6413 /*FUNCTION Tria::CreateKMatrix Prognostic_DG {{{*/6414 ElementMatrix* Tria::CreateKMatrix Prognostic_DG(void){6413 /*FUNCTION Tria::CreateKMatrixMasstransport_DG {{{*/ 6414 ElementMatrix* Tria::CreateKMatrixMasstransport_DG(void){ 6415 6415 6416 6416 /*Intermediaries */ … … 6463 6463 &Ke->values[0],1); 6464 6464 6465 /*WARNING: B and Bprime are inverted compared to usual prognostic!!!!*/6466 GetB Prognostic(Bprime, &xyz_list[0][0], gauss);6467 GetBprime Prognostic(B, &xyz_list[0][0], gauss);6465 /*WARNING: B and Bprime are inverted compared to usual masstransport!!!!*/ 6466 GetBMasstransport(Bprime, &xyz_list[0][0], gauss); 6467 GetBprimeMasstransport(B, &xyz_list[0][0], gauss); 6468 6468 6469 6469 D_scalar=-dt*gauss->weight*Jdettria; … … 6487 6487 } 6488 6488 /*}}}*/ 6489 /*FUNCTION Tria::CreatePVector Prognostic{{{*/6490 ElementVector* Tria::CreatePVector Prognostic(void){6489 /*FUNCTION Tria::CreatePVectorMasstransport{{{*/ 6490 ElementVector* Tria::CreatePVectorMasstransport(void){ 6491 6491 6492 6492 switch(GetElementType()){ 6493 6493 case P1Enum: case P2Enum: 6494 return CreatePVector Prognostic_CG();6494 return CreatePVectorMasstransport_CG(); 6495 6495 case P1DGEnum: 6496 return CreatePVector Prognostic_DG();6496 return CreatePVectorMasstransport_DG(); 6497 6497 default: 6498 6498 _error_("Element type " << EnumToStringx(GetElementType()) << " not supported yet"); … … 6500 6500 } 6501 6501 /*}}}*/ 6502 /*FUNCTION Tria::CreatePVector Prognostic_CG {{{*/6503 ElementVector* Tria::CreatePVector Prognostic_CG(void){6502 /*FUNCTION Tria::CreatePVectorMasstransport_CG {{{*/ 6503 ElementVector* Tria::CreatePVectorMasstransport_CG(void){ 6504 6504 6505 6505 /*Intermediaries */ … … 6550 6550 } 6551 6551 /*}}}*/ 6552 /*FUNCTION Tria::CreatePVector Prognostic_DG {{{*/6553 ElementVector* Tria::CreatePVector Prognostic_DG(void){6552 /*FUNCTION Tria::CreatePVectorMasstransport_DG {{{*/ 6553 ElementVector* Tria::CreatePVectorMasstransport_DG(void){ 6554 6554 6555 6555 /*Intermediaries */ … … 6796 6796 6797 6797 GetJacobianDeterminant(&Jdettria, &xyz_list[0][0],gauss); 6798 GetB Prognostic(B,&xyz_list[0][0],gauss);6799 GetBprime Prognostic(Bprime,&xyz_list[0][0],gauss);6798 GetBMasstransport(B,&xyz_list[0][0],gauss); 6799 GetBprimeMasstransport(Bprime,&xyz_list[0][0],gauss); 6800 6800 6801 6801 vxaverage_input->GetInputValue(&vx,gauss); … … 6892 6892 6893 6893 GetJacobianDeterminant(&Jdettria, &xyz_list[0][0],gauss); 6894 /*WARNING: B and Bprime are inverted compared to usual prognostic!!!!*/6895 GetB Prognostic(Bprime,&xyz_list[0][0],gauss);6896 GetBprime Prognostic(B,&xyz_list[0][0],gauss);6894 /*WARNING: B and Bprime are inverted compared to usual masstransport!!!!*/ 6895 GetBMasstransport(Bprime,&xyz_list[0][0],gauss); 6896 GetBprimeMasstransport(B,&xyz_list[0][0],gauss); 6897 6897 6898 6898 vx_input->GetInputValue(&vx,gauss); -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r15749 r15767 185 185 ElementMatrix* CreateKMatrixBalancethickness_CG(void); 186 186 ElementMatrix* CreateKMatrixMelting(void); 187 ElementMatrix* CreateKMatrix Prognostic(void);188 ElementMatrix* CreateKMatrix Prognostic_CG(void);189 ElementMatrix* CreateKMatrix Prognostic_DG(void);187 ElementMatrix* CreateKMatrixMasstransport(void); 188 ElementMatrix* CreateKMatrixMasstransport_CG(void); 189 ElementMatrix* CreateKMatrixMasstransport_DG(void); 190 190 ElementMatrix* CreateMassMatrix(void); 191 191 ElementVector* CreatePVector(void); … … 193 193 ElementVector* CreatePVectorBalancethickness_DG(void); 194 194 ElementVector* CreatePVectorBalancethickness_CG(void); 195 ElementVector* CreatePVector Prognostic(void);196 ElementVector* CreatePVector Prognostic_CG(void);197 ElementVector* CreatePVector Prognostic_DG(void);195 ElementVector* CreatePVectorMasstransport(void); 196 ElementVector* CreatePVectorMasstransport_CG(void); 197 ElementVector* CreatePVectorMasstransport_DG(void); 198 198 ElementVector* CreatePVectorSlope(void); 199 199 IssmDouble GetArea(void); … … 216 216 void GetStrainRate2d(IssmDouble* epsilon,IssmDouble* xyz_list, GaussTria* gauss, Input* vx_input, Input* vy_input); 217 217 void InputUpdateFromSolutionOneDof(IssmDouble* solution,int enum_type); 218 void InputUpdateFromSolution Prognostic(IssmDouble* solution);218 void InputUpdateFromSolutionMasstransport(IssmDouble* solution); 219 219 bool IsInput(int name); 220 220 void SetClone(int* minranks); -
issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp
r15705 r15767 202 202 } 203 203 /*}}}*/ 204 /*FUNCTION TriaRef::GetB Prognostic{{{*/205 void TriaRef::GetB Prognostic(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss){204 /*FUNCTION TriaRef::GetBMasstransport{{{*/ 205 void TriaRef::GetBMasstransport(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss){ 206 206 /*Compute B matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 207 207 * For node i, Bi can be expressed in the actual coordinate system … … 303 303 } 304 304 /*}}}*/ 305 /*FUNCTION TriaRef::GetBprime Prognostic{{{*/306 void TriaRef::GetBprime Prognostic(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss){305 /*FUNCTION TriaRef::GetBprimeMasstransport{{{*/ 306 void TriaRef::GetBprimeMasstransport(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss){ 307 307 /*Compute B' matrix. B'=[B1' B2' B3'] where Bi' is of size 3*NDOF2. 308 308 * For node i, Bi' can be expressed in the actual coordinate system -
issm/trunk-jpl/src/c/classes/Elements/TriaRef.h
r15567 r15767 27 27 void GetBprimeSSA(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss); 28 28 void GetBprimeSSAFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss); 29 void GetBprime Prognostic(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);30 void GetB Prognostic(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss);29 void GetBprimeMasstransport(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss); 30 void GetBMasstransport(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss); 31 31 void GetBHydro(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss); 32 32 void GetBSSAFriction(IssmDouble* L, IssmDouble* xyz_list,GaussTria* gauss); -
issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp
r15749 r15767 254 254 /*Just branch to the correct element stiffness matrix generator, according to the type of analysis we are carrying out: */ 255 255 switch(analysis_type){ 256 case PrognosticAnalysisEnum:257 Ke=CreateKMatrix Prognostic();256 case MasstransportAnalysisEnum: 257 Ke=CreateKMatrixMasstransport(); 258 258 break; 259 259 case BalancethicknessAnalysisEnum: … … 284 284 285 285 switch(analysis_type){ 286 case PrognosticAnalysisEnum:287 pe=CreatePVector Prognostic();286 case MasstransportAnalysisEnum: 287 pe=CreatePVectorMasstransport(); 288 288 break; 289 289 case BalancethicknessAnalysisEnum: … … 422 422 423 423 /*Numericalflux management*/ 424 /*FUNCTION Numericalflux::CreateKMatrix Prognostic{{{*/425 ElementMatrix* Numericalflux::CreateKMatrix Prognostic(void){424 /*FUNCTION Numericalflux::CreateKMatrixMasstransport{{{*/ 425 ElementMatrix* Numericalflux::CreateKMatrixMasstransport(void){ 426 426 427 427 int type; … … 430 430 switch(type){ 431 431 case InternalEnum: 432 return CreateKMatrix PrognosticInternal();432 return CreateKMatrixMasstransportInternal(); 433 433 case BoundaryEnum: 434 return CreateKMatrix PrognosticBoundary();434 return CreateKMatrixMasstransportBoundary(); 435 435 default: 436 436 _error_("type not supported yet"); … … 438 438 } 439 439 /*}}}*/ 440 /*FUNCTION Numericalflux::CreateKMatrix PrognosticInternal {{{*/441 ElementMatrix* Numericalflux::CreateKMatrix PrognosticInternal(void){440 /*FUNCTION Numericalflux::CreateKMatrixMasstransportInternal {{{*/ 441 ElementMatrix* Numericalflux::CreateKMatrixMasstransportInternal(void){ 442 442 443 443 /* constants*/ … … 503 503 } 504 504 /*}}}*/ 505 /*FUNCTION Numericalflux::CreateKMatrix PrognosticBoundary {{{*/506 ElementMatrix* Numericalflux::CreateKMatrix PrognosticBoundary(void){505 /*FUNCTION Numericalflux::CreateKMatrixMasstransportBoundary {{{*/ 506 ElementMatrix* Numericalflux::CreateKMatrixMasstransportBoundary(void){ 507 507 508 508 /* constants*/ … … 758 758 } 759 759 /*}}}*/ 760 /*FUNCTION Numericalflux::CreatePVector Prognostic{{{*/761 ElementVector* Numericalflux::CreatePVector Prognostic(void){760 /*FUNCTION Numericalflux::CreatePVectorMasstransport{{{*/ 761 ElementVector* Numericalflux::CreatePVectorMasstransport(void){ 762 762 763 763 int type; … … 766 766 switch(type){ 767 767 case InternalEnum: 768 return CreatePVector PrognosticInternal();768 return CreatePVectorMasstransportInternal(); 769 769 case BoundaryEnum: 770 return CreatePVector PrognosticBoundary();770 return CreatePVectorMasstransportBoundary(); 771 771 default: 772 772 _error_("type not supported yet"); … … 774 774 } 775 775 /*}}}*/ 776 /*FUNCTION Numericalflux::CreatePVector PrognosticInternal{{{*/777 ElementVector* Numericalflux::CreatePVector PrognosticInternal(void){776 /*FUNCTION Numericalflux::CreatePVectorMasstransportInternal{{{*/ 777 ElementVector* Numericalflux::CreatePVectorMasstransportInternal(void){ 778 778 779 779 /*Nothing added to PVector*/ … … 782 782 } 783 783 /*}}}*/ 784 /*FUNCTION Numericalflux::CreatePVector PrognosticBoundary{{{*/785 ElementVector* Numericalflux::CreatePVector PrognosticBoundary(void){784 /*FUNCTION Numericalflux::CreatePVectorMasstransportBoundary{{{*/ 785 ElementVector* Numericalflux::CreatePVectorMasstransportBoundary(void){ 786 786 787 787 /* constants*/ … … 806 806 Input* vxaverage_input =tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input); 807 807 Input* vyaverage_input =tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input); 808 Input* spcthickness_input=tria->inputs->GetInput( PrognosticSpcthicknessEnum); _assert_(spcthickness_input);808 Input* spcthickness_input=tria->inputs->GetInput(MasstransportSpcthicknessEnum); _assert_(spcthickness_input); 809 809 GetNormal(&normal[0],xyz_list); 810 810 -
issm/trunk-jpl/src/c/classes/Loads/Numericalflux.h
r15649 r15767 78 78 /*Numericalflux management:{{{*/ 79 79 void GetNormal(IssmDouble* normal,IssmDouble xyz_list[4][3]); 80 ElementMatrix* CreateKMatrix Prognostic(void);81 ElementMatrix* CreateKMatrix PrognosticInternal(void);82 ElementMatrix* CreateKMatrix PrognosticBoundary(void);80 ElementMatrix* CreateKMatrixMasstransport(void); 81 ElementMatrix* CreateKMatrixMasstransportInternal(void); 82 ElementMatrix* CreateKMatrixMasstransportBoundary(void); 83 83 ElementMatrix* CreateKMatrixBalancethickness(void); 84 84 ElementMatrix* CreateKMatrixBalancethicknessInternal(void); … … 87 87 ElementMatrix* CreateKMatrixAdjointBalancethicknessInternal(void); 88 88 ElementMatrix* CreateKMatrixAdjointBalancethicknessBoundary(void); 89 ElementVector* CreatePVector Prognostic(void);90 ElementVector* CreatePVector PrognosticInternal(void);91 ElementVector* CreatePVector PrognosticBoundary(void);89 ElementVector* CreatePVectorMasstransport(void); 90 ElementVector* CreatePVectorMasstransportInternal(void); 91 ElementVector* CreatePVectorMasstransportBoundary(void); 92 92 ElementVector* CreatePVectorBalancethickness(void); 93 93 ElementVector* CreatePVectorBalancethicknessInternal(void); -
issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp
r15740 r15767 176 176 Ke=PenaltyCreateKMatrixDiagnosticHoriz(kmax); 177 177 break; 178 case PrognosticAnalysisEnum:179 Ke=PenaltyCreateKMatrix Prognostic(kmax);178 case MasstransportAnalysisEnum: 179 Ke=PenaltyCreateKMatrixMasstransport(kmax); 180 180 break; 181 181 default: … … 391 391 } 392 392 /*}}}*/ 393 /*FUNCTION Penpair::PenaltyCreateKMatrix Prognostic{{{*/394 ElementMatrix* Penpair::PenaltyCreateKMatrix Prognostic(IssmDouble kmax){393 /*FUNCTION Penpair::PenaltyCreateKMatrixMasstransport {{{*/ 394 ElementMatrix* Penpair::PenaltyCreateKMatrixMasstransport(IssmDouble kmax){ 395 395 396 396 const int numdof=NUMVERTICES*NDOF1; … … 401 401 402 402 /*recover parameters: */ 403 parameters->FindParam(&penalty_factor, PrognosticPenaltyFactorEnum);403 parameters->FindParam(&penalty_factor,MasstransportPenaltyFactorEnum); 404 404 405 405 //Create elementary matrix: add penalty to -
issm/trunk-jpl/src/c/classes/Loads/Penpair.h
r15567 r15767 70 70 ElementMatrix* PenaltyCreateKMatrixDiagnosticSSAHO(IssmDouble kmax); 71 71 ElementMatrix* PenaltyCreateKMatrixDiagnosticFS(IssmDouble kmax); 72 ElementMatrix* PenaltyCreateKMatrix Prognostic(IssmDouble kmax);72 ElementMatrix* PenaltyCreateKMatrixMasstransport(IssmDouble kmax); 73 73 /*}}}*/ 74 74 }; -
issm/trunk-jpl/src/c/classes/Node.cpp
r15749 r15767 92 92 /*2d solutions in 3d, we need to constrain all the nodes that are not on base*/ 93 93 if( 94 analysis_type== PrognosticAnalysisEnum ||94 analysis_type==MasstransportAnalysisEnum || 95 95 analysis_type==MeltingAnalysisEnum || 96 96 analysis_type==BedSlopeAnalysisEnum || -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateDataSets.cpp
r15564 r15767 141 141 #endif 142 142 143 #ifdef _HAVE_ PROGNOSTIC_144 case PrognosticAnalysisEnum:145 CreateNodes Prognostic(pnodes, iomodel);146 CreateConstraints Prognostic(pconstraints,iomodel);147 CreateLoads Prognostic(ploads,iomodel);148 UpdateElements Prognostic(elements,iomodel,analysis_counter,analysis_type);143 #ifdef _HAVE_MASSTRANSPORT_ 144 case MasstransportAnalysisEnum: 145 CreateNodesMasstransport(pnodes, iomodel); 146 CreateConstraintsMasstransport(pconstraints,iomodel); 147 CreateLoadsMasstransport(ploads,iomodel); 148 UpdateElementsMasstransport(elements,iomodel,analysis_counter,analysis_type); 149 149 break; 150 150 #endif -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r15564 r15767 65 65 parameters->AddObject(iomodel->CopyConstantObject(TimesteppingTimeStepEnum)); 66 66 parameters->AddObject(iomodel->CopyConstantObject(TimesteppingCflCoefficientEnum)); 67 parameters->AddObject(iomodel->CopyConstantObject( PrognosticHydrostaticAdjustmentEnum));68 parameters->AddObject(iomodel->CopyConstantObject( PrognosticStabilizationEnum));67 parameters->AddObject(iomodel->CopyConstantObject(MasstransportHydrostaticAdjustmentEnum)); 68 parameters->AddObject(iomodel->CopyConstantObject(MasstransportStabilizationEnum)); 69 69 parameters->AddObject(iomodel->CopyConstantObject(DiagnosticPenaltyFactorEnum)); 70 parameters->AddObject(iomodel->CopyConstantObject( PrognosticMinThicknessEnum));71 parameters->AddObject(iomodel->CopyConstantObject( PrognosticPenaltyFactorEnum));70 parameters->AddObject(iomodel->CopyConstantObject(MasstransportMinThicknessEnum)); 71 parameters->AddObject(iomodel->CopyConstantObject(MasstransportPenaltyFactorEnum)); 72 72 parameters->AddObject(iomodel->CopyConstantObject(ThermalPenaltyFactorEnum)); 73 73 parameters->AddObject(iomodel->CopyConstantObject(SettingsLowmemEnum)); … … 93 93 parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMigrationEnum)); 94 94 parameters->AddObject(iomodel->CopyConstantObject(TransientIsdiagnosticEnum)); 95 parameters->AddObject(iomodel->CopyConstantObject(TransientIs prognosticEnum));95 parameters->AddObject(iomodel->CopyConstantObject(TransientIsmasstransportEnum)); 96 96 parameters->AddObject(iomodel->CopyConstantObject(TransientIsthermalEnum)); 97 97 parameters->AddObject(iomodel->CopyConstantObject(TransientIsgroundinglineEnum)); … … 162 162 iomodel->DeleteData(requestedoutputs,SteadystateRequestedOutputsEnum); 163 163 164 iomodel->FetchData(&requestedoutputs,&numoutputs,NULL, PrognosticRequestedOutputsEnum);165 parameters->AddObject(new IntParam( PrognosticNumRequestedOutputsEnum,numoutputs));166 if(numoutputs)parameters->AddObject(new IntVecParam( PrognosticRequestedOutputsEnum,requestedoutputs,numoutputs));167 iomodel->DeleteData(requestedoutputs, PrognosticRequestedOutputsEnum);164 iomodel->FetchData(&requestedoutputs,&numoutputs,NULL,MasstransportRequestedOutputsEnum); 165 parameters->AddObject(new IntParam(MasstransportNumRequestedOutputsEnum,numoutputs)); 166 if(numoutputs)parameters->AddObject(new IntVecParam(MasstransportRequestedOutputsEnum,requestedoutputs,numoutputs)); 167 iomodel->DeleteData(requestedoutputs,MasstransportRequestedOutputsEnum); 168 168 169 169 /*Deal with mass flux segments: {{{*/ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp
r15696 r15767 100 100 numdofs=1; 101 101 break; 102 case PrognosticAnalysisEnum:102 case MasstransportAnalysisEnum: 103 103 numdofs=1; 104 104 break; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
r15464 r15767 117 117 } 118 118 xDelete<int>(vertex_pairing); 119 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL, PrognosticVertexPairingEnum);119 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,MasstransportVertexPairingEnum); 120 120 for(i=0;i<numvertex_pairing;i++){ 121 121 if(my_vertices[vertex_pairing[2*i+0]-1] && !my_vertices[vertex_pairing[2*i+1]-1]){ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/CreateConstraintsMasstransport.cpp
r15764 r15767 5 5 #include "../../IoModelToConstraintsx/IoModelToConstraintsx.h" 6 6 7 void CreateConstraints Prognostic(Constraints** pconstraints, IoModel* iomodel){7 void CreateConstraintsMasstransport(Constraints** pconstraints, IoModel* iomodel){ 8 8 9 9 /*Fetch parameters: */ 10 10 int stabilization; 11 iomodel->Constant(&stabilization, PrognosticStabilizationEnum);11 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 12 12 13 13 /*Recover pointer: */ … … 16 16 /*Do not add constraints in DG, they are weakly imposed*/ 17 17 if(stabilization!=3){ 18 IoModelToConstraintsx(constraints,iomodel, PrognosticSpcthicknessEnum,PrognosticAnalysisEnum,P1Enum);18 IoModelToConstraintsx(constraints,iomodel,MasstransportSpcthicknessEnum,MasstransportAnalysisEnum,P1Enum); 19 19 } 20 20 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/CreateLoadsMasstransport.cpp
r15764 r15767 1 /*! \file CreateLoads Prognostic.c:1 /*! \file CreateLoadsMasstransport.c: 2 2 */ 3 3 … … 7 7 #include "../ModelProcessorx.h" 8 8 9 void CreateLoads Prognostic(Loads** ploads, IoModel* iomodel){9 void CreateLoadsMasstransport(Loads** ploads, IoModel* iomodel){ 10 10 11 11 /*Intermediaries*/ … … 17 17 18 18 /*Fetch parameters: */ 19 iomodel->Constant(&stabilization, PrognosticStabilizationEnum);19 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 20 20 21 21 /*Recover pointer: */ … … 39 39 40 40 /* Add load */ 41 loads->AddObject(new Numericalflux(iomodel->loadcounter+i+1,i,i,iomodel, PrognosticAnalysisEnum));41 loads->AddObject(new Numericalflux(iomodel->loadcounter+i+1,i,i,iomodel,MasstransportAnalysisEnum)); 42 42 } 43 43 … … 49 49 IssmDouble *vertex_pairing=NULL; 50 50 IssmDouble *nodeonbed=NULL; 51 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL, PrognosticVertexPairingEnum);51 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,MasstransportVertexPairingEnum); 52 52 iomodel->FetchData(&nodeonbed,NULL,NULL,MeshVertexonbedEnum); 53 53 … … 70 70 iomodel->loadcounter+count+1, 71 71 &penpair_ids[0], 72 PrognosticAnalysisEnum));72 MasstransportAnalysisEnum)); 73 73 count++; 74 74 } … … 76 76 77 77 /*free ressources: */ 78 iomodel->DeleteData(vertex_pairing, PrognosticVertexPairingEnum);78 iomodel->DeleteData(vertex_pairing,MasstransportVertexPairingEnum); 79 79 iomodel->DeleteData(nodeonbed,MeshVertexonbedEnum); 80 80 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/CreateNodesMasstransport.cpp
r15764 r15767 1 1 /* 2 * CreateNodes Prognostic.c:2 * CreateNodesMasstransport.c: 3 3 */ 4 4 … … 9 9 #include "../ModelProcessorx.h" 10 10 11 void CreateNodes Prognostic(Nodes** pnodes, IoModel* iomodel){11 void CreateNodesMasstransport(Nodes** pnodes, IoModel* iomodel){ 12 12 13 13 /*Fetch parameters: */ 14 14 int stabilization; 15 iomodel->Constant(&stabilization, PrognosticStabilizationEnum);15 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 16 16 17 17 /*Check in 3d*/ … … 21 21 iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum); 22 22 if(stabilization!=3){ 23 CreateNodes(pnodes,iomodel, PrognosticAnalysisEnum,P1Enum);23 CreateNodes(pnodes,iomodel,MasstransportAnalysisEnum,P1Enum); 24 24 } 25 25 else{ 26 CreateNodes(pnodes,iomodel, PrognosticAnalysisEnum,P1DGEnum);26 CreateNodes(pnodes,iomodel,MasstransportAnalysisEnum,P1DGEnum); 27 27 } 28 28 iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp
r15764 r15767 1 1 /* 2 * UpdateElements Prognostic:2 * UpdateElementsMasstransport: 3 3 */ 4 4 … … 9 9 #include "../ModelProcessorx.h" 10 10 11 void UpdateElements Prognostic(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){11 void UpdateElementsMasstransport(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 13 int stabilization,finiteelement; … … 18 18 19 19 /*Fetch data needed: */ 20 iomodel->Constant(&stabilization, PrognosticStabilizationEnum);20 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 21 21 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); 22 22 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); … … 52 52 53 53 if(stabilization==3){ 54 iomodel->FetchDataToInput(elements, PrognosticSpcthicknessEnum); //for DG, we need the spc in the element54 iomodel->FetchDataToInput(elements,MasstransportSpcthicknessEnum); //for DG, we need the spc in the element 55 55 } 56 56 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
r15564 r15767 16 16 17 17 int i,analysis_type,verbose; 18 bool isthermal,is prognostic,isdiagnostic,isgroundingline,isenthalpy;18 bool isthermal,ismasstransport,isdiagnostic,isgroundingline,isenthalpy; 19 19 20 20 /*output: */ … … 34 34 iomodel->Constant(&isthermal,TransientIsthermalEnum); 35 35 iomodel->Constant(&isenthalpy,ThermalIsenthalpyEnum); 36 iomodel->Constant(&is prognostic,TransientIsprognosticEnum);36 iomodel->Constant(&ismasstransport,TransientIsmasstransportEnum); 37 37 iomodel->Constant(&isdiagnostic,TransientIsdiagnosticEnum); 38 38 iomodel->Constant(&isgroundingline,TransientIsgroundinglineEnum); … … 56 56 if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isenthalpy==true) continue; 57 57 if(solution_type==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isenthalpy==false) continue; 58 if(solution_type==TransientSolutionEnum && analysis_type== PrognosticAnalysisEnum && isprognostic==false && isgroundingline==false) continue;58 if(solution_type==TransientSolutionEnum && analysis_type==MasstransportAnalysisEnum && ismasstransport==false && isgroundingline==false) continue; 59 59 if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticHorizAnalysisEnum && isdiagnostic==false) continue; 60 60 if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticVertAnalysisEnum && isdiagnostic==false) continue; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h
r15611 r15767 99 99 void UpdateElementsMelting(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 100 100 101 /* prognostic:*/102 void CreateNodes Prognostic(Nodes** pnodes,IoModel* iomodel);103 void CreateConstraints Prognostic(Constraints** pconstraints,IoModel* iomodel);104 void CreateLoads Prognostic(Loads** ploads, IoModel* iomodel);105 void UpdateElements Prognostic(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);101 /*masstransport:*/ 102 void CreateNodesMasstransport(Nodes** pnodes,IoModel* iomodel); 103 void CreateConstraintsMasstransport(Constraints** pconstraints,IoModel* iomodel); 104 void CreateLoadsMasstransport(Loads** ploads, IoModel* iomodel); 105 void UpdateElementsMasstransport(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 106 106 107 107 /*balancedthickness:*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r15749 r15767 187 187 MeshZEnum, 188 188 MiscellaneousNameEnum, //FIXME: only used by qmu, should not be marshalled (already in queueing script) 189 PrognosticHydrostaticAdjustmentEnum,190 PrognosticMinThicknessEnum,191 PrognosticPenaltyFactorEnum,192 PrognosticSpcthicknessEnum,193 PrognosticStabilizationEnum,194 PrognosticVertexPairingEnum,195 PrognosticNumRequestedOutputsEnum,196 PrognosticRequestedOutputsEnum,189 MasstransportHydrostaticAdjustmentEnum, 190 MasstransportMinThicknessEnum, 191 MasstransportPenaltyFactorEnum, 192 MasstransportSpcthicknessEnum, 193 MasstransportStabilizationEnum, 194 MasstransportVertexPairingEnum, 195 MasstransportNumRequestedOutputsEnum, 196 MasstransportRequestedOutputsEnum, 197 197 QmuIsdakotaEnum, 198 198 MassFluxSegmentsEnum, … … 256 256 TransientIsdiagnosticEnum, 257 257 TransientIsgroundinglineEnum, 258 TransientIs prognosticEnum,258 TransientIsmasstransportEnum, 259 259 TransientIsthermalEnum, 260 260 TransientIsgiaEnum, … … 293 293 HydrologySolutionEnum, 294 294 MeltingAnalysisEnum, 295 PrognosticAnalysisEnum,296 PrognosticSolutionEnum,295 MasstransportAnalysisEnum, 296 MasstransportSolutionEnum, 297 297 SteadystateSolutionEnum, 298 298 SurfaceSlopeAnalysisEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r15749 r15767 195 195 case MeshZEnum : return "MeshZ"; 196 196 case MiscellaneousNameEnum : return "MiscellaneousName"; 197 case PrognosticHydrostaticAdjustmentEnum : return "PrognosticHydrostaticAdjustment";198 case PrognosticMinThicknessEnum : return "PrognosticMinThickness";199 case PrognosticPenaltyFactorEnum : return "PrognosticPenaltyFactor";200 case PrognosticSpcthicknessEnum : return "PrognosticSpcthickness";201 case PrognosticStabilizationEnum : return "PrognosticStabilization";202 case PrognosticVertexPairingEnum : return "PrognosticVertexPairing";203 case PrognosticNumRequestedOutputsEnum : return "PrognosticNumRequestedOutputs";204 case PrognosticRequestedOutputsEnum : return "PrognosticRequestedOutputs";197 case MasstransportHydrostaticAdjustmentEnum : return "MasstransportHydrostaticAdjustment"; 198 case MasstransportMinThicknessEnum : return "MasstransportMinThickness"; 199 case MasstransportPenaltyFactorEnum : return "MasstransportPenaltyFactor"; 200 case MasstransportSpcthicknessEnum : return "MasstransportSpcthickness"; 201 case MasstransportStabilizationEnum : return "MasstransportStabilization"; 202 case MasstransportVertexPairingEnum : return "MasstransportVertexPairing"; 203 case MasstransportNumRequestedOutputsEnum : return "MasstransportNumRequestedOutputs"; 204 case MasstransportRequestedOutputsEnum : return "MasstransportRequestedOutputs"; 205 205 case QmuIsdakotaEnum : return "QmuIsdakota"; 206 206 case MassFluxSegmentsEnum : return "MassFluxSegments"; … … 264 264 case TransientIsdiagnosticEnum : return "TransientIsdiagnostic"; 265 265 case TransientIsgroundinglineEnum : return "TransientIsgroundingline"; 266 case TransientIs prognosticEnum : return "TransientIsprognostic";266 case TransientIsmasstransportEnum : return "TransientIsmasstransport"; 267 267 case TransientIsthermalEnum : return "TransientIsthermal"; 268 268 case TransientIsgiaEnum : return "TransientIsgia"; … … 299 299 case HydrologySolutionEnum : return "HydrologySolution"; 300 300 case MeltingAnalysisEnum : return "MeltingAnalysis"; 301 case PrognosticAnalysisEnum : return "PrognosticAnalysis";302 case PrognosticSolutionEnum : return "PrognosticSolution";301 case MasstransportAnalysisEnum : return "MasstransportAnalysis"; 302 case MasstransportSolutionEnum : return "MasstransportSolution"; 303 303 case SteadystateSolutionEnum : return "SteadystateSolution"; 304 304 case SurfaceSlopeAnalysisEnum : return "SurfaceSlopeAnalysis"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r15749 r15767 198 198 else if (strcmp(name,"MeshZ")==0) return MeshZEnum; 199 199 else if (strcmp(name,"MiscellaneousName")==0) return MiscellaneousNameEnum; 200 else if (strcmp(name," PrognosticHydrostaticAdjustment")==0) return PrognosticHydrostaticAdjustmentEnum;201 else if (strcmp(name," PrognosticMinThickness")==0) return PrognosticMinThicknessEnum;202 else if (strcmp(name," PrognosticPenaltyFactor")==0) return PrognosticPenaltyFactorEnum;203 else if (strcmp(name," PrognosticSpcthickness")==0) return PrognosticSpcthicknessEnum;204 else if (strcmp(name," PrognosticStabilization")==0) return PrognosticStabilizationEnum;205 else if (strcmp(name," PrognosticVertexPairing")==0) return PrognosticVertexPairingEnum;206 else if (strcmp(name," PrognosticNumRequestedOutputs")==0) return PrognosticNumRequestedOutputsEnum;207 else if (strcmp(name," PrognosticRequestedOutputs")==0) return PrognosticRequestedOutputsEnum;200 else if (strcmp(name,"MasstransportHydrostaticAdjustment")==0) return MasstransportHydrostaticAdjustmentEnum; 201 else if (strcmp(name,"MasstransportMinThickness")==0) return MasstransportMinThicknessEnum; 202 else if (strcmp(name,"MasstransportPenaltyFactor")==0) return MasstransportPenaltyFactorEnum; 203 else if (strcmp(name,"MasstransportSpcthickness")==0) return MasstransportSpcthicknessEnum; 204 else if (strcmp(name,"MasstransportStabilization")==0) return MasstransportStabilizationEnum; 205 else if (strcmp(name,"MasstransportVertexPairing")==0) return MasstransportVertexPairingEnum; 206 else if (strcmp(name,"MasstransportNumRequestedOutputs")==0) return MasstransportNumRequestedOutputsEnum; 207 else if (strcmp(name,"MasstransportRequestedOutputs")==0) return MasstransportRequestedOutputsEnum; 208 208 else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum; 209 209 else if (strcmp(name,"MassFluxSegments")==0) return MassFluxSegmentsEnum; … … 270 270 else if (strcmp(name,"TransientIsdiagnostic")==0) return TransientIsdiagnosticEnum; 271 271 else if (strcmp(name,"TransientIsgroundingline")==0) return TransientIsgroundinglineEnum; 272 else if (strcmp(name,"TransientIs prognostic")==0) return TransientIsprognosticEnum;272 else if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum; 273 273 else if (strcmp(name,"TransientIsthermal")==0) return TransientIsthermalEnum; 274 274 else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum; … … 305 305 else if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum; 306 306 else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum; 307 else if (strcmp(name," PrognosticAnalysis")==0) return PrognosticAnalysisEnum;308 else if (strcmp(name," PrognosticSolution")==0) return PrognosticSolutionEnum;307 else if (strcmp(name,"MasstransportAnalysis")==0) return MasstransportAnalysisEnum; 308 else if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum; 309 309 else if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum; 310 310 else if (strcmp(name,"SurfaceSlopeAnalysis")==0) return SurfaceSlopeAnalysisEnum; -
issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.m
r15614 r15767 47 47 end 48 48 49 md. prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1);49 md.masstransport.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 50 50 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 51 51 -
issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.py
r15614 r15767 48 48 print " no balancethickness.thickening_rate specified: values set as zero" 49 49 50 md. prognostic.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1))50 md.masstransport.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 51 51 md.balancethickness.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 52 52 -
issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.m
r15614 r15767 67 67 end 68 68 69 md. prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1);69 md.masstransport.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 70 70 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 71 71 -
issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py
r15614 r15767 72 72 print " no balancethickness.thickening_rate specified: values set as zero" 73 73 74 md. prognostic.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1))74 md.masstransport.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 75 75 md.balancethickness.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 76 76 -
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m
r15614 r15767 78 78 end 79 79 80 md. prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1);80 md.masstransport.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 81 81 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 82 82 -
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
r15614 r15767 79 79 print " no balancethickness.thickening_rate specified: values set as zero" 80 80 81 md. prognostic.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1))81 md.masstransport.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 82 82 md.balancethickness.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 83 83 -
issm/trunk-jpl/src/m/classes/basalforcings.m
r15133 r15767 24 24 function md = checkconsistency(obj,md,solution,analyses) % {{{ 25 25 26 if ismember( PrognosticAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isprognostic==0),26 if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0), 27 27 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1); 28 28 end -
issm/trunk-jpl/src/m/classes/basalforcings.py
r15133 r15767 35 35 def checkconsistency(self,md,solution,analyses): # {{{ 36 36 37 if PrognosticAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isprognostic):37 if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport): 38 38 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1) 39 39 -
issm/trunk-jpl/src/m/classes/gia.m
r15143 r15767 29 29 md = checkfield(md,'gia.cross_section_shape','numel',[1],'values',[1,2]); 30 30 31 %be sure that if we are running a prognosticice flow model coupled with gia, that thickness forcings31 %be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings 32 32 %are not provided into the future. 33 if solution==TransientSolutionEnum() & md.transient.is prognostic& md.transient.isgia,33 if solution==TransientSolutionEnum() & md.transient.ismasstransport & md.transient.isgia, 34 34 %figure out if thickness is a transient forcing: 35 35 if size(md.geometry.thickness,1)==md.mesh.numberofvertices+1, 36 36 %recover the furthest time "in time": 37 37 if(thickness(end,end)~=md.timestepping.start_time), 38 md = checkmessage(md,['if is prognosticis on, transient thickness forcing'...38 md = checkmessage(md,['if ismasstransport is on, transient thickness forcing'... 39 39 ' for the gia model should not be provided in the future.'... 40 40 ' Synchronize your start_time to correspond to the most recent transient'... -
issm/trunk-jpl/src/m/classes/gia.py
r15143 r15767 46 46 md = checkfield(md,'gia.cross_section_shape','numel',[1],'values',[1,2]) 47 47 48 #be sure that if we are running a prognosticice flow model coupled with gia, that thickness forcings48 #be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings 49 49 #are not provided into the future. 50 50 -
issm/trunk-jpl/src/m/classes/initialization.m
r15343 r15767 36 36 end 37 37 end 38 if ismember( PrognosticAnalysisEnum(),analyses),38 if ismember(MasstransportAnalysisEnum(),analyses), 39 39 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]); 40 40 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]); -
issm/trunk-jpl/src/m/classes/initialization.py
r15131 r15767 52 52 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices]) 53 53 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices]) 54 if PrognosticAnalysisEnum() in analyses:54 if MasstransportAnalysisEnum() in analyses: 55 55 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices]) 56 56 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices]) -
issm/trunk-jpl/src/m/classes/masstransport.m
r15764 r15767 1 % PROGNOSTICclass definition1 %MASSTRANSPORT class definition 2 2 % 3 3 % Usage: 4 % prognostic=prognostic();4 % masstransport=masstransport(); 5 5 6 classdef prognostic6 classdef masstransport 7 7 properties (SetAccess=public) 8 8 spcthickness = NaN; … … 15 15 end 16 16 methods 17 function obj = prognostic(varargin) % {{{17 function obj = masstransport(varargin) % {{{ 18 18 switch nargin 19 19 case 0 … … 40 40 41 41 %Early return 42 if ~ismember( PrognosticAnalysisEnum(),analyses) | (solution==TransientSolutionEnum() & md.transient.isprognostic==0), return; end42 if ~ismember(MasstransportAnalysisEnum(),analyses) | (solution==TransientSolutionEnum() & md.transient.ismasstransport==0), return; end 43 43 44 md = checkfield(md,' prognostic.spcthickness','forcing',1);45 md = checkfield(md,' prognostic.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});46 md = checkfield(md,' prognostic.stabilization','values',[0 1 2 3]);47 md = checkfield(md,' prognostic.min_thickness','>',0);48 if ~isempty(md. prognostic.requested_outputs),49 md = checkfield(md,' prognostic.requested_outputs','size',[NaN 1]);44 md = checkfield(md,'masstransport.spcthickness','forcing',1); 45 md = checkfield(md,'masstransport.hydrostatic_adjustment','values',{'Absolute' 'Incremental'}); 46 md = checkfield(md,'masstransport.stabilization','values',[0 1 2 3]); 47 md = checkfield(md,'masstransport.min_thickness','>',0); 48 if ~isempty(md.masstransport.requested_outputs), 49 md = checkfield(md,'masstransport.requested_outputs','size',[NaN 1]); 50 50 end 51 51 52 52 end % }}} 53 53 function disp(obj) % {{{ 54 disp(sprintf(' Prognosticsolution parameters:'));54 disp(sprintf(' Masstransport solution parameters:')); 55 55 fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint) [m]'); 56 56 fielddisplay(obj,'min_thickness','minimum ice thickness allowed [m]'); … … 67 67 WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); 68 68 WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double'); 69 WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum', PrognosticHydrostaticAdjustmentEnum());69 WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum()); 70 70 WriteData(fid,'object',obj,'fieldname','stabilization','format','Integer'); 71 71 WriteData(fid,'object',obj,'fieldname','vertex_pairing','format','DoubleMat','mattype',3); -
issm/trunk-jpl/src/m/classes/masstransport.py
r15764 r15767 5 5 from WriteData import * 6 6 7 class prognostic(object):7 class masstransport(object): 8 8 """ 9 PROGNOSTICclass definition9 MASSTRANSPORT class definition 10 10 11 11 Usage: 12 prognostic=prognostic();12 masstransport=masstransport(); 13 13 """ 14 14 … … 27 27 #}}} 28 28 def __repr__(self): # {{{ 29 string=' Prognosticsolution parameters:'29 string=' Masstransport solution parameters:' 30 30 string="%s\n%s"%(string,fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]')) 31 31 string="%s\n%s"%(string,fielddisplay(self,'min_thickness','minimum ice thickness allowed [m]')) … … 55 55 56 56 #Early return 57 if ( PrognosticAnalysisEnum() not in analyses) or (solution==TransientSolutionEnum() and not md.transient.isprognostic):57 if (MasstransportAnalysisEnum() not in analyses) or (solution==TransientSolutionEnum() and not md.transient.ismasstransport): 58 58 return md 59 59 60 md = checkfield(md,' prognostic.spcthickness','forcing',1)61 md = checkfield(md,' prognostic.hydrostatic_adjustment','values',['Absolute','Incremental'])62 md = checkfield(md,' prognostic.stabilization','values',[0,1,2,3])63 md = checkfield(md,' prognostic.min_thickness','>',0)64 if not md. prognostic.requested_outputs:65 md = checkfield(md,' prognostic.requested_outputs','size',[float('NaN'),1])60 md = checkfield(md,'masstransport.spcthickness','forcing',1) 61 md = checkfield(md,'masstransport.hydrostatic_adjustment','values',['Absolute','Incremental']) 62 md = checkfield(md,'masstransport.stabilization','values',[0,1,2,3]) 63 md = checkfield(md,'masstransport.min_thickness','>',0) 64 if not md.masstransport.requested_outputs: 65 md = checkfield(md,'masstransport.requested_outputs','size',[float('NaN'),1]) 66 66 67 67 return md … … 70 70 WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1) 71 71 WriteData(fid,'object',self,'fieldname','min_thickness','format','Double') 72 WriteData(fid,'data',StringToEnum(self.hydrostatic_adjustment)[0],'format','Integer','enum', PrognosticHydrostaticAdjustmentEnum())72 WriteData(fid,'data',StringToEnum(self.hydrostatic_adjustment)[0],'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum()) 73 73 WriteData(fid,'object',self,'fieldname','stabilization','format','Integer') 74 74 WriteData(fid,'object',self,'fieldname','vertex_pairing','format','DoubleMat','mattype',3) -
issm/trunk-jpl/src/m/classes/mesh.m
r15433 r15767 112 112 %Solution specific checks 113 113 switch(solution), 114 case PrognosticSolutionEnum(),115 if md. prognostic.stabilization==3,114 case MasstransportSolutionEnum(), 115 if md.masstransport.stabilization==3, 116 116 md = checkfield(md,'mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes'); 117 117 end … … 121 121 end 122 122 case TransientSolutionEnum(), 123 if md.transient.is prognostic & md.prognostic.stabilization==3,123 if md.transient.ismasstransport & md.masstransport.stabilization==3, 124 124 md = checkfield(md,'mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes'); 125 125 end -
issm/trunk-jpl/src/m/classes/mesh.py
r15433 r15767 149 149 150 150 #Solution specific checks 151 if solution== PrognosticSolutionEnum():152 if md. prognostic.stabilization==3:151 if solution==MasstransportSolutionEnum(): 152 if md.masstransport.stabilization==3: 153 153 md = checkfield(md,'mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes") 154 154 elif solution==BalancethicknessSolutionEnum(): … … 156 156 md = checkfield(md,'mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes") 157 157 elif solution==TransientSolutionEnum(): 158 if md.transient.is prognostic and md.prognostic.stabilization==3:158 if md.transient.ismasstransport and md.masstransport.stabilization==3: 159 159 md = checkfield(md,'mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes") 160 160 elif solution==ThermalSolutionEnum(): -
issm/trunk-jpl/src/m/classes/model/model.m
r15749 r15767 32 32 groundingline = 0; 33 33 hydrology = 0; 34 prognostic= 0;34 masstransport = 0; 35 35 thermal = 0; 36 36 steadystate = 0; … … 92 92 md.hydrology=hydrologyshreve(md.materials); 93 93 end 94 %2013 Jul i25th94 %2013 July 25th 95 95 if isa(md.diagnostic,'diagnostic'), 96 96 disp('Recovering old stressbalance class'); 97 97 icefront = md.diagnostic.icefront; 98 98 md.diagnostic=stressbalance(md.diagnostic); 99 100 %Deal with front101 99 md.mask.icelevelset=ones(md.mesh.numberofvertices,1); 102 100 md.mask.icelevelset(icefront(:,1:end-2))=0; 103 101 end 104 105 102 end% }}} 106 103 end … … 192 189 md.diagnostic.referential=project2d(md,md.diagnostic.referential,md.mesh.numberoflayers); 193 190 md.diagnostic.loadingforce=project2d(md,md.diagnostic.loadingforce,md.mesh.numberoflayers); 194 md. prognostic.spcthickness=project2d(md,md.prognostic.spcthickness,md.mesh.numberoflayers);191 md.masstransport.spcthickness=project2d(md,md.masstransport.spcthickness,md.mesh.numberoflayers); 195 192 md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.mesh.numberoflayers); 196 193 … … 451 448 md2.diagnostic.vertex_pairing=md2.diagnostic.vertex_pairing(find(md2.diagnostic.vertex_pairing(:,1)),:); 452 449 end 453 if ~isnan(md2. prognostic.vertex_pairing),454 for i=1:size(md1. prognostic.vertex_pairing,1);455 md2. prognostic.vertex_pairing(i,:)=Pnode(md1.prognostic.vertex_pairing(i,:));450 if ~isnan(md2.masstransport.vertex_pairing), 451 for i=1:size(md1.masstransport.vertex_pairing,1); 452 md2.masstransport.vertex_pairing(i,:)=Pnode(md1.masstransport.vertex_pairing(i,:)); 456 453 end 457 md2. prognostic.vertex_pairing=md2.prognostic.vertex_pairing(find(md2.prognostic.vertex_pairing(:,1)),:);454 md2.masstransport.vertex_pairing=md2.masstransport.vertex_pairing(find(md2.masstransport.vertex_pairing(:,1)),:); 458 455 end 459 456 … … 718 715 md.diagnostic.spcvz=project3d(md,'vector',md.diagnostic.spcvz,'type','node'); 719 716 md.thermal.spctemperature=project3d(md,'vector',md.thermal.spctemperature,'type','node','layer',md.mesh.numberoflayers,'padding',NaN); 720 md. prognostic.spcthickness=project3d(md,'vector',md.prognostic.spcthickness,'type','node');717 md.masstransport.spcthickness=project3d(md,'vector',md.masstransport.spcthickness,'type','node'); 721 718 md.balancethickness.spcthickness=project3d(md,'vector',md.balancethickness.spcthickness,'type','node'); 722 719 md.diagnostic.referential=project3d(md,'vector',md.diagnostic.referential,'type','node'); … … 845 842 if isfield(structmd,'time_adapt'), md.timestepping.time_adapt=structmd.time_adapt; end 846 843 if isfield(structmd,'cfl_coefficient'), md.timestepping.cfl_coefficient=structmd.cfl_coefficient; end 847 if isfield(structmd,'spcthickness'), md. prognostic.spcthickness=structmd.spcthickness; end848 if isfield(structmd,'artificial_diffusivity'), md. prognostic.stabilization=structmd.artificial_diffusivity; end849 if isfield(structmd,'hydrostatic_adjustment'), md. prognostic.hydrostatic_adjustment=structmd.hydrostatic_adjustment; end850 if isfield(structmd,'penalties'), md. prognostic.vertex_pairing=structmd.penalties; end851 if isfield(structmd,'penalty_offset'), md. prognostic.penalty_factor=structmd.penalty_offset; end844 if isfield(structmd,'spcthickness'), md.masstransport.spcthickness=structmd.spcthickness; end 845 if isfield(structmd,'artificial_diffusivity'), md.masstransport.stabilization=structmd.artificial_diffusivity; end 846 if isfield(structmd,'hydrostatic_adjustment'), md.masstransport.hydrostatic_adjustment=structmd.hydrostatic_adjustment; end 847 if isfield(structmd,'penalties'), md.masstransport.vertex_pairing=structmd.penalties; end 848 if isfield(structmd,'penalty_offset'), md.masstransport.penalty_factor=structmd.penalty_offset; end 852 849 if isfield(structmd,'B'), md.materials.rheology_B=structmd.B; end 853 850 if isfield(structmd,'n'), md.materials.rheology_n=structmd.n; end … … 868 865 if isfield(structmd,'max_steadystate_iterations'), md.steadystate.maxiter=structmd.max_steadystate_iterations; end 869 866 if isfield(structmd,'isdiagnostic'), md.transient.isdiagnostic=structmd.isdiagnostic; end 870 if isfield(structmd,'is prognostic'), md.transient.isprognostic=structmd.isprognostic; end867 if isfield(structmd,'ismasstransport'), md.transient.ismasstransport=structmd.ismasstransport; end 871 868 if isfield(structmd,'isthermal'), md.transient.isthermal=structmd.isthermal; end 872 869 if isfield(structmd,'control_analysis'), md.inversion.iscontrol=structmd.control_analysis; end … … 1025 1022 if isfield(structmd,'artificial_diffusivity') & structmd.artificial_diffusivity==2, 1026 1023 md.thermal.stabilization=2; 1027 md. prognostic.stabilization=1;1024 md.masstransport.stabilization=1; 1028 1025 md.balancethickness.stabilization=1; 1029 1026 end 1030 if isnumeric(md. prognostic.hydrostatic_adjustment)1031 if md. prognostic.hydrostatic_adjustment==269,1032 md. prognostic.hydrostatic_adjustment='Incremental';1027 if isnumeric(md.masstransport.hydrostatic_adjustment) 1028 if md.masstransport.hydrostatic_adjustment==269, 1029 md.masstransport.hydrostatic_adjustment='Incremental'; 1033 1030 else 1034 md. prognostic.hydrostatic_adjustment='Absolute';1031 md.masstransport.hydrostatic_adjustment='Absolute'; 1035 1032 end 1036 1033 end … … 1078 1075 md.diagnostic = stressbalance(); 1079 1076 md.hydrology = hydrologyshreve(); 1080 md. prognostic = prognostic();1077 md.masstransport = masstransport(); 1081 1078 md.thermal = thermal(); 1082 1079 md.steadystate = steadystate(); … … 1115 1112 disp(sprintf('%19s: %-22s -- %s','groundingline' ,['[1x1 ' class(obj.groundingline) ']'],'parameters for groundingline solution')); 1116 1113 disp(sprintf('%19s: %-22s -- %s','hydrology' ,['[1x1 ' class(obj.hydrology) ']'],'parameters for hydrology solution')); 1117 disp(sprintf('%19s: %-22s -- %s',' prognostic' ,['[1x1 ' class(obj.prognostic) ']'],'parameters for prognosticsolution'));1114 disp(sprintf('%19s: %-22s -- %s','masstransport' ,['[1x1 ' class(obj.masstransport) ']'],'parameters for masstransport solution')); 1118 1115 disp(sprintf('%19s: %-22s -- %s','thermal' ,['[1x1 ' class(obj.thermal) ']'],'parameters for thermal solution')); 1119 1116 disp(sprintf('%19s: %-22s -- %s','steadystate' ,['[1x1 ' class(obj.steadystate) ']'],'parameters for steadystate solution')); -
issm/trunk-jpl/src/m/classes/model/model.py
r15749 r15767 24 24 from groundingline import groundingline 25 25 from hydrologyshreve import hydrologyshreve 26 from prognostic import prognostic26 from masstransport import masstransport 27 27 from thermal import thermal 28 28 from steadystate import steadystate … … 75 75 self.groundingline = groundingline() 76 76 self.hydrology = hydrologyshreve() 77 self. prognostic = prognostic()77 self.masstransport = masstransport() 78 78 self.thermal = thermal() 79 79 self.steadystate = steadystate() … … 114 114 'groundingline',\ 115 115 'hydrology',\ 116 ' prognostic',\116 'masstransport',\ 117 117 'thermal',\ 118 118 'steadystate',\ … … 151 151 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("groundingline","[%s,%s]" % ("1x1",obj.groundingline.__class__.__name__),"parameters for groundingline solution")) 152 152 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("hydrology","[%s,%s]" % ("1x1",obj.hydrology.__class__.__name__),"parameters for hydrology solution")) 153 string="%s\n%s" % (string,"%19s: %-22s -- %s" % (" prognostic","[%s,%s]" % ("1x1",obj.prognostic.__class__.__name__),"parameters for prognosticsolution"))153 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("masstransport","[%s,%s]" % ("1x1",obj.masstransport.__class__.__name__),"parameters for masstransport solution")) 154 154 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("thermal","[%s,%s]" % ("1x1",obj.thermal.__class__.__name__),"parameters for thermal solution")) 155 155 string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("steadystate","[%s,%s]" % ("1x1",obj.steadystate.__class__.__name__),"parameters for steadystate solution")) … … 348 348 md2.diagnostic.vertex_pairing[i,:]=Pnode[md1.diagnostic.vertex_pairing[i,:]] 349 349 md2.diagnostic.vertex_pairing=md2.diagnostic.vertex_pairing[numpy.nonzero(md2.diagnostic.vertex_pairing[:,0])[0],:] 350 if numpy.any(numpy.logical_not(numpy.isnan(md2. prognostic.vertex_pairing))):351 for i in xrange(numpy.size(md1. prognostic.vertex_pairing,axis=0)):352 md2. prognostic.vertex_pairing[i,:]=Pnode[md1.prognostic.vertex_pairing[i,:]]353 md2. prognostic.vertex_pairing=md2.prognostic.vertex_pairing[numpy.nonzero(md2.prognostic.vertex_pairing[:,0])[0],:]350 if numpy.any(numpy.logical_not(numpy.isnan(md2.masstransport.vertex_pairing))): 351 for i in xrange(numpy.size(md1.masstransport.vertex_pairing,axis=0)): 352 md2.masstransport.vertex_pairing[i,:]=Pnode[md1.masstransport.vertex_pairing[i,:]] 353 md2.masstransport.vertex_pairing=md2.masstransport.vertex_pairing[numpy.nonzero(md2.masstransport.vertex_pairing[:,0])[0],:] 354 354 355 355 #recreate segments … … 612 612 md.diagnostic.spcvz=project3d(md,'vector',md.diagnostic.spcvz,'type','node') 613 613 md.thermal.spctemperature=project3d(md,'vector',md.thermal.spctemperature,'type','node','layer',md.mesh.numberoflayers,'padding',float('NaN')) 614 md. prognostic.spcthickness=project3d(md,'vector',md.prognostic.spcthickness,'type','node')614 md.masstransport.spcthickness=project3d(md,'vector',md.masstransport.spcthickness,'type','node') 615 615 md.balancethickness.spcthickness=project3d(md,'vector',md.balancethickness.spcthickness,'type','node') 616 616 md.diagnostic.referential=project3d(md,'vector',md.diagnostic.referential,'type','node') -
issm/trunk-jpl/src/m/classes/model/planet.m
r13043 r15767 47 47 md.diagnostic = diagnostic(); 48 48 md.hydrology = hydrology(); 49 md. prognostic = prognostic();49 md.masstransport = masstransport(); 50 50 md.thermal = thermal(); 51 51 md.steadystate = steadystate(); -
issm/trunk-jpl/src/m/classes/modellist.m
r13730 r15767 214 214 % obj=solve(obj,varargin) 215 215 % where varargin is a lit of paired arguments. 216 % arguments can be: 'analysis_type': 'diagnostic','thermal',' prognostic','transient'216 % arguments can be: 'analysis_type': 'diagnostic','thermal','masstransport','transient' 217 217 % 218 218 % Examples: -
issm/trunk-jpl/src/m/classes/oldclasses/prognostic.m
r15764 r15767 1 % PROGNOSTICclass definition1 %MASSTRANSPORT class definition 2 2 % 3 3 % Usage: -
issm/trunk-jpl/src/m/classes/planetmesh.m
r15131 r15767 70 70 %Solution specific checks 71 71 switch(solution), 72 case PrognosticSolutionEnum(),73 if md. prognostic.stabilization==3,72 case MasstransportSolutionEnum(), 73 if md.masstransport.stabilization==3, 74 74 md = checkfield(md,'planetmesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d planetmeshes'); 75 75 end 76 76 case TransientSolutionEnum(), 77 if md.transient.is prognostic & md.prognostic.stabilization==3,77 if md.transient.ismasstransport & md.masstransport.stabilization==3, 78 78 md = checkfield(md,'planetmesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d planetmeshes'); 79 79 end -
issm/trunk-jpl/src/m/classes/surfaceforcings.m
r15133 r15767 44 44 function md = checkconsistency(obj,md,solution,analyses) % {{{ 45 45 46 if ismember( PrognosticAnalysisEnum(),analyses),46 if ismember(MasstransportAnalysisEnum(),analyses), 47 47 md = checkfield(md,'surfaceforcings.ispdd','numel',[1],'values',[0 1]); 48 48 md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0 1]); -
issm/trunk-jpl/src/m/classes/surfaceforcings.py
r15133 r15767 72 72 def checkconsistency(self,md,solution,analyses): # {{{ 73 73 74 if PrognosticAnalysisEnum() in analyses:74 if MasstransportAnalysisEnum() in analyses: 75 75 md = checkfield(md,'surfaceforcings.ispdd','numel',[1],'values',[0,1]) 76 76 md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0,1]) -
issm/trunk-jpl/src/m/classes/transient.m
r15131 r15767 6 6 classdef transient 7 7 properties (SetAccess=public) 8 is prognostic= 0;8 ismasstransport = 0; 9 9 isdiagnostic = 0; 10 10 isthermal = 0; … … 24 24 function obj = setdefaultparameters(obj) % {{{ 25 25 26 %full analysis: Diagnostic, Prognosticand Thermal but no groundingline migration for now27 obj.is prognostic=1;26 %full analysis: Diagnostic, Masstransport and Thermal but no groundingline migration for now 27 obj.ismasstransport=1; 28 28 obj.isdiagnostic=1; 29 29 obj.isthermal=1; … … 37 37 if solution~=TransientSolutionEnum(), return; end 38 38 39 md = checkfield(md,'transient.is prognostic','numel',[1],'values',[0 1]);39 md = checkfield(md,'transient.ismasstransport','numel',[1],'values',[0 1]); 40 40 md = checkfield(md,'transient.isdiagnostic','numel',[1],'values',[0 1]); 41 41 md = checkfield(md,'transient.isthermal','numel',[1],'values',[0 1]); … … 48 48 disp(sprintf(' transient solution parameters:')); 49 49 50 fielddisplay(obj,'is prognostic','indicates if a prognosticsolution is used in the transient');50 fielddisplay(obj,'ismasstransport','indicates if a masstransport solution is used in the transient'); 51 51 fielddisplay(obj,'isdiagnostic','indicates if a diagnostic solution is used in the transient'); 52 52 fielddisplay(obj,'isthermal','indicates if a thermal solution is used in the transient'); … … 57 57 end % }}} 58 58 function marshall(obj,md,fid) % {{{ 59 WriteData(fid,'object',obj,'fieldname','is prognostic','format','Boolean');59 WriteData(fid,'object',obj,'fieldname','ismasstransport','format','Boolean'); 60 60 WriteData(fid,'object',obj,'fieldname','isdiagnostic','format','Boolean'); 61 61 WriteData(fid,'object',obj,'fieldname','isthermal','format','Boolean'); -
issm/trunk-jpl/src/m/classes/transient.py
r15131 r15767 13 13 14 14 def __init__(self): # {{{ 15 self.is prognostic= False15 self.ismasstransport = False 16 16 self.isdiagnostic = False 17 17 self.isthermal = False … … 26 26 def __repr__(self): # {{{ 27 27 string=' transient solution parameters:' 28 string="%s\n%s"%(string,fielddisplay(self,'is prognostic','indicates if a prognosticsolution is used in the transient'))28 string="%s\n%s"%(string,fielddisplay(self,'ismasstransport','indicates if a masstransport solution is used in the transient')) 29 29 string="%s\n%s"%(string,fielddisplay(self,'isdiagnostic','indicates if a diagnostic solution is used in the transient')) 30 30 string="%s\n%s"%(string,fielddisplay(self,'isthermal','indicates if a thermal solution is used in the transient')) … … 36 36 def setdefaultparameters(self): # {{{ 37 37 38 #full analysis: Diagnostic, Prognosticand Thermal but no groundingline migration for now39 self.is prognostic=True38 #full analysis: Diagnostic, Masstransport and Thermal but no groundingline migration for now 39 self.ismasstransport=True 40 40 self.isdiagnostic=True 41 41 self.isthermal=True … … 51 51 return md 52 52 53 md = checkfield(md,'transient.is prognostic','numel',[1],'values',[0,1])53 md = checkfield(md,'transient.ismasstransport','numel',[1],'values',[0,1]) 54 54 md = checkfield(md,'transient.isdiagnostic','numel',[1],'values',[0,1]) 55 55 md = checkfield(md,'transient.isthermal','numel',[1],'values',[0,1]) … … 62 62 # }}} 63 63 def marshall(self,md,fid): # {{{ 64 WriteData(fid,'object',self,'fieldname','is prognostic','format','Boolean')64 WriteData(fid,'object',self,'fieldname','ismasstransport','format','Boolean') 65 65 WriteData(fid,'object',self,'fieldname','isdiagnostic','format','Boolean') 66 66 WriteData(fid,'object',self,'fieldname','isthermal','format','Boolean') -
issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m
r15564 r15767 61 61 analyses=[EnthalpyAnalysisEnum()]; 62 62 63 case PrognosticSolutionEnum(),63 case MasstransportSolutionEnum(), 64 64 numanalyses=1; 65 analyses=[ PrognosticAnalysisEnum()];65 analyses=[MasstransportAnalysisEnum()]; 66 66 67 67 case BalancethicknessSolutionEnum(), … … 87 87 case TransientSolutionEnum(), 88 88 numanalyses=9; 89 analyses=[DiagnosticHorizAnalysisEnum();DiagnosticVertAnalysisEnum();DiagnosticSIAAnalysisEnum();SurfaceSlopeAnalysisEnum();BedSlopeAnalysisEnum();ThermalAnalysisEnum();MeltingAnalysisEnum();EnthalpyAnalysisEnum(); PrognosticAnalysisEnum()];89 analyses=[DiagnosticHorizAnalysisEnum();DiagnosticVertAnalysisEnum();DiagnosticSIAAnalysisEnum();SurfaceSlopeAnalysisEnum();BedSlopeAnalysisEnum();ThermalAnalysisEnum();MeltingAnalysisEnum();EnthalpyAnalysisEnum();MasstransportAnalysisEnum()]; 90 90 91 91 case FlaimSolutionEnum(), -
issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py
r15564 r15767 26 26 analyses=[EnthalpyAnalysisEnum()] 27 27 28 elif solutiontype == PrognosticSolutionEnum():28 elif solutiontype == MasstransportSolutionEnum(): 29 29 numanalyses=1 30 analyses=[ PrognosticAnalysisEnum()]30 analyses=[MasstransportAnalysisEnum()] 31 31 32 32 elif solutiontype == BalancethicknessSolutionEnum(): … … 48 48 elif solutiontype == TransientSolutionEnum(): 49 49 numanalyses=9 50 analyses=[DiagnosticHorizAnalysisEnum(),DiagnosticVertAnalysisEnum(),DiagnosticSIAAnalysisEnum(),SurfaceSlopeAnalysisEnum(),BedSlopeAnalysisEnum(),ThermalAnalysisEnum(),MeltingAnalysisEnum(),EnthalpyAnalysisEnum(), PrognosticAnalysisEnum()]50 analyses=[DiagnosticHorizAnalysisEnum(),DiagnosticVertAnalysisEnum(),DiagnosticSIAAnalysisEnum(),SurfaceSlopeAnalysisEnum(),BedSlopeAnalysisEnum(),ThermalAnalysisEnum(),MeltingAnalysisEnum(),EnthalpyAnalysisEnum(),MasstransportAnalysisEnum()] 51 51 52 52 elif solutiontype == FlaimSolutionEnum(): -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r15749 r15767 187 187 def MeshZEnum(): return StringToEnum("MeshZ")[0] 188 188 def MiscellaneousNameEnum(): return StringToEnum("MiscellaneousName")[0] 189 def PrognosticHydrostaticAdjustmentEnum(): return StringToEnum("PrognosticHydrostaticAdjustment")[0]190 def PrognosticMinThicknessEnum(): return StringToEnum("PrognosticMinThickness")[0]191 def PrognosticPenaltyFactorEnum(): return StringToEnum("PrognosticPenaltyFactor")[0]192 def PrognosticSpcthicknessEnum(): return StringToEnum("PrognosticSpcthickness")[0]193 def PrognosticStabilizationEnum(): return StringToEnum("PrognosticStabilization")[0]194 def PrognosticVertexPairingEnum(): return StringToEnum("PrognosticVertexPairing")[0]195 def PrognosticNumRequestedOutputsEnum(): return StringToEnum("PrognosticNumRequestedOutputs")[0]196 def PrognosticRequestedOutputsEnum(): return StringToEnum("PrognosticRequestedOutputs")[0]189 def MasstransportHydrostaticAdjustmentEnum(): return StringToEnum("MasstransportHydrostaticAdjustment")[0] 190 def MasstransportMinThicknessEnum(): return StringToEnum("MasstransportMinThickness")[0] 191 def MasstransportPenaltyFactorEnum(): return StringToEnum("MasstransportPenaltyFactor")[0] 192 def MasstransportSpcthicknessEnum(): return StringToEnum("MasstransportSpcthickness")[0] 193 def MasstransportStabilizationEnum(): return StringToEnum("MasstransportStabilization")[0] 194 def MasstransportVertexPairingEnum(): return StringToEnum("MasstransportVertexPairing")[0] 195 def MasstransportNumRequestedOutputsEnum(): return StringToEnum("MasstransportNumRequestedOutputs")[0] 196 def MasstransportRequestedOutputsEnum(): return StringToEnum("MasstransportRequestedOutputs")[0] 197 197 def QmuIsdakotaEnum(): return StringToEnum("QmuIsdakota")[0] 198 198 def MassFluxSegmentsEnum(): return StringToEnum("MassFluxSegments")[0] … … 256 256 def TransientIsdiagnosticEnum(): return StringToEnum("TransientIsdiagnostic")[0] 257 257 def TransientIsgroundinglineEnum(): return StringToEnum("TransientIsgroundingline")[0] 258 def TransientIs prognosticEnum(): return StringToEnum("TransientIsprognostic")[0]258 def TransientIsmasstransportEnum(): return StringToEnum("TransientIsmasstransport")[0] 259 259 def TransientIsthermalEnum(): return StringToEnum("TransientIsthermal")[0] 260 260 def TransientIsgiaEnum(): return StringToEnum("TransientIsgia")[0] … … 291 291 def HydrologySolutionEnum(): return StringToEnum("HydrologySolution")[0] 292 292 def MeltingAnalysisEnum(): return StringToEnum("MeltingAnalysis")[0] 293 def PrognosticAnalysisEnum(): return StringToEnum("PrognosticAnalysis")[0]294 def PrognosticSolutionEnum(): return StringToEnum("PrognosticSolution")[0]293 def MasstransportAnalysisEnum(): return StringToEnum("MasstransportAnalysis")[0] 294 def MasstransportSolutionEnum(): return StringToEnum("MasstransportSolution")[0] 295 295 def SteadystateSolutionEnum(): return StringToEnum("SteadystateSolution")[0] 296 296 def SurfaceSlopeAnalysisEnum(): return StringToEnum("SurfaceSlopeAnalysis")[0] -
issm/trunk-jpl/src/m/qmu/process_qmu_options.m
r13646 r15767 40 40 if ~(strcmpi(analysis_type,'control') | ... 41 41 strcmpi(analysis_type,'diagnostic') | ... 42 strcmpi(analysis_type,' prognostic') | ...42 strcmpi(analysis_type,'masstransport') | ... 43 43 strcmpi(analysis_type,'thermal') | ... 44 44 strcmpi(analysis_type,'parameters') | ... -
issm/trunk-jpl/src/m/regional/regionaltransient2d.m
r13646 r15767 118 118 md2.diagnostic.spcvy=md2.diagnostic.spcvy*ones(1,size(spcy,2)); 119 119 md2.diagnostic.spcvz=md2.diagnostic.spcvz*ones(1,size(spcx,2)); 120 md2. prognostic.spcthickness=md2.prognostic.spcthickness*ones(1,size(spct,2));120 md2.masstransport.spcthickness=md2.masstransport.spcthickness*ones(1,size(spct,2)); 121 121 md2.diagnostic.spcvx(find(md2.mesh.vertexonboundary),:)=spcx(find(md2.mesh.vertexonboundary),:); 122 122 md2.diagnostic.spcvy(find(md2.mesh.vertexonboundary),:)=spcy(find(md2.mesh.vertexonboundary),:); 123 123 md2.diagnostic.spcvz(find(md2.mesh.vertexonboundary),:)=0; 124 md2. prognostic.spcthickness(find(md2.mesh.vertexonboundary),:)=spct(find(md2.mesh.vertexonboundary),:);124 md2.masstransport.spcthickness(find(md2.mesh.vertexonboundary),:)=spct(find(md2.mesh.vertexonboundary),:); 125 125 md2.diagnostic.spcvx=[md2.diagnostic.spcvx; steps]; 126 126 md2.diagnostic.spcvy=[md2.diagnostic.spcvy; steps]; 127 127 md2.diagnostic.spcvz=[md2.diagnostic.spcvz; steps]; 128 md2. prognostic.spcthickness=[md2.prognostic.spcthickness; steps];128 md2.masstransport.spcthickness=[md2.masstransport.spcthickness; steps]; 129 129 end 130 130 … … 149 149 md2.diagnostic.spcvy(unique(md2.diagnostic.icefront(:,1:2)),:)=nan; 150 150 md2.diagnostic.spcvz(unique(md2.diagnostic.icefront(:,1:2)),:)=nan; 151 md2. prognostic.spcthickness(unique(md2.diagnostic.icefront(:,1:2)),:)=nan;151 md2.masstransport.spcthickness(unique(md2.diagnostic.icefront(:,1:2)),:)=nan; 152 152 end 153 153 -
issm/trunk-jpl/src/m/solve/process_solve_options.m
r15339 r15767 9 9 %solution_type: check on this option, error out otherwise 10 10 solution_type=getfieldvalue(options,'solution_type'); 11 if ~ismember(solution_type,[DiagnosticSolutionEnum(), PrognosticSolutionEnum(),ThermalSolutionEnum(),...11 if ~ismember(solution_type,[DiagnosticSolutionEnum(),MasstransportSolutionEnum(),ThermalSolutionEnum(),... 12 12 SteadystateSolutionEnum(),TransientSolutionEnum(),EnthalpySolutionEnum(),... 13 13 BalancethicknessSolutionEnum(),BalancethicknessSoftSolutionEnum(),BedSlopeSolutionEnum(),... -
issm/trunk-jpl/src/m/solve/process_solve_options.py
r14592 r15767 18 18 #solution_type: check on this option, error out otherwise 19 19 solution_type=options.getfieldvalue('solution_type') 20 if solution_type not in (DiagnosticSolutionEnum(), PrognosticSolutionEnum(),ThermalSolutionEnum(),\20 if solution_type not in (DiagnosticSolutionEnum(),MasstransportSolutionEnum(),ThermalSolutionEnum(),\ 21 21 SteadystateSolutionEnum(),TransientSolutionEnum(),EnthalpySolutionEnum(),\ 22 22 BalancethicknessSolutionEnum(),BedSlopeSolutionEnum(),SurfaceSlopeSolutionEnum(),\ -
issm/trunk-jpl/src/m/solve/solve.m
r15121 r15767 8 8 % solution types available comprise: 9 9 % - DiagnosticSolutionEnum 10 % - PrognosticSolutionEnum10 % - MasstransportSolutionEnum 11 11 % - ThermalSolutionEnum 12 12 % - SteadystateSolutionEnum -
issm/trunk-jpl/src/m/solve/solve.py
r14874 r15767 22 22 solution types available comprise: 23 23 - DiagnosticSolutionEnum 24 - PrognosticSolutionEnum24 - MasstransportSolutionEnum 25 25 - ThermalSolutionEnum 26 26 - SteadystateSolutionEnum -
issm/trunk-jpl/test/NightlyRun/IdToName.m
r15686 r15767 10 10 case 103, name='SquareShelfConstrainedDiagHO'; 11 11 case 104, name='SquareShelfConstrainedDiagS3d'; 12 case 105, name='SquareShelfConstrained Prog2d';13 case 106, name='SquareShelfConstrained Prog2dDG';14 case 107, name='SquareShelfConstrained Prog3d';12 case 105, name='SquareShelfConstrainedMasstransp2d'; 13 case 106, name='SquareShelfConstrainedMasstransp2dDG'; 14 case 107, name='SquareShelfConstrainedMasstransp3d'; 15 15 case 108, name='SquareShelfConstrainedTherStea'; 16 16 case 109, name='SquareShelfConstrainedTherTran'; … … 46 46 case 217, name='SquareShelfConstrained'; 47 47 case 218, name='SquareShelfConstrainedDakotaB'; 48 case 219, name='SquareShelfDiag MHOTiling';49 case 220, name='SquareShelfDiag PS3dTiling';50 case 221, name='SquareShelfDiag MS3dTiling';48 case 219, name='SquareShelfDiagSSAHOTiling'; 49 case 220, name='SquareShelfDiagHOFS3dTiling'; 50 case 221, name='SquareShelfDiagSSAFS3dTiling'; 51 51 case 222, name='SquareShelfDiagSSA2dTransientIncrHydro'; 52 52 case 223, name='SquareShelfDiagSSA2dTransientIncrNonHydro'; … … 81 81 case 307, name='SquareSheetConstrainedDiagHO'; 82 82 case 308, name='SquareSheetConstrainedDiagS3d'; 83 case 309, name='SquareSheetConstrained Prog2d';84 case 320, name='SquareSheetConstrained Prog2dDG';85 case 311, name='SquareSheetConstrained Prog3d';83 case 309, name='SquareSheetConstrainedMasstransp2d'; 84 case 320, name='SquareSheetConstrainedMasstransp2dDG'; 85 case 311, name='SquareSheetConstrainedMasstransp3d'; 86 86 case 312, name='SquareSheetConstrainedTherStea'; 87 87 case 313, name='SquareSheetConstrainedTherTran'; … … 123 123 case 417, name='SquareSheetShelfDiadSSA3dDakotaSamp'; 124 124 case 418, name='SquareSheetShelfDiadSSA3dDakotaAreaAverage'; 125 case 419, name='SquareSheetShelfDiag MHOTiling';125 case 419, name='SquareSheetShelfDiagSSAHOTiling'; 126 126 case 420, name='SquareSheetShelfDakotaScaledResponse'; 127 case 421, name='SquareSheetShelfDiag PS3dTiling';128 case 422, name='SquareSheetShelfDiag MS3dTiling';127 case 421, name='SquareSheetShelfDiagHOFS3dTiling'; 128 case 422, name='SquareSheetShelfDiagSSAFS3dTiling'; 129 129 case 423, name='RoundSheetShelfGLMigrationSSA2d'; 130 130 case 424, name='SquareSheetShelfGroundingLine2dAgressive'; … … 155 155 case 515, name='PigTherTranSUPG'; 156 156 case 516, name='PigTherSteaSUPG'; 157 case 601, name='79North Prog2d';158 case 602, name='79North Prog2dDG';159 case 603, name='79North Prog3d';157 case 601, name='79NorthMasstransp2d'; 158 case 602, name='79NorthMasstransp2dDG'; 159 case 603, name='79NorthMasstransp3d'; 160 160 case 604, name='79NorthSurfSlop2d'; 161 161 case 605, name='79NorthSurfSlop3d'; … … 213 213 case 3003, name='SquareShelfConstrainedDiagHOAdolc'; 214 214 case 3004, name='SquareShelfConstrainedDiagS3dAdolc'; 215 case 3005, name='SquareShelfConstrained Prog2dAdolc';216 case 3006, name='SquareShelfConstrained Prog2dDGAdolc';217 case 3007, name='SquareShelfConstrained Prog3dAdolc';215 case 3005, name='SquareShelfConstrainedMasstransp2dAdolc'; 216 case 3006, name='SquareShelfConstrainedMasstransp2dDGAdolc'; 217 case 3007, name='SquareShelfConstrainedMasstransp3dAdolc'; 218 218 case 3008, name='SquareShelfConstrainedTherSteaAdolc'; 219 219 case 3009, name='SquareShelfConstrainedTherTranAdolc'; 220 220 case 3010, name='SquareShelfConstrainedTranSSA2dAdolc'; 221 case 3015, name='SquareShelfConstrained Prog2dAdolcForwardDifference';221 case 3015, name='SquareShelfConstrainedMasstransp2dAdolcForwardDifference'; 222 222 case 3019, name='SquareShelfConstrainedTherTranAdolcReverseVsForward'; 223 223 -
issm/trunk-jpl/test/NightlyRun/IdToName.py
r15686 r15767 14 14 103 : 'SquareShelfConstrainedDiagHO', 15 15 104 : 'SquareShelfConstrainedDiagS3d', 16 105 : 'SquareShelfConstrained Prog2d',17 106 : 'SquareShelfConstrained Prog2dDG',18 107 : 'SquareShelfConstrained Prog3d',16 105 : 'SquareShelfConstrainedMasstransp2d', 17 106 : 'SquareShelfConstrainedMasstransp2dDG', 18 107 : 'SquareShelfConstrainedMasstransp3d', 19 19 108 : 'SquareShelfConstrainedTherStea', 20 20 109 : 'SquareShelfConstrainedTherTran', … … 50 50 217 : 'SquareShelfConstrained', 51 51 218 : 'SquareShelfConstrainedDakotaB', 52 219 : 'SquareShelfDiag MHOTiling',53 220 : 'SquareShelfDiag PS3dTiling',54 221 : 'SquareShelfDiag MS3dTiling',52 219 : 'SquareShelfDiagSSAHOTiling', 53 220 : 'SquareShelfDiagHOFS3dTiling', 54 221 : 'SquareShelfDiagSSAFS3dTiling', 55 55 222 : 'SquareShelfDiagSSA2dTransientIncrHydro', 56 56 223 : 'SquareShelfDiagSSA2dTransientIncrNonHydro', … … 85 85 307 : 'SquareSheetConstrainedDiagHO', 86 86 308 : 'SquareSheetConstrainedDiagS3d', 87 309 : 'SquareSheetConstrained Prog2d',88 320 : 'SquareSheetConstrained Prog2dDG',89 311 : 'SquareSheetConstrained Prog3d',87 309 : 'SquareSheetConstrainedMasstransp2d', 88 320 : 'SquareSheetConstrainedMasstransp2dDG', 89 311 : 'SquareSheetConstrainedMasstransp3d', 90 90 312 : 'SquareSheetConstrainedTherStea', 91 91 313 : 'SquareSheetConstrainedTherTran', … … 127 127 417 : 'SquareSheetShelfDiadSSA3dDakotaSamp', 128 128 418 : 'SquareSheetShelfDiadSSA3dDakotaAreaAverage', 129 419 : 'SquareSheetShelfDiag MHOTiling',129 419 : 'SquareSheetShelfDiagSSAHOTiling', 130 130 420 : 'SquareSheetShelfDakotaScaledResponse', 131 421 : 'SquareSheetShelfDiag PS3dTiling',132 422 : 'SquareSheetShelfDiag MS3dTiling',131 421 : 'SquareSheetShelfDiagHOFS3dTiling', 132 422 : 'SquareSheetShelfDiagSSAFS3dTiling', 133 133 423 : 'RoundSheetShelfGLMigrationSSA2d', 134 134 424 : 'SquareSheetShelfGroundingLine2dAgressive', … … 159 159 515 : 'PigTherTranSUPG', 160 160 516 : 'PigTherSteaSUPG', 161 601 : '79North Prog2d',162 602 : '79North Prog2dDG',163 603 : '79North Prog3d',161 601 : '79NorthMasstransp2d', 162 602 : '79NorthMasstransp2dDG', 163 603 : '79NorthMasstransp3d', 164 164 604 : '79NorthSurfSlop2d', 165 165 605 : '79NorthSurfSlop3d', … … 217 217 3003 : 'SquareShelfConstrainedDiagHOAdolc', 218 218 3004 : 'SquareShelfConstrainedDiagS3dAdolc', 219 3005 : 'SquareShelfConstrained Prog2dAdolc',220 3006 : 'SquareShelfConstrained Prog2dDGAdolc',221 3007 : 'SquareShelfConstrained Prog3dAdolc',219 3005 : 'SquareShelfConstrainedMasstransp2dAdolc', 220 3006 : 'SquareShelfConstrainedMasstransp2dDGAdolc', 221 3007 : 'SquareShelfConstrainedMasstransp3dAdolc', 222 222 3008 : 'SquareShelfConstrainedTherSteaAdolc', 223 223 3009 : 'SquareShelfConstrainedTherTranAdolc', 224 224 3010 : 'SquareShelfConstrainedTranSSA2dAdolc', 225 3015 : 'SquareShelfConstrained Prog2dAdolcForwardDifference',225 3015 : 'SquareShelfConstrainedMasstransp2dAdolcForwardDifference', 226 226 3019 : 'SquareShelfConstrainedTherTranAdolcReverseVsForward', 227 227 } -
issm/trunk-jpl/test/NightlyRun/test105.m
r15565 r15767 4 4 md=setflowequation(md,'SSA','all'); 5 5 md.cluster=generic('name',oshostname(),'np',3); 6 md=solve(md, PrognosticSolutionEnum());6 md=solve(md,MasstransportSolutionEnum()); 7 7 8 8 %Fields and tolerances to track changes … … 10 10 field_tolerances={1e-13}; 11 11 field_values={... 12 (md.results. PrognosticSolution.Thickness),...12 (md.results.MasstransportSolution.Thickness),... 13 13 }; -
issm/trunk-jpl/test/NightlyRun/test105.py
r15565 r15767 13 13 md=setflowequation(md,'SSA','all') 14 14 md.cluster=generic('name',oshostname(),'np',3) 15 md=solve(md, PrognosticSolutionEnum())15 md=solve(md,MasstransportSolutionEnum()) 16 16 17 17 #Fields and tolerances to track changes … … 19 19 field_tolerances=[1e-13] 20 20 field_values=[\ 21 md.results. PrognosticSolution.Thickness,\21 md.results.MasstransportSolution.Thickness,\ 22 22 ] -
issm/trunk-jpl/test/NightlyRun/test106.m
r15565 r15767 5 5 md=setflowequation(md,'SSA','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md. prognostic.stabilization=3;8 md. prognostic.spcthickness=md.geometry.thickness;9 md=solve(md, PrognosticSolutionEnum());7 md.masstransport.stabilization=3; 8 md.masstransport.spcthickness=md.geometry.thickness; 9 md=solve(md,MasstransportSolutionEnum()); 10 10 11 11 %Fields and tolerances to track changes … … 13 13 field_tolerances={1e-13}; 14 14 field_values={... 15 (md.results. PrognosticSolution.Thickness),...15 (md.results.MasstransportSolution.Thickness),... 16 16 }; -
issm/trunk-jpl/test/NightlyRun/test106.py
r15565 r15767 15 15 md=setflowequation(md,'SSA','all') 16 16 md.cluster=generic('name',oshostname(),'np',3) 17 md. prognostic.stabilization=318 md. prognostic.spcthickness=md.geometry.thickness19 md=solve(md, PrognosticSolutionEnum())17 md.masstransport.stabilization=3 18 md.masstransport.spcthickness=md.geometry.thickness 19 md=solve(md,MasstransportSolutionEnum()) 20 20 21 21 #Fields and tolerances to track changes … … 23 23 field_tolerances=[1e-13] 24 24 field_values=[\ 25 md.results. PrognosticSolution.Thickness,\25 md.results.MasstransportSolution.Thickness,\ 26 26 ] -
issm/trunk-jpl/test/NightlyRun/test107.m
r15565 r15767 5 5 md=extrude(md,5,3.); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md=solve(md, PrognosticSolutionEnum());7 md=solve(md,MasstransportSolutionEnum()); 8 8 9 9 %Fields and tolerances to track changes … … 11 11 field_tolerances={1e-13}; 12 12 field_values={... 13 (md.results. PrognosticSolution.Thickness),...13 (md.results.MasstransportSolution.Thickness),... 14 14 }; -
issm/trunk-jpl/test/NightlyRun/test107.py
r15565 r15767 14 14 md.extrude(5,3.) 15 15 md.cluster=generic('name',oshostname(),'np',3) 16 md=solve(md, PrognosticSolutionEnum())16 md=solve(md,MasstransportSolutionEnum()) 17 17 18 18 #Fields and tolerances to track changes … … 20 20 field_tolerances=[1e-13] 21 21 field_values=[\ 22 md.results. PrognosticSolution.Thickness,\22 md.results.MasstransportSolution.Thickness,\ 23 23 ] -
issm/trunk-jpl/test/NightlyRun/test109.m
r15565 r15767 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 7 md.transient.isdiagnostic=0; 8 md.transient.is prognostic=0;8 md.transient.ismasstransport=0; 9 9 md.transient.isthermal=1; 10 10 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test109.py
r15565 r15767 15 15 md.cluster=generic('name',oshostname(),'np',3) 16 16 md.transient.isdiagnostic=False 17 md.transient.is prognostic=False17 md.transient.ismasstransport=False 18 18 md.transient.isthermal=True 19 19 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test1110.m
r15565 r15767 47 47 48 48 md.diagnostic.vertex_pairing=[posx,posx2;posy,posy2]; 49 md. prognostic.vertex_pairing=[posx,posx2;posy,posy2];49 md.masstransport.vertex_pairing=[posx,posx2;posy,posy2]; 50 50 51 51 md.timestepping.time_step=3.; 52 52 md.timestepping.final_time=300.; 53 53 md.settings.output_frequency=50; 54 md. prognostic.stabilization=1;54 md.masstransport.stabilization=1; 55 55 md.diagnostic.maxiter=1; 56 56 -
issm/trunk-jpl/test/NightlyRun/test1201.m
r15565 r15767 5 5 6 6 for stabilization=1:3; 7 %The goal is to test the prognosticmodel7 %The goal is to test the masstransport model 8 8 md=bamg(model(),'domain','../Exp/SquareEISMINT.exp','hmax',3000.); 9 9 md=setmask(md,'all',''); … … 19 19 %Stabilization 20 20 if stabilization==2, 21 md. prognostic.stabilization=0;21 md.masstransport.stabilization=0; 22 22 else 23 md. prognostic.stabilization=stabilization;23 md.masstransport.stabilization=stabilization; 24 24 end 25 25 … … 27 27 pos=find(md.mesh.y>199999.9); 28 28 times=0:1:500; 29 md. prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices+1,length(times));30 md. prognostic.spcthickness(end,:)=times;31 md. prognostic.spcthickness(pos,:)=repmat(500.+100.*sin(2.*pi*times/200.),length(pos),1);29 md.masstransport.spcthickness=NaN*ones(md.mesh.numberofvertices+1,length(times)); 30 md.masstransport.spcthickness(end,:)=times; 31 md.masstransport.spcthickness(pos,:)=repmat(500.+100.*sin(2.*pi*times/200.),length(pos),1); 32 32 if stabilization==3, 33 pos=find(isnan(md. prognostic.spcthickness)); md.prognostic.spcthickness(pos)=500.; %No NaN for DG33 pos=find(isnan(md.masstransport.spcthickness)); md.masstransport.spcthickness(pos)=500.; %No NaN for DG 34 34 end 35 35 -
issm/trunk-jpl/test/NightlyRun/test1201.py
r15565 r15767 18 18 19 19 for stabilization in xrange(1,4): 20 #The goal is to test the prognosticmodel20 #The goal is to test the masstransport model 21 21 md=bamg(model(),'domain','../Exp/SquareEISMINT.exp','hmax',3000.) 22 22 md=setmask(md,'all','') … … 32 32 #Stabilization 33 33 if stabilization==2: 34 md. prognostic.stabilization=034 md.masstransport.stabilization=0 35 35 else: 36 md. prognostic.stabilization=stabilization36 md.masstransport.stabilization=stabilization 37 37 38 38 #spc thickness 39 39 pos=numpy.nonzero(md.mesh.y>199999.9)[0] 40 40 times=numpy.arange(0,501) 41 md. prognostic.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices+1,numpy.size(times)))42 md. prognostic.spcthickness[-1,:]=times43 md. prognostic.spcthickness[pos,:]=numpy.tile(500.+100.*numpy.sin(2.*numpy.pi*times/200.),(numpy.size(pos),1))41 md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices+1,numpy.size(times))) 42 md.masstransport.spcthickness[-1,:]=times 43 md.masstransport.spcthickness[pos,:]=numpy.tile(500.+100.*numpy.sin(2.*numpy.pi*times/200.),(numpy.size(pos),1)) 44 44 if stabilization==3: 45 pos=numpy.nonzero(numpy.isnan(md. prognostic.spcthickness))46 md. prognostic.spcthickness[pos]=500. #No NaN for DG45 pos=numpy.nonzero(numpy.isnan(md.masstransport.spcthickness)) 46 md.masstransport.spcthickness[pos]=500. #No NaN for DG 47 47 48 48 #solve -
issm/trunk-jpl/test/NightlyRun/test1202.m
r15566 r15767 1 %Test on the diagnostic model and the prognosticin 2d.1 %Test on the diagnostic model and the masstransport in 2d. 2 2 printingflag=false; 3 3 -
issm/trunk-jpl/test/NightlyRun/test1202.py
r15566 r15767 10 10 11 11 """ 12 Test on the diagnostic model and the prognosticin 2d12 Test on the diagnostic model and the masstransport in 2d 13 13 """ 14 14 -
issm/trunk-jpl/test/NightlyRun/test1203.m
r15566 r15767 1 %Test on the diagnostic model and the prognosticin 2d1 %Test on the diagnostic model and the masstransport in 2d 2 2 printingflag=false; 3 3 -
issm/trunk-jpl/test/NightlyRun/test1203.py
r15566 r15767 11 11 12 12 """ 13 Test on the diagnostic model and the prognosticin 2d13 Test on the diagnostic model and the masstransport in 2d 14 14 """ 15 15 -
issm/trunk-jpl/test/NightlyRun/test1204.m
r15566 r15767 1 %Test on the diagnostic model and the prognosticin 2d1 %Test on the diagnostic model and the masstransport in 2d 2 2 printingflag=false; 3 3 … … 23 23 md.timestepping.time_step=1.; 24 24 md.timestepping.final_time=5000.; 25 md. prognostic.stabilization=1;25 md.masstransport.stabilization=1; 26 26 md=solve(md,TransientSolutionEnum()); 27 27 -
issm/trunk-jpl/test/NightlyRun/test1204.py
r15566 r15767 11 11 12 12 """ 13 Test on the diagnostic model and the prognosticin 2d13 Test on the diagnostic model and the masstransport in 2d 14 14 """ 15 15 … … 37 37 md.timestepping.time_step=1. 38 38 md.timestepping.final_time=5000. 39 md. prognostic.stabilization=139 md.masstransport.stabilization=1 40 40 md=solve(md,TransientSolutionEnum()) 41 41 -
issm/trunk-jpl/test/NightlyRun/test1208.m
r15565 r15767 22 22 md.settings.output_frequency=500; 23 23 md.timestepping.final_time=30000.; 24 md. prognostic.stabilization=1;24 md.masstransport.stabilization=1; 25 25 md.thermal.stabilization=1; 26 26 -
issm/trunk-jpl/test/NightlyRun/test1208.py
r15565 r15767 35 35 md.settings.output_frequency=500 36 36 md.timestepping.final_time=30000. 37 md. prognostic.stabilization=137 md.masstransport.stabilization=1 38 38 md.thermal.stabilization=1 39 39 -
issm/trunk-jpl/test/NightlyRun/test121.m
r15565 r15767 7 7 md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1); 8 8 md.transient.isdiagnostic=0; 9 md.transient.is prognostic=0;9 md.transient.ismasstransport=0; 10 10 md.transient.isthermal=1; 11 11 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test121.py
r15565 r15767 16 16 md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1)) 17 17 md.transient.isdiagnostic=False 18 md.transient.is prognostic=False18 md.transient.ismasstransport=False 19 19 md.transient.isthermal=True 20 20 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test1501.m
r15565 r15767 17 17 md.basalforcings.melting_rate= smb; 18 18 19 md=solve(md, PrognosticSolutionEnum());19 md=solve(md,MasstransportSolutionEnum()); 20 20 21 21 for i=1:10 22 md=solve(md, PrognosticSolutionEnum());23 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results. PrognosticSolution.Thickness)-md.geometry.thickness);22 md=solve(md,MasstransportSolutionEnum()); 23 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness); 24 24 end 25 25 -
issm/trunk-jpl/test/NightlyRun/test1501.py
r15565 r15767 28 28 md.basalforcings.melting_rate= smb 29 29 30 md=solve(md, PrognosticSolutionEnum())30 md=solve(md,MasstransportSolutionEnum()) 31 31 32 32 for i in xrange(1,11): 33 md=solve(md, PrognosticSolutionEnum())34 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results. PrognosticSolution.Thickness)-md.geometry.thickness)33 md=solve(md,MasstransportSolutionEnum()) 34 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness) 35 35 36 36 #Set up transient -
issm/trunk-jpl/test/NightlyRun/test1502.m
r15565 r15767 18 18 md.basalforcings.melting_rate= smb; 19 19 20 md=solve(md, PrognosticSolutionEnum());20 md=solve(md,MasstransportSolutionEnum()); 21 21 22 22 for i=1:10 23 md=solve(md, PrognosticSolutionEnum());24 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results. PrognosticSolution.Thickness)-md.geometry.thickness);23 md=solve(md,MasstransportSolutionEnum()); 24 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness); 25 25 end 26 26 -
issm/trunk-jpl/test/NightlyRun/test1502.py
r15565 r15767 29 29 md.basalforcings.melting_rate= smb 30 30 31 md=solve(md, PrognosticSolutionEnum())31 md=solve(md,MasstransportSolutionEnum()) 32 32 33 33 for i in xrange(1,11): 34 md=solve(md, PrognosticSolutionEnum())35 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results. PrognosticSolution.Thickness)-md.geometry.thickness)34 md=solve(md,MasstransportSolutionEnum()) 35 md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness) 36 36 37 37 #Set up transient -
issm/trunk-jpl/test/NightlyRun/test207.m
r15565 r15767 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 7 md.transient.isdiagnostic=0; 8 md.transient.is prognostic=0;8 md.transient.ismasstransport=0; 9 9 md.transient.isthermal=1; 10 10 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test207.py
r15565 r15767 16 16 md.cluster=generic('name',oshostname(),'np',3) 17 17 md.transient.isdiagnostic=False 18 md.transient.is prognostic=False18 md.transient.ismasstransport=False 19 19 md.transient.isthermal=True 20 20 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test222.m
r15565 r15767 4 4 md=setflowequation(md,'SSA','all'); 5 5 md.cluster=generic('name',oshostname(),'np',3); 6 md. prognostic.hydrostatic_adjustment='Incremental';6 md.masstransport.hydrostatic_adjustment='Incremental'; 7 7 md=solve(md,TransientSolutionEnum()); 8 8 -
issm/trunk-jpl/test/NightlyRun/test222.py
r15565 r15767 13 13 md=setflowequation(md,'SSA','all') 14 14 md.cluster=generic('name',oshostname(),'np',3) 15 md. prognostic.hydrostatic_adjustment='Incremental'15 md.masstransport.hydrostatic_adjustment='Incremental' 16 16 md=solve(md,TransientSolutionEnum()) 17 17 -
issm/trunk-jpl/test/NightlyRun/test223.m
r15565 r15767 5 5 md.geometry.bed=md.geometry.bed+50.; md.geometry.surface=md.geometry.surface+50.; 6 6 md.cluster=generic('name',oshostname(),'np',1); 7 md. prognostic.hydrostatic_adjustment='Incremental';7 md.masstransport.hydrostatic_adjustment='Incremental'; 8 8 md=solve(md,TransientSolutionEnum()); 9 9 -
issm/trunk-jpl/test/NightlyRun/test223.py
r15565 r15767 15 15 md.geometry.surface=md.geometry.surface+50. 16 16 md.cluster=generic('name',oshostname(),'np',1) 17 md. prognostic.hydrostatic_adjustment='Incremental'17 md.masstransport.hydrostatic_adjustment='Incremental' 18 18 md=solve(md,TransientSolutionEnum()) 19 19 -
issm/trunk-jpl/test/NightlyRun/test224.m
r15565 r15767 5 5 md=setflowequation(md,'HO','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md. prognostic.hydrostatic_adjustment='Incremental';7 md.masstransport.hydrostatic_adjustment='Incremental'; 8 8 md=solve(md,TransientSolutionEnum()); 9 9 -
issm/trunk-jpl/test/NightlyRun/test224.py
r15565 r15767 14 14 md=setflowequation(md,'HO','all') 15 15 md.cluster=generic('name',oshostname(),'np',3) 16 md. prognostic.hydrostatic_adjustment='Incremental'16 md.masstransport.hydrostatic_adjustment='Incremental' 17 17 md=solve(md,TransientSolutionEnum()) 18 18 -
issm/trunk-jpl/test/NightlyRun/test225.m
r15647 r15767 6 6 md=setflowequation(md,'HO','all'); 7 7 md.cluster=generic('name',oshostname(),'np',3); 8 md. prognostic.hydrostatic_adjustment='Incremental';8 md.masstransport.hydrostatic_adjustment='Incremental'; 9 9 md=solve(md,TransientSolutionEnum()); 10 10 -
issm/trunk-jpl/test/NightlyRun/test225.py
r15647 r15767 16 16 md=setflowequation(md,'HO','all') 17 17 md.cluster=generic('name',oshostname(),'np',3) 18 md. prognostic.hydrostatic_adjustment='Incremental'18 md.masstransport.hydrostatic_adjustment='Incremental' 19 19 md=solve(md,TransientSolutionEnum()) 20 20 -
issm/trunk-jpl/test/NightlyRun/test232.m
r15565 r15767 9 9 md.timestepping.final_time=4; 10 10 md.transient.isdiagnostic=0; 11 md.transient.is prognostic=0;11 md.transient.ismasstransport=0; 12 12 md.transient.isthermal=1; 13 13 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test232.py
r15565 r15767 19 19 md.timestepping.final_time=4. 20 20 md.transient.isdiagnostic=False 21 md.transient.is prognostic=False21 md.transient.ismasstransport=False 22 22 md.transient.isthermal=True 23 23 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test3005.m
r15565 r15767 7 7 md.toolkits.DefaultAnalysis=issmsolver(); 8 8 md.verbose=verbose('autodiff',true); 9 md=solve(md, PrognosticSolutionEnum());9 md=solve(md,MasstransportSolutionEnum()); 10 10 11 11 %Fields and tolerances to track changes … … 13 13 field_tolerances={1e-13}; 14 14 field_values={... 15 (md.results. PrognosticSolution.Thickness),...15 (md.results.MasstransportSolution.Thickness),... 16 16 }; -
issm/trunk-jpl/test/NightlyRun/test3005.py
r15565 r15767 15 15 md.toolkits.DefaultAnalysis=issmsolver() 16 16 md.autodiff.isautodiff=True 17 md=solve(md, PrognosticSolutionEnum())17 md=solve(md,MasstransportSolutionEnum()) 18 18 19 19 #Fields and tolerances to track changes … … 21 21 field_tolerances=[1e-13] 22 22 field_values=[\ 23 md.results. PrognosticSolution.Thickness,\23 md.results.MasstransportSolution.Thickness,\ 24 24 ] -
issm/trunk-jpl/test/NightlyRun/test3006.m
r15565 r15767 5 5 md=setflowequation(md,'SSA','all'); 6 6 md.cluster=generic('name',oshostname(),'np',1); 7 md. prognostic.stabilization=3;8 md. prognostic.spcthickness=md.geometry.thickness;7 md.masstransport.stabilization=3; 8 md.masstransport.spcthickness=md.geometry.thickness; 9 9 md.autodiff.isautodiff=true; 10 10 md.toolkits.DefaultAnalysis=issmsolver(); 11 11 md.verbose=verbose('autodiff',true); 12 md=solve(md, PrognosticSolutionEnum());12 md=solve(md,MasstransportSolutionEnum()); 13 13 14 14 %Fields and tolerances to track changes … … 16 16 field_tolerances={1e-13}; 17 17 field_values={... 18 (md.results. PrognosticSolution.Thickness),...18 (md.results.MasstransportSolution.Thickness),... 19 19 }; -
issm/trunk-jpl/test/NightlyRun/test3006.py
r15565 r15767 15 15 md=setflowequation(md,'SSA','all') 16 16 md.cluster=generic('name',oshostname(),'np',1) 17 md. prognostic.stabilization=318 md. prognostic.spcthickness=md.geometry.thickness17 md.masstransport.stabilization=3 18 md.masstransport.spcthickness=md.geometry.thickness 19 19 md.toolkits.DefaultAnalysis=issmsolver() 20 20 md.autodiff.isautodiff=True 21 md=solve(md, PrognosticSolutionEnum())21 md=solve(md,MasstransportSolutionEnum()) 22 22 23 23 #Fields and tolerances to track changes … … 25 25 field_tolerances=[1e-13] 26 26 field_values=[\ 27 md.results. PrognosticSolution.Thickness,\27 md.results.MasstransportSolution.Thickness,\ 28 28 ] -
issm/trunk-jpl/test/NightlyRun/test3007.m
r15565 r15767 8 8 md.verbose=verbose('autodiff',true); 9 9 md.toolkits.DefaultAnalysis=issmsolver(); 10 md=solve(md, PrognosticSolutionEnum());10 md=solve(md,MasstransportSolutionEnum()); 11 11 12 12 %Fields and tolerances to track changes … … 14 14 field_tolerances={1e-13}; 15 15 field_values={... 16 (md.results. PrognosticSolution.Thickness),...16 (md.results.MasstransportSolution.Thickness),... 17 17 }; -
issm/trunk-jpl/test/NightlyRun/test3007.py
r15565 r15767 16 16 md.toolkits.DefaultAnalysis=issmsolver() 17 17 md.autodiff.isautodiff=True 18 md=solve(md, PrognosticSolutionEnum())18 md=solve(md,MasstransportSolutionEnum()) 19 19 20 20 #Fields and tolerances to track changes … … 22 22 field_tolerances=[1e-13] 23 23 field_values=[\ 24 md.results. PrognosticSolution.Thickness,\24 md.results.MasstransportSolution.Thickness,\ 25 25 ] -
issm/trunk-jpl/test/NightlyRun/test3009.m
r15565 r15767 6 6 md.cluster=generic('name',oshostname(),'np',1); 7 7 md.transient.isdiagnostic=0; 8 md.transient.is prognostic=0;8 md.transient.ismasstransport=0; 9 9 md.transient.isthermal=1; 10 10 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test3009.py
r15565 r15767 15 15 md.cluster=generic('name',oshostname(),'np',1) 16 16 md.transient.isdiagnostic=False 17 md.transient.is prognostic=False17 md.transient.ismasstransport=False 18 18 md.transient.isthermal=True 19 19 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test3015.m
r15565 r15767 8 8 md=setflowequation(md,'SSA','all'); 9 9 md.cluster=generic('name',oshostname(),'np',1); 10 md. prognostic.requested_outputs=IceVolumeEnum();10 md.masstransport.requested_outputs=IceVolumeEnum(); 11 11 md.verbose=verbose('autodiff',true); 12 12 md.toolkits.DefaultAnalysis=issmsolver(); … … 42 42 md=SetIceShelfBC(md); 43 43 44 md=solve(md, PrognosticSolutionEnum());45 V0=md.results. PrognosticSolution.IceVolume;44 md=solve(md,MasstransportSolutionEnum()); 45 V0=md.results.MasstransportSolution.IceVolume; 46 46 47 47 %backward … … 53 53 md=SetIceShelfBC(md); 54 54 55 md=solve(md, PrognosticSolutionEnum());56 V2=md.results. PrognosticSolution.IceVolume;55 md=solve(md,MasstransportSolutionEnum()); 56 V2=md.results.MasstransportSolution.IceVolume; 57 57 58 58 %compute resulting derivative … … 67 67 md=SetIceShelfBC(md); 68 68 69 md=solve(md, PrognosticSolutionEnum());69 md=solve(md,MasstransportSolutionEnum()); 70 70 %retrieve directly 71 dVdh_ad=md.results. PrognosticSolution.AutodiffJacobian;71 dVdh_ad=md.results.MasstransportSolution.AutodiffJacobian; 72 72 73 73 disp(sprintf('dV/dh: analytical: %16.16g\n using adolc: %16.16g\n',dVdh_an,dVdh_ad)); -
issm/trunk-jpl/test/NightlyRun/test3015.py
r15565 r15767 22 22 md=setflowequation(md,'SSA','all') 23 23 md.cluster=generic('name',oshostname(),'np',3) 24 md. prognostic.requested_outputs=IceVolumeEnum()24 md.masstransport.requested_outputs=IceVolumeEnum() 25 25 md.verbose=verbose('autodiff',True) 26 26 … … 55 55 md=SetIceShelfBC(md) 56 56 57 md=solve(md, PrognosticSolutionEnum())58 V0=md.results. PrognosticSolution.IceVolume57 md=solve(md,MasstransportSolutionEnum()) 58 V0=md.results.MasstransportSolution.IceVolume 59 59 60 60 #backward … … 66 66 md=SetIceShelfBC(md) 67 67 68 md=solve(md, PrognosticSolutionEnum())69 V2=md.results. PrognosticSolution.IceVolume68 md=solve(md,MasstransportSolutionEnum()) 69 V2=md.results.MasstransportSolution.IceVolume 70 70 71 71 #compute resulting derivative … … 80 80 md=SetIceShelfBC(md) 81 81 82 md=solve(md, PrognosticSolutionEnum())82 md=solve(md,MasstransportSolutionEnum()) 83 83 #retrieve directly 84 dVdh_ad=md.results. PrognosticSolution.AutodiffJacobian84 dVdh_ad=md.results.MasstransportSolution.AutodiffJacobian 85 85 86 86 print "dV/dh: analytical: #16.16g\n using adolc: #16.16g\n" % (dVdh_an,dVdh_ad) -
issm/trunk-jpl/test/NightlyRun/test309.m
r15565 r15767 4 4 md=setflowequation(md,'SSA','all'); 5 5 md.cluster=generic('name',oshostname(),'np',3); 6 md=solve(md, PrognosticSolutionEnum());6 md=solve(md,MasstransportSolutionEnum()); 7 7 8 8 %Fields and tolerances to track changes … … 10 10 field_tolerances={1e-13}; 11 11 field_values={... 12 (md.results. PrognosticSolution.Thickness),...12 (md.results.MasstransportSolution.Thickness),... 13 13 }; -
issm/trunk-jpl/test/NightlyRun/test309.py
r15565 r15767 13 13 md=setflowequation(md,'SSA','all') 14 14 md.cluster=generic('name',oshostname(),'np',3) 15 md=solve(md, PrognosticSolutionEnum())15 md=solve(md,MasstransportSolutionEnum()) 16 16 17 17 #Fields and tolerances to track changes … … 19 19 field_tolerances=[1e-13] 20 20 field_values=[\ 21 md.results. PrognosticSolution.Thickness,\21 md.results.MasstransportSolution.Thickness,\ 22 22 ] -
issm/trunk-jpl/test/NightlyRun/test310.m
r15565 r15767 4 4 md=parameterize(md,'../Par/SquareSheetConstrained.par'); 5 5 md=setflowequation(md,'SSA','all'); 6 md. prognostic.stabilization=3;7 md. prognostic.spcthickness=md.geometry.thickness;6 md.masstransport.stabilization=3; 7 md.masstransport.spcthickness=md.geometry.thickness; 8 8 md.cluster=generic('name',oshostname(),'np',3); 9 md=solve(md, PrognosticSolutionEnum());9 md=solve(md,MasstransportSolutionEnum()); 10 10 11 11 %Fields and tolerances to track changes … … 13 13 field_tolerances={1e-13}; 14 14 field_values={... 15 (md.results. PrognosticSolution.Thickness),...15 (md.results.MasstransportSolution.Thickness),... 16 16 }; -
issm/trunk-jpl/test/NightlyRun/test310.py
r15565 r15767 14 14 md=parameterize(md,'../Par/SquareSheetConstrained.py') 15 15 md=setflowequation(md,'SSA','all') 16 md. prognostic.stabilization=317 md. prognostic.spcthickness=md.geometry.thickness16 md.masstransport.stabilization=3 17 md.masstransport.spcthickness=md.geometry.thickness 18 18 md.cluster=generic('name',oshostname(),'np',3) 19 md=solve(md, PrognosticSolutionEnum())19 md=solve(md,MasstransportSolutionEnum()) 20 20 21 21 #Fields and tolerances to track changes … … 23 23 field_tolerances=[1e-13] 24 24 field_values=[\ 25 md.results. PrognosticSolution.Thickness,\25 md.results.MasstransportSolution.Thickness,\ 26 26 ] -
issm/trunk-jpl/test/NightlyRun/test311.m
r15565 r15767 5 5 md=extrude(md,5,0.5); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md=solve(md, PrognosticSolutionEnum());7 md=solve(md,MasstransportSolutionEnum()); 8 8 9 9 %Fields and tolerances to track changes … … 11 11 field_tolerances={1e-13}; 12 12 field_values={... 13 (md.results. PrognosticSolution.Thickness),...13 (md.results.MasstransportSolution.Thickness),... 14 14 }; -
issm/trunk-jpl/test/NightlyRun/test311.py
r15565 r15767 14 14 md.extrude(5,0.5) 15 15 md.cluster=generic('name',oshostname(),'np',3) 16 md=solve(md, PrognosticSolutionEnum())16 md=solve(md,MasstransportSolutionEnum()) 17 17 18 18 #Fields and tolerances to track changes … … 20 20 field_tolerances=[1e-13] 21 21 field_values=[\ 22 md.results. PrognosticSolution.Thickness,\22 md.results.MasstransportSolution.Thickness,\ 23 23 ] -
issm/trunk-jpl/test/NightlyRun/test313.m
r15565 r15767 7 7 md.verbose=verbose('convergence',true,'solution',true); 8 8 md.transient.isdiagnostic=0; 9 md.transient.is prognostic=0;9 md.transient.ismasstransport=0; 10 10 md.transient.isthermal=1; 11 11 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test313.py
r15565 r15767 16 16 md.verbose=verbose('convergence',True,'solution',True) 17 17 md.transient.isdiagnostic=False 18 md.transient.is prognostic=False18 md.transient.ismasstransport=False 19 19 md.transient.isthermal=True 20 20 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test326.m
r15565 r15767 7 7 md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1); 8 8 md.transient.isdiagnostic=0; 9 md.transient.is prognostic=0;9 md.transient.ismasstransport=0; 10 10 md.transient.isthermal=1; 11 11 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test326.py
r15565 r15767 17 17 md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1)) 18 18 md.transient.isdiagnostic=False 19 md.transient.is prognostic=False19 md.transient.ismasstransport=False 20 20 md.transient.isthermal=True 21 21 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test407.m
r15565 r15767 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 7 md.transient.isdiagnostic=0; 8 md.transient.is prognostic=0;8 md.transient.ismasstransport=0; 9 9 md.transient.isthermal=1; 10 10 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test407.py
r15565 r15767 16 16 md.cluster=generic('name',oshostname(),'np',3) 17 17 md.transient.isdiagnostic=False 18 md.transient.is prognostic=False18 md.transient.ismasstransport=False 19 19 md.transient.isthermal=True 20 20 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test423.m
r15565 r15767 19 19 20 20 md.transient.isthermal=0; 21 md.transient.is prognostic=0;21 md.transient.ismasstransport=0; 22 22 md.transient.isdiagnostic=1; 23 23 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test423.py
r15565 r15767 30 30 31 31 md.transient.isthermal=False 32 md.transient.is prognostic=False32 md.transient.ismasstransport=False 33 33 md.transient.isdiagnostic=True 34 34 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test433.m
r15565 r15767 20 20 21 21 md.transient.isthermal=0; 22 md.transient.is prognostic=0;22 md.transient.ismasstransport=0; 23 23 md.transient.isdiagnostic=0; 24 24 md.transient.isgroundingline=1; -
issm/trunk-jpl/test/NightlyRun/test433.py
r15565 r15767 31 31 32 32 md.transient.isthermal=False 33 md.transient.is prognostic=False33 md.transient.ismasstransport=False 34 34 md.transient.isdiagnostic=False 35 35 md.transient.isgroundingline=True -
issm/trunk-jpl/test/NightlyRun/test515.m
r15565 r15767 7 7 md.cluster=generic('name',oshostname(),'np',3); 8 8 md.transient.isdiagnostic=0; 9 md.transient.is prognostic=0;9 md.transient.ismasstransport=0; 10 10 md.transient.isthermal=1; 11 11 md.transient.isgroundingline=0; -
issm/trunk-jpl/test/NightlyRun/test515.py
r15565 r15767 16 16 md.cluster=generic('name',oshostname(),'np',3) 17 17 md.transient.isdiagnostic=False 18 md.transient.is prognostic=False18 md.transient.ismasstransport=False 19 19 md.transient.isthermal=True 20 20 md.transient.isgroundingline=False -
issm/trunk-jpl/test/NightlyRun/test601.m
r15565 r15767 4 4 md=setflowequation(md,'SSA','all'); 5 5 md.cluster=generic('name',oshostname(),'np',3); 6 md=solve(md, PrognosticSolutionEnum());6 md=solve(md,MasstransportSolutionEnum()); 7 7 8 8 %Fields and tolerances to track changes … … 10 10 field_tolerances={1e-13}; 11 11 field_values={... 12 (md.results. PrognosticSolution.Thickness),...12 (md.results.MasstransportSolution.Thickness),... 13 13 }; -
issm/trunk-jpl/test/NightlyRun/test601.py
r15565 r15767 13 13 md=setflowequation(md,'SSA','all') 14 14 md.cluster=generic('name',oshostname(),'np',3) 15 md=solve(md, PrognosticSolutionEnum())15 md=solve(md,MasstransportSolutionEnum()) 16 16 17 17 #Fields and tolerances to track changes … … 19 19 field_tolerances=[1e-13] 20 20 field_values=[\ 21 md.results. PrognosticSolution.Thickness,\21 md.results.MasstransportSolution.Thickness,\ 22 22 ] -
issm/trunk-jpl/test/NightlyRun/test602.m
r15565 r15767 4 4 md=parameterize(md,'../Par/79North.par'); 5 5 md=setflowequation(md,'SSA','all'); 6 md. prognostic.stabilization=3;7 md. prognostic.spcthickness=md.geometry.thickness;6 md.masstransport.stabilization=3; 7 md.masstransport.spcthickness=md.geometry.thickness; 8 8 md.cluster=generic('name',oshostname(),'np',3); 9 md=solve(md, PrognosticSolutionEnum());9 md=solve(md,MasstransportSolutionEnum()); 10 10 11 11 %Fields and tolerances to track changes … … 13 13 field_tolerances={1e-13}; 14 14 field_values={... 15 (md.results. PrognosticSolution.Thickness),...15 (md.results.MasstransportSolution.Thickness),... 16 16 }; -
issm/trunk-jpl/test/NightlyRun/test602.py
r15565 r15767 15 15 md=parameterize(md,'../Par/79North.py') 16 16 md=setflowequation(md,'SSA','all') 17 md. prognostic.stabilization=318 md. prognostic.spcthickness=md.geometry.thickness17 md.masstransport.stabilization=3 18 md.masstransport.spcthickness=md.geometry.thickness 19 19 md.cluster=generic('name',oshostname(),'np',3) 20 md=solve(md, PrognosticSolutionEnum())20 md=solve(md,MasstransportSolutionEnum()) 21 21 22 22 #Fields and tolerances to track changes … … 24 24 field_tolerances=[1e-13] 25 25 field_values=[\ 26 md.results. PrognosticSolution.Thickness,\26 md.results.MasstransportSolution.Thickness,\ 27 27 ] -
issm/trunk-jpl/test/NightlyRun/test603.m
r15565 r15767 5 5 md=setflowequation(md,'SSA','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md=solve(md, PrognosticSolutionEnum());7 md=solve(md,MasstransportSolutionEnum()); 8 8 9 9 %Fields and tolerances to track changes … … 11 11 field_tolerances={1e-13}; 12 12 field_values={... 13 (md.results. PrognosticSolution.Thickness),...13 (md.results.MasstransportSolution.Thickness),... 14 14 }; -
issm/trunk-jpl/test/NightlyRun/test603.py
r15565 r15767 15 15 md=setflowequation(md,'SSA','all') 16 16 md.cluster=generic('name',oshostname(),'np',3) 17 md=solve(md, PrognosticSolutionEnum())17 md=solve(md,MasstransportSolutionEnum()) 18 18 19 19 #Fields and tolerances to track changes … … 21 21 field_tolerances=[1e-13] 22 22 field_values=[\ 23 md.results. PrognosticSolution.Thickness,\23 md.results.MasstransportSolution.Thickness,\ 24 24 ] -
issm/trunk-jpl/test/NightlyRun/test611.m
r15565 r15767 6 6 %control parameters 7 7 md.inversion.nsteps=2; 8 md. prognostic.stabilization=1;8 md.masstransport.stabilization=1; 9 9 md.inversion.iscontrol=1; 10 10 md.inversion.control_parameters={'BalancethicknessThickeningRate'}; -
issm/trunk-jpl/test/NightlyRun/test611.py
r15565 r15767 16 16 #control parameters 17 17 md.inversion.nsteps=2 18 md. prognostic.stabilization=118 md.masstransport.stabilization=1 19 19 md.inversion.iscontrol=1 20 20 md.inversion.control_parameters=['BalancethicknessThickeningRate'] -
issm/trunk-jpl/test/Par/79North.par
r13675 r15767 36 36 %Numerical parameters 37 37 md.diagnostic.viscosity_overshoot=0.3; 38 md. prognostic.stabilization=1;38 md.masstransport.stabilization=1; 39 39 md.thermal.stabilization=1; 40 40 md.verbose=verbose(0); … … 51 51 pos=find(md.mesh.vertexonboundary); 52 52 md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos); 53 md. prognostic.spcthickness(pos)=md.geometry.thickness(pos);53 md.masstransport.spcthickness(pos)=md.geometry.thickness(pos); 54 54 55 55 %Change name so that no test have the same name -
issm/trunk-jpl/test/Par/79North.py
r13676 r15767 48 48 #Numerical parameters 49 49 md.diagnostic.viscosity_overshoot=0.3 50 md. prognostic.stabilization=150 md.masstransport.stabilization=1 51 51 md.thermal.stabilization=1 52 52 md.verbose=verbose(0) … … 63 63 pos=numpy.nonzero(md.mesh.vertexonboundary) 64 64 md.balancethickness.spcthickness[pos]=md.geometry.thickness[pos] 65 md. prognostic.spcthickness[pos]=md.geometry.thickness[pos]65 md.masstransport.spcthickness[pos]=md.geometry.thickness[pos] 66 66 67 67 #Change name so that no test have the same name -
issm/trunk-jpl/test/Par/GiaBenchmarksAB.par
r14902 r15767 53 53 %Numerical parameters 54 54 md.diagnostic.viscosity_overshoot=0.0; 55 md. prognostic.stabilization=1.;55 md.masstransport.stabilization=1.; 56 56 md.thermal.stabilization=1.; 57 57 md.verbose=verbose(0); -
issm/trunk-jpl/test/Par/GiaBenchmarksCD.par
r14902 r15767 52 52 %Numerical parameters 53 53 md.diagnostic.viscosity_overshoot=0.0; 54 md. prognostic.stabilization=1.;54 md.masstransport.stabilization=1.; 55 55 md.thermal.stabilization=1.; 56 56 md.verbose=verbose(0); -
issm/trunk-jpl/test/Par/ISMIPF.par
r14432 r15767 31 31 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 32 32 md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos); 33 md. prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1);34 md. prognostic.spcthickness(pos)=md.geometry.thickness(pos);33 md.masstransport.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 34 md.masstransport.spcthickness(pos)=md.geometry.thickness(pos); 35 35 md.thermal.spctemperature=255.*ones(md.mesh.numberofvertices,1); 36 36 md.basalforcings.geothermalflux=0.4*ones(md.mesh.numberofvertices,1); … … 42 42 md.timestepping.time_step=1.; 43 43 md.timestepping.final_time=10.; 44 md. prognostic.stabilization=1;44 md.masstransport.stabilization=1; 45 45 md.thermal.stabilization=1; 46 46 md.thermal.penalty_threshold=10^5; -
issm/trunk-jpl/test/Par/ISMIPF.py
r14432 r15767 34 34 md.balancethickness.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 35 35 md.balancethickness.spcthickness[pos]=md.geometry.thickness[pos] 36 md. prognostic.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))37 md. prognostic.spcthickness[pos]=md.geometry.thickness[pos]36 md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 37 md.masstransport.spcthickness[pos]=md.geometry.thickness[pos] 38 38 md.thermal.spctemperature=255.*numpy.ones((md.mesh.numberofvertices,1)) 39 39 md.basalforcings.geothermalflux=0.4*numpy.ones((md.mesh.numberofvertices,1)) … … 45 45 md.timestepping.time_step=1. 46 46 md.timestepping.final_time=10. 47 md. prognostic.stabilization=147 md.masstransport.stabilization=1 48 48 md.thermal.stabilization=1 49 49 md.thermal.penalty_threshold=10**5 -
issm/trunk-jpl/test/Par/Pig.par
r15614 r15767 35 35 %Numerical parameters 36 36 md.diagnostic.viscosity_overshoot=0.3; 37 md. prognostic.stabilization=1;37 md.masstransport.stabilization=1; 38 38 md.verbose=verbose(0); 39 39 md.settings.waitonlock=30; -
issm/trunk-jpl/test/Par/Pig.py
r15614 r15767 46 46 #Numerical parameters 47 47 md.diagnostic.viscosity_overshoot=0.3 48 md. prognostic.stabilization=1.48 md.masstransport.stabilization=1. 49 49 md.verbose=verbose(0) 50 50 md.settings.waitonlock=30 -
issm/trunk-jpl/test/Par/RoundSheetShelf.par
r15614 r15767 76 76 %Numerical parameters 77 77 md.diagnostic.viscosity_overshoot=0.0; 78 md. prognostic.stabilization=1;78 md.masstransport.stabilization=1; 79 79 md.thermal.stabilization=1; 80 80 md.verbose=verbose(0); … … 103 103 md.mask.icelevelset(find(md.mesh.vertexonboundary))=0; 104 104 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 105 md. prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1);105 md.masstransport.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 106 106 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 107 107 md.diagnostic.loadingforce=0*ones(md.mesh.numberofvertices,3); -
issm/trunk-jpl/test/Par/RoundSheetShelf.py
r15614 r15767 84 84 #Numerical parameters 85 85 md.diagnostic.viscosity_overshoot=0.0 86 md. prognostic.stabilization=186 md.masstransport.stabilization=1 87 87 md.thermal.stabilization=1 88 88 md.verbose=verbose(0) … … 113 113 md.mask.icelevelset[pos]=0 114 114 md.balancethickness.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 115 md. prognostic.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1))115 md.masstransport.spcthickness=float('nan')*numpy.ones((md.mesh.numberofvertices,1)) 116 116 md.diagnostic.referential=float('nan')*numpy.ones((md.mesh.numberofvertices,6)) 117 117 md.diagnostic.loadingforce=0*numpy.ones((md.mesh.numberofvertices,3)) -
issm/trunk-jpl/test/Par/SquareEISMINT.par
r14106 r15767 39 39 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 40 40 md.balancethickness.spcthickness(pos)=500.; 41 md. prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1);42 md. prognostic.spcthickness(pos)=500.;43 md. prognostic.stabilization=0; %Better result with no artificial diffusivity41 md.masstransport.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 42 md.masstransport.spcthickness(pos)=500.; 43 md.masstransport.stabilization=0; %Better result with no artificial diffusivity 44 44 md.thermal.stabilization=0; 45 45 md.timestepping.final_time=500.; -
issm/trunk-jpl/test/Par/SquareEISMINT.py
r14106 r15767 42 42 md.balancethickness.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 43 43 md.balancethickness.spcthickness[pos]=500. 44 md. prognostic.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1))45 md. prognostic.spcthickness[pos]=500.46 md. prognostic.stabilization=0 #Better result with no artificial diffusivity44 md.masstransport.spcthickness=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 45 md.masstransport.spcthickness[pos]=500. 46 md.masstransport.stabilization=0 #Better result with no artificial diffusivity 47 47 md.thermal.stabilization=0 48 48 md.timestepping.final_time=500. -
issm/trunk-jpl/test/Par/SquareSheetConstrained.par
r14902 r15767 38 38 %Numerical parameters 39 39 md.diagnostic.viscosity_overshoot=0.0; 40 md. prognostic.stabilization=1.;40 md.masstransport.stabilization=1.; 41 41 md.thermal.stabilization=1.; 42 42 md.verbose=verbose(0); -
issm/trunk-jpl/test/Par/SquareSheetConstrained.py
r14902 r15767 48 48 #Numerical parameters 49 49 md.diagnostic.viscosity_overshoot=0.0 50 md. prognostic.stabilization=1.50 md.masstransport.stabilization=1. 51 51 md.thermal.stabilization=1. 52 52 md.verbose=verbose(0) -
issm/trunk-jpl/test/Par/SquareSheetShelf.par
r13676 r15767 43 43 %Numerical parameters 44 44 md.diagnostic.viscosity_overshoot=0.0; 45 md. prognostic.stabilization=1;45 md.masstransport.stabilization=1; 46 46 md.thermal.stabilization=1; 47 47 md.verbose=verbose(0); -
issm/trunk-jpl/test/Par/SquareSheetShelf.py
r14102 r15767 54 54 #Numerical parameters 55 55 md.diagnostic.viscosity_overshoot=0.0 56 md. prognostic.stabilization=156 md.masstransport.stabilization=1 57 57 md.thermal.stabilization=1 58 58 md.verbose=verbose(0) -
issm/trunk-jpl/test/Par/SquareShelf.par
r13234 r15767 36 36 %Numerical parameters 37 37 md.diagnostic.viscosity_overshoot=0.3; 38 md. prognostic.stabilization=1;38 md.masstransport.stabilization=1; 39 39 md.thermal.stabilization=1; 40 40 md.settings.waitonlock=30; -
issm/trunk-jpl/test/Par/SquareShelf.py
r14318 r15767 67 67 #Numerical parameters 68 68 md.diagnostic.viscosity_overshoot = 0.3 69 md. prognostic.stabilization = 1.69 md.masstransport.stabilization = 1. 70 70 md.thermal.stabilization = 1. 71 71 md.settings.waitonlock = 30 -
issm/trunk-jpl/test/Par/SquareShelf2.par
r15547 r15767 36 36 %Numerical parameters 37 37 md.diagnostic.viscosity_overshoot=0.3; 38 md. prognostic.stabilization=1;38 md.masstransport.stabilization=1; 39 39 md.thermal.stabilization=1; 40 40 md.settings.waitonlock=30; -
issm/trunk-jpl/test/Par/SquareShelf2.py
r15587 r15767 67 67 #Numerical parameters 68 68 md.diagnostic.viscosity_overshoot = 0.3 69 md. prognostic.stabilization = 1.69 md.masstransport.stabilization = 1. 70 70 md.thermal.stabilization = 1. 71 71 md.settings.waitonlock = 30 -
issm/trunk-jpl/test/Par/SquareShelfConstrained.par
r13234 r15767 40 40 %Numerical parameters 41 41 md.diagnostic.viscosity_overshoot=0.0; 42 md. prognostic.stabilization=1;42 md.masstransport.stabilization=1; 43 43 md.thermal.stabilization=1; 44 44 md.verbose=verbose(0); -
issm/trunk-jpl/test/Par/SquareShelfConstrained.py
r14102 r15767 52 52 #Numerical parameters 53 53 md.diagnostic.viscosity_overshoot=0.0 54 md. prognostic.stabilization=1.54 md.masstransport.stabilization=1. 55 55 md.thermal.stabilization=1. 56 56 md.verbose = verbose(0)
Note:
See TracChangeset
for help on using the changeset viewer.