Changeset 20209
- Timestamp:
- 02/18/16 11:57:08 (9 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 2 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.h
r20020 r20209 286 286 virtual int TensorInterpolation()=0; 287 287 virtual IssmDouble TimeAdapt()=0; 288 virtual IssmDouble TotalFloatingBmb(void)=0; 289 virtual IssmDouble TotalGroundedBmb(void)=0; 288 290 virtual IssmDouble TotalSmb(void)=0; 289 291 virtual void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finite_element)=0; -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r19764 r20209 2636 2636 return dt; 2637 2637 }/*}}}*/ 2638 IssmDouble Penta::TotalFloatingBmb(void){/*{{{*/ 2639 2640 /*The fbmb[Gt yr-1] of one element is area[m2] * floating basal melt [ m ice yr^-1] * rho_ice [kg m-3] / 1e+10^12 */ 2641 IssmDouble base,fbmb,rho_ice; 2642 IssmDouble Total_Fbmb=0; 2643 IssmDouble xyz_list[NUMVERTICES][3]; 2644 2645 /*Get material parameters :*/ 2646 rho_ice=matpar->GetMaterialParameter(MaterialsRhoIceEnum); 2647 2648 if(!IsIceInElement() || !IsOnBase()) return 0.; 2649 2650 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES); 2651 2652 /*First calculate the area of the base (cross section triangle) 2653 * http://en.wikipedia.org/wiki/Triangle 2654 * base = 1/2 abs((xA-xC)(yB-yA)-(xA-xB)(yC-yA))*/ 2655 base = 1./2. * fabs((xyz_list[0][0]-xyz_list[2][0])*(xyz_list[1][1]-xyz_list[0][1]) - (xyz_list[0][0]-xyz_list[1][0])*(xyz_list[2][1]-xyz_list[0][1])); 2656 2657 /*Now get the average Floating melt rate over the element*/ 2658 Input* fbmb_input = inputs->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fbmb_input); 2659 2660 fbmb_input->GetInputAverage(&fbmb); 2661 Total_Fbmb=rho_ice*base*fbmb;// floating melt rate on element in kg s-1 2662 2663 /*Return: */ 2664 return Total_Fbmb; 2665 } 2666 /*}}}*/ 2667 IssmDouble Penta::TotalGroundedBmb(void){/*{{{*/ 2668 2669 /*The grounded ice melting rate [Gt yr-1] of one element is area[m2] * grounded melt [ m ice yr^-1] * rho_ice [kg m-3] / 1e+10^12 */ 2670 IssmDouble base,gbmb,rho_ice; 2671 IssmDouble Total_Gbmb=0; 2672 IssmDouble xyz_list[NUMVERTICES][3]; 2673 2674 /*Get material parameters :*/ 2675 rho_ice=matpar->GetMaterialParameter(MaterialsRhoIceEnum); 2676 2677 if(!IsIceInElement() || !IsOnBase()) return 0.; 2678 2679 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES); 2680 2681 /*First calculate the area of the base (cross section triangle) 2682 * http://en.wikipedia.org/wiki/Triangle 2683 * base = 1/2 abs((xA-xC)(yB-yA)-(xA-xB)(yC-yA))*/ 2684 base = 1./2. * fabs((xyz_list[0][0]-xyz_list[2][0])*(xyz_list[1][1]-xyz_list[0][1]) - (xyz_list[0][0]-xyz_list[1][0])*(xyz_list[2][1]-xyz_list[0][1])); 2685 2686 /*Now get the average grounded melt over the element*/ 2687 Input* gbmb_input = inputs->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(gbmb_input); 2688 2689 gbmb_input->GetInputAverage(&gbmb); 2690 Total_Gbmb=rho_ice*base*gbmb;// grounded melt on element in kg s-1 2691 2692 /*Return: */ 2693 return Total_Gbmb; 2694 } 2695 /*}}}*/ 2638 2696 IssmDouble Penta::TotalSmb(void){/*{{{*/ 2639 2697 -
issm/trunk-jpl/src/c/classes/Elements/Penta.h
r20007 r20209 159 159 int TensorInterpolation(){_error_("not implemented yet");}; 160 160 IssmDouble TimeAdapt(); 161 IssmDouble TotalFloatingBmb(void); 162 IssmDouble TotalGroundedBmb(void); 161 163 IssmDouble TotalSmb(void); 162 164 void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finitelement); -
issm/trunk-jpl/src/c/classes/Elements/Seg.h
r20007 r20209 149 149 int TensorInterpolation(void){_error_("not implemented yet");}; 150 150 IssmDouble TimeAdapt(){_error_("not implemented yet");}; 151 IssmDouble TotalFloatingBmb(void){_error_("not implemented yet");}; 152 IssmDouble TotalGroundedBmb(void){_error_("not implemented yet");}; 151 153 IssmDouble TotalSmb(void){_error_("not implemented yet");}; 152 154 void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finitelement){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Elements/Tetra.h
r20007 r20209 156 156 int TensorInterpolation(void); 157 157 IssmDouble TimeAdapt(){_error_("not implemented yet");}; 158 IssmDouble TotalFloatingBmb(void){_error_("not implemented yet");}; 159 IssmDouble TotalGroundedBmb(void){_error_("not implemented yet");}; 158 160 IssmDouble TotalSmb(void){_error_("not implemented yet");}; 159 161 void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finitelement); -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r20053 r20209 3068 3068 3069 3069 return dt; 3070 } 3071 /*}}}*/ 3072 IssmDouble Tria::TotalFloatingBmb(void){/*{{{*/ 3073 3074 /*The fbmb[kg yr-1] of one element is area[m2] * melting_rate [kg m^-2 yr^-1]*/ 3075 IssmDouble base,fbmb,rho_ice; 3076 IssmDouble Total_Fbmb=0; 3077 IssmDouble xyz_list[NUMVERTICES][3]; 3078 3079 /*Get material parameters :*/ 3080 rho_ice=matpar->GetMaterialParameter(MaterialsRhoIceEnum); 3081 3082 if(!IsIceInElement())return 0; 3083 3084 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES); 3085 3086 /*First calculate the area of the base (cross section triangle) 3087 * http://en.wikipedia.org/wiki/Triangle 3088 * base = 1/2 abs((xA-xC)(yB-yA)-(xA-xB)(yC-yA))*/ 3089 base = 1./2. * fabs((xyz_list[0][0]-xyz_list[2][0])*(xyz_list[1][1]-xyz_list[0][1]) - (xyz_list[0][0]-xyz_list[1][0])*(xyz_list[2][1]-xyz_list[0][1])); // area of element in m2 3090 3091 /*Now get the average SMB over the element*/ 3092 Input* fbmb_input = inputs->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fbmb_input); 3093 fbmb_input->GetInputAverage(&fbmb); // average melting rate on element in m ice s-1 3094 Total_Fbmb=rho_ice*base*fbmb; // melting rate on element in kg s-1 3095 3096 /*Return: */ 3097 return Total_Fbmb; 3098 } 3099 /*}}}*/ 3100 IssmDouble Tria::TotalGroundedBmb(void){/*{{{*/ 3101 3102 /*The gbmb[kg yr-1] of one element is area[m2] * gounded melting rate [kg m^-2 yr^-1]*/ 3103 IssmDouble base,gbmb,rho_ice; 3104 IssmDouble Total_Gbmb=0; 3105 IssmDouble xyz_list[NUMVERTICES][3]; 3106 3107 /*Get material parameters :*/ 3108 rho_ice=matpar->GetMaterialParameter(MaterialsRhoIceEnum); 3109 3110 if(!IsIceInElement())return 0; 3111 3112 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES); 3113 3114 /*First calculate the area of the base (cross section triangle) 3115 * http://en.wikipedia.org/wiki/Triangle 3116 * base = 1/2 abs((xA-xC)(yB-yA)-(xA-xB)(yC-yA))*/ 3117 base = 1./2. * fabs((xyz_list[0][0]-xyz_list[2][0])*(xyz_list[1][1]-xyz_list[0][1]) - (xyz_list[0][0]-xyz_list[1][0])*(xyz_list[2][1]-xyz_list[0][1])); // area of element in m2 3118 3119 /*Now get the average grounded melting rate over the element*/ 3120 Input* gbmb_input = inputs->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(gbmb_input); 3121 gbmb_input->GetInputAverage(&gbmb); // average smb on element in m ice s-1 3122 Total_Gbmb=rho_ice*base*gbmb; // smb on element in kg s-1 3123 3124 /*Return: */ 3125 return Total_Gbmb; 3070 3126 } 3071 3127 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r20007 r20209 130 130 int TensorInterpolation(); 131 131 IssmDouble TimeAdapt(); 132 IssmDouble TotalFloatingBmb(void); 133 IssmDouble TotalGroundedBmb(void); 132 134 IssmDouble TotalSmb(void); 133 135 void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finitelement); -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r20134 r20209 952 952 case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters); break; 953 953 case BalancethicknessMisfitEnum: BalancethicknessMisfitx(responses); break; 954 case TotalFloatingBmbEnum: this->TotalFloatingBmbx(responses); break; 955 case TotalGroundedBmbEnum: this->TotalGroundedBmbx(responses); break; 954 956 case TotalSmbEnum: this->TotalSmbx(responses); break; 955 957 case MaterialsRheologyBbarEnum: this->ElementResponsex(responses,MaterialsRheologyBbarEnum); break; … … 1026 1028 case MaxAbsVzEnum: this->MaxAbsVzx(&double_result); break; 1027 1029 case MassFluxEnum: this->MassFluxx(&double_result); break; 1030 case TotalFloatingBmbEnum: this->TotalFloatingBmbx(&double_result); break; 1031 case TotalGroundedBmbEnum: this->TotalGroundedBmbx(&double_result); break; 1028 1032 case TotalSmbEnum: this->TotalSmbx(&double_result); break; 1029 1033 … … 1570 1574 1571 1575 }/*}}}*/ 1576 void FemModel::TotalFloatingBmbx(IssmDouble* pFbmb){/*{{{*/ 1577 1578 IssmDouble local_fbmb = 0; 1579 IssmDouble total_fbmb; 1580 1581 for(int i=0;i<this->elements->Size();i++){ 1582 Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i)); 1583 local_fbmb+=element->TotalFloatingBmb(); 1584 } 1585 ISSM_MPI_Reduce(&local_fbmb,&total_fbmb,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() ); 1586 ISSM_MPI_Bcast(&total_fbmb,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm()); 1587 1588 /*Assign output pointers: */ 1589 *pFbmb=total_fbmb; 1590 1591 }/*}}}*/ 1592 void FemModel::TotalGroundedBmbx(IssmDouble* pGbmb){/*{{{*/ 1593 1594 IssmDouble local_gbmb = 0; 1595 IssmDouble total_gbmb; 1596 1597 for(int i=0;i<this->elements->Size();i++){ 1598 Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i)); 1599 local_gbmb+=element->TotalGroundedBmb(); 1600 } 1601 ISSM_MPI_Reduce(&local_gbmb,&total_gbmb,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() ); 1602 ISSM_MPI_Bcast(&total_gbmb,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm()); 1603 1604 /*Assign output pointers: */ 1605 *pGbmb=total_gbmb; 1606 1607 }/*}}}*/ 1572 1608 void FemModel::TotalSmbx(IssmDouble* pSmb){/*{{{*/ 1573 1609 -
issm/trunk-jpl/src/c/classes/FemModel.h
r20134 r20209 77 77 void MinVyx(IssmDouble* presponse); 78 78 void MinVzx(IssmDouble* presponse); 79 void TotalFloatingBmbx(IssmDouble* pFbmb); 80 void TotalGroundedBmbx(IssmDouble* pGbmb); 79 81 void TotalSmbx(IssmDouble* pSmb); 80 82 void Divergencex(IssmDouble* pdiv); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r20154 r20209 944 944 IceVolumeEnum, 945 945 IceVolumeAboveFloatationEnum, 946 TotalFloatingBmbEnum, 947 TotalGroundedBmbEnum, 946 948 TotalSmbEnum, 947 949 /*}}}*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r20154 r20209 920 920 case IceVolumeEnum : return "IceVolume"; 921 921 case IceVolumeAboveFloatationEnum : return "IceVolumeAboveFloatation"; 922 case TotalFloatingBmbEnum : return "TotalFloatingBmb"; 923 case TotalGroundedBmbEnum : return "TotalGroundedBmb"; 922 924 case TotalSmbEnum : return "TotalSmb"; 923 925 case AbsoluteEnum : return "Absolute"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r20154 r20209 941 941 else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum; 942 942 else if (strcmp(name,"IceVolumeAboveFloatation")==0) return IceVolumeAboveFloatationEnum; 943 else if (strcmp(name,"TotalFloatingBmb")==0) return TotalFloatingBmbEnum; 944 else if (strcmp(name,"TotalGroundedBmb")==0) return TotalGroundedBmbEnum; 943 945 else if (strcmp(name,"TotalSmb")==0) return TotalSmbEnum; 944 946 else if (strcmp(name,"Absolute")==0) return AbsoluteEnum; … … 996 998 else if (strcmp(name,"Sset")==0) return SsetEnum; 997 999 else if (strcmp(name,"Verbose")==0) return VerboseEnum; 998 else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;999 else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum; 1003 if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum; 1004 else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum; 1005 else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum; 1004 1006 else if (strcmp(name,"XY")==0) return XYEnum; 1005 1007 else if (strcmp(name,"XYZ")==0) return XYZEnum; -
issm/trunk-jpl/src/m/enum/EnumDefinitions.js
r20154 r20209 905 905 function IceVolumeEnum(){ return 901;} 906 906 function IceVolumeAboveFloatationEnum(){ return 902;} 907 function TotalSmbEnum(){ return 903;} 908 function AbsoluteEnum(){ return 904;} 909 function IncrementalEnum(){ return 905;} 910 function AugmentedLagrangianREnum(){ return 906;} 911 function AugmentedLagrangianRhopEnum(){ return 907;} 912 function AugmentedLagrangianRlambdaEnum(){ return 908;} 913 function AugmentedLagrangianRholambdaEnum(){ return 909;} 914 function AugmentedLagrangianThetaEnum(){ return 910;} 915 function NoneEnum(){ return 911;} 916 function AggressiveMigrationEnum(){ return 912;} 917 function SoftMigrationEnum(){ return 913;} 918 function SubelementMigrationEnum(){ return 914;} 919 function SubelementMigration2Enum(){ return 915;} 920 function ContactEnum(){ return 916;} 921 function GroundingOnlyEnum(){ return 917;} 922 function MaskGroundediceLevelsetEnum(){ return 918;} 923 function GaussSegEnum(){ return 919;} 924 function GaussTriaEnum(){ return 920;} 925 function GaussTetraEnum(){ return 921;} 926 function GaussPentaEnum(){ return 922;} 927 function FSSolverEnum(){ return 923;} 928 function AdjointEnum(){ return 924;} 929 function ColinearEnum(){ return 925;} 930 function ControlSteadyEnum(){ return 926;} 931 function FsetEnum(){ return 927;} 932 function Gradient1Enum(){ return 928;} 933 function Gradient2Enum(){ return 929;} 934 function Gradient3Enum(){ return 930;} 935 function GradientEnum(){ return 931;} 936 function GroundinglineMigrationEnum(){ return 932;} 937 function GsetEnum(){ return 933;} 938 function IndexEnum(){ return 934;} 939 function IndexedEnum(){ return 935;} 940 function IntersectEnum(){ return 936;} 941 function NodalEnum(){ return 937;} 942 function OldGradientEnum(){ return 938;} 943 function OutputBufferPointerEnum(){ return 939;} 944 function OutputBufferSizePointerEnum(){ return 940;} 945 function OutputFilePointerEnum(){ return 941;} 946 function ToolkitsFileNameEnum(){ return 942;} 947 function RootPathEnum(){ return 943;} 948 function OutputFileNameEnum(){ return 944;} 949 function InputFileNameEnum(){ return 945;} 950 function LockFileNameEnum(){ return 946;} 951 function RestartFileNameEnum(){ return 947;} 952 function ToolkitsOptionsAnalysesEnum(){ return 948;} 953 function ToolkitsOptionsStringsEnum(){ return 949;} 954 function QmuErrNameEnum(){ return 950;} 955 function QmuInNameEnum(){ return 951;} 956 function QmuOutNameEnum(){ return 952;} 957 function RegularEnum(){ return 953;} 958 function ScaledEnum(){ return 954;} 959 function SeparateEnum(){ return 955;} 960 function SsetEnum(){ return 956;} 961 function VerboseEnum(){ return 957;} 962 function TriangleInterpEnum(){ return 958;} 963 function BilinearInterpEnum(){ return 959;} 964 function NearestInterpEnum(){ return 960;} 965 function XYEnum(){ return 961;} 966 function XYZEnum(){ return 962;} 967 function DenseEnum(){ return 963;} 968 function MpiDenseEnum(){ return 964;} 969 function MpiSparseEnum(){ return 965;} 970 function SeqEnum(){ return 966;} 971 function MpiEnum(){ return 967;} 972 function MumpsEnum(){ return 968;} 973 function GslEnum(){ return 969;} 974 function OptionEnum(){ return 970;} 975 function GenericOptionEnum(){ return 971;} 976 function OptionCellEnum(){ return 972;} 977 function OptionStructEnum(){ return 973;} 978 function CuffeyEnum(){ return 974;} 979 function PatersonEnum(){ return 975;} 980 function ArrheniusEnum(){ return 976;} 981 function LliboutryDuvalEnum(){ return 977;} 982 function TransientIslevelsetEnum(){ return 978;} 983 function SpcLevelsetEnum(){ return 979;} 984 function ExtrapolationVariableEnum(){ return 980;} 985 function IceMaskNodeActivationEnum(){ return 981;} 986 function LevelsetfunctionSlopeXEnum(){ return 982;} 987 function LevelsetfunctionSlopeYEnum(){ return 983;} 988 function LevelsetfunctionPicardEnum(){ return 984;} 989 function SealevelriseSolutionEnum(){ return 985;} 990 function SealevelriseAnalysisEnum(){ return 986;} 991 function SealevelEnum(){ return 987;} 992 function SealevelriseDeltathicknessEnum(){ return 988;} 993 function SealevelriseMaxiterEnum(){ return 989;} 994 function SealevelriseReltolEnum(){ return 990;} 995 function SealevelriseAbstolEnum(){ return 991;} 996 function SealevelriseLoveHEnum(){ return 992;} 997 function SealevelriseLoveKEnum(){ return 993;} 998 function SealevelriseRigidEnum(){ return 994;} 999 function SealevelriseElasticEnum(){ return 995;} 1000 function SealevelriseEustaticEnum(){ return 996;} 1001 function SealevelriseGElasticEnum(){ return 997;} 1002 function SealevelriseDegaccEnum(){ return 998;} 1003 function SealevelriseTransitionsEnum(){ return 999;} 1004 function SealevelriseRequestedOutputsEnum(){ return 1000;} 1005 function SealevelriseNumRequestedOutputsEnum(){ return 1001;} 1006 function MaximumNumberOfDefinitionsEnum(){ return 1002;} 907 function TotalFloatingBmbEnum(){ return 903;} 908 function TotalGroundedBmbEnum(){ return 904;} 909 function TotalSmbEnum(){ return 905;} 910 function AbsoluteEnum(){ return 906;} 911 function IncrementalEnum(){ return 907;} 912 function AugmentedLagrangianREnum(){ return 908;} 913 function AugmentedLagrangianRhopEnum(){ return 909;} 914 function AugmentedLagrangianRlambdaEnum(){ return 910;} 915 function AugmentedLagrangianRholambdaEnum(){ return 911;} 916 function AugmentedLagrangianThetaEnum(){ return 912;} 917 function NoneEnum(){ return 913;} 918 function AggressiveMigrationEnum(){ return 914;} 919 function SoftMigrationEnum(){ return 915;} 920 function SubelementMigrationEnum(){ return 916;} 921 function SubelementMigration2Enum(){ return 917;} 922 function ContactEnum(){ return 918;} 923 function GroundingOnlyEnum(){ return 919;} 924 function MaskGroundediceLevelsetEnum(){ return 920;} 925 function GaussSegEnum(){ return 921;} 926 function GaussTriaEnum(){ return 922;} 927 function GaussTetraEnum(){ return 923;} 928 function GaussPentaEnum(){ return 924;} 929 function FSSolverEnum(){ return 925;} 930 function AdjointEnum(){ return 926;} 931 function ColinearEnum(){ return 927;} 932 function ControlSteadyEnum(){ return 928;} 933 function FsetEnum(){ return 929;} 934 function Gradient1Enum(){ return 930;} 935 function Gradient2Enum(){ return 931;} 936 function Gradient3Enum(){ return 932;} 937 function GradientEnum(){ return 933;} 938 function GroundinglineMigrationEnum(){ return 934;} 939 function GsetEnum(){ return 935;} 940 function IndexEnum(){ return 936;} 941 function IndexedEnum(){ return 937;} 942 function IntersectEnum(){ return 938;} 943 function NodalEnum(){ return 939;} 944 function OldGradientEnum(){ return 940;} 945 function OutputBufferPointerEnum(){ return 941;} 946 function OutputBufferSizePointerEnum(){ return 942;} 947 function OutputFilePointerEnum(){ return 943;} 948 function ToolkitsFileNameEnum(){ return 944;} 949 function RootPathEnum(){ return 945;} 950 function OutputFileNameEnum(){ return 946;} 951 function InputFileNameEnum(){ return 947;} 952 function LockFileNameEnum(){ return 948;} 953 function RestartFileNameEnum(){ return 949;} 954 function ToolkitsOptionsAnalysesEnum(){ return 950;} 955 function ToolkitsOptionsStringsEnum(){ return 951;} 956 function QmuErrNameEnum(){ return 952;} 957 function QmuInNameEnum(){ return 953;} 958 function QmuOutNameEnum(){ return 954;} 959 function RegularEnum(){ return 955;} 960 function ScaledEnum(){ return 956;} 961 function SeparateEnum(){ return 957;} 962 function SsetEnum(){ return 958;} 963 function VerboseEnum(){ return 959;} 964 function TriangleInterpEnum(){ return 960;} 965 function BilinearInterpEnum(){ return 961;} 966 function NearestInterpEnum(){ return 962;} 967 function XYEnum(){ return 963;} 968 function XYZEnum(){ return 964;} 969 function DenseEnum(){ return 965;} 970 function MpiDenseEnum(){ return 966;} 971 function MpiSparseEnum(){ return 967;} 972 function SeqEnum(){ return 968;} 973 function MpiEnum(){ return 969;} 974 function MumpsEnum(){ return 970;} 975 function GslEnum(){ return 971;} 976 function OptionEnum(){ return 972;} 977 function GenericOptionEnum(){ return 973;} 978 function OptionCellEnum(){ return 974;} 979 function OptionStructEnum(){ return 975;} 980 function CuffeyEnum(){ return 976;} 981 function PatersonEnum(){ return 977;} 982 function ArrheniusEnum(){ return 978;} 983 function LliboutryDuvalEnum(){ return 979;} 984 function TransientIslevelsetEnum(){ return 980;} 985 function SpcLevelsetEnum(){ return 981;} 986 function ExtrapolationVariableEnum(){ return 982;} 987 function IceMaskNodeActivationEnum(){ return 983;} 988 function LevelsetfunctionSlopeXEnum(){ return 984;} 989 function LevelsetfunctionSlopeYEnum(){ return 985;} 990 function LevelsetfunctionPicardEnum(){ return 986;} 991 function SealevelriseSolutionEnum(){ return 987;} 992 function SealevelriseAnalysisEnum(){ return 988;} 993 function SealevelEnum(){ return 989;} 994 function SealevelriseDeltathicknessEnum(){ return 990;} 995 function SealevelriseMaxiterEnum(){ return 991;} 996 function SealevelriseReltolEnum(){ return 992;} 997 function SealevelriseAbstolEnum(){ return 993;} 998 function SealevelriseLoveHEnum(){ return 994;} 999 function SealevelriseLoveKEnum(){ return 995;} 1000 function SealevelriseRigidEnum(){ return 996;} 1001 function SealevelriseElasticEnum(){ return 997;} 1002 function SealevelriseEustaticEnum(){ return 998;} 1003 function SealevelriseGElasticEnum(){ return 999;} 1004 function SealevelriseDegaccEnum(){ return 1000;} 1005 function SealevelriseTransitionsEnum(){ return 1001;} 1006 function SealevelriseRequestedOutputsEnum(){ return 1002;} 1007 function SealevelriseNumRequestedOutputsEnum(){ return 1003;} 1008 function MaximumNumberOfDefinitionsEnum(){ return 1004;} -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r20154 r20209 912 912 def IceVolumeEnum(): return StringToEnum("IceVolume")[0] 913 913 def IceVolumeAboveFloatationEnum(): return StringToEnum("IceVolumeAboveFloatation")[0] 914 def TotalFloatingBmbEnum(): return StringToEnum("TotalFloatingBmb")[0] 915 def TotalGroundedBmbEnum(): return StringToEnum("TotalGroundedBmb")[0] 914 916 def TotalSmbEnum(): return StringToEnum("TotalSmb")[0] 915 917 def AbsoluteEnum(): return StringToEnum("Absolute")[0] -
issm/trunk-jpl/test/NightlyRun/test208.m
r19756 r20209 5 5 md=setflowequation(md,'SSA','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md.transient.requested_outputs={'default','GroundedArea' };7 md.transient.requested_outputs={'default','GroundedArea','TotalGroundedBmb','TotalFloatingBmb'}; 8 8 md=solve(md,TransientSolutionEnum()); 9 9 10 10 %Fields and tolerances to track changes 11 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3'}; 12 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 11 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','TotalGroundedBmb1','TotalFloatingBmb1',... 12 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','TotalGroundedBmb2','TotalFloatingBmb2',... 13 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','TotalGroundedBmb3','TotalFloatingBmb3'}; 14 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 15 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 16 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 13 17 field_values={... 14 18 (md.results.TransientSolution(1).Vx),... … … 19 23 (md.results.TransientSolution(1).Surface),... 20 24 (md.results.TransientSolution(1).Thickness),... 25 (md.results.TransientSolution(1).TotalGroundedBmb),... 26 (md.results.TransientSolution(1).TotalFloatingBmb),... 21 27 (md.results.TransientSolution(2).Vx),... 22 28 (md.results.TransientSolution(2).Vy),... … … 26 32 (md.results.TransientSolution(2).Surface),... 27 33 (md.results.TransientSolution(2).Thickness),... 34 (md.results.TransientSolution(2).TotalGroundedBmb),... 35 (md.results.TransientSolution(2).TotalFloatingBmb),... 28 36 (md.results.TransientSolution(3).Vx),... 29 37 (md.results.TransientSolution(3).Vy),... … … 33 41 (md.results.TransientSolution(3).Surface),... 34 42 (md.results.TransientSolution(3).Thickness),... 43 (md.results.TransientSolution(3).TotalGroundedBmb),... 44 (md.results.TransientSolution(3).TotalFloatingBmb),... 35 45 }; -
issm/trunk-jpl/test/NightlyRun/test208.py
r19049 r20209 16 16 md=setflowequation(md,'SSA','all') 17 17 md.cluster=generic('name',oshostname(),'np',3) 18 md.transient.requested_outputs=['default','GroundedArea','TotalFloatingBmb','TotalGroundedBmb'] 18 19 md=solve(md,TransientSolutionEnum()) 19 20 … … 21 22 # Fields and tolerances to track changes 22 23 23 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1',' Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3']24 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13 ]24 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','TotalGroundedBmb1','TotalFloatingBmb1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','TotalGroundedBmb2','TotalFloatingBmb2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','TotalGroundedBmb3','TotalFloatingBmb3'] 25 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13] 25 26 field_values=[\ 26 27 md.results.TransientSolution[0].Vx,\ … … 31 32 md.results.TransientSolution[0].Surface,\ 32 33 md.results.TransientSolution[0].Thickness,\ 34 md.results.TransientSolution[0].TotalGroundedBmb,\ 35 md.results.TransientSolution[0].TotalFloatingBmb,\ 33 36 md.results.TransientSolution[1].Vx,\ 34 37 md.results.TransientSolution[1].Vy,\ … … 38 41 md.results.TransientSolution[1].Surface,\ 39 42 md.results.TransientSolution[1].Thickness,\ 43 md.results.TransientSolution[1].TotalGroundedBmb,\ 44 md.results.TransientSolution[1].TotalFloatingBmb,\ 40 45 md.results.TransientSolution[2].Vx,\ 41 46 md.results.TransientSolution[2].Vy,\ … … 45 50 md.results.TransientSolution[2].Surface,\ 46 51 md.results.TransientSolution[2].Thickness,\ 52 md.results.TransientSolution[2].TotalGroundedBmb,\ 53 md.results.TransientSolution[2].TotalFloatingBmb,\ 47 54 ] -
issm/trunk-jpl/test/NightlyRun/test317.m
r19764 r20209 6 6 md=setflowequation(md,'HO','all'); 7 7 md.cluster=generic('name',oshostname(),'np',3); 8 md.transient.requested_outputs={'default','GroundedArea','FloatingArea' };8 md.transient.requested_outputs={'default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb'}; 9 9 md=solve(md,TransientSolutionEnum()); 10 10 11 11 %Fields and tolerances to track changes 12 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','GroundedArea1','FloatingArea1', ...13 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','GroundedArea2','FloatingArea2', ...14 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','GroundedArea3','FloatingArea3' };15 field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12, ...16 1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12, ...17 1e-09,5e-10,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12 };12 field_names ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','GroundedArea1','FloatingArea1','TotalFloatingBmb1','TotalGroundedBmb1'... 13 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','GroundedArea2','FloatingArea2','TotalFloatingBmb2','TotalGroundedBmb2',... 14 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','GroundedArea3','FloatingArea3','TotalFloatingBmb3','TotalGroundedBmb3'}; 15 field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12,1e-12,1e-12,... 16 1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12,1e-12,1e-12,... 17 1e-09,5e-10,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12,1e-12,1e-12}; 18 18 field_values={... 19 19 (md.results.TransientSolution(1).Vx),... … … 29 29 (md.results.TransientSolution(1).GroundedArea),... 30 30 (md.results.TransientSolution(1).FloatingArea),... 31 (md.results.TransientSolution(1).TotalFloatingBmb),... 32 (md.results.TransientSolution(1).TotalGroundedBmb),... 31 33 (md.results.TransientSolution(2).Vx),... 32 34 (md.results.TransientSolution(2).Vy),... … … 41 43 (md.results.TransientSolution(2).GroundedArea),... 42 44 (md.results.TransientSolution(2).FloatingArea),... 45 (md.results.TransientSolution(2).TotalFloatingBmb),... 46 (md.results.TransientSolution(2).TotalGroundedBmb),... 43 47 (md.results.TransientSolution(3).Vx),... 44 48 (md.results.TransientSolution(3).Vy),... … … 53 57 (md.results.TransientSolution(3).GroundedArea),... 54 58 (md.results.TransientSolution(3).FloatingArea),... 59 (md.results.TransientSolution(3).TotalFloatingBmb),... 60 (md.results.TransientSolution(3).TotalGroundedBmb),... 55 61 }; -
issm/trunk-jpl/test/NightlyRun/test317.py
r19789 r20209 15 15 md=setflowequation(md,'HO','all') 16 16 md.cluster=generic('name',oshostname(),'np',3) 17 md.transient.requested_outputs=['default','GroundedArea','FloatingArea' ]17 md.transient.requested_outputs=['default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb'] 18 18 md=solve(md,TransientSolutionEnum()) 19 19 20 20 #Fields and tolerances to track changes 21 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','GroundedArea1','FloatingArea1' \22 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','GroundedArea2','FloatingArea2', \23 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','GroundedArea3','FloatingArea ']24 field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12, \25 1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12, \26 1e-09,5e-10,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12 ]21 field_names =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','GroundedArea1','FloatingArea1','TotalFloatingBmb1','TotalGroundedBmb1'\ 22 'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','GroundedArea2','FloatingArea2','TotalFloatingBmb2','TotalGroundedBmb2',\ 23 'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','GroundedArea3','FloatingArea3','TotalFloatingBmb2','TotalGroundedBmb2'] 24 field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12,1e-12,1e-12,\ 25 1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12,1e-12,1e-12,\ 26 1e-09,5e-10,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-12,1e-12,1e-12,1e-12] 27 27 field_values=[\ 28 28 md.results.TransientSolution[0].Vx,\ … … 38 38 md.results.TransientSolution[0].GroundedArea,\ 39 39 md.results.TransientSolution[0].FloatingArea,\ 40 md.results.TransientSolution[0].TotalFloatingBmb,\ 41 md.results.TransientSolution[0].TotalGroundedBmb,\ 40 42 md.results.TransientSolution[1].Vx,\ 41 43 md.results.TransientSolution[1].Vy,\ … … 50 52 md.results.TransientSolution[1].GroundedArea,\ 51 53 md.results.TransientSolution[1].FloatingArea,\ 54 md.results.TransientSolution[1].TotalFloatingBmb,\ 55 md.results.TransientSolution[1].TotalGroundedBmb,\ 52 56 md.results.TransientSolution[2].Vx,\ 53 57 md.results.TransientSolution[2].Vy,\ … … 62 66 md.results.TransientSolution[2].GroundedArea,\ 63 67 md.results.TransientSolution[2].FloatingArea,\ 68 md.results.TransientSolution[3].TotalFloatingBmb,\ 69 md.results.TransientSolution[3].TotalGroundedBmb,\ 64 70 ] -
issm/trunk-jpl/test/NightlyRun/test408.m
r19519 r20209 5 5 md=setflowequation(md,'SSA','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md.transient.requested_outputs={'default','GroundedArea' };7 md.transient.requested_outputs={'default','GroundedArea','TotalFloatingBmb','TotalGroundedBmb'}; 8 8 md=solve(md,TransientSolutionEnum()); 9 9 10 10 %Fields and tolerances to track changes 11 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','GroundedArea1',... 12 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','GroundedArea2',... 13 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','GroundedArea3'}; 14 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 11 field_names ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','GroundedArea1','TotalFloatingBmb1','TotalGroundedBmb1',... 12 'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','GroundedArea2','TotalFloatingBmb2','TotalGroundedBmb2',... 13 'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','GroundedArea3','TotalFloatingBmb3','TotalGroundedBmb3'}; 14 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 15 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,... 16 1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 15 17 field_values={... 16 18 (md.results.TransientSolution(1).Vx),... … … 22 24 (md.results.TransientSolution(1).Thickness),... 23 25 (md.results.TransientSolution(1).GroundedArea),... 26 (md.results.TransientSolution(1).TotalFloatingBmb),... 27 (md.results.TransientSolution(1).TotalGroundedBmb),... 24 28 (md.results.TransientSolution(2).Vx),... 25 29 (md.results.TransientSolution(2).Vy),... … … 30 34 (md.results.TransientSolution(2).Thickness),... 31 35 (md.results.TransientSolution(2).GroundedArea),... 36 (md.results.TransientSolution(2).TotalFloatingBmb),... 37 (md.results.TransientSolution(2).TotalGroundedBmb),... 32 38 (md.results.TransientSolution(3).Vx),... 33 39 (md.results.TransientSolution(3).Vy),... … … 38 44 (md.results.TransientSolution(3).Thickness),... 39 45 (md.results.TransientSolution(3).GroundedArea),... 46 (md.results.TransientSolution(3).TotalFloatingBmb),... 47 (md.results.TransientSolution(3).TotalGroundedBmb),... 40 48 }; -
issm/trunk-jpl/test/NightlyRun/test408.py
r19522 r20209 15 15 md=setflowequation(md,'SSA','all') 16 16 md.cluster=generic('name',oshostname(),'np',3) 17 md.transient.requested_outputs=['default','GroundedArea' ]17 md.transient.requested_outputs=['default','GroundedArea','TotalFloatingBmb','TotalGroundedBmb'] 18 18 md=solve(md,TransientSolutionEnum()) 19 19 20 20 #Fields and tolerances to track changes 21 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','GroundedArea1',' Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','GroundedArea2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','GroundedArea3']22 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13 ]21 field_names =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','GroundedArea1','TotalFloatingBmb1','TotalGroundedBmb1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','GroundedArea2','TotalFloatingBmb2','TotalGroundedBmb2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','GroundedArea3','TotalFloatingBmb3','TotalGroundedBmb3'] 22 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13] 23 23 field_values=[\ 24 24 md.results.TransientSolution[0].Vx,\ … … 30 30 md.results.TransientSolution[0].Thickness,\ 31 31 md.results.TransientSolution[0].GroundedArea,\ 32 md.results.TransientSolution[0].TotalFloatingBmb,\ 33 md.results.TransientSolution[0].TotalGroundedBmb,\ 32 34 md.results.TransientSolution[1].Vx,\ 33 35 md.results.TransientSolution[1].Vy,\ … … 38 40 md.results.TransientSolution[1].Thickness,\ 39 41 md.results.TransientSolution[1].GroundedArea,\ 42 md.results.TransientSolution[2].TotalFloatingBmb,\ 43 md.results.TransientSolution[2].TotalGroundedBmb,\ 40 44 md.results.TransientSolution[2].Vx,\ 41 45 md.results.TransientSolution[2].Vy,\ … … 45 49 md.results.TransientSolution[2].Surface,\ 46 50 md.results.TransientSolution[2].Thickness,\ 47 md.results.TransientSolution[1].GroundedArea,\ 51 md.results.TransientSolution[2].GroundedArea,\ 52 md.results.TransientSolution[2].TotalFloatingBmb,\ 53 md.results.TransientSolution[2].TotalGroundedBmb,\ 48 54 ]
Note:
See TracChangeset
for help on using the changeset viewer.