Abstract type for options from which all others are extended.
type, abstract, public :: abstract_opts !! Abstract type for options from which all others are extended. end type abstract_opts