diff --git a/diag/pbldia_new_sfx.f90 b/diag/pbldia_new_sfx.f90
index 4a645f13f1b8d1848fde66e36f6b1653600eddc9..684d89dc8ac78008865a0a0d0f2bcda5523968a9 100755
--- a/diag/pbldia_new_sfx.f90
+++ b/diag/pbldia_new_sfx.f90
@@ -53,6 +53,7 @@ use sfx_sheba, only: &
       TSTAR = AR2(9) * ARDIN(2)
       QSTAR = AR2(9) * ARDIN(3)
 
+     if(zeta.ne.0)then
 
      if(zeta.gt.zetalim) zeta=zetalim
       L = HIN/zeta
@@ -60,10 +61,17 @@ use sfx_sheba, only: &
      call get_psi_sheba(psi_m_hs,psi_h_hs,HIN/L)
      call get_psi_sheba(psi_m,psi_h,HWIND/L)
      UFWIND = ALOG(hwind/HIN) - (psi_m - psi_m_hs)
-     WIND = (USTAR/kappa) * UFWIND
      call get_psi_sheba(psi_m,psi_h,HTEMP/L)
-      UFTEMP = ALOG(HTEMP/HIN) - (psi_h - psi_h_hs)
+     UFTEMP = ALOG(HTEMP/HIN) - (psi_h - psi_h_hs)
+
+     else
+
+      UFWIND = ALOG(HWIND/HIN)
+      UFTEMP = ALOG(HTEMP/HIN) 
+
+     endif
 
+      WIND = (USTAR/kappa) * UFWIND
       DTETA = (TSTAR/kappa) * UFTEMP
       DQ = (QSTAR/kappa) * UFTEMP
 
@@ -96,16 +104,25 @@ use sfx_most, only: &
       TSTAR = AR2(9) * ARDIN(2)
       QSTAR = AR2(9) * ARDIN(3)
 
+     if(zeta.ne.0)then
+
      if(zeta.gt.zetalim) zeta=zetalim
       L = HIN/zeta
 
      call get_psi_most(psi_m_hs,psi_h_hs,HIN/L)
      call get_psi_most(psi_m,psi_h,HWIND/L)
      UFWIND = ALOG(hwind/HIN) - (psi_m - psi_m_hs)
-     WIND = (USTAR/kappa) * UFWIND
      call get_psi_most(psi_m,psi_h,HTEMP/L)
       UFTEMP = ALOG(HTEMP/HIN) - (psi_h - psi_h_hs)
 
+     else
+
+      UFWIND = ALOG(HWIND/HIN)
+      UFTEMP = ALOG(HTEMP/HIN) 
+
+     endif
+
+      WIND = (USTAR/kappa) * UFWIND
       DTETA = (TSTAR/kappa) * UFTEMP
       DQ = (QSTAR/kappa) * UFTEMP
 
@@ -134,16 +151,24 @@ subroutine pbldia_new_esm(AR2,ARDIN,ARDOUT)
       TSTAR = AR2(9) * ARDIN(2)
       QSTAR = AR2(9) * ARDIN(3)
 
+     if(zeta.ne.0)then
+
      if(zeta.gt.zetalim) zeta=zetalim
       L = HIN/zeta
 
-
      call get_psi_esm1(psi_m,psi_h,HIN,HWIND,L)
      UFWIND = psi_m
-     WIND = (USTAR/kappa) * UFWIND
      call get_psi_esm1(psi_m,psi_h,HIN,HTEMP,L)
-      UFTEMP = psi_h
+     UFTEMP = psi_h
+
+     else
+
+      UFWIND = ALOG(HWIND/HIN)
+      UFTEMP = ALOG(HTEMP/HIN) 
+
+     endif
 
+      WIND = (USTAR/kappa) * UFWIND
       DTETA = (TSTAR/kappa) * UFTEMP
       DQ = (QSTAR/kappa) * UFTEMP