Мне немного непонятно, какой компилятор вы используете, какие изменения вы сделали и так далее, поэтому мой ответ немного колеблющийся.
Я не уверен, что изменение реального вида по умолчанию с 4 на 8 сохраняет значения, как вы думаете. Вы, кажется, думаете, что real (kind = 4) в вашем старом компиляторе означает то же самое, что real (kind = 8) в вашем новом компиляторе. Это может быть правдой, но мне это кажется немного маловероятным.
Однако, не думайте, что real (kind = 4) должен означать 4-байтовое число с плавающей точкой, соответствующее IEEE, или что real (kind = 8) должен означать fp IEEE 8 байтов число. Это верно для большинства компиляторов, конечно, для всех компиляторов, которые я недавно использовал, но это не требуется стандартом Fortran. Возможно, ваш старый компилятор имел в виду нечто иное, чем ваш новый компилятор.
Наконец, у меня обычно возникают проблемы с общими блоками, когда я меняю размеры реальных чисел в программах на Фортране. Лучшее решение - заменить общие блоки переменными модуля. Если вы не можете этого сделать, очень внимательно проверьте общие объявления, помня, что common - это инструкция для компилятора о том, как размещать переменные в памяти. Если вы измените размер переменной в одном объявлении общего блока, но не в другом, у вас будут проблемы.
Привет
Mark