Changeset 17085


Ignore:
Timestamp:
01/09/14 14:20:47 (11 years ago)
Author:
Mathieu Morlighem
Message:

CHG: merging all SMB modules into one for simplicity

Location:
issm/trunk-jpl/src/c
Files:
7 added
3 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r17075 r17085  
    304304                                        ./modules/SpcNodesx/SpcNodesx.h\
    305305                                        ./modules/SpcNodesx/SpcNodesx.cpp\
    306                                         ./modules/PositiveDegreeDayx/PositiveDegreeDayx.h\
    307                                         ./modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp\
    308                                         ./modules/Delta18oParameterizationx/Delta18oParameterizationx.h\
    309                                         ./modules/Delta18oParameterizationx/Delta18oParameterizationx.cpp\
    310                                         ./modules/SmbGradientsx/SmbGradientsx.h\
    311                                         ./modules/SmbGradientsx/SmbGradientsx.cpp\
     306                                        ./modules/SurfaceMassBalancex/SurfaceMassBalancex.h\
     307                                        ./modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp\
    312308                                        ./modules/MeshPartitionx/MeshPartitionx.h\
    313309                                        ./modules/Reducevectorgtofx/Reducevectorgtofx.cpp\
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp

    r17080 r17085  
    109109                        iomodel->FetchDataToInput(elements,SurfaceforcingsBNegEnum);
    110110                        break;
     111                case SMBhenningEnum:
     112                        iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.);
     113                        break;
    111114                default:
    112115                        _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
  • issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp

    r17080 r17085  
    5252                        break;
    5353                case SMBgradientsEnum:
     54                        /*Nothing to add*/
     55                        break;
     56                case SMBhenningEnum:
    5457                        /*Nothing to add*/
    5558                        break;
  • issm/trunk-jpl/src/c/cores/masstransport_core.cpp

    r17080 r17085  
    1414        /*parameters: */
    1515        int    i;
    16         int    numoutputs,meshtype,smb_model;
     16        int    numoutputs,meshtype;
    1717        bool   save_results;
    1818        bool   issmbgradients,ispdd,isdelta18o,isFS,isfreesurface,dakota_analysis;
     
    2525        /*recover parameters: */
    2626        femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
    27         femmodel->parameters->FindParam(&smb_model,SurfaceforcingsEnum);
    2827        femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum);
    2928        femmodel->parameters->FindParam(&isfreesurface,MasstransportIsfreesurfaceEnum);
     
    4140        }
    4241
    43         switch(smb_model){
    44                 case SMBEnum:
    45                         /*Nothing to be done*/
    46                         break;
    47                 case SMBpddEnum:
    48                         femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum);
    49                         if(isdelta18o){
    50                                 if(VerboseSolution()) _printf0_("   call Delta18oParametrization module\n");
    51                                 Delta18oParameterizationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
    52                         }
    53                         if(VerboseSolution()) _printf0_("   call positive degree day module\n");
    54                         PositiveDegreeDayx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
    55                         break;
    56                 case SMBgradientsEnum:
    57                         if(VerboseSolution())_printf_(" call smb gradients module\n\n");
    58                         SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
    59                         break;
    60                 default:
    61                         _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
    62         }
     42        /*Calculate new Surface Mass Balance (SMB)*/
     43        SurfaceMassBalancex(femmodel);
    6344
     45        /*Transport mass or free surface*/
    6446        if(isFS && isfreesurface){
    6547                if(VerboseSolution()) _printf0_("   call free surface computational core\n");
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r17080 r17085  
    115115                        /*Nothing to add to parameters*/
    116116                        break;
     117                case SMBhenningEnum:
     118                        /*Nothing to add to parameters*/
     119                        break;
    117120                default:
    118121                        _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
  • issm/trunk-jpl/src/c/modules/modules.h

    r17028 r17085  
    2424#include "./CreateNodalConstraintsx/CreateNodalConstraintsx.h"
    2525#include "./CreateJacobianMatrixx/CreateJacobianMatrixx.h"
    26 #include "./Delta18oParameterizationx/Delta18oParameterizationx.h"
    2726#include "./DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h"
    2827#include "./ElementConnectivityx/ElementConnectivityx.h"
     
    7574#include "./ConstraintsStatex/ConstraintsStatex.h"
    7675#include "./PointCloudFindNeighborsx/PointCloudFindNeighborsx.h"
    77 #include "./PositiveDegreeDayx/PositiveDegreeDayx.h"
    7876#include "./PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.h"
    7977#include "./Reduceloadx/Reduceloadx.h"
     
    8583#include "./Scotchx/Scotchx.h"
    8684#include "./Shp2Kmlx/Shp2Kmlx.h"
    87 #include "./SmbGradientsx/SmbGradientsx.h"
     85#include "./SurfaceMassBalancex/SurfaceMassBalancex.h"
    8886#include "./Solverx/Solverx.h"
    8987#include "./SystemMatricesx/SystemMatricesx.h"
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r17078 r17085  
    297297        SurfaceforcingsBPosEnum,
    298298        SurfaceforcingsBNegEnum,
    299         SMBlapserate,
     299        SMBhenningEnum,
    300300        /*TO BE REMOVED*/
    301301        SurfaceforcingsIspddEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r17078 r17085  
    301301                case SurfaceforcingsBPosEnum : return "SurfaceforcingsBPos";
    302302                case SurfaceforcingsBNegEnum : return "SurfaceforcingsBNeg";
     303                case SMBhenningEnum : return "SMBhenning";
    303304                case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";
    304305                case SurfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r17078 r17085  
    307307              else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum;
    308308              else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum;
     309              else if (strcmp(name,"SMBhenning")==0) return SMBhenningEnum;
    309310              else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;
    310311              else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum;
     
    382383              else if (strcmp(name,"AdolcParam")==0) return AdolcParamEnum;
    383384              else if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
    384               else if (strcmp(name,"BoolParam")==0) return BoolParamEnum;
    385385         else stage=4;
    386386   }
    387387   if(stage==4){
    388               if (strcmp(name,"Contour")==0) return ContourEnum;
     388              if (strcmp(name,"BoolParam")==0) return BoolParamEnum;
     389              else if (strcmp(name,"Contour")==0) return ContourEnum;
    389390              else if (strcmp(name,"ControlInput")==0) return ControlInputEnum;
    390391              else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum;
     
    505506              else if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum;
    506507              else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum;
    507               else if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum;
    508508         else stage=5;
    509509   }
    510510   if(stage==5){
    511               if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum;
     511              if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum;
     512              else if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum;
    512513              else if (strcmp(name,"IntMatParam")==0) return IntMatParamEnum;
    513514              else if (strcmp(name,"RheologyBbarAbsGradient")==0) return RheologyBbarAbsGradientEnum;
     
    628629              else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;
    629630              else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum;
    630               else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum;
    631631         else stage=6;
    632632   }
    633633   if(stage==6){
    634               if (strcmp(name,"XY")==0) return XYEnum;
     634              if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum;
     635              else if (strcmp(name,"XY")==0) return XYEnum;
    635636              else if (strcmp(name,"XYZ")==0) return XYZEnum;
    636637              else if (strcmp(name,"Dense")==0) return DenseEnum;
Note: See TracChangeset for help on using the changeset viewer.