final void addDisturbance(int radius, int chunkX, int chunkY, int chunkZ, double xVel, double yVel, double zVel)
			{
				// Limited to below the surface layer and above the thermocline layer
				// For each depth in the range
				for (int y = Math.max(1, chunkY - radius); y < Math.min(ySize - 2, chunkY + radius); y++)
					// For every chunk at that depth within the range
					for (int x = chunkX - radius; x < chunkX + radius; x++)
						for (int z = chunkZ - radius; z < chunkZ + radius; z++)
							{
								int xIndex = x;
								// y doesn't need to be checked as it doesn't wrap
								int zIndex = z;

								// wrap the coordinates if they go off the x or z axes
								if (xIndex < 0)
									xIndex += xSize;
								if (xIndex >= xSize)
									xIndex -= xSize;

								if (zIndex < 0)
									zIndex += zSize;
								if (zIndex >= zSize)
									zIndex -= zSize;

								int index = getIndex(xIndex, y, zIndex);
								this.xVel[index] += xVel;
								this.yVel[index] += yVel;
								this.zVel[index] += zVel;
								// System.out.println("(" + this.xVel[index] + ", " + this.yVel[index] + ", " + this.zVel[index] + ")");
							}
			}