module deriv_data use typedef, only: & real64, int32 implicit none integer(kind=int32), parameter :: & MODE_DIRECT = 1, & MODE_SECULAR = 2, & MODE_DIRECT3H = 3, & MODE_DIRECT3F = 4, & MODE_DIRECT4P = 5, & MODE_DIRECT4H = 6, & MODE_DIRECT4F = 7, & MODE_DIRECTH = 8, & MODE_DIRECT1 = 9 integer(kind=int32), parameter :: & MODE_N = 9 integer(kind=int32), dimension(MODE_N), parameter :: & MODE_N_CONST = (/ 92, 39, 117, 186, 115, 190, 334, -1, 7 /) integer(kind=int32), parameter :: & local_n = maxval(MODE_N_CONST) real(kind=real64), dimension(local_n), save :: & local_data logical, save :: & local_store = .FALSE. end module deriv_data