Ignore:
Timestamp:
08/11/20 19:43:31 (5 years ago)
Author:
Mathieu Morlighem
Message:

CHG: moving inputs2 back to inputs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp

    r25317 r25379  
    111111        return 1;
    112112}/*}}}*/
    113 void MasstransportAnalysis::UpdateElements(Elements* elements,Inputs2* inputs2,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
     113void MasstransportAnalysis::UpdateElements(Elements* elements,Inputs* inputs,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
    114114
    115115        int    stabilization,finiteelement;
     
    140140                if(iomodel->my_elements[i]){
    141141                        Element* element=(Element*)elements->GetObjectByOffset(counter);
    142                         element->Update(inputs2,i,iomodel,analysis_counter,analysis_type,finiteelement);
     142                        element->Update(inputs,i,iomodel,analysis_counter,analysis_type,finiteelement);
    143143                        counter++;
    144144                }
    145145        }
    146146
    147         iomodel->FetchDataToInput(inputs2,elements,"md.geometry.thickness",ThicknessEnum);
    148         iomodel->FetchDataToInput(inputs2,elements,"md.geometry.surface",SurfaceEnum);
    149         iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum);
    150         iomodel->FetchDataToInput(inputs2,elements,"md.solidearth.sealevel",SealevelEnum,0);
    151         iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
    152         iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
    153         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
    154         iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vx",VxEnum);
    155         iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vy",VyEnum);
    156         if(isgroundingline)     iomodel->FetchDataToInput(inputs2,elements,"md.geometry.bed",BedEnum);
     147        iomodel->FetchDataToInput(inputs,elements,"md.geometry.thickness",ThicknessEnum);
     148        iomodel->FetchDataToInput(inputs,elements,"md.geometry.surface",SurfaceEnum);
     149        iomodel->FetchDataToInput(inputs,elements,"md.geometry.base",BaseEnum);
     150        iomodel->FetchDataToInput(inputs,elements,"md.solidearth.sealevel",SealevelEnum,0);
     151        iomodel->FetchDataToInput(inputs,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
     152        iomodel->FetchDataToInput(inputs,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
     153        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
     154        iomodel->FetchDataToInput(inputs,elements,"md.initialization.vx",VxEnum);
     155        iomodel->FetchDataToInput(inputs,elements,"md.initialization.vy",VyEnum);
     156        if(isgroundingline)     iomodel->FetchDataToInput(inputs,elements,"md.geometry.bed",BedEnum);
    157157        /*Initialize cumdeltalthickness input*/
    158         InputUpdateFromConstantx(inputs2,elements,0.,SealevelriseCumDeltathicknessEnum);
     158        InputUpdateFromConstantx(inputs,elements,0.,SealevelriseCumDeltathicknessEnum);
    159159        /*Initialize ThicknessResidual input*/
    160         InputUpdateFromConstantx(inputs2,elements,0.,ThicknessResidualEnum);
     160        InputUpdateFromConstantx(inputs,elements,0.,ThicknessResidualEnum);
    161161
    162162        /*Get what we need for ocean-induced basal melting*/
     
    165165        switch(basalforcing_model){
    166166                case FloatingMeltRateEnum:
    167                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.floatingice_melting_rate",BasalforcingsFloatingiceMeltingRateEnum);
     167                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.floatingice_melting_rate",BasalforcingsFloatingiceMeltingRateEnum);
    168168                        break;
    169169                case LinearFloatingMeltRateEnum:
    170                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.perturbation_melting_rate",BasalforcingsPerturbationMeltingRateEnum,0.);
     170                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.perturbation_melting_rate",BasalforcingsPerturbationMeltingRateEnum,0.);
    171171                        break;
    172172                case MismipFloatingMeltRateEnum:
     
    175175                        break;
    176176                case SpatialLinearFloatingMeltRateEnum:
    177                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.deepwater_melting_rate",BasalforcingsDeepwaterMeltingRateEnum);
    178                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.deepwater_elevation",BasalforcingsDeepwaterElevationEnum);
    179                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.upperwater_elevation",BasalforcingsUpperwaterElevationEnum);
     177                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.deepwater_melting_rate",BasalforcingsDeepwaterMeltingRateEnum);
     178                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.deepwater_elevation",BasalforcingsDeepwaterElevationEnum);
     179                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.upperwater_elevation",BasalforcingsUpperwaterElevationEnum);
    180180                        break;
    181181                case BasalforcingsPicoEnum:
    182                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
    183                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.overturning_coeff",BasalforcingsPicoOverturningCoeffEnum);
     182                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
     183                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.overturning_coeff",BasalforcingsPicoOverturningCoeffEnum);
    184184                        break;
    185185                case BasalforcingsIsmip6Enum:{
    186                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.basin_id",BasalforcingsIsmip6BasinIdEnum);
    187                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.melt_anomaly",BasalforcingsIsmip6MeltAnomalyEnum,0.);
     186                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.basin_id",BasalforcingsIsmip6BasinIdEnum);
     187                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.melt_anomaly",BasalforcingsIsmip6MeltAnomalyEnum,0.);
    188188                        IssmDouble** array3d = NULL; int* Ms = NULL; int* Ns = NULL; int K;
    189189                        iomodel->FetchData(&array3d,&Ms,&Ns,&K,"md.basalforcings.tf");
     
    193193                                if(iomodel->domaintype!=Domain2DhorizontalEnum && !element->IsOnBase()) continue;
    194194                                for(int kk=0;kk<K;kk++){
    195                                         element->DatasetInputAdd(BasalforcingsIsmip6TfEnum,array3d[kk],inputs2,iomodel,Ms[kk],Ns[kk],1,BasalforcingsIsmip6TfEnum,7,kk);
     195                                        element->DatasetInputAdd(BasalforcingsIsmip6TfEnum,array3d[kk],inputs,iomodel,Ms[kk],Ns[kk],1,BasalforcingsIsmip6TfEnum,7,kk);
    196196                                }
    197197                        }
     
    202202                        break;
    203203                case BeckmannGoosseFloatingMeltRateEnum:
    204                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.ocean_salinity",BasalforcingsOceanSalinityEnum);
    205                         iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum);
     204                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_salinity",BasalforcingsOceanSalinityEnum);
     205                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum);
    206206                        break;
    207207                default:
     
    210210
    211211        if(!issmb){
    212                 iomodel->FetchDataToInput(inputs2,elements,"md.smb.mass_balance",SmbMassBalanceEnum);
     212                iomodel->FetchDataToInput(inputs,elements,"md.smb.mass_balance",SmbMassBalanceEnum);
    213213        }
    214214        if(stabilization==3){
    215                 iomodel->FetchDataToInput(inputs2,elements,"md.masstransport.spcthickness",MasstransportSpcthicknessEnum); //for DG, we need the spc in the element
     215                iomodel->FetchDataToInput(inputs,elements,"md.masstransport.spcthickness",MasstransportSpcthicknessEnum); //for DG, we need the spc in the element
    216216        }
    217217        if(stabilization==4){
    218                 iomodel->FetchDataToInput(inputs2,elements,"md.masstransport.spcthickness",MasstransportSpcthicknessEnum); //for FCT, we need the spc in the element (penlaties)
     218                iomodel->FetchDataToInput(inputs,elements,"md.masstransport.spcthickness",MasstransportSpcthicknessEnum); //for FCT, we need the spc in the element (penlaties)
    219219        }
    220220
    221221        if(iomodel->domaintype!=Domain2DhorizontalEnum){
    222                 iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
    223                 iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
     222                iomodel->FetchDataToInput(inputs,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
     223                iomodel->FetchDataToInput(inputs,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
    224224        }
    225225
     
    318318        element->FindParam(&domaintype,DomainTypeEnum);
    319319        element->FindParam(&stabilization,MasstransportStabilizationEnum);
    320         Input2* vxaverage_input=element->GetInput2(VxAverageEnum); _assert_(vxaverage_input);
    321         Input2* vyaverage_input=NULL;
     320        Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
     321        Input* vyaverage_input=NULL;
    322322        if(dim==2){
    323                 vyaverage_input=element->GetInput2(VyAverageEnum); _assert_(vyaverage_input);
     323                vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
    324324        }
    325325
     
    512512        element->FindParam(&dt,TimesteppingTimeStepEnum);
    513513        element->FindParam(&domaintype,DomainTypeEnum);
    514         Input2* vxaverage_input=element->GetInput2(VxAverageEnum); _assert_(vxaverage_input);
    515         Input2* vyaverage_input=element->GetInput2(VyAverageEnum); _assert_(vyaverage_input);
     514        Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
     515        Input* vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
    516516
    517517        /* Start  looping on the number of gaussian points: */
     
    616616        element->FindParam(&dt,TimesteppingTimeStepEnum);
    617617        element->FindParam(&stabilization,MasstransportStabilizationEnum);
    618         Input2* gmb_input        = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
    619         Input2* fmb_input        = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
    620         Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum);              _assert_(gllevelset_input);
    621         Input2* ms_input         = element->GetInput2(SmbMassBalanceEnum);                       _assert_(ms_input);
    622         Input2* thickness_input  = element->GetInput2(ThicknessEnum);                            _assert_(thickness_input);
    623         Input2* vxaverage_input  = element->GetInput2(VxAverageEnum);                                                                           _assert_(vxaverage_input);
    624         Input2* vyaverage_input  = element->GetInput2(VyAverageEnum);                                                                           _assert_(vyaverage_input);
     618        Input* gmb_input        = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
     619        Input* fmb_input        = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
     620        Input* gllevelset_input = element->GetInput(MaskOceanLevelsetEnum);              _assert_(gllevelset_input);
     621        Input* ms_input         = element->GetInput(SmbMassBalanceEnum);                       _assert_(ms_input);
     622        Input* thickness_input  = element->GetInput(ThicknessEnum);                            _assert_(thickness_input);
     623        Input* vxaverage_input  = element->GetInput(VxAverageEnum);                                                                             _assert_(vxaverage_input);
     624        Input* vyaverage_input  = element->GetInput(VyAverageEnum);                                                                             _assert_(vyaverage_input);
    625625
    626626//      if(element->Id()==9){
     
    730730        element->FindParam(&dt,TimesteppingTimeStepEnum);
    731731        element->FindParam(&melt_style,GroundinglineMeltInterpolationEnum);
    732         Input2* gmb_input        = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input);
    733         Input2* fmb_input        = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
    734         Input2* ms_input         = element->GetInput2(SmbMassBalanceEnum);                      _assert_(ms_input);
    735         Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum);             _assert_(gllevelset_input);
    736         Input2* thickness_input  = element->GetInput2(ThicknessEnum);                           _assert_(thickness_input);
     732        Input* gmb_input        = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input);
     733        Input* fmb_input        = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
     734        Input* ms_input         = element->GetInput(SmbMassBalanceEnum);                      _assert_(ms_input);
     735        Input* gllevelset_input = element->GetInput(MaskOceanLevelsetEnum);             _assert_(gllevelset_input);
     736        Input* thickness_input  = element->GetInput(ThicknessEnum);                           _assert_(thickness_input);
    737737
    738738   /*Recover portion of element that is grounded*/
     
    819819                }
    820820        }
    821         element->AddBasalInput2(ThicknessEnum,newthickness,element->GetElementType());
    822         element->AddBasalInput2(ThicknessResidualEnum,thicknessresidual,element->GetElementType());
     821        element->AddBasalInput(ThicknessEnum,newthickness,element->GetElementType());
     822        element->AddBasalInput(ThicknessResidualEnum,thicknessresidual,element->GetElementType());
    823823       
    824824        xDelete<int>(doflist);
     
    900900
    901901        /*Add input to the element: */
    902         element->AddBasalInput2(SurfaceEnum,newsurface,P1Enum);
    903         element->AddBasalInput2(BaseEnum,newbase,P1Enum);
    904         element->AddBasalInput2(SealevelriseCumDeltathicknessEnum,cumdeltathickness,P1Enum);
    905         element->AddBasalInput2(SurfaceloadIceThicknessChangeEnum,deltathickness,P1Enum);
     902        element->AddBasalInput(SurfaceEnum,newsurface,P1Enum);
     903        element->AddBasalInput(BaseEnum,newbase,P1Enum);
     904        element->AddBasalInput(SealevelriseCumDeltathicknessEnum,cumdeltathickness,P1Enum);
     905        element->AddBasalInput(SurfaceloadIceThicknessChangeEnum,deltathickness,P1Enum);
    906906
    907907        /*Free ressources:*/
     
    948948        /*Retrieve all inputs and parameters*/
    949949        element->GetVerticesCoordinates(&xyz_list);
    950         Input2* vxaverage_input=element->GetInput2(VxEnum); _assert_(vxaverage_input);
    951         Input2* vyaverage_input=element->GetInput2(VyEnum); _assert_(vyaverage_input);
     950        Input* vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input);
     951        Input* vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input);
    952952
    953953        /* Start  looping on the number of gaussian points: */
     
    10611061        element->FindParam(&melt_style,GroundinglineMeltInterpolationEnum);
    10621062        element->FindParam(&stabilization,MasstransportStabilizationEnum);
    1063         Input2* gmb_input        = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
    1064         Input2* fmb_input        = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
    1065         Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum);              _assert_(gllevelset_input);
    1066         Input2* ms_input         = element->GetInput2(SmbMassBalanceEnum);                       _assert_(ms_input);
    1067         Input2* vxaverage_input  = element->GetInput2(VxAverageEnum);                                                                           _assert_(vxaverage_input);
    1068         Input2* vyaverage_input  = element->GetInput2(VyAverageEnum);                                                                           _assert_(vyaverage_input);
     1063        Input* gmb_input        = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
     1064        Input* fmb_input        = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
     1065        Input* gllevelset_input = element->GetInput(MaskOceanLevelsetEnum);              _assert_(gllevelset_input);
     1066        Input* ms_input         = element->GetInput(SmbMassBalanceEnum);                       _assert_(ms_input);
     1067        Input* vxaverage_input  = element->GetInput(VxAverageEnum);                                                                             _assert_(vxaverage_input);
     1068        Input* vyaverage_input  = element->GetInput(VyAverageEnum);                                                                             _assert_(vyaverage_input);
    10691069       
    10701070        /*Recover portion of element that is grounded*/
Note: See TracChangeset for help on using the changeset viewer.