module gwcs_types
  !---------------------------------------------------------------------
  ! Projection definitions
  !---------------------------------------------------------------------
  type :: projection_t
    ! Projection definition
    real(kind=8)    :: a0     ! X Coordinate of projection point
    real(kind=8)    :: d0     ! Y Coordinate of projection point
    real(kind=8)    :: angle  ! Angle of projection line
    integer(kind=4) :: type   ! Projection type
    ! Derived parameters
    real(kind=8)    :: sina0  ! Sinus and
    real(kind=8)    :: cosa0  ! Cosinus of A0
    real(kind=8)    :: sind0  ! Sinus and
    real(kind=8)    :: cosd0  ! Cosinus of D0
    real(kind=8)    :: npole  ! Position of North pole
    real(kind=8)    :: spole  ! Position of South pole
  end type projection_t
end module gwcs_types
