Changeset 23540
- Timestamp:
- 12/12/18 12:51:02 (6 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/externalpackages/semic/install.sh ¶
r23525 r23540 3 3 4 4 #Some cleanup 5 #rm -rf install src6 #mkdir install5 rm -rf install src 6 mkdir install 7 7 8 8 #Download latest version 9 #git clone https://github.com/mkrapp/semic.git src9 git clone https://github.com/mkrapp/semic.git src 10 10 11 11 if which ifort >/dev/null; then -
TabularUnified issm/trunk-jpl/m4/issm_options.m4 ¶
r23491 r23540 1697 1697 AC_SUBST([SEMICLIB]) 1698 1698 fi 1699 AM_CONDITIONAL([SEMIC],[test x$HAVE_SEMIC = xyes]) 1699 1700 dnl }}} 1700 1701 dnl spai{{{ -
TabularUnified issm/trunk-jpl/src/c/Makefile.am ¶
r23482 r23540 539 539 endif 540 540 #}}} 541 541 #SEMIC sources {{{ 542 if SEMIC 543 if FORTRAN 544 issm_sources += ./modules/SurfaceMassBalancex/run_semic.f90 545 endif 546 endif 547 #}}} 542 548 #Wrapper sources 543 549 #Kml sources {{{ … … 645 651 if !WINDOWS 646 652 if !STANDALONE_LIBRARIES 647 libISSMCore_la_LIBADD = $(PETSCLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)653 libISSMCore_la_LIBADD = $(PETSCLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) 648 654 if FORTRAN 649 655 libISSMCore_la_LIBADD += $(FLIBS) $(FORTRANLIB) -
TabularUnified issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp ¶
r23468 r23540 158 158 iomodel->FetchDataToInput(elements,"md.smb.runoffgrad",SmbRunoffgradEnum); 159 159 break; 160 case SMBsemicEnum: 161 iomodel->FetchDataToInput(elements,"md.thermal.spctemperature",ThermalSpctemperatureEnum); 162 iomodel->FetchDataToInput(elements,"md.smb.s0gcm",SmbS0gcmEnum); 163 iomodel->FetchDataToInput(elements,"md.smb.dailysnowfall",SmbDailysnowfallEnum); 164 iomodel->FetchDataToInput(elements,"md.smb.dailyrainfall",SmbDailyrainfallEnum); 165 iomodel->FetchDataToInput(elements,"md.smb.dailydsradiation",SmbDailydsradiationEnum); 166 iomodel->FetchDataToInput(elements,"md.smb.dailydlradiation",SmbDailydlradiationEnum); 167 iomodel->FetchDataToInput(elements,"md.smb.dailywindspeed",SmbDailywindspeedEnum); 168 iomodel->FetchDataToInput(elements,"md.smb.dailypressure",SmbDailypressureEnum); 169 iomodel->FetchDataToInput(elements,"md.smb.dailyairdensity",SmbDailyairdensityEnum); 170 iomodel->FetchDataToInput(elements,"md.smb.dailyairhumidity",SmbDailyairhumidityEnum); 171 iomodel->FetchDataToInput(elements,"md.smb.dailytemperature",SmbDailytemperatureEnum); 172 break; 160 173 default: 161 174 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet"); … … 283 296 iomodel->DeleteData(temp,"md.smb.runoffref"); 284 297 break; 298 case SMBsemicEnum: 299 /*Nothing to add to parameters*/ 300 break; 285 301 default: 286 302 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet"); … … 366 382 SmbGradientsComponentsx(femmodel); 367 383 break; 384 case SMBsemicEnum: 385 #ifdef _HAVE_SEMIC_ 386 if(VerboseSolution())_printf0_(" call smb SEMIC module\n"); 387 SmbSemicx(femmodel); 388 #else 389 _error_("SEMIC not installed"); 390 #endif //_HAVE_SEMIC_ 391 break; 368 392 default: 369 393 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet"); -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.cpp ¶
r23468 r23540 17 17 /*}}}*/ 18 18 19 #ifdef _HAVE_SEMIC_ 20 /* SEMIC prototype {{{*/ 21 extern "C" void run_semic_(double *sf_in, double *rf_in, double *swd_in, double *lwd_in, double *wind_in, double *sp_in, double *rhoa_in, 22 double *qq_in, double *tt_in, double *tsurf_out, double *smb_out, double *saccu_out, double *smelt_out); 23 #endif 24 // _HAVE_SEMIC_ 25 /*}}}*/ 19 26 /*Constructors/destructor/copy*/ 20 27 Element::Element(){/*{{{*/ … … 3009 3016 } 3010 3017 /*}}}*/ 3018 #ifdef _HAVE_SEMIC_ 3019 void Element::SmbSemic(){/*{{{*/ 3020 3021 /*only compute SMB at the surface: */ 3022 if (!IsOnSurface()) return; 3023 3024 int numvertices = this->GetNumberOfVertices(); 3025 3026 IssmDouble* s=xNew<IssmDouble>(numvertices); 3027 IssmDouble* s0gcm=xNew<IssmDouble>(numvertices); 3028 IssmDouble* st=xNew<IssmDouble>(numvertices); 3029 3030 // daily forcing inputs 3031 IssmDouble* dailyrainfall=xNew<IssmDouble>(365*numvertices); 3032 IssmDouble* dailysnowfall=xNew<IssmDouble>(365*numvertices); 3033 IssmDouble* dailydlradiation=xNew<IssmDouble>(365*numvertices); 3034 IssmDouble* dailydsradiation=xNew<IssmDouble>(365*numvertices); 3035 IssmDouble* dailywindspeed=xNew<IssmDouble>(365*numvertices); 3036 IssmDouble* dailypressure=xNew<IssmDouble>(365*numvertices); 3037 IssmDouble* dailyairdensity=xNew<IssmDouble>(365*numvertices); 3038 IssmDouble* dailyairhumidity=xNew<IssmDouble>(365*numvertices); 3039 IssmDouble* dailytemperature=xNew<IssmDouble>(365*numvertices); 3040 // daily outputs 3041 IssmDouble* tsurf_out=xNew<IssmDouble>(numvertices); memset(tsurf_out, 0., numvertices*sizeof(IssmDouble)); 3042 IssmDouble* smb_out=xNew<IssmDouble>(numvertices); memset(smb_out, 0., numvertices*sizeof(IssmDouble)); 3043 IssmDouble* saccu_out=xNew<IssmDouble>(numvertices); memset(saccu_out, 0., numvertices*sizeof(IssmDouble)); 3044 IssmDouble* smelt_out=xNew<IssmDouble>(numvertices); memset(smelt_out, 0., numvertices*sizeof(IssmDouble)); 3045 3046 IssmDouble rho_water,rho_ice,desfac,rlaps,rdl; 3047 IssmDouble time,yts,time_yr; 3048 3049 /* Get time: */ 3050 this->parameters->FindParam(&time,TimeEnum); 3051 this->parameters->FindParam(&yts,ConstantsYtsEnum); 3052 time_yr=floor(time/yts)*yts; 3053 3054 /*Get material parameters :*/ 3055 rho_water=this->matpar->GetMaterialParameter(MaterialsRhoSeawaterEnum); 3056 rho_ice=this->matpar->GetMaterialParameter(MaterialsRhoIceEnum); 3057 desfac=this->matpar->GetMaterialParameter(SmbDesfacEnum); 3058 rlaps=this->matpar->GetMaterialParameter(SmbRlapsEnum); 3059 rdl=this->matpar->GetMaterialParameter(SmbRdlEnum); 3060 3061 /* Retrieve inputs: */ 3062 Input* dailysnowfall_input=this->GetInput(SmbDailysnowfallEnum); _assert_(dailysnowfall_input); 3063 Input* dailyrainfall_input=this->GetInput(SmbDailyrainfallEnum); _assert_(dailyrainfall_input); 3064 Input* dailydlradiation_input=this->GetInput(SmbDailydlradiationEnum); _assert_(dailydlradiation_input); 3065 Input* dailydsradiation_input=this->GetInput(SmbDailydsradiationEnum); _assert_(dailydsradiation_input); 3066 Input* dailywindspeed_input=this->GetInput(SmbDailywindspeedEnum); _assert_(dailywindspeed_input); 3067 Input* dailypressure_input=this->GetInput(SmbDailypressureEnum); _assert_(dailypressure_input); 3068 Input* dailyairdensity_input=this->GetInput(SmbDailyairdensityEnum); _assert_(dailyairdensity_input); 3069 Input* dailyairhumidity_input=this->GetInput(SmbDailyairhumidityEnum); _assert_(dailyairhumidity_input); 3070 Input* dailytemperature_input=this->GetInput(SmbDailytemperatureEnum); _assert_(dailytemperature_input); 3071 3072 /* Recover info at the vertices: */ 3073 GetInputListOnVertices(&s[0],SurfaceEnum); 3074 GetInputListOnVertices(&s0gcm[0],SmbS0gcmEnum); 3075 3076 /* loop over vertices and days */ //FIXME account for leap years (365 -> 366) 3077 Gauss* gauss=this->NewGauss(); 3078 for (int iday = 0; iday < 365; iday++){ 3079 for(int iv=0;iv<numvertices;iv++) { 3080 gauss->GaussVertex(iv); 3081 /* get forcing */ 3082 dailyrainfall_input->GetInputValue(&dailyrainfall[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3083 dailysnowfall_input->GetInputValue(&dailysnowfall[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3084 dailydlradiation_input->GetInputValue(&dailydlradiation[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3085 dailydsradiation_input->GetInputValue(&dailydsradiation[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3086 dailywindspeed_input->GetInputValue(&dailywindspeed[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3087 dailypressure_input->GetInputValue(&dailypressure[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3088 dailyairdensity_input->GetInputValue(&dailyairdensity[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3089 dailyairhumidity_input->GetInputValue(&dailyairhumidity[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3090 dailytemperature_input->GetInputValue(&dailytemperature[iv*365+iday],gauss,time_yr+(iday+1)/365.*yts); 3091 3092 /* Surface temperature correction */ 3093 st[iv]=(s[iv]-s0gcm[iv])/1000.; 3094 dailytemperature[iv*365+iday]=dailytemperature[iv*365+iday]-rlaps *st[iv]; 3095 3096 /* Precipitation correction (Vizcaino et al. 2010) */ 3097 if (s0gcm[iv] < 2000.0) { 3098 dailysnowfall[iv*365+iday] = dailysnowfall[iv*365+iday]*exp(desfac*(max(s[iv],2000.0)-2000.0)); 3099 dailyrainfall[iv*365+iday] = dailyrainfall[iv*365+iday]*exp(desfac*(max(s[iv],2000.0)-2000.0)); 3100 }else{ 3101 dailysnowfall[iv*365+iday] = dailysnowfall[iv*365+iday]*exp(desfac*(max(s[iv],2000.0)-s0gcm[iv])); 3102 dailyrainfall[iv*365+iday] = dailyrainfall[iv*365+iday]*exp(desfac*(max(s[iv],2000.0)-s0gcm[iv])); 3103 } 3104 3105 /* downward longwave radiation correction (Marty et al. 2002) */ 3106 st[iv]=(s[iv]-s0gcm[iv])/1000.; 3107 dailydlradiation[iv*365+iday]=dailydlradiation[iv*365+iday]+rdl*st[iv]; 3108 } 3109 } 3110 3111 for (int iv = 0; iv<numvertices; iv++){ 3112 /* call semic */ 3113 run_semic_(&dailysnowfall[iv*365], &dailyrainfall[iv*365], &dailydsradiation[iv*365], &dailydlradiation[iv*365], 3114 &dailywindspeed[iv*365], &dailypressure[iv*365], &dailyairdensity[iv*365], &dailyairhumidity[iv*365], &dailytemperature[iv*365], 3115 &tsurf_out[iv], &smb_out[iv], &saccu_out[iv], &smelt_out[iv]); 3116 } 3117 3118 switch(this->ObjectEnum()){ 3119 case TriaEnum: 3120 this->inputs->AddInput(new TriaInput(TemperatureSEMICEnum,&tsurf_out[0],P1Enum)); // TODO add TemperatureSEMICEnum to EnumDefinitions 3121 this->inputs->AddInput(new TriaInput(SmbMassBalanceEnum,&smb_out[0],P1Enum)); 3122 this->inputs->AddInput(new TriaInput(SmbAccumulationEnum,&saccu_out[0],P1Enum)); 3123 this->inputs->AddInput(new TriaInput(SmbMeltEnum,&smelt_out[0],P1Enum)); 3124 break; 3125 case PentaEnum: 3126 // TODO 3127 break; 3128 case TetraEnum: 3129 // TODO 3130 break; 3131 default: _error_("Not implemented yet"); 3132 } 3133 3134 /*clean-up*/ 3135 delete gauss; 3136 xDelete<IssmDouble>(dailysnowfall); 3137 xDelete<IssmDouble>(dailyrainfall); 3138 xDelete<IssmDouble>(dailydlradiation); 3139 xDelete<IssmDouble>(dailydsradiation); 3140 xDelete<IssmDouble>(dailywindspeed); 3141 xDelete<IssmDouble>(dailypressure); 3142 xDelete<IssmDouble>(dailyairdensity); 3143 xDelete<IssmDouble>(dailyairhumidity); 3144 xDelete<IssmDouble>(dailypressure); 3145 xDelete<IssmDouble>(dailytemperature); 3146 xDelete<IssmDouble>(smb_out); 3147 xDelete<IssmDouble>(smelt_out); 3148 xDelete<IssmDouble>(saccu_out); 3149 xDelete<IssmDouble>(tsurf_out); 3150 xDelete<IssmDouble>(s); 3151 xDelete<IssmDouble>(st); 3152 xDelete<IssmDouble>(s0gcm); 3153 } 3154 /*}}}*/ 3155 #endif // _HAVE_SEMIC_ 3011 3156 int Element::Sid(){/*{{{*/ 3012 3157 -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.h ¶
r23524 r23540 154 154 void ResultToVector(Vector<IssmDouble>* vector,int output_enum); 155 155 void SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum); 156 void SmbSemic(); 156 157 int Sid(); 157 158 void SmbGemb(); -
TabularUnified issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp ¶
r23532 r23540 37 37 rlaps = 0; 38 38 rlapslgm = 0; 39 rdl = 0; 39 40 dpermil = 0; 40 41 rheology_law = 0; … … 133 134 case SMBgradientscomponentsEnum: 134 135 /*Nothing to add*/ 136 break; 137 case SMBsemicEnum: 138 iomodel->FindConstant(&this->desfac,"md.smb.desfac"); 139 iomodel->FindConstant(&this->rlaps,"md.smb.rlaps"); 140 iomodel->FindConstant(&this->rdl,"md.smb.rdl"); 135 141 break; 136 142 default: … … 520 526 this->rlapslgm=constant; 521 527 break; 528 case SmbRdlEnum: 529 this->rdl=constant; 530 break; 522 531 case SmbDpermilEnum: 523 532 this->dpermil=constant; … … 639 648 case SmbRlapsEnum: return this->rlaps; 640 649 case SmbRlapslgmEnum: return this->rlapslgm; 650 case SmbRdlEnum: return this->rdl; 641 651 case SmbDpermilEnum: return this->dpermil; 642 652 case MaterialsLithosphereShearModulusEnum: return this->lithosphere_shear_modulus; -
TabularUnified issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp ¶
r23366 r23540 438 438 439 439 }/*}}}*/ 440 #ifdef _HAVE_SEMIC_ 441 void SmbSemicx(FemModel* femmodel){/*{{{*/ 442 443 for(int i=0;i<femmodel->elements->Size();i++){ 444 Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i)); 445 element->SmbSemic(); 446 } 447 448 }/*}}}*/ 449 #else 450 void SmbSemicx(FemModel* femmodel){_error_("SEMIC not installed");} 451 #endif //_HAVE_SEMIC_ -
TabularUnified issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h ¶
r23468 r23540 21 21 void SmbMeltComponentsx(FemModel* femmodel); 22 22 void SmbGradientsComponentsx(FemModel* femmodel); 23 /* SEMIC: */ 24 void SmbSemicx(FemModel* femmodel); 23 25 /*GEMB: */ 24 26 void Gembx(FemModel* femmodel); -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h ¶
r23524 r23540 560 560 SmbBPosEnum, 561 561 SmbCEnum, 562 SmbDailysnowfallEnum, 563 SmbDailyrainfallEnum, 564 SmbDailydsradiationEnum, 565 SmbDailydlradiationEnum, 566 SmbDailywindspeedEnum, 567 SmbDailypressureEnum, 568 SmbDailyairdensityEnum, 569 SmbDailyairhumidityEnum, 570 SmbDailytemperatureEnum, 562 571 SmbDEnum, 563 572 SmbDiniEnum, … … 597 606 SmbS0pEnum, 598 607 SmbS0tEnum, 608 SmbS0gcmEnum, 599 609 SmbSizeiniEnum, 600 610 SmbSmbrefEnum, … … 1093 1103 SigmaVMEnum, 1094 1104 SmbAnalysisEnum, 1105 SMBsemicEnum, 1095 1106 SMBcomponentsEnum, 1096 1107 SMBd18opddEnum, … … 1110 1121 SMBpddSicopolisEnum, 1111 1122 SMBgradientscomponentsEnum, 1123 SmbRdlEnum, 1112 1124 SmbRlapsEnum, 1113 1125 SmbRlapslgmEnum, … … 1141 1153 TaylorHoodEnum, 1142 1154 TemperaturePDDEnum, 1155 TemperatureSEMICEnum, 1143 1156 TetraEnum, 1144 1157 TetraInputEnum, -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp ¶
r23524 r23540 566 566 case SmbBPosEnum : return "SmbBPos"; 567 567 case SmbCEnum : return "SmbC"; 568 case SmbDailysnowfallEnum : return "SmbDailysnowfall"; 569 case SmbDailyrainfallEnum : return "SmbDailyrainfall"; 570 case SmbDailydsradiationEnum : return "SmbDailydsradiation"; 571 case SmbDailydlradiationEnum : return "SmbDailydlradiation"; 572 case SmbDailywindspeedEnum : return "SmbDailywindspeed"; 573 case SmbDailypressureEnum : return "SmbDailypressure"; 574 case SmbDailyairdensityEnum : return "SmbDailyairdensity"; 575 case SmbDailyairhumidityEnum : return "SmbDailyairhumidity"; 576 case SmbDailytemperatureEnum : return "SmbDailytemperature"; 568 577 case SmbDEnum : return "SmbD"; 569 578 case SmbDiniEnum : return "SmbDini"; … … 603 612 case SmbS0pEnum : return "SmbS0p"; 604 613 case SmbS0tEnum : return "SmbS0t"; 614 case SmbS0gcmEnum : return "SmbS0gcm"; 605 615 case SmbSizeiniEnum : return "SmbSizeini"; 606 616 case SmbSmbrefEnum : return "SmbSmbref"; … … 1097 1107 case SigmaVMEnum : return "SigmaVM"; 1098 1108 case SmbAnalysisEnum : return "SmbAnalysis"; 1109 case SMBsemicEnum : return "SMBsemic"; 1099 1110 case SMBcomponentsEnum : return "SMBcomponents"; 1100 1111 case SMBd18opddEnum : return "SMBd18opdd"; … … 1114 1125 case SMBpddSicopolisEnum : return "SMBpddSicopolis"; 1115 1126 case SMBgradientscomponentsEnum : return "SMBgradientscomponents"; 1127 case SmbRdlEnum : return "SmbRdl"; 1116 1128 case SmbRlapsEnum : return "SmbRlaps"; 1117 1129 case SmbRlapslgmEnum : return "SmbRlapslgm"; … … 1145 1157 case TaylorHoodEnum : return "TaylorHood"; 1146 1158 case TemperaturePDDEnum : return "TemperaturePDD"; 1159 case TemperatureSEMICEnum : return "TemperatureSEMIC"; 1147 1160 case TetraEnum : return "Tetra"; 1148 1161 case TetraInputEnum : return "TetraInput"; -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp ¶
r23524 r23540 578 578 else if (strcmp(name,"SmbBPos")==0) return SmbBPosEnum; 579 579 else if (strcmp(name,"SmbC")==0) return SmbCEnum; 580 else if (strcmp(name,"SmbDailysnowfall")==0) return SmbDailysnowfallEnum; 581 else if (strcmp(name,"SmbDailyrainfall")==0) return SmbDailyrainfallEnum; 582 else if (strcmp(name,"SmbDailydsradiation")==0) return SmbDailydsradiationEnum; 583 else if (strcmp(name,"SmbDailydlradiation")==0) return SmbDailydlradiationEnum; 584 else if (strcmp(name,"SmbDailywindspeed")==0) return SmbDailywindspeedEnum; 585 else if (strcmp(name,"SmbDailypressure")==0) return SmbDailypressureEnum; 586 else if (strcmp(name,"SmbDailyairdensity")==0) return SmbDailyairdensityEnum; 587 else if (strcmp(name,"SmbDailyairhumidity")==0) return SmbDailyairhumidityEnum; 588 else if (strcmp(name,"SmbDailytemperature")==0) return SmbDailytemperatureEnum; 580 589 else if (strcmp(name,"SmbD")==0) return SmbDEnum; 581 590 else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum; … … 615 624 else if (strcmp(name,"SmbS0p")==0) return SmbS0pEnum; 616 625 else if (strcmp(name,"SmbS0t")==0) return SmbS0tEnum; 626 else if (strcmp(name,"SmbS0gcm")==0) return SmbS0gcmEnum; 617 627 else if (strcmp(name,"SmbSizeini")==0) return SmbSizeiniEnum; 618 628 else if (strcmp(name,"SmbSmbref")==0) return SmbSmbrefEnum; 619 629 else if (strcmp(name,"SmbSmbCorr")==0) return SmbSmbCorrEnum; 620 630 else if (strcmp(name,"SmbTa")==0) return SmbTaEnum; 621 else if (strcmp(name,"SmbTemperaturesAnomaly")==0) return SmbTemperaturesAnomalyEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"SmbTemperaturesAnomaly")==0) return SmbTemperaturesAnomalyEnum; 622 635 else if (strcmp(name,"SmbTemperaturesLgm")==0) return SmbTemperaturesLgmEnum; 623 636 else if (strcmp(name,"SmbTemperaturesPresentday")==0) return SmbTemperaturesPresentdayEnum; … … 629 642 else if (strcmp(name,"SmbVmean")==0) return SmbVmeanEnum; 630 643 else if (strcmp(name,"SmbTz")==0) return SmbTzEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"SmbV")==0) return SmbVEnum; 644 else if (strcmp(name,"SmbV")==0) return SmbVEnum; 635 645 else if (strcmp(name,"SmbVz")==0) return SmbVzEnum; 636 646 else if (strcmp(name,"SmbW")==0) return SmbWEnum; … … 742 752 else if (strcmp(name,"Contour")==0) return ContourEnum; 743 753 else if (strcmp(name,"Contours")==0) return ContoursEnum; 744 else if (strcmp(name,"ControlInput")==0) return ControlInputEnum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"ControlInput")==0) return ControlInputEnum; 745 758 else if (strcmp(name,"ControlInputValues")==0) return ControlInputValuesEnum; 746 759 else if (strcmp(name,"ControlInputMins")==0) return ControlInputMinsEnum; … … 752 765 else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum; 753 766 else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"DataSet")==0) return DataSetEnum; 767 else if (strcmp(name,"DataSet")==0) return DataSetEnum; 758 768 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 759 769 else if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum; … … 865 875 else if (strcmp(name,"Intersect")==0) return IntersectEnum; 866 876 else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum; 867 else if (strcmp(name,"IntInput")==0) return IntInputEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"IntInput")==0) return IntInputEnum; 868 881 else if (strcmp(name,"IntMatExternalResult")==0) return IntMatExternalResultEnum; 869 882 else if (strcmp(name,"IntMatParam")==0) return IntMatParamEnum; … … 875 888 else if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum; 876 889 else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum; 890 else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum; 881 891 else if (strcmp(name,"LambdaS")==0) return LambdaSEnum; 882 892 else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum; … … 988 998 else if (strcmp(name,"Outputdefinition25")==0) return Outputdefinition25Enum; 989 999 else if (strcmp(name,"Outputdefinition26")==0) return Outputdefinition26Enum; 990 else if (strcmp(name,"Outputdefinition27")==0) return Outputdefinition27Enum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition27")==0) return Outputdefinition27Enum; 991 1004 else if (strcmp(name,"Outputdefinition28")==0) return Outputdefinition28Enum; 992 1005 else if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum; … … 998 1011 else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum; 999 1012 else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum; 1013 else if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum; 1004 1014 else if (strcmp(name,"Outputdefinition37")==0) return Outputdefinition37Enum; 1005 1015 else if (strcmp(name,"Outputdefinition38")==0) return Outputdefinition38Enum; … … 1111 1121 else if (strcmp(name,"SealevelUmotion")==0) return SealevelUmotionEnum; 1112 1122 else if (strcmp(name,"SedimentHeadStacked")==0) return SedimentHeadStackedEnum; 1113 else if (strcmp(name,"SedimentHead")==0) return SedimentHeadEnum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"SedimentHead")==0) return SedimentHeadEnum; 1114 1127 else if (strcmp(name,"Seg")==0) return SegEnum; 1115 1128 else if (strcmp(name,"SegInput")==0) return SegInputEnum; … … 1121 1134 else if (strcmp(name,"SigmaVM")==0) return SigmaVMEnum; 1122 1135 else if (strcmp(name,"SmbAnalysis")==0) return SmbAnalysisEnum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"SMBcomponents")==0) return SMBcomponentsEnum; 1136 else if (strcmp(name,"SMBsemic")==0) return SMBsemicEnum; 1137 else if (strcmp(name,"SMBcomponents")==0) return SMBcomponentsEnum; 1127 1138 else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum; 1128 1139 else if (strcmp(name,"SmbDesfac")==0) return SmbDesfacEnum; … … 1141 1152 else if (strcmp(name,"SMBpddSicopolis")==0) return SMBpddSicopolisEnum; 1142 1153 else if (strcmp(name,"SMBgradientscomponents")==0) return SMBgradientscomponentsEnum; 1154 else if (strcmp(name,"SmbRdl")==0) return SmbRdlEnum; 1143 1155 else if (strcmp(name,"SmbRlaps")==0) return SmbRlapsEnum; 1144 1156 else if (strcmp(name,"SmbRlapslgm")==0) return SmbRlapslgmEnum; … … 1172 1184 else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum; 1173 1185 else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum; 1186 else if (strcmp(name,"TemperatureSEMIC")==0) return TemperatureSEMICEnum; 1174 1187 else if (strcmp(name,"Tetra")==0) return TetraEnum; 1175 1188 else if (strcmp(name,"TetraInput")==0) return TetraInputEnum; -
TabularUnified issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp ¶
r23439 r23540 185 185 case 10: return SMBpddSicopolisEnum; 186 186 case 11: return SMBgradientscomponentsEnum; 187 case 12: return SMBsemicEnum; 187 188 default: _error_("Marshalled SMB code \""<<enum_in<<"\" not supported yet"); 188 189 }
Note:
See TracChangeset
for help on using the changeset viewer.