Вы не можете проверять переменные окружения во время компиляции, но вы можете передавать опции в предварительную обработку, называемую компилятором. Это не сильно документировано, но работает по крайней мере с gfortran и intel ifort. В строке компиляции используйте, или нет, «-DMYOPTION» (или любое другое имя параметра, которое вы выберете). Тогда в коде:
#ifdef MYOPTION
Fortran source code
#else
Fortran source code
#endif
Очевидно, что строки препроцессора должны начинаться с первого столбца.
Если вы используете тип файла "F90", препроцессор будет автоматически вызываться, в противном случае вы можете использовать опцию компилятора для вызова этого шага.
Может быть, это будет отвечать вашим потребностям? Если нет, то вы можете использовать командный сценарий для проверки переменной среды и использовать различные команды компиляции в зависимости от ее значения, чтобы метод препроцессора отвечал на переменную среды.
Конечно, вы можете проверять переменные среды во время выполнения с помощью встроенной get_environment_variable .. просто используя операторы if для ответа на значение, может быть проще.