Using Viscosity Instead of Drag
Start with the canonical wind stress forcing $$ \tau^x = -\cos\!\left(\frac{\pi y}{a}\right) $$ From this, the interior Sverdrup flow is $$ \underbrace{\psi_I}_{\text{interior (Sverdrup) solution}} = \pi(1-x)\sin \pi y $$ This solution satisfies the meridional no-slip boundary conditions at $y=0,1$, since $\partial_y \psi = 0$ there
The dimensional vorticity equation including viscosity is $$ \beta \frac{\partial \psi}{\partial x} = \text{curl}_z \tau_T + \nu \nabla^2 \zeta = \text{curl}_z \tau_T + \nu \nabla^4 \psi $$ To satisfy all four boundary conditions (western and eastern boundaries as well), boundary layers are needed

Balancing the viscous term with the $\beta$-term in the dimensional vorticity equation including viscosity gives the boundary layer scale $$ L_M = \left(\frac{\nu}{\beta}\right)^{1/3} $$ This is the classical Munk boundary layer thickness
Introduce nondimensional variables and rescale as in the Stommel case $$ \beta \frac{\partial \psi}{\partial x} = \text{curl}_z \tau_T + \nu \nabla^2 \zeta = \text{curl}_z \tau_T + \nu \nabla^4 \psi \Rightarrow -\epsilon_M \nabla^4 \hat{\psi} + \frac{\partial \hat{\psi}}{\partial \hat{x}} = \text{curl}_z \hat{\tau}_T $$ with \( \epsilon_M = \frac{\nu}{\beta a^3}\)
Considering only the western boundary layer correction, now split the total streamfunction into an interior Sverdrup solution and a boundary layer correction $$ \hat{\psi} = \underbrace{\psi_I}_{\text{Sverdrup streamfunction}} + \underbrace{\phi_W(\alpha,\hat{y})}_{\text{boundary layer correction}} $$ Here $\alpha$ is a stretched coordinate defined by $\hat{x} = \epsilon \alpha$, with $\epsilon$ small


1Vallis, G.K. (2017) Atmospheric and Oceanic Fluid Dynamics: Fundamentals and Large-Scale Circulation. 2nd edn. Cambridge: Cambridge University Press.