source: issm/oecreview/Archive/22819-23185/ISSM-22970-22971.diff

Last change on this file was 23186, checked in by Mathieu Morlighem, 7 years ago

CHG: added Archive/22819-23185

File size: 6.0 KB
  • ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h

     
    1919                int         definitionenum;
    2020                char*       name;
    2121                int         weights_enum;
    22                 IssmDouble      datatime;
    2322                bool                    timepassedflag;
    2423                IssmDouble      last_time;
    2524               
     
    2827               
    2928                /*Cfdragcoeffabsgrad constructors, destructors :*/
    3029                Cfdragcoeffabsgrad();
    31                 Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, IssmDouble in_datatime, bool timepassedflag);
     30                Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, bool timepassedflag);
    3231                ~Cfdragcoeffabsgrad();
    3332               
    3433                /*Object virtual function resolutoin: */
  • ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp

     
    259259                                int*         cfdragcoeffabsgrad_weights_M_s                             = NULL;
    260260                                int*         cfdragcoeffabsgrad_weights_N_s                             = NULL;
    261261                                char**       cfdragcoeffabsgrad_weights_string_s                = NULL;
    262                                 int*                     cfdragcoeffabsgrad_datatime_s                          = NULL;
    263262
    264263                                /*Fetch name, model_string, observation, observation_string, etc ... (see src/m/classes/cfdragcoeffabsgrad.m): */
    265264                                iomodel->FetchMultipleData(&cfdragcoeffabsgrad_name_s,&num_cfdragcoeffabsgrads,                                                        "md.cfdragcoeffabsgrad.name");
     
    266265                                iomodel->FetchMultipleData(&cfdragcoeffabsgrad_definitionstring_s,&num_cfdragcoeffabsgrads,                                            "md.cfdragcoeffabsgrad.definitionstring");
    267266                                iomodel->FetchMultipleData(&cfdragcoeffabsgrad_weights_s,&cfdragcoeffabsgrad_weights_M_s,&cfdragcoeffabsgrad_weights_N_s,&num_cfdragcoeffabsgrads,             "md.cfdragcoeffabsgrad.weights");
    268267                                iomodel->FetchMultipleData(&cfdragcoeffabsgrad_weights_string_s,&num_cfdragcoeffabsgrads,                                              "md.cfdragcoeffabsgrad.weights_string");
    269                                 iomodel->FetchMultipleData(&cfdragcoeffabsgrad_datatime_s,&num_cfdragcoeffabsgrads,                                                                                                                                      "md.cfdragcoeffabsgrad.datatime");
    270268
    271269                                for(j=0;j<num_cfdragcoeffabsgrads;j++){
    272270
     
    281279                                         _error_("cfdragcoeffabsgrad weight size not supported yet");
    282280
    283281                                        /*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));
     282                                        output_definitions->AddObject(new Cfdragcoeffabsgrad(cfdragcoeffabsgrad_name_s[j],StringToEnumx(cfdragcoeffabsgrad_definitionstring_s[j]),StringToEnumx(cfdragcoeffabsgrad_weights_string_s[j]),false));
    285283
    286284                                        /*Now, for this particular cfdragcoeffabsgrad object, make sure we plug into the elements: the observation, and the weights.*/
    287285                                        for(int k=0;k<elements->Size();k++){
     
    310308                                xDelete<int>(cfdragcoeffabsgrad_weights_M_s);
    311309                                xDelete<int>(cfdragcoeffabsgrad_weights_N_s);
    312310                                xDelete<char*>(cfdragcoeffabsgrad_weights_string_s);
    313                                 xDelete<int>(cfdragcoeffabsgrad_datatime_s);
    314311                                /*}}}*/
    315312                        }
    316313                        else if (output_definition_enums[i]==CfsurfacelogvelEnum){
  • ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp

     
    3131        this->weights_enum = UNDEF;
    3232        this->misfit=0;
    3333        this->lock=0;
    34         this->datatime=0.;
    3534        this->timepassedflag = false;
    3635        this->last_time = 0.;
    3736
    3837}
    3938/*}}}*/
    40 Cfdragcoeffabsgrad::Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, IssmDouble in_datatime, bool in_timepassedflag){/*{{{*/
     39Cfdragcoeffabsgrad::Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, bool in_timepassedflag){/*{{{*/
    4140
    4241        this->definitionenum=in_definitionenum;
    4342       
     
    4544        xMemCpy<char>(this->name,in_name,strlen(in_name)+1);
    4645
    4746        this->weights_enum=in_weights_enum;
    48         this->datatime=in_datatime;
    4947        this->timepassedflag=in_timepassedflag;
    5048       
    5149        this->misfit=0;
     
    6058/*}}}*/
    6159/*Object virtual function resolutoin: */
    6260Object* Cfdragcoeffabsgrad::copy() {/*{{{*/
    63         Cfdragcoeffabsgrad* mf = new Cfdragcoeffabsgrad(this->name,this->definitionenum, this->weights_enum,this->datatime,this->timepassedflag);
     61        Cfdragcoeffabsgrad* mf = new Cfdragcoeffabsgrad(this->name,this->definitionenum, this->weights_enum,this->timepassedflag);
    6462        mf->misfit=this->misfit;
    6563        mf->lock=this->lock;
    6664        return (Object*) mf;
     
    7371void Cfdragcoeffabsgrad::Echo(void){/*{{{*/
    7472        _printf_(" Cfdragcoeffabsgrad: " << name << " " << this->definitionenum << "\n");
    7573        _printf_("    weights_enum: " << weights_enum << " " << EnumToStringx(weights_enum) << "\n");
    76         _printf_("    datatime: " << datatime << "\n");
    7774        _printf_("        timepassedflag: "<<timepassedflag<<"\n");
    7875}
    7976/*}}}*/
     
    106103         IssmDouble time;
    107104         
    108105         /*recover time parameters: */
    109          femmodel->parameters->FindParam(&time,TimeEnum);
    110          if(time < last_time) timepassedflag = false;
    111          last_time = time;
    112 
    113106                 int i;
    114107                 IssmDouble J=0.;
    115108                 IssmDouble J_sum=0.;
    116109
    117          if(datatime<=time && !timepassedflag){
    118110                 for(i=0;i<femmodel->elements->Size();i++){
    119111                         Element* element=(Element*)femmodel->elements->GetObjectByOffset(i);
    120112                         J+=this->Cfdragcoeffabsgrad_Calculation(element,weights_enum);
     
    126118               
    127119                 timepassedflag = true;
    128120                 return J;
    129         }
    130          else return J;
    131121 }
    132122        /*}}}*/
    133123IssmDouble Cfdragcoeffabsgrad::Cfdragcoeffabsgrad_Calculation(Element* element, int weights_enum){/*{{{*/
Note: See TracBrowser for help on using the repository browser.