[Info-vax] [OT] Current students apparently can't read Fortran code...
Arne Vajhøj
arne at vajhoej.dk
Fri Apr 15 08:36:15 EDT 2022
On 4/15/2022 8:26 AM, Dan Cross wrote:
> In article <62596294$0$703$14726298 at news.sunsite.dk>,
> Arne Vajhøj <arne at vajhoej.dk> wrote:
>> On 4/15/2022 8:04 AM, Dan Cross wrote:
>>> In article <6258c4e1$0$693$14726298 at news.sunsite.dk>,
>>> Arne Vajhøj <arne at vajhoej.dk> wrote:
>>>> On 4/13/2022 10:02 PM, Don Baccus wrote:
>>>>> [snip]
>>>>> "While much of the subsequent reworking of the model has led to a
>>>>> reduction in these historical influences, some parts of the model
>>>>> still hark back to the days of punch cards, FORTRAN 66 and line
>>>>> printer output. A charitable interpretation would be that while
>>>>> embracing the new (FORTRAN 90/95, multi-processing, netcdf, etc.), we
>>>>> endeavour to maintain some of the more harmless GISS traditions
>>>>> (which some might call eccentricities) in a spirit of continuity with
>>>>> those who have previously worked on the model. On the other hand,
>>>>> some of those early decisions (for instance regarding diagnostics, or
>>>>> conservation properties) turned out to be very far-sighted and are a
>>>>> principle reason why the GISS series of models continue to play a
>>>>> useful and important role in the world of GCM simulations."
>>>>
>>>> A quick look at a few randomly selected files from the
>>>> code at https://simplex.giss.nasa.gov/snapshots/
>>>> did not show very old code - lots of 90 and some
>>>> 77 upgraded to 90.
>>>
>>> Hmm, I'm not sure about that:
>>>
>>> : chandra; pwd
>>> /Users/cross/Downloads/modelE2_dev/model
>>> : chandra; cloc .
>>> 613 text files.
>>> 568 unique files.
>>> 26 files ignored.
>>>
>>> github.com/AlDanial/cloc v 1.92 T=1.67 s (340.1 files/s, 279550.2 lines/s)
>>> -------------------------------------------------------------------------------
>>> Language files blank comment code
>>> -------------------------------------------------------------------------------
>>> Fortran 77 361 30746 86473 272461
>>> Fortran 90 175 9720 14530 50033
>>> C/C++ Header 11 264 0 1148
>>> make 13 130 36 418
>>> Korn Shell 1 31 35 128
>>> m4 3 56 312 127
>>> Pascal 2 1 0 120
>>> C 2 33 27 78
>>> -------------------------------------------------------------------------------
>>> SUM: 568 40981 101413 324513
>>> -------------------------------------------------------------------------------
>>> : chandra;
>>>
>>> I took a peak at a few files; it seems pretty archaic to me.
>>
>> If you look at the .f files that are supposedly 77 then
>> it really just are old fixed format - the code are full of
>> 90 features.
>>
>> Example advc1d.f - code starts in column 7, comments are
>> a c in column 1 - but the code would not build with 77.
>>
>> Declarations like:
>>
>> integer, intent(IN) :: kk
>
> I think it's fair to say that there are some FORTRAN 90 features
> thrown in, but I don't think it's fair to say that that makes it
> FORTRAN 90 in anything other than a strictly technical sense.
83.5
:-)
Point is that it is not 60's and 70's code using Fortran II, IV and 66.
It is 90 and 77 with 90 features mixed in.
The revision history at the bottom of advc1d.f are all from 2001-2006.
>> Loops like:
>>
>> do k=1,kk
>> ...
>> end do
>
> My VAX FORTRAN manual from well before 1990 shows support for
> that particular construct. :-)
That is how standards evolve.
If an implementation has a nice extension it gets added.
Arne
More information about the Info-vax
mailing list