Changeset 24443


Ignore:
Timestamp:
12/05/19 17:16:27 (5 years ago)
Author:
Eric.Larour
Message:

CHG: new function UpdateStericRate

Location:
issm/trunk-jpl/src/c/classes/Elements
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r24434 r24443  
    372372                #endif
    373373                #ifdef _HAVE_SEALEVELRISE_
     374                virtual void UpdateStericRate(int steric_rate_model)=0;
    374375                virtual IssmDouble    GetArea3D(void)=0;
    375376                virtual IssmDouble    GetAreaSpherical(void)=0;
  • issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r24434 r24443  
    210210                #endif
    211211                #ifdef _HAVE_SEALEVELRISE_
     212                void UpdateStericRate(int steric_rate_model){_error_("not implemented yet!");};
    212213                IssmDouble    OceanArea(void){_error_("not implemented yet!");};
    213214                IssmDouble    OceanAverage(IssmDouble* Sg){_error_("not implemented yet!");};
  • issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r24434 r24443  
    171171#endif
    172172#ifdef _HAVE_SEALEVELRISE_
     173                void UpdateStericRate(int steric_rate_model){_error_("not implemented yet!");};
    173174                void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){_error_("not implemented yet!");};
    174175                void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){_error_("not implemented yet!");};
  • issm/trunk-jpl/src/c/classes/Elements/Tetra.h

    r24434 r24443  
    177177#endif
    178178#ifdef _HAVE_SEALEVELRISE_
     179                void UpdateStericRate(int steric_rate_model){_error_("not implemented yet!");};
    179180                void    SealevelriseMomentOfInertia(IssmDouble* dI_list,IssmDouble* Sg_old,IssmDouble eartharea){_error_("not implemented yet!");};
    180181                void    SealevelriseEustatic(Vector<IssmDouble>* pSgi,IssmDouble* peustatic,IssmDouble* latitude,IssmDouble* longitude,IssmDouble* radius,IssmDouble oceanarea,IssmDouble eartharea){_error_("not implemented yet!");};
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r24434 r24443  
    54365436#endif
    54375437#ifdef _HAVE_SEALEVELRISE_
     5438void    Tria::UpdateStericRate(int steric_rate_model){ /*{{{*/
     5439
     5440        if (steric_rate_model==0){
     5441                //do nothing
     5442        }
     5443        else if (steric_rate_model==1){
     5444                IssmDouble eof1[3],eof2[3],eof3[3],eof4[3];
     5445                IssmDouble steric_rate[3];
     5446                IssmDouble pc1,pc2,pc3,pc4;
     5447
     5448                GetInputListOnVertices(&eof1[0],SealevelriseModeleoftrendEof1Enum);
     5449                GetInputListOnVertices(&eof2[0],SealevelriseModeleoftrendEof2Enum);
     5450                GetInputListOnVertices(&eof3[0],SealevelriseModeleoftrendEof3Enum);
     5451                GetInputListOnVertices(&eof4[0],SealevelriseModeleoftrendEof4Enum);
     5452       
     5453                Input* pc1_input = inputs->GetInput(SealevelriseModeleoftrendPc1Enum); _assert_(pc1_input);
     5454                Input* pc2_input = inputs->GetInput(SealevelriseModeleoftrendPc2Enum); _assert_(pc2_input);
     5455                Input* pc3_input = inputs->GetInput(SealevelriseModeleoftrendPc3Enum); _assert_(pc3_input);
     5456                Input* pc4_input = inputs->GetInput(SealevelriseModeleoftrendPc4Enum); _assert_(pc4_input);
     5457               
     5458                pc1_input->GetInputValue(&pc1);
     5459                pc2_input->GetInputValue(&pc2);
     5460                pc3_input->GetInputValue(&pc3);
     5461                pc4_input->GetInputValue(&pc4);
     5462
     5463                for (int i=0;i<4;i++)steric_rate[i]=pc1*eof1[i]+pc2*eof2[i]+pc3*eof3[i]+pc4*eof4[i];
     5464
     5465                /*upate input: */
     5466                this->inputs->AddInput(new TriaInput(SealevelriseStericRateEnum,&steric_rate[0],P1Enum));
     5467
     5468        else{
     5469
     5470       
     5471        }
     5472}
     5473/*}}}*/
    54385474IssmDouble    Tria::OceanArea(void){ /*{{{*/
    54395475
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r24434 r24443  
    163163                #endif
    164164                #ifdef _HAVE_SEALEVELRISE_
     165                void UpdateStericRate(int steric_rate_model);
    165166                IssmDouble OceanArea(void);
    166167                IssmDouble OceanAverage(IssmDouble* Sg);
Note: See TracChangeset for help on using the changeset viewer.