Anecdotal Fortran... :-)

It does not look like a general climate model,
rather a model of the geothermal emission of the
Earth (highest values around the borders of the
tectonic plates.

Disclaimer: This is just a guess from the image, I have not
looked at the associated paper.

1 Like
2 Likes

From the History of FORTRAN Standardization, 1982, by Martin N. Greenfield:

Over this period of twenty years of standardization we have been through two complete cycles and are in the midst of a third. How long does this go on and when does it end? Jean Sammet once asked me if it weren’t time for the FORTRAN gurus to get together and call an end to the effort so people can get on with the using of the good languages. I have reservations over which of the current choices should be crowned the good languages. There should be something fundamentally different and better to justify dropping the huge investment in the current languages. The replacement should have features that defy compatible inclusion in what we have.

Until this revolutionary development makes its appearance, interest in FORTRAN will remain. There is the story of the farmer who was asked by one of his eager turks why he didn’t replace his old burro with one of the younger, sleeker, more highly tuned and spirited steeds. He looked at the young hand with wrinkled and wizened eyes and said, “When you have something yeh gotta be sure gets done, yeh goes with what you knows.” So be it with FORTRAN. [emphasis added]

(I believe an “eager turk” in this situations refers to a “young dynamic person eager for change”, the expression likely originating from the Young Turk revolution. In the context of the story I imagine the eager turks double as (hired) farm workers. American English speakers, please correct me if I am wrong.)

2 Likes

In 1982, the new language that everyone was pushing the hardest, especially the Department of Defense, was Ada.

Finally an article where the author knows something about Fortran before criticizing - a rare sight nowdays. :laughing:
My favorite part: Fortran is a niche language and I mean that in a positive sense. Where Fortran is used, it is the language to use. That is, of course, high performance and scientific computing.

If you never used Commodore 64 BASIC, you don’t know what “hell” means. By far the worst BASIC implementation, ever. It was so bad that a generation of Assembly programmers was created, simply because Assembly was the only sane way to use the excellent (at the time) machine’s capabilities, hidden behind the crappiest programming language on Earth.

2 Likes

Playing With the Earth: One Woman’s Journey to Becoming a Climate Scientist
By Emma Reid
May 2, 2023

I studied science and mathematics at school and university. The options were wide — I could study biology, physics, chemistry, psychology — and I did. I was interested in how our bodies worked, so I majored in physiology. Still, something was missing. I missed maths. So the next year, I also majored in applied mathematics. And I discovered maths that could be applied to the real world — how fluid flows, and long equations that could describe our weather.

During my Honours year my supervisor introduced me to the world of climate studies — how can we integrate weather systems together to reveal underlying patterns over the whole Southern Hemisphere? What did those patterns look like in the 1950s? What do they look like now? The study required huge amounts of data from weather stations, and statistics and coding. My Honours thesis was titled “Variability of the Southern Hemisphere atmospheric circulation”, and my Ph.D in 2005 was titled “The weather and climate of Australia at the Last Glacial Maximum”.

Coding

In first year University we all learnt Fortran. And everyone failed the test. I was astonished that everyone (including me) just didn’t “get it”. But somehow over time, as I used coding in my assignments and for my Honours research project, something clicked. Then I couldn’t understand how anyone could not “get it”. It was just there, as obvious as reading.

Years later, I was reminded of my process of learning coding as I watched my children learn to read. At first it was impenetrable. Then, they just “got it”.

When I reflect on the skills I’ve used to do what I do, I wonder how these will change over the coming years?

3 Likes

For me I didn’t get how to use multidimensional arrays for the longest time (in NumPy, but it’s the same in Fortran). It always felt like something very abstract and complicated. Then something clicked and now I can’t see how I wasn’t able to get it, it is completely obvious, like reading.

Many people (myself included initially) try to use various OO techniques, or dictionaries, lists, etc. Now my approach is to simply write everything using multidimensional arrays and there are typically multiple ways to do it, so I use this freedom to get the highest performance, by tailoring it to the algorithm and hardware at hand.

2 Likes

New Hurricane Forecasts Could Predict Terrifying Explosive Intensification. Hurricane forecasters are debuting a new model they hope will better predict when some storms will suddenly and
explosively intensify
By Martin J. Kernan
Scientific American
June 1, 2023

Now, equipped with a new model that took more than three years to develop, NOAA scientists think they will not only be able to provide earlier warnings of rapid intensification but also better predictions of impacts such as rainfall and storm surge. Forecasters at the National Hurricane Center will begin using the new model, called the Hurricane Analysis and Forecast System (HAFS), this summer. “We can’t improve the forecast fast enough, in my mind, to overcome the quadrupling of people living in [coastal] areas in a 15-year period,” says Frank Marks, director of hurricane research at NOAA’s Atlantic Oceanographic and Meteorological Laboratory.

The top languages of the HAFS Community on GitHub are listed as Fortran, Python, Shell, C, and NCL.

2 Likes

It looks like they have taken the FV3 model from NOAA’s Geophysical Fluid Dynamics Laboratory (GFDL) and wrapped it with shell scripts and python scripts in order to do hurricane specific simulations. It’s a bit confusing, to me, but it also looks like the FV3 code, which is primarily Fortran last I checked, is brought in as submodules, connecting to specific commits of FV3 in the GFDL repositories on GitHub. Not only is this a nice example of Fortran still being used in modern, operational models (i.e., HAFS and FV3), it is also a nice example of how one group (the HAFS developers) leveraged an existing open source model (FV3) to build an application specific model (HAFS) that complements and augments the original model.

1 Like

programming language race


(from twitter:@nixcraft)

IMO Fortran is nice because it runs pretty straight (mostly…)

3 Likes

I don’t have trouble with Python indentation, but it is annoying when a script runs for a while and then crashes, after running for a while, because (for example) function foo was not imported. In Fortran a missing use statement would be detected at compile time. I have found that if I run ruff on a Python code before trying to run it, run-time crashes are minimized. I have also found vulture to be useful for detecting unused variables and mypy with type annotations for sort of getting static type checking. The pylint is much slower than ruff.

1 Like

A “new” GitHub project:

This is the FOSBIC1 compiler developed at the University of Gießen, Germany
in the late 70s for the CDC 3300 batch system.

It is a BASIC compiler and runtime system which is written in FORTRAN IV.

The text book from which the source code was copied implies that it is
a modified version of a BASIC compiler named UWBIC from the
University of Washington, developed by William Sharp in 1967, for their
IBM 7094.

FOSBIC1 was extended with MAT functions (vector and matrix math) as well
as with a proprietary FILE subsystem which allows to play with simple
sequential an index sequential files.

It was possible to port this code to modern GNU gfortran with few changes,
so this allows to play a bit with a retro system. For serious work it is
surely no longer useful, however modern BASIC does no longer have the
MAT statement which was popular for some of these old implementations.

FOSBIC translates a BASIC program provided as a batch job on punched cards
into an intermediate code and, in case of no errors, submits this code
to an interpreter which then produces output.

5 Likes

FORTRAN IV! I wonder if it still compiles with a modern compiler, say, gfortran 13, nvfortran 23.5, or ifx 2023.1

Edit: Nvm, the post mentions that gfortran can deal with it after a few changes. I guess I need more coffee :coffee:

Sim704 is a simulator for the IBM 704 computer

It can run the original Fortran II compiler from 1958 and also the SHARE assembler program (UASAP).

It is written in C# and runs on Windows.

Some parts are based on the SimH IBM 704 implementation.

See the Mkf2 repository GitHub - rhobbie/Mkf2: Windows batch files to create UASAP and Fortran II tapes for use with the IBM 704 simulator for prebuild binaries and a set of windows batchfiles to create the UASAP and Fortran tapes and to compile and run Fortran programs on the simulator.

The compiler manual is here.

Too bad it’s only for that other “operating system”. The manual, however, is interesting. I just learned BCD is way older than MOS 6510. :slightly_smiling_face:

I learned recently x86 processors have some limited BCD opcodes.. I’m not sure were they are used. Wikipedia mentions finance as one application.

1 Like

malware_MARKIZ.COM

Someone really hated Fortran and had to show the world by writing malware (1995, I guess).

2 Likes

MIT Published Scholar Nelson J. Diaz Channels the Inspiration From Nuclear Destruction Into Empathy-Driven Art

“I began using a supercomputer and FORTRAN 77 software in order to define a non-Euclidean geometry model using conformal mapping to create art. A series of twisted and curved space images was manifested and reflective to Einstein’s general and special relativity. It was my encounter with Dr. Edward Teller, “the father of the H-Bomb,” that led me to the artist Francis Bacon. It was a private lesson with the artist that forced me out of the box into my own visual world,” said Nelson.

3 Likes

The person who did this probably had a sense of humor - and I’m saying “probably” because you never know - some people really hated Fortran, and they were serious about it. I dislike many programming languages, but I guess I don’t hate them enough, so I never thought making something like that. :laughing:

Fortran is Dead! Long live Forth!, J V. Noble, Journal of Forth Application and Research, Volume 5, No. 2, 1989