[12325] | 1 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Options.h
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Options.h (revision 12291)
|
---|
| 4 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Options.h (revision 12292)
|
---|
| 5 | @@ -21,6 +21,8 @@
|
---|
| 6 | Option* GetOption(const char* name);
|
---|
| 7 | void Get(double* pvalue,const char* name);
|
---|
| 8 | void Get(double* pvalue,const char* name,double default_value);
|
---|
| 9 | + void Get(int* pvalue,const char* name);
|
---|
| 10 | + void Get(int* pvalue,const char* name,int default_value);
|
---|
| 11 | void Get(bool* pvalue,const char* name);
|
---|
| 12 | void Get(bool* pvalue,const char* name,bool default_value);
|
---|
| 13 | void Get(char** pvalue,const char* name);
|
---|
| 14 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Observations.cpp
|
---|
| 15 | ===================================================================
|
---|
| 16 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Observations.cpp (revision 12291)
|
---|
| 17 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Observations.cpp (revision 12292)
|
---|
| 18 | @@ -93,49 +93,73 @@
|
---|
| 19 |
|
---|
| 20 | /*Methods*/
|
---|
| 21 | /*FUNCTION Observations::ObservationList{{{*/
|
---|
| 22 | -void Observations::ObservationList(double **px,double **py,double **pobs,int* pnobs,double x_interp,double y_interp,double range){
|
---|
| 23 | +void Observations::ObservationList(double **px,double **py,double **pobs,int* pnobs,double x_interp,double y_interp,double radius,int maxdata){
|
---|
| 24 |
|
---|
| 25 | /*Output and Intermediaries*/
|
---|
| 26 | - int nobs,i,index;
|
---|
| 27 | + bool stop;
|
---|
| 28 | + int nobs,i,j,k,n,counter;
|
---|
| 29 | + double h2,radius2;
|
---|
| 30 | + int *indices = NULL;
|
---|
| 31 | + double *dists = NULL;
|
---|
| 32 | double *x = NULL;
|
---|
| 33 | double *y = NULL;
|
---|
| 34 | double *obs = NULL;
|
---|
| 35 | Observation *observation = NULL;
|
---|
| 36 | - int *indices = NULL;
|
---|
| 37 |
|
---|
| 38 | - /*Treat range*/
|
---|
| 39 | - if(range==0){
|
---|
| 40 | - range=this->quadtree->root->length;
|
---|
| 41 | - }
|
---|
| 42 | + /*Compute radius square*/
|
---|
| 43 | + if(radius==0) radius=this->quadtree->root->length;
|
---|
| 44 | + radius2 = radius*radius;
|
---|
| 45 |
|
---|
| 46 | - /*Find all observations that are in range*/
|
---|
| 47 | - nobs=0;
|
---|
| 48 | - while(nobs==0){
|
---|
| 49 | - xfree((void**)&indices);
|
---|
| 50 | - this->quadtree->RangeSearch(&indices,&nobs,x_interp,y_interp,range);
|
---|
| 51 | - if(!nobs){
|
---|
| 52 | - /*No observation found, double range*/
|
---|
| 53 | - range=2*range;
|
---|
| 54 | + /*Find all observations that are in radius*/
|
---|
| 55 | + indices = (int*)xmalloc(this->Size()*sizeof(int));
|
---|
| 56 | + dists = (double*)xmalloc(this->Size()*sizeof(double));
|
---|
| 57 | + nobs = 0;
|
---|
| 58 | +
|
---|
| 59 | + for (i=0;i<this->Size();i++){
|
---|
| 60 | + observation=(Observation*)this->GetObjectByOffset(i);
|
---|
| 61 | + h2 = (observation->x-x_interp)*(observation->x-x_interp) + (observation->y-y_interp)*(observation->y-y_interp);
|
---|
| 62 | +
|
---|
| 63 | + if(nobs==maxdata && h2>radius2) continue;
|
---|
| 64 | + if(nobs<=maxdata){
|
---|
| 65 | + indices[nobs] = i;
|
---|
| 66 | + dists[nobs] = h2;
|
---|
| 67 | + nobs++;
|
---|
| 68 | }
|
---|
| 69 | - }
|
---|
| 70 | - /*Check that we do not have more than 50 observations*/
|
---|
| 71 | - //while(nobs>50){
|
---|
| 72 | - // range=range/2;
|
---|
| 73 | - // xfree((void**)&indices);
|
---|
| 74 | - // this->quadtree->RangeSearch(&indices,&nobs,x_interp,y_interp,range);
|
---|
| 75 | - //}
|
---|
| 76 | + if(nobs==1) continue;
|
---|
| 77 |
|
---|
| 78 | - if(!nobs) _error_("Unexpected error: no observation within current range and more than 50 observations if doubling range");
|
---|
| 79 | + /*Sort all dists up to now*/
|
---|
| 80 | + n=nobs-1;
|
---|
| 81 | + stop = false;
|
---|
| 82 | + for(k=0;k<n-1;k++){
|
---|
| 83 | + if(h2<dists[k]){
|
---|
| 84 | + counter=1;
|
---|
| 85 | + for(int jj=k;jj<n;jj++){
|
---|
| 86 | + j = n-counter;
|
---|
| 87 | + dists[j+1] = dists[j];
|
---|
| 88 | + indices[j+1] = indices[j];
|
---|
| 89 | + counter++;
|
---|
| 90 | + }
|
---|
| 91 | + dists[k] = h2;
|
---|
| 92 | + indices[k] = i;
|
---|
| 93 | + stop = true;
|
---|
| 94 | + break;
|
---|
| 95 | + }
|
---|
| 96 | + if(stop) break;
|
---|
| 97 | + }
|
---|
| 98 | + }
|
---|
| 99 | + xfree((void**)&dists);
|
---|
| 100 |
|
---|
| 101 | - /*Allocate vectors*/
|
---|
| 102 | - x = (double*)xmalloc(nobs*sizeof(double));
|
---|
| 103 | - y = (double*)xmalloc(nobs*sizeof(double));
|
---|
| 104 | - obs = (double*)xmalloc(nobs*sizeof(double));
|
---|
| 105 | + if(nobs){
|
---|
| 106 | + /*Allocate vectors*/
|
---|
| 107 | + x = (double*)xmalloc(nobs*sizeof(double));
|
---|
| 108 | + y = (double*)xmalloc(nobs*sizeof(double));
|
---|
| 109 | + obs = (double*)xmalloc(nobs*sizeof(double));
|
---|
| 110 |
|
---|
| 111 | - /*Loop over all observations and fill in x, y and obs*/
|
---|
| 112 | - for (i=0;i<nobs;i++){
|
---|
| 113 | - observation=(Observation*)this->GetObjectByOffset(indices[i]);
|
---|
| 114 | - observation->WriteXYObs(&x[i],&y[i],&obs[i]);
|
---|
| 115 | + /*Loop over all observations and fill in x, y and obs*/
|
---|
| 116 | + for (i=0;i<nobs;i++){
|
---|
| 117 | + observation=(Observation*)this->GetObjectByOffset(indices[i]);
|
---|
| 118 | + observation->WriteXYObs(&x[i],&y[i],&obs[i]);
|
---|
| 119 | + }
|
---|
| 120 | }
|
---|
| 121 |
|
---|
| 122 | /*Assign output pointer*/
|
---|
| 123 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Observations.h
|
---|
| 124 | ===================================================================
|
---|
| 125 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Observations.h (revision 12291)
|
---|
| 126 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Observations.h (revision 12292)
|
---|
| 127 | @@ -22,7 +22,7 @@
|
---|
| 128 | ~Observations();
|
---|
| 129 |
|
---|
| 130 | /*Methods*/
|
---|
| 131 | - void ObservationList(double **px,double **py,double **pobs,int* pnobs,double x_interp,double y_interp,double range);
|
---|
| 132 | + void ObservationList(double **px,double **py,double **pobs,int* pnobs,double x_interp,double y_interp,double radius,int maxdata);
|
---|
| 133 | void QuadtreeColoring(double* A,double *x,double *y,int n);
|
---|
| 134 | void Variomap(double* gamma,double *x,int n);
|
---|
| 135 |
|
---|
| 136 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Options.cpp
|
---|
| 137 | ===================================================================
|
---|
| 138 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Options.cpp (revision 12291)
|
---|
| 139 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Options.cpp (revision 12292)
|
---|
| 140 | @@ -66,6 +66,44 @@
|
---|
| 141 | return 1;
|
---|
| 142 | }
|
---|
| 143 | /*}}}*/
|
---|
| 144 | +/*FUNCTION Options::Get(int* pvalue, char* name){{{1*/
|
---|
| 145 | +void Options::Get(int* pvalue,const char* name){
|
---|
| 146 | +
|
---|
| 147 | + vector<Object*>::iterator object;
|
---|
| 148 | + Option* option=NULL;
|
---|
| 149 | +
|
---|
| 150 | + /*Get option*/
|
---|
| 151 | + option=GetOption(name);
|
---|
| 152 | +
|
---|
| 153 | + /*If the pointer is not NULL, the option has been found*/
|
---|
| 154 | + if(option){
|
---|
| 155 | + option->Get(pvalue);
|
---|
| 156 | + }
|
---|
| 157 | + /*Else, the Option does not exist, no default provided*/
|
---|
| 158 | + else{
|
---|
| 159 | + _error_("option of name \"%s\" not found, and no default value has been provided",name);
|
---|
| 160 | + }
|
---|
| 161 | +}
|
---|
| 162 | +/*}}}*/
|
---|
| 163 | +/*FUNCTION Options::Get(int* pvalue, char* name,int default_value){{{1*/
|
---|
| 164 | +void Options::Get(int* pvalue,const char* name,int default_value){
|
---|
| 165 | +
|
---|
| 166 | + vector<Object*>::iterator object;
|
---|
| 167 | + Option* option=NULL;
|
---|
| 168 | +
|
---|
| 169 | + /*Get option*/
|
---|
| 170 | + option=GetOption(name);
|
---|
| 171 | +
|
---|
| 172 | + /*If the pointer is not NULL, the option has been found*/
|
---|
| 173 | + if(option){
|
---|
| 174 | + option->Get(pvalue);
|
---|
| 175 | + }
|
---|
| 176 | + /*Else, the Option does not exist, a default is provided here*/
|
---|
| 177 | + else{
|
---|
| 178 | + *pvalue=default_value;
|
---|
| 179 | + }
|
---|
| 180 | +}
|
---|
| 181 | +/*}}}*/
|
---|
| 182 | /*FUNCTION Options::Get(double* pvalue, char* name){{{1*/
|
---|
| 183 | void Options::Get(double* pvalue,const char* name){
|
---|
| 184 |
|
---|
| 185 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/shared/Threads/LaunchThread.cpp
|
---|
| 186 | ===================================================================
|
---|
| 187 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/shared/Threads/LaunchThread.cpp (revision 12291)
|
---|
| 188 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/shared/Threads/LaunchThread.cpp (revision 12292)
|
---|
| 189 | @@ -66,5 +66,4 @@
|
---|
| 190 |
|
---|
| 191 | function((void*)&handle);
|
---|
| 192 | #endif
|
---|
| 193 | -
|
---|
| 194 | }
|
---|
| 195 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp
|
---|
| 196 | ===================================================================
|
---|
| 197 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp (revision 12291)
|
---|
| 198 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp (revision 12292)
|
---|
| 199 | @@ -23,7 +23,8 @@
|
---|
| 200 | double *error = NULL;
|
---|
| 201 |
|
---|
| 202 | /*Intermediaries*/
|
---|
| 203 | - double range;
|
---|
| 204 | + int mindata,maxdata;
|
---|
| 205 | + double radius;
|
---|
| 206 | char *output = NULL;
|
---|
| 207 | Variogram *variogram = NULL;
|
---|
| 208 | Observations *observations = NULL;
|
---|
| 209 | @@ -37,7 +38,9 @@
|
---|
| 210 |
|
---|
| 211 | /*Get Variogram from Options*/
|
---|
| 212 | ProcessVariogram(&variogram,options);
|
---|
| 213 | - options->Get(&range,"searchrange",0.);
|
---|
| 214 | + options->Get(&radius,"searchradius",0.);
|
---|
| 215 | + options->Get(&mindata,"mindata",1);
|
---|
| 216 | + options->Get(&maxdata,"maxdata",50);
|
---|
| 217 |
|
---|
| 218 | /*Process observation dataset*/
|
---|
| 219 | observations=new Observations(obs_list,obs_x,obs_y,obs_length,options);
|
---|
| 220 | @@ -61,7 +64,9 @@
|
---|
| 221 | gate.n_interp = n_interp;
|
---|
| 222 | gate.x_interp = x_interp;
|
---|
| 223 | gate.y_interp = y_interp;
|
---|
| 224 | - gate.range = range;
|
---|
| 225 | + gate.radius = radius;
|
---|
| 226 | + gate.mindata = mindata;
|
---|
| 227 | + gate.maxdata = maxdata;
|
---|
| 228 | gate.variogram = variogram;
|
---|
| 229 | gate.observations = observations;
|
---|
| 230 | gate.predictions = predictions;
|
---|
| 231 | @@ -105,7 +110,9 @@
|
---|
| 232 | int n_interp = gate->n_interp;
|
---|
| 233 | double *x_interp = gate->x_interp;
|
---|
| 234 | double *y_interp = gate->y_interp;
|
---|
| 235 | - double range = gate->range;
|
---|
| 236 | + double radius = gate->radius;
|
---|
| 237 | + int mindata = gate->mindata;
|
---|
| 238 | + int maxdata = gate->maxdata;
|
---|
| 239 | Variogram *variogram = gate->variogram;
|
---|
| 240 | Observations *observations = gate->observations;
|
---|
| 241 | double *predictions = gate->predictions;
|
---|
| 242 | @@ -136,10 +143,10 @@
|
---|
| 243 | printf("\r interpolation progress: %5.2lf%%",localpercent);
|
---|
| 244 |
|
---|
| 245 | /*Get list of observations for current point*/
|
---|
| 246 | - observations->ObservationList(&x,&y,&obs,&n_obs,x_interp[idx],y_interp[idx],range);
|
---|
| 247 | - if(n_obs==0){
|
---|
| 248 | - predictions[idx] = -999.;
|
---|
| 249 | - error[idx] = -999.;
|
---|
| 250 | + observations->ObservationList(&x,&y,&obs,&n_obs,x_interp[idx],y_interp[idx],radius,maxdata);
|
---|
| 251 | + if(n_obs<mindata){
|
---|
| 252 | + predictions[idx] = -999.0;
|
---|
| 253 | + error[idx] = -999.0;
|
---|
| 254 | continue;
|
---|
| 255 | }
|
---|
| 256 |
|
---|
| 257 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Krigingx/Krigingx.h
|
---|
| 258 | ===================================================================
|
---|
| 259 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Krigingx/Krigingx.h (revision 12291)
|
---|
| 260 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Krigingx/Krigingx.h (revision 12292)
|
---|
| 261 | @@ -20,7 +20,9 @@
|
---|
| 262 | int n_interp;
|
---|
| 263 | double *x_interp;
|
---|
| 264 | double *y_interp;
|
---|
| 265 | - double range;
|
---|
| 266 | + double radius;
|
---|
| 267 | + int mindata;
|
---|
| 268 | + int maxdata;
|
---|
| 269 | Variogram *variogram;
|
---|
| 270 | Observations *observations;
|
---|
| 271 | double *predictions;
|
---|
| 272 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionStruct.h
|
---|
| 273 | ===================================================================
|
---|
| 274 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionStruct.h (revision 12291)
|
---|
| 275 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionStruct.h (revision 12292)
|
---|
| 276 | @@ -38,6 +38,7 @@
|
---|
| 277 | int NumEl();
|
---|
| 278 | int NDims();
|
---|
| 279 | int* Size();
|
---|
| 280 | + void Get(int* pvalue){_error_("An OptionStruct object cannot return a int");};
|
---|
| 281 | void Get(double* pvalue){_error_("An OptionStruct object cannot return a double");};
|
---|
| 282 | void Get(bool* pvalue){ _error_("An OptionStruct object cannot return a bool");};
|
---|
| 283 | void Get(char** pvalue){ _error_("An OptionStruct object cannot return a string");};
|
---|
| 284 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionDouble.cpp
|
---|
| 285 | ===================================================================
|
---|
| 286 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionDouble.cpp (revision 12291)
|
---|
| 287 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionDouble.cpp (revision 12292)
|
---|
| 288 | @@ -119,6 +119,18 @@
|
---|
| 289 | return(Option::Size());
|
---|
| 290 | }
|
---|
| 291 | /*}}}*/
|
---|
| 292 | +/*FUNCTION OptionDouble::Get(int* pvalue) {{{1*/
|
---|
| 293 | +void OptionDouble::Get(int* pvalue){
|
---|
| 294 | +
|
---|
| 295 | + /*We should first check that the size is one*/
|
---|
| 296 | + if(this->NumEl()!=1){
|
---|
| 297 | + _error_("option \"%s\" has %i elements and cannot return a single int",this->name,this->NumEl());
|
---|
| 298 | + }
|
---|
| 299 | +
|
---|
| 300 | + /*Assign output pointer*/
|
---|
| 301 | + *pvalue=(int)this->values[0];
|
---|
| 302 | +}
|
---|
| 303 | +/*}}}*/
|
---|
| 304 | /*FUNCTION OptionDouble::Get(double* pvalue) {{{1*/
|
---|
| 305 | void OptionDouble::Get(double* pvalue){
|
---|
| 306 |
|
---|
| 307 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionDouble.h
|
---|
| 308 | ===================================================================
|
---|
| 309 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionDouble.h (revision 12291)
|
---|
| 310 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionDouble.h (revision 12292)
|
---|
| 311 | @@ -38,6 +38,7 @@
|
---|
| 312 | int NumEl();
|
---|
| 313 | int NDims();
|
---|
| 314 | int* Size();
|
---|
| 315 | + void Get(int* pvalue);
|
---|
| 316 | void Get(double* pvalue);
|
---|
| 317 | void Get(bool* pvalue){ _error_("An OptionDouble object cannot return a bool");};
|
---|
| 318 | void Get(char** pvalue){ _error_("An OptionDouble object cannot return a string");};
|
---|
| 319 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionLogical.h
|
---|
| 320 | ===================================================================
|
---|
| 321 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionLogical.h (revision 12291)
|
---|
| 322 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionLogical.h (revision 12292)
|
---|
| 323 | @@ -38,6 +38,7 @@
|
---|
| 324 | int NumEl();
|
---|
| 325 | int NDims();
|
---|
| 326 | int* Size();
|
---|
| 327 | + void Get(int* pvalue){_error_("An OptionLogical object cannot return a int");};
|
---|
| 328 | void Get(double* pvalue){_error_("An OptionLogical object cannot return a double");};
|
---|
| 329 | void Get(bool* pvalue);
|
---|
| 330 | void Get(char** pvalue){ _error_("An OptionLogical object cannot return a string");};
|
---|
| 331 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionChar.h
|
---|
| 332 | ===================================================================
|
---|
| 333 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionChar.h (revision 12291)
|
---|
| 334 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionChar.h (revision 12292)
|
---|
| 335 | @@ -38,6 +38,7 @@
|
---|
| 336 | int NumEl();
|
---|
| 337 | int NDims();
|
---|
| 338 | int* Size();
|
---|
| 339 | + void Get(int* pvalue){_error_("An OptionChar object cannot return a int");};
|
---|
| 340 | void Get(double* pvalue){_error_("An OptionChar object cannot return a double");};
|
---|
| 341 | void Get(bool* pvalue){ _error_("An OptionChar object cannot return a bool");};
|
---|
| 342 | void Get(char** pvalue);
|
---|
| 343 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/Option.h
|
---|
| 344 | ===================================================================
|
---|
| 345 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/Option.h (revision 12291)
|
---|
| 346 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/Option.h (revision 12292)
|
---|
| 347 | @@ -41,6 +41,7 @@
|
---|
| 348 | virtual int NumEl()=0;
|
---|
| 349 | virtual int NDims()=0;
|
---|
| 350 | virtual int* Size()=0;
|
---|
| 351 | + virtual void Get(int* pvalue)=0;
|
---|
| 352 | virtual void Get(double* pvalue)=0;
|
---|
| 353 | virtual void Get(bool* pvalue)=0;
|
---|
| 354 | virtual void Get(char** pvalue)=0;
|
---|
| 355 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionCell.h
|
---|
| 356 | ===================================================================
|
---|
| 357 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionCell.h (revision 12291)
|
---|
| 358 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Options/OptionCell.h (revision 12292)
|
---|
| 359 | @@ -38,6 +38,7 @@
|
---|
| 360 | int NumEl();
|
---|
| 361 | int NDims();
|
---|
| 362 | int* Size();
|
---|
| 363 | + void Get(int* pvalue){_error_("An OptionCell object cannot return a int");};
|
---|
| 364 | void Get(double* pvalue){_error_("An OptionCell object cannot return a double");};
|
---|
| 365 | void Get(bool* pvalue){ _error_("An OptionCell object cannot return a bool");};
|
---|
| 366 | void Get(char** pvalue){ _error_("An OptionCell object cannot return a string");};
|
---|
| 367 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Kriging/GaussianVariogram.cpp
|
---|
| 368 | ===================================================================
|
---|
| 369 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Kriging/GaussianVariogram.cpp (revision 12291)
|
---|
| 370 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Kriging/GaussianVariogram.cpp (revision 12292)
|
---|
| 371 | @@ -74,7 +74,7 @@
|
---|
| 372 | a = 1./3.;
|
---|
| 373 | cova = (sill-nugget)*exp(-h2/(a*range*range));
|
---|
| 374 |
|
---|
| 375 | - //if(h2<0.0000001) cova = sill;
|
---|
| 376 | + if(h2<0.0000001) cova = sill;
|
---|
| 377 |
|
---|
| 378 | return cova;
|
---|
| 379 | }
|
---|