public double [][] envCumProb() throws FileNotFoundException{

    	    
        envCumProb = new double [envName.size()] [envName.size()];
         
          try {
                  
                  FileReader file = new FileReader("EnvCumProb.txt");
                  BufferedReader br = new BufferedReader (file);
                  StreamTokenizer tokens = new StreamTokenizer (br);
       
                   
                  for (int row=0; row<envCumProb.length; row++) {
                      for(int column=0; column<envCumProb[row].length; column++){
                         
                          if (tokens.nextToken()!= StreamTokenizer.TT_EOF){
                    
                              switch(tokens.ttype) {
                                  case StreamTokenizer.TT_NUMBER:
                                      envCumProb[row][column]=tokens.nval;
                                      break;
                                  default:
                                      break;
                                           
                              }
                          }        
                      }
                 }          
                
           } catch (FileNotFoundException e) {
               e.printStackTrace();
           } catch (IOException e) {
               e.printStackTrace();
           }
           
           // recalculate cum prob values according to timeStep value
           
           double timeStep = SimTimer.getCurrentTimeStep();
           
           if(timeStep<1){
        	   for (int r=0; r<envCumProb.length; r++){
        		   for (int c=0; c<envCumProb.length; c++){
        			   envCumProb[r][c]=envCumProb[r][c]*(1/timeStep);
        		   }
        	   }
           }
           
           //else... think how to use a timestep above 1h...and having probabilities hogher than 1...
     
           
      return envCumProb;
    	 
     }