MODULE UTIL

TYPE HLPR
  REAL::ro
  REAL::u
  REAL::p
  REAL::e
  REAL::h
  REAL::T
END TYPE

interface
  FUNCTION BCKI(F)
  REAL,INTENT(IN)   ::F(:,:,:)
  REAL              ::BCKI(UBOUND(F,1),UBOUND(F,2),UBOUND(F,3))
  END FUNCTION
end interface
interface
  FUNCTION BCKJ(F)
  REAL,INTENT(IN)   ::F(:,:,:)
  REAL              ::BCKJ(UBOUND(F,1),UBOUND(F,2),UBOUND(F,3))
  END FUNCTION
end interface
interface
  FUNCTION FRWI(F)
  REAL,INTENT(IN)   ::F(:,:,:)
  REAL              ::FRWI(UBOUND(F,1),UBOUND(F,2),UBOUND(F,3))
  END FUNCTION
end interface
interface
  FUNCTION FRWJ(F)
  REAL,INTENT(IN)   ::F(:,:,:)
  REAL              ::FRWJ(UBOUND(F,1),UBOUND(F,2),UBOUND(F,3))
  END FUNCTION
end interface

interface
  SUBROUTINE RHS(Q1,GRD,FLD,F1,G1,P)   !RIGHT HAND SIDE
  REAL,INTENT(IN)     ::Q1(:,:,:),GRD(:,:,:),FLD(:)
  REAL,INTENT(OUT)    ::P(:,:),F1(:,:,:),G1(:,:,:)
  END SUBROUTINE
end interface

interface
  SUBROUTINE VSC(Q,AVX,AVY,P)   !SROUCE TERM
  REAL,INTENT(INOUT)  ::Q(:,:,:),AVX(:,:,:),AVY(:,:,:),P(:,:)
  END SUBROUTINE
end interface

REAL::P0R = 25000
REAL::T0R = 300
REAL::P0B = 18000

END MODULE