[23186] | 1 | Index: ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h (revision 22970)
|
---|
| 4 | +++ ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h (revision 22971)
|
---|
| 5 | @@ -19,7 +19,6 @@
|
---|
| 6 | int definitionenum;
|
---|
| 7 | char* name;
|
---|
| 8 | int weights_enum;
|
---|
| 9 | - IssmDouble datatime;
|
---|
| 10 | bool timepassedflag;
|
---|
| 11 | IssmDouble last_time;
|
---|
| 12 |
|
---|
| 13 | @@ -28,7 +27,7 @@
|
---|
| 14 |
|
---|
| 15 | /*Cfdragcoeffabsgrad constructors, destructors :*/
|
---|
| 16 | Cfdragcoeffabsgrad();
|
---|
| 17 | - Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, IssmDouble in_datatime, bool timepassedflag);
|
---|
| 18 | + Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, bool timepassedflag);
|
---|
| 19 | ~Cfdragcoeffabsgrad();
|
---|
| 20 |
|
---|
| 21 | /*Object virtual function resolutoin: */
|
---|
| 22 | Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
|
---|
| 23 | ===================================================================
|
---|
| 24 | --- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp (revision 22970)
|
---|
| 25 | +++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp (revision 22971)
|
---|
| 26 | @@ -259,7 +259,6 @@
|
---|
| 27 | int* cfdragcoeffabsgrad_weights_M_s = NULL;
|
---|
| 28 | int* cfdragcoeffabsgrad_weights_N_s = NULL;
|
---|
| 29 | char** cfdragcoeffabsgrad_weights_string_s = NULL;
|
---|
| 30 | - int* cfdragcoeffabsgrad_datatime_s = NULL;
|
---|
| 31 |
|
---|
| 32 | /*Fetch name, model_string, observation, observation_string, etc ... (see src/m/classes/cfdragcoeffabsgrad.m): */
|
---|
| 33 | iomodel->FetchMultipleData(&cfdragcoeffabsgrad_name_s,&num_cfdragcoeffabsgrads, "md.cfdragcoeffabsgrad.name");
|
---|
| 34 | @@ -266,7 +265,6 @@
|
---|
| 35 | iomodel->FetchMultipleData(&cfdragcoeffabsgrad_definitionstring_s,&num_cfdragcoeffabsgrads, "md.cfdragcoeffabsgrad.definitionstring");
|
---|
| 36 | iomodel->FetchMultipleData(&cfdragcoeffabsgrad_weights_s,&cfdragcoeffabsgrad_weights_M_s,&cfdragcoeffabsgrad_weights_N_s,&num_cfdragcoeffabsgrads, "md.cfdragcoeffabsgrad.weights");
|
---|
| 37 | iomodel->FetchMultipleData(&cfdragcoeffabsgrad_weights_string_s,&num_cfdragcoeffabsgrads, "md.cfdragcoeffabsgrad.weights_string");
|
---|
| 38 | - iomodel->FetchMultipleData(&cfdragcoeffabsgrad_datatime_s,&num_cfdragcoeffabsgrads, "md.cfdragcoeffabsgrad.datatime");
|
---|
| 39 |
|
---|
| 40 | for(j=0;j<num_cfdragcoeffabsgrads;j++){
|
---|
| 41 |
|
---|
| 42 | @@ -281,7 +279,7 @@
|
---|
| 43 | _error_("cfdragcoeffabsgrad weight size not supported yet");
|
---|
| 44 |
|
---|
| 45 | /*First create a cfdragcoeffabsgrad object for that specific string (cfdragcoeffabsgrad_model_string_s[j]):*/
|
---|
| 46 | - 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));
|
---|
| 47 | + output_definitions->AddObject(new Cfdragcoeffabsgrad(cfdragcoeffabsgrad_name_s[j],StringToEnumx(cfdragcoeffabsgrad_definitionstring_s[j]),StringToEnumx(cfdragcoeffabsgrad_weights_string_s[j]),false));
|
---|
| 48 |
|
---|
| 49 | /*Now, for this particular cfdragcoeffabsgrad object, make sure we plug into the elements: the observation, and the weights.*/
|
---|
| 50 | for(int k=0;k<elements->Size();k++){
|
---|
| 51 | @@ -310,7 +308,6 @@
|
---|
| 52 | xDelete<int>(cfdragcoeffabsgrad_weights_M_s);
|
---|
| 53 | xDelete<int>(cfdragcoeffabsgrad_weights_N_s);
|
---|
| 54 | xDelete<char*>(cfdragcoeffabsgrad_weights_string_s);
|
---|
| 55 | - xDelete<int>(cfdragcoeffabsgrad_datatime_s);
|
---|
| 56 | /*}}}*/
|
---|
| 57 | }
|
---|
| 58 | else if (output_definition_enums[i]==CfsurfacelogvelEnum){
|
---|
| 59 | Index: ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp
|
---|
| 60 | ===================================================================
|
---|
| 61 | --- ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp (revision 22970)
|
---|
| 62 | +++ ../trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp (revision 22971)
|
---|
| 63 | @@ -31,13 +31,12 @@
|
---|
| 64 | this->weights_enum = UNDEF;
|
---|
| 65 | this->misfit=0;
|
---|
| 66 | this->lock=0;
|
---|
| 67 | - this->datatime=0.;
|
---|
| 68 | this->timepassedflag = false;
|
---|
| 69 | this->last_time = 0.;
|
---|
| 70 |
|
---|
| 71 | }
|
---|
| 72 | /*}}}*/
|
---|
| 73 | -Cfdragcoeffabsgrad::Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, IssmDouble in_datatime, bool in_timepassedflag){/*{{{*/
|
---|
| 74 | +Cfdragcoeffabsgrad::Cfdragcoeffabsgrad(char* in_name, int in_definitionenum, int in_weights_enum, bool in_timepassedflag){/*{{{*/
|
---|
| 75 |
|
---|
| 76 | this->definitionenum=in_definitionenum;
|
---|
| 77 |
|
---|
| 78 | @@ -45,7 +44,6 @@
|
---|
| 79 | xMemCpy<char>(this->name,in_name,strlen(in_name)+1);
|
---|
| 80 |
|
---|
| 81 | this->weights_enum=in_weights_enum;
|
---|
| 82 | - this->datatime=in_datatime;
|
---|
| 83 | this->timepassedflag=in_timepassedflag;
|
---|
| 84 |
|
---|
| 85 | this->misfit=0;
|
---|
| 86 | @@ -60,7 +58,7 @@
|
---|
| 87 | /*}}}*/
|
---|
| 88 | /*Object virtual function resolutoin: */
|
---|
| 89 | Object* Cfdragcoeffabsgrad::copy() {/*{{{*/
|
---|
| 90 | - Cfdragcoeffabsgrad* mf = new Cfdragcoeffabsgrad(this->name,this->definitionenum, this->weights_enum,this->datatime,this->timepassedflag);
|
---|
| 91 | + Cfdragcoeffabsgrad* mf = new Cfdragcoeffabsgrad(this->name,this->definitionenum, this->weights_enum,this->timepassedflag);
|
---|
| 92 | mf->misfit=this->misfit;
|
---|
| 93 | mf->lock=this->lock;
|
---|
| 94 | return (Object*) mf;
|
---|
| 95 | @@ -73,7 +71,6 @@
|
---|
| 96 | void Cfdragcoeffabsgrad::Echo(void){/*{{{*/
|
---|
| 97 | _printf_(" Cfdragcoeffabsgrad: " << name << " " << this->definitionenum << "\n");
|
---|
| 98 | _printf_(" weights_enum: " << weights_enum << " " << EnumToStringx(weights_enum) << "\n");
|
---|
| 99 | - _printf_(" datatime: " << datatime << "\n");
|
---|
| 100 | _printf_(" timepassedflag: "<<timepassedflag<<"\n");
|
---|
| 101 | }
|
---|
| 102 | /*}}}*/
|
---|
| 103 | @@ -106,15 +103,10 @@
|
---|
| 104 | IssmDouble time;
|
---|
| 105 |
|
---|
| 106 | /*recover time parameters: */
|
---|
| 107 | - femmodel->parameters->FindParam(&time,TimeEnum);
|
---|
| 108 | - if(time < last_time) timepassedflag = false;
|
---|
| 109 | - last_time = time;
|
---|
| 110 | -
|
---|
| 111 | int i;
|
---|
| 112 | IssmDouble J=0.;
|
---|
| 113 | IssmDouble J_sum=0.;
|
---|
| 114 |
|
---|
| 115 | - if(datatime<=time && !timepassedflag){
|
---|
| 116 | for(i=0;i<femmodel->elements->Size();i++){
|
---|
| 117 | Element* element=(Element*)femmodel->elements->GetObjectByOffset(i);
|
---|
| 118 | J+=this->Cfdragcoeffabsgrad_Calculation(element,weights_enum);
|
---|
| 119 | @@ -126,8 +118,6 @@
|
---|
| 120 |
|
---|
| 121 | timepassedflag = true;
|
---|
| 122 | return J;
|
---|
| 123 | - }
|
---|
| 124 | - else return J;
|
---|
| 125 | }
|
---|
| 126 | /*}}}*/
|
---|
| 127 | IssmDouble Cfdragcoeffabsgrad::Cfdragcoeffabsgrad_Calculation(Element* element, int weights_enum){/*{{{*/
|
---|