Variogram TheoryVariogramNSGA(SemivariogramType semiType,int n){
  double[] y=new double[bins.length];
  for (int i=0; i < y.length; i++) {
    y[i]=bins[i][n].Value;
  }
  int nNan=0;
  for (int i=0; i < y.length; i++) {
    if (!Double.isNaN(y[i])) {
      nNan++;
    }
  }
  x=new double[nNan];
  double[] y2=new double[nNan];
  int ntmp=0;
  for (int i=0; i < y.length; i++) {
    if (!Double.isNaN(y[i])) {
      y2[ntmp]=y[i];
      x[ntmp]=bins[i][nthSVariogram].Distance;
      ntmp++;
    }
  }
  y=y2;
  double[][] pnts=new double[y.length][2];
  for (int i=0; i < y.length; i++) {
    pnts[i][1]=y[i];
    pnts[i][0]=x[i];
  }
  Variogram var=new Variogram();
  var.Type=semiType;
  SemivariogramCurveFitter svcf=new SemivariogramCurveFitter();
  try {
    var=svcf.Run(pnts,semiType,ConsiderNugget);
  }
 catch (  JMException ex) {
  }
catch (  SecurityException ex) {
  }
catch (  IOException ex) {
  }
catch (  ClassNotFoundException ex) {
  }
  return var;
}

Variogram TheoryVariogramNSGA ( SemivariogramType semiType , int n ) { double [ ] y = new double [ bins . length ] ; for ( int i = 0 ; i < y . length ; i ++ ) { y [ i ] = bins [ i ] [ n ] . Value ; } int nNan = 0 ; for ( int i = 0 ; i < y . length ; i ++ ) { if ( ! Double . isNaN ( y [ i ] ) ) { nNan ++ ; } } x = new double [ nNan ] ; double [ ] y2 = new double [ nNan ] ; int ntmp = 0 ; for ( int i = 0 ; i < y . length ; i ++ ) { if ( ! Double . isNaN ( y [ i ] ) ) { y2 [ ntmp ] = y [ i ] ; x [ ntmp ] = bins [ i ] [ nthSVariogram ] . Distance ; ntmp ++ ; } } y = y2 ; double [ ] [ ] pnts = new double [ y . length ] [ 2 ] ; for ( int i = 0 ; i < y . length ; i ++ ) { pnts [ i ] [ 1 ] = y [ i ] ; pnts [ i ] [ 0 ] = x [ i ] ; } Variogram var = new Variogram ( ) ; var . Type = semiType ; SemivariogramCurveFitter svcf = new SemivariogramCurveFitter ( ) ; try { var = svcf . Run ( pnts , semiType , ConsiderNugget ) ; } catch ( JMException ex ) { } catch ( SecurityException ex ) { } catch ( IOException ex ) { } catch ( ClassNotFoundException ex ) { } return var ; }
this method uses nsga algorithm to fit the semi variogram
