module numbers ! set precision of single and double precision real and integers integer, parameter :: singleR = selected_real_kind(p=6,r=37) integer, parameter :: doubleR = selected_real_kind(p=15,r=307) integer, parameter :: singleI = selected_int_kind(9) integer, parameter :: doubleI = selected_int_kind(18) ! signal invalid values real(kind=doubleR), parameter :: invalid_R = -1.d99 integer(kind=singleI), parameter :: invalid_I = -1234567890 character(len=20), parameter :: invalid = 'INVALID' end module numbers