anchor.diff:    REAL, DIMENSION( ims:ime , jms:jme ),                                        &
           INTENT(INOUT) ::                                                 rain, &
                                                                         rainncv
  -  REAL, DIMENSION( ims:ime , jms:jme ), OPTIONAL,                              &
  +  REAL, DIMENSION( ims:ime , jms:jme ),                                        &
           INTENT(INOUT) ::                                                 snow, &
                                                                         snowncv, &
                                                                              sr
  
positive.code:       enddo
  !
        do k = kts, kte
          CALL VREC( tvec1(its), den(its,k), ite-its+1)
          do i = its, ite
            tvec1(i) = tvec1(i)*den0
          enddo
          CALL VSQRT( denfac(its,k), tvec1(its), ite-its+1)
        enddo
  !
  ! Inline expansion for fpvs
  
negative.code: #  include "module_mp_wsm3_accel.F"
  #else
  ! #if ( RWORDSIZE == 4 )
  ! #  define VREC vsrec
  ! #  define VSQRT vssqrt
  ! #else
  ! #  define VREC vrec
  ! #  define VSQRT vsqrt
  ! #endif
  
  ! subroutine vssqrt(y,x,n)
  !     real, intent(inout) :: y(n)
  !     real, intent(in) :: x(n)
  !     integer, intent(in) :: n
  !     integer :: j
  !     do j=1,n
  !         y(j)=sqrt(x(j))
  !     enddo
  ! end
  !
  ! subroutine vsrec(y,x,n)
  !     real, intent(inout) :: y(n)
  !     real, intent(in) :: x(n)
  !     integer, intent(in) :: n
  !     integer :: j
  !     do j=1,n
  !         y(j)=1.0/(x(j))
  !     enddo
  ! end
  
  
  MODULE module_mp_wsm3
  