hexagon logo

Yet Another Legacy Fortran Question

O Learned Denizens, I humbly prostrate myself before your collected wisdom, as ever.
 
I want to compile some legacy Fortran for a user TYR501 that I successfully compiled as recently as 2019. I note with interest that Intel decline to sell me anything other than "oneAPI" these days. I further note that MSC insists I use Intel Fortran XE 2019 Update 4. This dance happens every time and is becoming tedious.
 
But enough whining.
 
I note that Microsoft Visual Studio 2017 Community Edition is free and will successfully compile and link sample routines like sfosub.c provided with the installation. Interestingly it still seems to call some Intel Fortran libraries, but that's a topic for another day.
 
So, it occurs to me that sooner or later I need to get myself out of the 1970s and move to C. However, I am not seeing any sample code for TYR501 and/or RPF501 in C (though the fortran examples are still there).
 
Is there a TYR501 C example anywhere? Any pointers in generating one?
 
Damian
Parents
  • OK, I can report that Intel oneAPI as currently downloaded from their website successfully compiles and links the legacy code. It was less traumatic than it has been in the past:
     
    • Download Microsoft Visual Studio 2017 and install (note that this is all you need to compile the sample subroutines in C)
    • Download and install Intel oneAPI Base Toolkit
    • Modify (under "Apps and features" in Windows 10) the installation to connect it with VS2017
    • Download and install Intel oneAPI HPC Toolkit
    • Modify (under "Apps and features" in Windows 10) the installation to connect it with VS2017
     
    At this point you're ready to go:
     
    "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
     
    (sets up the compilation target architecture to suit the current machine - all that 32/64 nonsense is gone)
     
    "C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\windows\bin\intel64\ifort.exe" /c /Ob2 /MD /Gm tyr501Harty_2013.f
    "C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\windows\bin\intel64\ifort.exe" /c /Ob2 /MD /Gm rpf501Harty_2013.f
     
    dir /b *.obj > build.lst
     
    "C:\Program Files\MSC.Software\Adams\2021_0_1_784690\common\mdi.bat" cr-us n @build.lst HTire501_2013.dll
     
    copy HTire501_2013.dll "C:\Program Files\MSC.Software\Adams\2021_0_1_784690\win64"
     
    Tested with all my normal regression tests and, right or wrong, the model returns what it always did. This note is as much for future Damian as anyone else. ;-)
     
    My next step is to wait for the trial license to expire to see if I *really* need to buy the compiler. I think having 30+GB of developer environment is enough of a cost...
     
     
Reply
  • OK, I can report that Intel oneAPI as currently downloaded from their website successfully compiles and links the legacy code. It was less traumatic than it has been in the past:
     
    • Download Microsoft Visual Studio 2017 and install (note that this is all you need to compile the sample subroutines in C)
    • Download and install Intel oneAPI Base Toolkit
    • Modify (under "Apps and features" in Windows 10) the installation to connect it with VS2017
    • Download and install Intel oneAPI HPC Toolkit
    • Modify (under "Apps and features" in Windows 10) the installation to connect it with VS2017
     
    At this point you're ready to go:
     
    "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
     
    (sets up the compilation target architecture to suit the current machine - all that 32/64 nonsense is gone)
     
    "C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\windows\bin\intel64\ifort.exe" /c /Ob2 /MD /Gm tyr501Harty_2013.f
    "C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\windows\bin\intel64\ifort.exe" /c /Ob2 /MD /Gm rpf501Harty_2013.f
     
    dir /b *.obj > build.lst
     
    "C:\Program Files\MSC.Software\Adams\2021_0_1_784690\common\mdi.bat" cr-us n @build.lst HTire501_2013.dll
     
    copy HTire501_2013.dll "C:\Program Files\MSC.Software\Adams\2021_0_1_784690\win64"
     
    Tested with all my normal regression tests and, right or wrong, the model returns what it always did. This note is as much for future Damian as anyone else. ;-)
     
    My next step is to wait for the trial license to expire to see if I *really* need to buy the compiler. I think having 30+GB of developer environment is enough of a cost...
     
     
Children
No Data