Ignore:
Timestamp:
08/28/18 09:45:51 (7 years ago)
Author:
Mathieu Morlighem
Message:

merged trunk-jpl and trunk for revision 23187

Location:
issm/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk

  • issm/trunk/src

  • issm/trunk/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp

    r22822 r23189  
    1111
    1212        int i,j;
    13        
     13
    1414        DataSet*     output_definitions      = NULL;
    1515        int*         output_definition_enums = NULL;
     
    6565                        else if (output_definition_enums[i]==MisfitEnum){
    6666                                /*Deal with misfits: {{{*/
    67                        
     67
    6868                                /*misfit variables: */
    6969                                int          nummisfits;
     
    115115                                         _error_("misfit weight size not supported yet");
    116116
    117 
    118117                                        /*First create a misfit object for that specific string (misfit_model_string_s[j]):*/
    119118                                        output_definitions->AddObject(new Misfit(misfit_name_s[j],StringToEnumx(misfit_definitionstring_s[j]),StringToEnumx(misfit_model_string_s[j]),StringToEnumx(misfit_observation_string_s[j]),misfit_timeinterpolation_s[j],misfit_local_s[j],StringToEnumx(misfit_weights_string_s[j])));
     
    159158                        else if (output_definition_enums[i]==CfsurfacesquareEnum){
    160159                                /*Deal with cfsurfacesquare: {{{*/
    161                                
     160
    162161                                /*cfsurfacesquare variables: */
    163162                                int          num_cfsurfacesquares;
     
    214213
    215214                                                Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(k));
    216                                                
     215
    217216                                                element->DatasetInputAdd(StringToEnumx(cfsurfacesquare_definitionstring_s[j]),cfsurfacesquare_observation_s[j], iomodel,cfsurfacesquare_observation_M_s[j],cfsurfacesquare_observation_N_s[j],obs_vector_type,StringToEnumx(cfsurfacesquare_observation_string_s[j]),7,SurfaceObservationEnum);
    218217                                                element->DatasetInputAdd(StringToEnumx(cfsurfacesquare_definitionstring_s[j]),cfsurfacesquare_weights_s[j], iomodel,cfsurfacesquare_weights_M_s[j],cfsurfacesquare_weights_N_s[j],weight_vector_type,StringToEnumx(cfsurfacesquare_weights_string_s[j]),7,WeightsSurfaceObservationEnum);
     
    251250                        else if (output_definition_enums[i]==CfdragcoeffabsgradEnum){
    252251                                /*Deal with cfdragcoeffabsgrad: {{{*/
    253                                
     252
    254253                                /*cfdragcoeffabsgrad variables: */
    255254                                int          num_cfdragcoeffabsgrads;
     
    260259                                int*         cfdragcoeffabsgrad_weights_N_s                             = NULL;
    261260                                char**       cfdragcoeffabsgrad_weights_string_s                = NULL;
    262                                 int*                     cfdragcoeffabsgrad_datatime_s                          = NULL;
    263261
    264262                                /*Fetch name, model_string, observation, observation_string, etc ... (see src/m/classes/cfdragcoeffabsgrad.m): */
     
    267265                                iomodel->FetchMultipleData(&cfdragcoeffabsgrad_weights_s,&cfdragcoeffabsgrad_weights_M_s,&cfdragcoeffabsgrad_weights_N_s,&num_cfdragcoeffabsgrads,             "md.cfdragcoeffabsgrad.weights");
    268266                                iomodel->FetchMultipleData(&cfdragcoeffabsgrad_weights_string_s,&num_cfdragcoeffabsgrads,                                              "md.cfdragcoeffabsgrad.weights_string");
    269                                 iomodel->FetchMultipleData(&cfdragcoeffabsgrad_datatime_s,&num_cfdragcoeffabsgrads,                                                                                                                                      "md.cfdragcoeffabsgrad.datatime");
    270267
    271268                                for(j=0;j<num_cfdragcoeffabsgrads;j++){
     
    282279
    283280                                        /*First create a cfdragcoeffabsgrad object for that specific string (cfdragcoeffabsgrad_model_string_s[j]):*/
    284                                         output_definitions->AddObject(new Cfdragcoeffabsgrad(cfdragcoeffabsgrad_name_s[j],StringToEnumx(cfdragcoeffabsgrad_definitionstring_s[j]),StringToEnumx(cfdragcoeffabsgrad_weights_string_s[j]),cfdragcoeffabsgrad_datatime_s[j],false));
     281                                        output_definitions->AddObject(new Cfdragcoeffabsgrad(cfdragcoeffabsgrad_name_s[j],StringToEnumx(cfdragcoeffabsgrad_definitionstring_s[j]),StringToEnumx(cfdragcoeffabsgrad_weights_string_s[j]),false));
    285282
    286283                                        /*Now, for this particular cfdragcoeffabsgrad object, make sure we plug into the elements: the observation, and the weights.*/
     
    288285
    289286                                                Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(k));
    290                                                
     287
    291288                                                element->DatasetInputAdd(StringToEnumx(cfdragcoeffabsgrad_definitionstring_s[j]),cfdragcoeffabsgrad_weights_s[j], iomodel,cfdragcoeffabsgrad_weights_M_s[j],cfdragcoeffabsgrad_weights_N_s[j],weight_vector_type,StringToEnumx(cfdragcoeffabsgrad_weights_string_s[j]),7,WeightsSurfaceObservationEnum);
    292289
     
    311308                                xDelete<int>(cfdragcoeffabsgrad_weights_N_s);
    312309                                xDelete<char*>(cfdragcoeffabsgrad_weights_string_s);
    313                                 xDelete<int>(cfdragcoeffabsgrad_datatime_s);
    314310                                /*}}}*/
    315311                        }
    316312                        else if (output_definition_enums[i]==CfsurfacelogvelEnum){
    317313                                /*Deal with cfsurfacelogvel: {{{*/
    318                                
     314
    319315                                /*cfsurfacelogvel variables: */
    320316                                int          num_cfsurfacelogvels;
     
    372368
    373369                                                Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(k));
    374                                                
     370
    375371                                                element->DatasetInputAdd(StringToEnumx(cfsurfacelogvel_definitionstring[j]),cfsurfacelogvel_vxobs[j], iomodel,cfsurfacelogvel_observation_M[j],cfsurfacelogvel_observation_N[j],obs_vector_type,StringToEnumx(cfsurfacelogvel_vxobs_string[j]),7,VxObsEnum);
    376372                                                        element->DatasetInputAdd(StringToEnumx(cfsurfacelogvel_definitionstring[j]),cfsurfacelogvel_vyobs[j], iomodel,cfsurfacelogvel_observation_M[j],cfsurfacelogvel_observation_N[j],obs_vector_type,StringToEnumx(cfsurfacelogvel_vyobs_string[j]),7,VyObsEnum);
     
    412408                        else if (output_definition_enums[i]==NodalvalueEnum){
    413409                                /*Deal with nodal values: {{{*/
    414                                
     410
    415411                                /*nodal value variables: */
    416412                                int          numnodalvalues;
     
    431427                                        output_definitions->AddObject(new Nodalvalue(nodalvalue_name_s[j],StringToEnumx(nodalvalue_definitionstrings[j]),StringToEnumx(nodalvalue_modelstrings[j]),nodalvalue_node_s[j]-1)); //-1 because matlab to c indexing.
    432428                                }
    433                                        
     429
    434430                                /*Free ressources:*/
    435431                                for(j=0;j<numnodalvalues;j++){
     
    485481                        else if (output_definition_enums[i]==MassconaxpbyEnum){
    486482                                /*Deal with masscon combinations: {{{*/
    487                                
     483
    488484                                /*masscon variables: */
    489485                                char**       masscon_name_s             = NULL;   
     
    620616                                        output_definitions->AddObject(new Numberedcostfunction(ncf_name_s[j],StringToEnumx(ncf_definitionstring_s[j]),num_cost_functions,cost_function_enums));
    621617                                }
    622                                
     618
    623619                                /*Free data: */
    624620                                iomodel->DeleteData(2,"md.numberedcostfunction.name","md.numberedcostfunction.definitionstring");
Note: See TracChangeset for help on using the changeset viewer.