 
 	if (idx < d_Ptarget.size_x * d_Ptarget.size_y)
 	{
-		ASSERT(d_P[idx] > 10);
-		ASSERT(d_P[idx] < 1500 || IsMissingDouble(d_P[idx]));
+		ASSERT((d_P[idx] > 10 && d_P[idx] < 1500) || IsMissingDouble(d_P[idx]));
 
 		ASSERT(d_Ptarget.values[idx] > 10);
-		ASSERT(d_Ptarget.values[idx] < 1500 || IsMissingDouble(d_Ptarget.values[idx]));
-
-		ASSERT(d_T[idx] > 100);
-		ASSERT(d_T[idx] < 350 || IsMissingDouble(d_T[idx]));
+		ASSERT((d_Ptarget.values[idx] > 10 && d_Ptarget.values[idx] < 1500) || IsMissingDouble(d_Ptarget.values[idx]));
+
+		ASSERT((d_T[idx] > 100 && d_T[idx] < 350) || IsMissingDouble(d_T[idx]));
 
 		double T = metutil::LiftLCLA_(d_P[idx] * 100, d_T[idx], d_PLCL[idx] * 100, d_Ptarget.values[idx] * 100);
 
-		ASSERT(T > 100);
-		ASSERT(T < 350 || IsMissingDouble(T));
+		ASSERT((T > 100 && T < 350) || IsMissingDouble(T));
 
 		d_Tparcel[idx] = T;
 	}


					Penv = PLFC;

					ASSERT(Zenv > prevZenv);
				}
			}


			// Missing data or current grid point is below LFC
			return;
		}

		ASSERT(LFCP < 1200.);
		ASSERT(LFCT > 100.);

		if (IsMissingDouble(prevTparcel) && !IsMissingDouble(Tparcel))
		{
