MODULE test

  INTEGER, PUBLIC, PARAMETER :: fp = SELECTED_REAL_KIND(15)
  INTEGER, PARAMETER         :: h5_double = 2, h5_single = 1
    
  PROCEDURE(deriv_sub), POINTER :: deriv  => null()

  ABSTRACT INTERFACE
     FUNCTION deriv_sub (array)
       IMPORT
       
       REAL, INTENT(IN), DIMENSION(:,:,:) :: array
       REAL, DIMENSION(SIZE(array,1),SIZE(array,2),SIZE(array,3)) :: deriv_sub
     END FUNCTION deriv_sub
  END INTERFACE
  
END MODULE test



