module deriv_data use types, 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 integer(kind=int32), parameter :: & MODE_N = 7 integer(kind=int32), dimension(MODE_N), parameter :: & MODE_N_CONST = (/ 51, 39, 81, 111, 99, 150, 246 /) 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