anchor.diff:    
     !> set the boundary conditions
     subroutine setBC()
  -    double precision::pGst,TGst,uGst(DIMS),Mach,pP(DIMS),Tt,pt
  +    double precision::pGst,TGst,uGst(DIMS),rhoGst,rhouGst(DIMS),rhoEGst,Mach,pP(DIMS),Tt,pt
       
       do i=1,grid%nP
         m=grid%iEP(1,i)
  
positive.code:         p(n)=pGst
          u(:,n)=uGst(:)
          temp(n)=TGst
          rho(n)=rho(m)!pGst/Rgas/TGst
          rhou(:,n)=-rhou(:,m)!rho(n)*uGst(:)
          rhoE(n)=rhoE(m)!rho(n)*(1d0/(gamm-1d0)*Rgas*TGst+0.5d0*dot_product(uGst,uGst))
        end if
      end do
    end subroutine
  
negative.code:         pGst=p(m)
          uGst(:)=-u(:,m)
          TGst=temp(m)
          rhoGst=rho(m)
          rhouGst=-rhou(:,m)
          rhoEGst=rhoE(m)
          if(iBC(n)>0.and..false.)then
            select case(bc%t(iBC(n)))
            case(BC_WALL_TEMP,BC_WALL_TEMP_UDF) ! wall temperature boundary
  