Changeset 22248


Ignore:
Timestamp:
11/09/17 16:31:40 (7 years ago)
Author:
Eric.Larour
Message:

CHG: new mask outputs for loads and oceans.

Location:
issm/branches/trunk-larour-NatGeoScience2016/src/c
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/analyses/SealevelriseAnalysis.cpp

    r22166 r22248  
    6262                        element->InputUpdateFromConstant(0.0,SealevelNEsaRateEnum);
    6363                        element->InputUpdateFromConstant(0.0,SealevelUEsaRateEnum);
     64                        element->InputUpdateFromConstant(0.0,SealevelRSLRateEnum);
     65                        element->InputUpdateFromConstant(0.0,SealevelEustaticMaskEnum);
     66                        element->InputUpdateFromConstant(0.0,SealevelEustaticOceanMaskEnum);
    6467                        counter++;
    6568                }
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/classes/Elements/Element.cpp

    r22160 r22248  
    16511651                                name==SealevelRSLEnum ||
    16521652                                name==SealevelRSLRateEnum ||
     1653                                name==SealevelEustaticMaskEnum ||
     1654                                name==SealevelEustaticOceanMaskEnum ||
    16531655                                name==SealevelUGiaEnum ||
    16541656                                name==SealevelUGiaRateEnum ||
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/classes/Elements/Tria.cpp

    r22234 r22248  
    40204020        IssmDouble rho_ice,rho_water,rho_earth;
    40214021
     4022        /*constants:*/
     4023        IssmDouble constant=0;
     4024
    40224025        /*Initialize eustatic component: do not skip this step :):*/
    40234026        IssmDouble eustatic = 0.;
     
    40294032       
    40304033        /*early return if we are not on an ice cap:*/
    4031         if(!(this->inputs->Max(MaskIceLevelsetEnum)<0)){
    4032                 this->inputs->AddInput(new TriaInput(SealevelEustaticMaskEnum,0,P0Enum));
     4034        if(!(this->inputs->Max(MaskIceLevelsetEnum)<=0)){
     4035                constant=0; this->inputs->AddInput(new TriaInput(SealevelEustaticMaskEnum,&constant,P0Enum));
    40334036                *peustatic=0; //do not forget to assign this pointer, otherwise, global eustatic will be garbage!
    40344037                return;
     
    40374040        /*early return if we are fully floating: */
    40384041        if (this->inputs->Max(MaskGroundediceLevelsetEnum)<=0){
    4039                 this->inputs->AddInput(new TriaInput(SealevelEustaticMaskEnum,0,P0Enum));
     4042                constant=0; this->inputs->AddInput(new TriaInput(SealevelEustaticMaskEnum,&constant,P0Enum));
    40404043                *peustatic=0; //do not forget to assign this pointer, otherwise, global eustatic will be garbage!
    40414044                return;
     
    40484051               
    40494052        /*Inform mask: */
    4050         this->inputs->AddInput(new TriaInput(SealevelEustaticMaskEnum,1,P0Enum));
     4053        constant=1; this->inputs->AddInput(new TriaInput(SealevelEustaticMaskEnum,&constant,P0Enum));
    40514054
    40524055        /*recover material parameters: */
     
    42104213        IssmDouble minlong=400;
    42114214        IssmDouble maxlong=-20;
     4215        IssmDouble constant=0;
    42124216
    42134217        /*precomputed elastic green functions:*/
     
    42304234
    42314235        /*early return if we are not on the ocean:*/
    4232         if (!IsWaterInElement())return;
     4236        if (!IsWaterInElement()){
     4237                constant=0; this->inputs->AddInput(new TriaInput(SealevelEustaticOceanMaskEnum,&constant,P0Enum));
     4238                return;
     4239        }
     4240        constant=1; this->inputs->AddInput(new TriaInput(SealevelEustaticOceanMaskEnum,&constant,P0Enum));
    42334241
    42344242        /*recover computational flags: */
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumDefinitions.h

    r22235 r22248  
    796796        SealevelRSLEustaticRateEnum,
    797797        SealevelEustaticMaskEnum,
     798        SealevelEustaticOceanMaskEnum,
    798799        SealevelRSLEnum,
    799800        SealevelRSLRateEnum,
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumToStringx.cpp

    r22235 r22248  
    776776                case SealevelRSLEustaticRateEnum : return "SealevelRSLEustaticRate";
    777777                case SealevelEustaticMaskEnum : return "SealevelEustaticMask";
     778                case SealevelEustaticOceanMaskEnum : return "SealevelEustaticOceanMask";
    778779                case SealevelRSLEnum : return "SealevelRSL";
    779780                case SealevelRSLRateEnum : return "SealevelRSLRate";
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/StringToEnumx.cpp

    r22235 r22248  
    794794              else if (strcmp(name,"SealevelRSLEustaticRate")==0) return SealevelRSLEustaticRateEnum;
    795795              else if (strcmp(name,"SealevelEustaticMask")==0) return SealevelEustaticMaskEnum;
     796              else if (strcmp(name,"SealevelEustaticOceanMask")==0) return SealevelEustaticOceanMaskEnum;
    796797              else if (strcmp(name,"SealevelRSL")==0) return SealevelRSLEnum;
    797798              else if (strcmp(name,"SealevelRSLRate")==0) return SealevelRSLRateEnum;
     
    874875              else if (strcmp(name,"Matestar")==0) return MatestarEnum;
    875876              else if (strcmp(name,"Matpar")==0) return MatparEnum;
    876               else if (strcmp(name,"Node")==0) return NodeEnum;
    877877         else stage=8;
    878878   }
    879879   if(stage==8){
    880               if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
     880              if (strcmp(name,"Node")==0) return NodeEnum;
     881              else if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
    881882              else if (strcmp(name,"Neumannflux")==0) return NeumannfluxEnum;
    882883              else if (strcmp(name,"Param")==0) return ParamEnum;
     
    997998              else if (strcmp(name,"FloatingArea")==0) return FloatingAreaEnum;
    998999              else if (strcmp(name,"GroundedArea")==0) return GroundedAreaEnum;
    999               else if (strcmp(name,"IceMass")==0) return IceMassEnum;
    10001000         else stage=9;
    10011001   }
    10021002   if(stage==9){
    1003               if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
     1003              if (strcmp(name,"IceMass")==0) return IceMassEnum;
     1004              else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
    10041005              else if (strcmp(name,"IceVolumeAboveFloatation")==0) return IceVolumeAboveFloatationEnum;
    10051006              else if (strcmp(name,"TotalFloatingBmb")==0) return TotalFloatingBmbEnum;
Note: See TracChangeset for help on using the changeset viewer.