Changeset 18678


Ignore:
Timestamp:
10/24/14 15:44:08 (10 years ago)
Author:
Mathieu Morlighem
Message:

CHG: removed default and added surface obs for one of the cost functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp

    r18676 r18678  
    2727        iomodel->FetchData(5,InversionControlParametersEnum,InversionCostFunctionsEnum,InversionCostFunctionsCoefficientsEnum,InversionMinParametersEnum,InversionMaxParametersEnum);
    2828
    29         /*Fetch data needed: */
     29        /*Fetch Observations */
    3030        iomodel->Constant(&num_cost_functions,InversionNumCostFunctionsEnum);
    3131        for(int i=0;i<num_cost_functions;i++){
    3232                cost_function= reCast<int,IssmDouble>(iomodel->Data(InversionCostFunctionsEnum)[i]);
    33                 if(cost_function==ThicknessAbsMisfitEnum) iomodel->FetchDataToInput(elements,InversionThicknessObsEnum,0.);
    34                 else if(cost_function==SurfaceAbsVelMisfitEnum || cost_function==SurfaceRelVelMisfitEnum || cost_function==SurfaceLogVelMisfitEnum || cost_function==SurfaceLogVxVyMisfitEnum || cost_function==SurfaceAverageVelMisfitEnum){
    35                         iomodel->FetchDataToInput(elements,InversionVxObsEnum,0.);
    36                         iomodel->FetchDataToInput(elements,InversionVyObsEnum,0.);
     33                if(     cost_function==ThicknessAbsMisfitEnum) iomodel->FetchDataToInput(elements,InversionThicknessObsEnum);
     34                else if(cost_function==SurfaceAbsMisfitEnum)   iomodel->FetchDataToInput(elements,InversionSurfaceObsEnum);
     35                else if(cost_function==SurfaceAbsVelMisfitEnum
     36                          || cost_function==SurfaceRelVelMisfitEnum
     37                          || cost_function==SurfaceLogVelMisfitEnum
     38                          || cost_function==SurfaceLogVxVyMisfitEnum
     39                          || cost_function==SurfaceAverageVelMisfitEnum){
     40                        iomodel->FetchDataToInput(elements,InversionVxObsEnum);
     41                        iomodel->FetchDataToInput(elements,InversionVyObsEnum);
    3742                }
    3843        }
    39         //iomodel->FetchDataToInput(elements,InversionSurfaceObsEnum,0.);
    4044
    4145        for(int i=0;i<num_control_type;i++){
Note: See TracChangeset for help on using the changeset viewer.