Changeset 22971


Ignore:
Timestamp:
07/18/18 14:28:01 (7 years ago)
Author:
erobo
Message:

CHG: switched drag cost function from being one point in time to the whole transient run

Location:
issm/trunk-jpl/src/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp

    r22612 r22971  
    3232        this->misfit=0;
    3333        this->lock=0;
    34         this->datatime=0.;
    3534        this->timepassedflag = false;
    3635        this->last_time = 0.;
     
    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;
     
    4645
    4746        this->weights_enum=in_weights_enum;
    48         this->datatime=in_datatime;
    4947        this->timepassedflag=in_timepassedflag;
    5048       
     
    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;
     
    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}
     
    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);
     
    127119                 timepassedflag = true;
    128120                 return J;
    129         }
    130          else return J;
    131121 }
    132122        /*}}}*/
  • issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h

    r22612 r22971  
    2020                char*       name;
    2121                int         weights_enum;
    22                 IssmDouble      datatime;
    2322                bool                    timepassedflag;
    2423                IssmDouble      last_time;
     
    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               
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp

    r22764 r22971  
    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): */
     
    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++){
     
    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.*/
     
    311309                                xDelete<int>(cfdragcoeffabsgrad_weights_N_s);
    312310                                xDelete<char*>(cfdragcoeffabsgrad_weights_string_s);
    313                                 xDelete<int>(cfdragcoeffabsgrad_datatime_s);
    314311                                /*}}}*/
    315312                        }
Note: See TracChangeset for help on using the changeset viewer.