diff --git a/targets/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp b/targets/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp
index bc044aea8053c70f67e7102a80baa104e6cae81e..5b11dbf72b5b51d6a63443c83b6f23761bc29d69 100644
--- a/targets/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp
+++ b/targets/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp
@@ -7,7 +7,7 @@
 
 std::shared_ptr<AnalyticalResults> ShearWaveAnalyticalResults::getNewInstance(double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct)
 {
-	return std::shared_ptr<AnalyticalResults>(new ShearWaveAnalyticalResults(viscosity,simParaStruct));
+	return std::shared_ptr<AnalyticalResults>(new ShearWaveAnalyticalResults(viscosity, simParaStruct));
 }
 
 void ShearWaveAnalyticalResults::calc(std::shared_ptr<SimulationResults> simResults)
diff --git a/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp b/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp
index 91a307d268465837e359e101e8b9279f54830118..f38d1ae98a49c8a3df64807d558ccbb4033c0d37 100644
--- a/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp
+++ b/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp
@@ -96,23 +96,27 @@ void NumericalTestFactoryImp::init(std::shared_ptr<ConfigDataStruct> configFileD
 		for (int j = 0; j < configFileData->viscosity.size(); j++) {
 			for (int k = 0; k < configFileData->taylorGreenVortexUxParameter.size(); k++) {
 				std::shared_ptr<SimulationDataStruct> simDataStruct = makeTaylorGreenUxSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUxParameter.at(k), configFileData->taylorGreenVortexUxGridInformation);
-				
-				std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUxParameter.at(k)->basicTimeStepLength);
-				addNumericalTestStruct(numericalTestStruct);
+				if (simDataStruct->simGroupRun) {
+					std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUxParameter.at(k)->basicTimeStepLength);
+					addNumericalTestStruct(numericalTestStruct);
+				}
 			}
 
 			for (int k = 0; k < configFileData->taylorGreenVortexUzParameter.size(); k++) {
 				std::shared_ptr<SimulationDataStruct> simDataStruct = makeTaylorGreenUzSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUzParameter.at(k), configFileData->taylorGreenVortexUzGridInformation);
-				
-				std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUzParameter.at(k)->basicTimeStepLength);
-				addNumericalTestStruct(numericalTestStruct);
+				if (simDataStruct->simGroupRun) {
+					std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUzParameter.at(k)->basicTimeStepLength);
+					addNumericalTestStruct(numericalTestStruct);
+				}
 			}
 
 			for (int k = 0; k < configFileData->shearWaveParameter.size(); k++) {
 				std::shared_ptr<SimulationDataStruct> simDataStruct = makeShearWaveSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->shearWaveParameter.at(k), configFileData->shearWaveGridInformation);
-				
-				std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->shearWaveParameter.at(k)->basicTimeStepLength);
-				addNumericalTestStruct(numericalTestStruct);
+				if (simDataStruct->simGroupRun) {
+					std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->shearWaveParameter.at(k)->basicTimeStepLength);
+					addNumericalTestStruct(numericalTestStruct);
+				}
+
 			}
 			
 		}
@@ -171,53 +175,66 @@ std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeTaylorGreenUx
 {
 	std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
 
-	for (int i = 0; i < gridInfoStruct.size(); i++) {
-		std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct> (new TestSimulationDataStruct);
-		aTestSimData->simParameter = SimulationParameterTaylorGreenUx::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i));
-		aTestSimData->initialCondition = InitialConditionTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct.at(i));
-		aTestSimData->simInformation = SimulationInfoTaylorGreenUx::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
-		simID++;
-		aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUx::getNewInstance(viscosity, simParaStruct);
-		simDataStruct->testSimData.push_back(aTestSimData);
+	if (gridInfoStruct.size() > 0) {
+		for (int i = 0; i < gridInfoStruct.size(); i++) {
+			std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
+			aTestSimData->simParameter = SimulationParameterTaylorGreenUx::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i));
+			aTestSimData->initialCondition = InitialConditionTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct.at(i));
+			aTestSimData->simInformation = SimulationInfoTaylorGreenUx::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
+			simID++;
+			aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUx::getNewInstance(viscosity, simParaStruct);
+			simDataStruct->testSimData.push_back(aTestSimData);
+		}
+		simDataStruct->logFileInformation = LogFileInformationTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct);
+		simDataStruct->simGroupRun = true;
+	}
+	else {
+		simDataStruct->simGroupRun = false;
 	}
-	simDataStruct->logFileInformation = LogFileInformationTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct);
-
 	return simDataStruct;
 }
 
 std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeTaylorGreenUzSimulationData(std::string kernelName, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
 	std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
-
-	for (int i = 0; i < gridInfoStruct.size(); i++) {
-		std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
-		aTestSimData->simParameter = SimulationParameterTaylorGreenUz::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i));
-		aTestSimData->initialCondition = InitialConditionTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct.at(i));
-		aTestSimData->simInformation = SimulationInfoTaylorGreenUz::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
-		simID++;
-		aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUz::getNewInstance(viscosity, simParaStruct);
-		simDataStruct->testSimData.push_back(aTestSimData);
+	if (gridInfoStruct.size() > 0) {
+		for (int i = 0; i < gridInfoStruct.size(); i++) {
+			std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
+			aTestSimData->simParameter = SimulationParameterTaylorGreenUz::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i));
+			aTestSimData->initialCondition = InitialConditionTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct.at(i));
+			aTestSimData->simInformation = SimulationInfoTaylorGreenUz::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
+			simID++;
+			aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUz::getNewInstance(viscosity, simParaStruct);
+			simDataStruct->testSimData.push_back(aTestSimData);
+		}
+		simDataStruct->logFileInformation = LogFileInformationTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct);
+		simDataStruct->simGroupRun = true;
+	}
+	else {
+		simDataStruct->simGroupRun = false;
 	}
-	simDataStruct->logFileInformation = LogFileInformationTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct);
-
 	return simDataStruct;
 }
 
 std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeShearWaveSimulationData(std::string kernelName, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
 	std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
-
-	for (int i = 0; i < gridInfoStruct.size(); i++) {
-		std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
-		aTestSimData->simParameter = ShearWaveSimulationParameter::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i));
-		aTestSimData->initialCondition = InitialConditionShearWave::getNewInstance(simParaStruct, gridInfoStruct.at(i));
-		aTestSimData->simInformation = ShearWaveSimulationInfo::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
-		simID++;
-		aTestSimData->analyticalResult = ShearWaveAnalyticalResults::getNewInstance(viscosity, simParaStruct);
-		simDataStruct->testSimData.push_back(aTestSimData);
+	if (gridInfoStruct.size() > 0) {
+		for (int i = 0; i < gridInfoStruct.size(); i++) {
+			std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
+			aTestSimData->simParameter = ShearWaveSimulationParameter::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i));
+			aTestSimData->initialCondition = InitialConditionShearWave::getNewInstance(simParaStruct, gridInfoStruct.at(i));
+			aTestSimData->simInformation = ShearWaveSimulationInfo::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
+			simID++;
+			aTestSimData->analyticalResult = ShearWaveAnalyticalResults::getNewInstance(viscosity, simParaStruct);
+			simDataStruct->testSimData.push_back(aTestSimData);
+		}
+		simDataStruct->logFileInformation = ShearWaveInformation::getNewInstance(simParaStruct, gridInfoStruct);
+		simDataStruct->simGroupRun = true;
+	}		
+	else {
+		simDataStruct->simGroupRun = false;
 	}
-	simDataStruct->logFileInformation = ShearWaveInformation::getNewInstance(simParaStruct, gridInfoStruct);
-
 	return simDataStruct;
 }
 
diff --git a/targets/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h b/targets/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h
index 75ecbb2d8caf4ce93ae5d88a47db3e6efbfaee90..b6628b764e0da3d5006fcd58bb5c116a1eb34182 100644
--- a/targets/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h
+++ b/targets/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h
@@ -11,5 +11,6 @@ struct SimulationDataStruct
 	std::vector<std::shared_ptr<TestSimulationDataStruct> > testSimData;
 
 	std::shared_ptr<SimulationLogFileInformation> logFileInformation;
+	bool simGroupRun;
 };
 #endif 
\ No newline at end of file
diff --git a/targets/tests/NumericalTests/config.txt b/targets/tests/NumericalTests/config.txt
index a8d7a677028a8007328ce1ca7eb68098e2aec4f3..c55f8e2ee6f721cb805b15e5ee99114b6b415b61 100644
--- a/targets/tests/NumericalTests/config.txt
+++ b/targets/tests/NumericalTests/config.txt
@@ -50,7 +50,7 @@ EndTimeStepCalculation_PhiNu=20
 ##################################################
 #			L2-Norm Test Parameter				 #
 ##################################################
-L2NormTest=false
+L2NormTest=true
 MaxL2NormDiff=2.5
 DataToCalc_L2="Vx"
 BasicTimeStep_L2=0
@@ -67,20 +67,20 @@ DataToCalc_L2NormBetweenKernels="Vx"
 ##################################################
 #			Simulation To Perform				 #
 ##################################################
-TaylorGreenVortexUx32=false
+TaylorGreenVortexUx32=true
 TaylorGreenVortexUx64=false
 TaylorGreenVortexUx128=false
 TaylorGreenVortexUx256=false
 TaylorGreenVortexUx512=false
 
-TaylorGreenVortexUz32=false
+TaylorGreenVortexUz32=true
 TaylorGreenVortexUz64=false
 TaylorGreenVortexUz128=false
 TaylorGreenVortexUz256=false
 TaylorGreenVortexUz512=false
 
 ShearWave32=true
-ShearWave64=true
+ShearWave64=false
 ShearWave128=false
 ShearWave256=false
 ShearWave512=false