public Vector NumberofSoils(String pathname)
	{
		//String filename = pathname +"/soil.cdf";  
		String aFile = this.getClass().getResource("/Data/187/2012-03-21/soil.cdf").getPath();
		//String filename = "/Data/187/2012-03-21/soil.cdf";
		 Vector uniqueVals = new Vector();
		 Vector soilVector = new Vector();
		  NetcdfFile ncfile = null;
		  	try {
			    ncfile = NetcdfDataset.openFile(aFile, null);  
		  	} catch (IOException ioe) {ioe.printStackTrace();} 
			try{
				  String varName = "aprod"; 
				  Variable v = ncfile.findVariable(varName);
				  //if (null == v) return 0;
				  try {
					  Array data = v.read();
					  Array data2D = data;
					  Vector vec = new Vector();
					  
					  int[] varShape = v.getShape();
					  int[] origin = new int[3];				  
					  int[] size = new int[] {1, varShape[1]};				  
					  for (int i = 0; i < varShape[0]; i++) {
					    origin[0] = i;
					    data2D = v.read(origin, size).reduce(0);
					    for (int j = 0; j < data2D.getSize(); j++ ){
					    Object y2k = data2D.getObject(j);
					    if (!y2k.toString().equals("NaN")){vec.add(y2k);}
					    }
					    for (int k = 0; k < vec.size(); k++){
				            if (!uniqueVals.contains(vec.get(k).toString()))
				                uniqueVals.add(vec.get(k).toString());				        
					    }			    
					    					    
					  } 
					    soilVector.add(uniqueVals.size());
					    for (int j = 0; j < uniqueVals.size(); j++){
				        soilVector.add(uniqueVals.get(j));    				        
					    }
					    
				  }catch(Exception e){}
			}catch(Exception e){}
			return soilVector;
					  
	}