Two heat exchangers in series do not each receive the air the car is driving through. The second one receives what the first one has already worked on: air that has been heated on its way through, slowed by the restriction in front of it, and disturbed by the wake the first core leaves behind. Its own quality has not changed. The conditions it is being asked to work in have.
This is the single fact that explains most disappointing front-end builds. A bigger intercooler is fitted, the radiator behind it is unchanged, and the engine runs hotter than before. Nothing was installed wrongly. The radiator was simply moved into a worse job, and nobody recalculated what that job had become.
Whichever core sits first sees the coolest air and the least disturbed flow, so it performs closest to its rating. Whichever sits second loses effectiveness. The question is which loss the system can absorb.
A radiator rejects heat from the engine into air that is already close to its own temperature by the time it reaches the far side, so anything that raises the incoming air temperature makes its job harder in a way that compounds along the core. An intercooler works with a larger temperature difference between the charge air and the cooling air, so a modest rise in the cooling air temperature costs it proportionally less.
That argument favours putting the intercooler first and the radiator behind it, which is also the arrangement most production cars use. The counter-argument is packaging and pipe length: an intercooler at the very front needs longer charge pipes, and every additional bend costs pressure that the turbo has already paid for. Neither argument wins universally. What matters is that the order is being chosen for a reason rather than inherited.
A gap between cores lets the wake from the first one spread out and the flow reattach before it meets the second. Without a gap, the second core sits inside the first one's wake, so part of its face sees slow, turbulent air and stops contributing. A gap is therefore worth having.
Too much gap creates the opposite problem. Air is lazy: given a choice between going through a core and going around it, it goes around. A generous gap with open sides becomes an escape route, and the flow that was supposed to cross the second core spills out of the stack instead. The gap only helps if the perimeter is closed so that the only way past is through.
Most of the air that fails to cross a stack does not go around the cores in a straight line. It goes around the edges, through the gaps between a core and its surround, past a bracket that was not boxed in, under a panel that does not meet the bumper. The total area of those paths is often larger than anyone expects, and it is all flow that never does any cooling.
Ducting the face of the stack so that the only path in is through the cores is unglamorous work that changes the result more than a different core would. It is the same principle that applies to any duct in the car: what matters is not the size of the opening but how much of the air that enters it is forced to go where you wanted.
Flow through a stack is driven by the pressure difference between the front and the back, and the front is at best at the pressure the car's nose produces. The back is where the leverage is. If the air leaving the stack has nowhere to go, the pressure behind the cores rises until the difference across them falls, and the flow falls with it.
This is why an engine bay packed with pipework, a battery box and an unvented undertray can strangle a stack that looks generous from outside. The cores are not the restriction. The bay behind them is, and it is invisible in every photograph of the build.
Mass flow through the front end is roughly fixed by the pressure difference available. Add a second core and the same air is shared between more restriction. Unless the exit is opened at the same time, both cores see less flow than the single core did, and the stack as a whole performs worse than the part it replaced.
The arithmetic is unpleasant but simple: heat rejection depends on mass flow and on temperature difference, and adding restriction reduces mass flow. A thicker core can compensate by having more area and more time in contact, but only up to the point where the reduced flow cancels the gain. Beyond that point, thicker is strictly worse, and the build has gone backwards for a reason nobody can see.
Everything above assumes ram air. In traffic there is none, and the fan becomes the only thing moving air. A fan does not deliver uniform flow: it pulls hardest near its blades and poorly at the edges of its coverage, and if the shroud does not seal to the core, it recirculates air around the outside of the core rather than through it.
That produces a failure that only appears when stationary or in slow traffic, which is exactly when a car has least margin. A stack that works on a track and overheats in a queue has told you its problem is the fan and the shroud, not the cores.
All of this treats the front end as a one-dimensional path from opening to exit. Real front ends are three-dimensional: flow separates off bumper edges, wraps around the sides, and forms vortices that decide where the air actually goes. Two cars with identical cores and identical openings can behave differently because their bumper shapes differ.
It also stops being reliable when the cores are not the same kind of device. A radiator with dense fins and a bar-and-plate cooler with wide passages respond differently to being put second, because one is more sensitive to face blockage and the other more sensitive to the quality of the approaching flow.
These are the questions that decide whether the stack works, and they are cheaper to answer before the bumper is cut.
The cores we build are on our intercooler pages, the flow measurement approach under intercooler pressure testing, and the exit side of the same problem under intercooler airflow. Ducting and hose runs sit under air intake hoses, the intake side under air filters and prefilters, and heat coming off the exhaust near all of it under exhaust heat shield.