anchor.diff:  !                 print*, domain%soil_t(i,1,j), domain%skin_t(i,j), domain%T2m(i,j)
   !                 print*, "   Tair ", "        sensible ", "        CHS"
   !                 print*, domain%T(i,1,j), domain%sensible_heat(i,j), CHS(i,j)
  -!                 print*, "    SWD  ", "          LWD ", "         LWU "
  +!                 print*, "    SWD  ", "          LWD ", "         LWU ", "          G  "
   !                 print*, domain%swdown(i,j), domain%lwdown(i,j), domain%lwup(i,j), domain%ground_heat(i,j)
   !                 print*, "ln z term,        base exchange term        wind"
   !                 print*, lnz_atm_term(i,j), base_exchange_term(i,j), windspd(i,j)
  -
  -!                 print*, "WARNING!! enforcing surface sensible heat flux greater than 0!!"
  -!                 where(domain%sensible_heat<0) domain%sensible_heat=0
  -!                 do j=1,ny
  -!                     do i=1,nx
  -!                         if (domain%landmask(i,j)==kLC_LAND) then
  -!                             if (domain%sensible_heat(i,j)<0) domain%sensible_heat(i,j)=0
  -!                         endif
  -!                     end do
  -!                 end do
                   
               endif
               ! 2m Air T and Q are not well defined if Tskin is not coupled with the surface fluxes
  
positive.code:                             SMCREL,                                       & !O
                              XICE_THRESHOLD,                               &
                              RDLAI2D,USEMONALB,                            &
                              RIB,                                          & !?
                              NOAHRES,                                      &
                              ua_phys,flx4_2d,fvb_2d,fbur_2d,fgsn_2d,       & ! Noah UA changes
                              ids,ide, jds,jde, kds,kde,                    &
  
negative.code:         exchange_C = karman**2 * base_exchange_term / lnz_atm_term**2
          
          where(exchange_C > MAX_EXCHANGE_C) exchange_C=MAX_EXCHANGE_C
          where(exchange_C < MIN_EXCHANGE_C) exchange_C=MIN_EXCHANGE_C
      end subroutine calc_mahrt_holtslag_exchange_coefficient
      
      subroutine surface_diagnostics(HFX, QFX, TSK, QSFC, CHS2, CQS2,T2, Q2, PSFC)
  