Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

generic coder -> miracle occurs -> Fortran-fluent scientific programmer?

284 views
Skip to first unread message

Tom Roche

unread,
Dec 18, 2015, 2:43:20 AM12/18/15
to
summary: "generic" software developer seeks to work on large Fortran-based models. Please recommend resources (MOOCs, standard academic programs, whatever) by which I could efficiently increase my Fortran credentials. (If this request is too off-topic here, please point to more appropriate forums.)

details:

If you don't already know the famous Sidney Harris cartoon[1], view that now: it's a classic. Next, transform the cartoon's domain from math proof to career path.

On the LHS, post-transform: I got my BSCS[2] in 2003 from a respectable US public university. Before and after that, I worked as a developer on fairly generic web and desktop applications (none of which involved Fortran). FWIW, my CS department (during my tenure)

* was part of an engineering school, so I got the usual math sequence: calculus, linear algebra, plus some exposure to numerical methods (IEEE 754, etc).
* used first C++ then Java as pedagogical languages.
* used first Solaris then Linux as pedagogical platforms.

On the RHS of the output (step 3?): a "real scientific programmer" integrating large scientific/policy-oriented models (e.g., CESM[3], CMAQ[4], GEOS-Chem[5]) with other models and mechanisms[6]

* to (directly) extend them with new functionality
* to integrate them with other models (providing additional functionality)

Note that career path/status will require

* write/commit-access to model code, which is typically mostly-to-entirely Fortran
* access to hardware sufficient to run realistic testcases (big models typically run datasets that aren't available, much less performant, on one's laptop)
* getting paid enough to buy groceries and pay rent

To connect LHS and RHS, I need a "step 2" that will sufficiently increase my Fortran knowledge, skills, and (probably most importantly) experience enough to work-for-a-living on these sorts of "big models." Like the Harris cartoon, my step 2 needs to "be more explicit": how to (non-miraculously :-) get the requisite Fortran knowledge, skills, and experience?

FWIW, I have successfully completed some non-CS graduate coursework[7], and I have some work experience (including real working code) with one such model:

* assimilating data[8] and preparing inputs
* running the model (on a real cluster with a real job manager :-)
* graphical and statistical data analysis
* managed code[9] with (and persuaded my workgroup to move to!) `git` and open-read repositories (which I could not persuade my workgroup to move to)

I'm also quite skilled with Linux (though I have never worked as a sysadmin), on which I run all my personal machines. So I believe (ICBW) I've got the right background to do "real scientific programming" ... but I also know from some reading (notably, of this list) that Fortran is a very idiosyncratic beast requiring a unique skillset. How to get it?

your assistance is appreciated, Tom Roche <Tom_...@pobox.com>

[1]: slide 01/15 @ http://www.americanscientist.org/issues/pub/science-light (requires Flash)
[2]: I'm guessing Europeans would (post-Bologna-Process) call this a "bachelor's degree in informatics."
[3]: https://en.wikipedia.org/wiki/Community_Earth_System_Model
[4]: http://www.epa.gov/air-research/community-multi-scale-air-quality-cmaq-modeling-system-air-quality-management
[5]: http://acmg.seas.harvard.edu/geos/
[6]: For a much more specific example of the sort of thing I want to do with "big models," ping me directly.
[7]: Some thing I have come to believe (ICBW) about the organizations that develop these models:
1. They are overwhelmingly managed by physical scientists, not software developers.
2. Their managers see themselves more as scientists who happen to develop software than as scientific software developers.
3. Their managers value training in physical science, not software development, since they seem to see the latter as something one gains as a side effect.
4. ... but they definitely value Fortran experience, since they recognize that it's no longer widely taught.
[8]: https://en.wikipedia.org/wiki/Data_assimilation
[9]: Unfortunately none of the above code was Fortran, since that's not (IMHO) the most productive tool for these sort of data munging and visualization tasks. (YMMV.)

Wolfgang Kilian

unread,
Dec 18, 2015, 7:15:00 AM12/18/15
to
On 18.12.2015 08:43, Tom Roche wrote:
> summary: "generic" software developer seeks to work on large Fortran-based models. Please recommend resources (MOOCs, standard academic programs, whatever) by which I could efficiently increase my Fortran credentials. (If this request is too off-topic here, please point to more appropriate forums.)
>
> details:
>
> If you don't already know the famous Sidney Harris cartoon[1], view that now: it's a classic. Next, transform the cartoon's domain from math proof to career path.
>
> On the LHS, post-transform: I got my BSCS[2] in 2003 from a respectable US public university. Before and after that, I worked as a developer on fairly generic web and desktop applications (none of which involved Fortran). FWIW, my CS department (during my tenure)
>
> * was part of an engineering school, so I got the usual math sequence: calculus, linear algebra, plus some exposure to numerical methods (IEEE 754, etc).
> * used first C++ then Java as pedagogical languages.
> * used first Solaris then Linux as pedagogical platforms.
>
> On the RHS of the output (step 3?): a "real scientific programmer" integrating large scientific/policy-oriented models (e.g., CESM[3], CMAQ[4], GEOS-Chem[5]) with other models and mechanisms[6]
>
> * to (directly) extend them with new functionality
> * to integrate them with other models (providing additional functionality)
>
> Note that career path/status will require
>
> * write/commit-access to model code, which is typically mostly-to-entirely Fortran
> * access to hardware sufficient to run realistic testcases (big models typically run datasets that aren't available, much less performant, on one's laptop)
> * getting paid enough to buy groceries and pay rent
>
> To connect LHS and RHS, I need a "step 2" that will sufficiently increase my Fortran knowledge, skills, and (probably most importantly) experience enough to work-for-a-living on these sorts of "big models." Like the Harris cartoon, my step 2 needs to "be more explicit": how to (non-miraculously :-) get the requisite Fortran knowledge, skills, and experience?

The approach that I'd take for step 2: get a good book on modern Fortran
and work your way through it while coding small examples. Use the free
gfortran compiler on Linux (make sure that you have a recent version)
and turn on all debugging flags while experimenting. Since you have
previous programming and CS experience and training, you probably don't
need to attend a course.

My personal recommendation would be Metcalf/Reid/Cohen "Modern Fortran
Explained" because it is concise, rather complete, and pedagogical. A
programmer with previous experience in other languages might benefit
most from it.

Some posters on this newsgroup have contributed online pedagogical
material on Fortran, in particular on the most recent additions
(coarrays). These things are not available (yet) in many textbooks.
(Otherwise, be careful not to rely on arbitrary Internet resources,
there is lots of 'pedagogical' stuff regarding Fortran that is
incomplete, outdated, or plain wrong.)

Since you have been programming in C++ and Java, you should not be
afraid of the particular quirks of modern object-oriented Fortran style,
those parts would rather look familiar to you. (In legacy code you'll
not see much of that, and you might have to investigate about the age of
compilers that your organization needs to support before you contribute
your own code. You may rather be surprised about legacy stuff and
obsolete/deleted language feature that you may encounter reading old
code. Don't be afraid of that either.)

> FWIW, I have successfully completed some non-CS graduate coursework[7], and I have some work experience (including real working code) with one such model:
>
> * assimilating data[8] and preparing inputs
> * running the model (on a real cluster with a real job manager :-)
> * graphical and statistical data analysis
> * managed code[9] with (and persuaded my workgroup to move to!) `git` and open-read repositories (which I could not persuade my workgroup to move to)
>
> I'm also quite skilled with Linux (though I have never worked as a sysadmin), on which I run all my personal machines. So I believe (ICBW) I've got the right background to do "real scientific programming" ... but I also know from some reading (notably, of this list) that Fortran is a very idiosyncratic beast requiring a unique skillset. How to get it?
>
> your assistance is appreciated, Tom Roche <Tom_...@pobox.com>
>
> [1]: slide 01/15 @ http://www.americanscientist.org/issues/pub/science-light (requires Flash)
> [2]: I'm guessing Europeans would (post-Bologna-Process) call this a "bachelor's degree in informatics."
> [3]: https://en.wikipedia.org/wiki/Community_Earth_System_Model
> [4]: http://www.epa.gov/air-research/community-multi-scale-air-quality-cmaq-modeling-system-air-quality-management
> [5]: http://acmg.seas.harvard.edu/geos/
> [6]: For a much more specific example of the sort of thing I want to do with "big models," ping me directly.
> [7]: Some thing I have come to believe (ICBW) about the organizations that develop these models:
> 1. They are overwhelmingly managed by physical scientists, not software developers.
> 2. Their managers see themselves more as scientists who happen to develop software than as scientific software developers.
> 3. Their managers value training in physical science, not software development, since they seem to see the latter as something one gains as a side effect.
> 4. ... but they definitely value Fortran experience, since they recognize that it's no longer widely taught.

You may thus also impress them if you bring in standard techniques from
software professionals, such as standard-conforming and
platform-independent programs, versioning systems (you mentioned git),
test-driven development and continuous integration. Physicists are more
familiar with quick-and-dirty solutions and have fun with debugging
sessions years later.

> [8]: https://en.wikipedia.org/wiki/Data_assimilation
> [9]: Unfortunately none of the above code was Fortran, since that's not (IMHO) the most productive tool for these sort of data munging and visualization tasks. (YMMV.)
>

Good luck!

-- Wolfgang

--
E-mail: firstnameini...@domain.de
Domain: yahoo

Tom Roche

unread,
Dec 18, 2015, 5:12:34 PM12/18/15
to
Tom Roche[1]
>> summary: "generic" software developer seeks to work on large Fortran-based models[2]. Please recommend resources (MOOCs, standard academic programs, whatever) by which I could efficiently increase my Fortran credentials.

Wolfgang Kilian[6]
> get a good book on modern Fortran and work your way through it while coding small examples[, e.g.,] Metcalf/Reid/Cohen "Modern Fortran Explained"[7] because it is concise, rather complete, and pedagogical.

I've been working through Metcalf & Reid's "Fortran 90/95 Explained"[8] but should perhaps step up. (FWIW, IIUC, these "big models" are mostly F95 or older--their managements don't seem eager to update working code.)

That being said, ISTM you're missing the distinction between 'learning' and 'credential'. Suppose I wanted to pursue a position like one recently advertised[9]:

>>> Qualifications[:] A PhD in Atmospheric Sciences, Meteorology, or related fields is required. Candidates with experience in (1) regional or global climate modeling; (2) top-down constraint of anthropogenic and biogenic GHG emission inventories; (3) fluency in FORTRAN; and (4) fluency with LINUX operating system and parallel programming paradigms on high-performance computers are strongly preferred.

Suppose I had such a PhD (I don't currently) with that concentration (which I intend to pursue). I have experience in regional-scale modeling (and intend to get more, as well as global-scale), (IMHO) am Linux-fluent, and have written working code using both MPI and OpenMP (which I'm guessing covers "parallel programming paradigms"). That leaves "fluency in Fortran"--at least I'm fluent enough not to all-cap it :-)

I suspect that if I claimed "fluency in Fortran" based on self-work through a text, I would be vulnerable to competition from someone with more impressive credential(s), e.g., coursework (probably better yet, some kind of certificate) from a program (i.e., academic department) with a strong reputation in scientific programming/HPC, and esp Fortran[10]. But I don't even know of {lists, ratings, reviews} of "the strong Fortran programs": pointers in that direction would be appreciated.

>> Since you have previous programming and CS experience and training, you probably don't need to attend a course.

I tend to agree, since a BSCS course of study (as earned through any decently-competent program) tends to equip one to learn enough to learn other programming platforms/languages. But people like me and you aren't hiring for positions like those I target:

1. (based on my limited sample of contacts with folks working in this space) "Big model" managers don't get that. They don't have much contact with CS/informatic grads (except as sysadmins, and those contacts are too often unpleasant). They *do* have contact with lots physical-science grads who very much struggle with Fortran.

2. (based on my much greater contact with US STEM labor markets) Competition is fierce for jobs (even postdocs), and even greater for funding for graduate study (which is what I'll probably need to look for soonest). US academic institutions continue to generate large numbers of STEM graduates, while US political institutions continue to clamp (in real terms) science funding. This gives bosses (including PIs, model managers) great bargaining power to demand increasingly long lists of qualifications, and HR departments are increasingly enlisted to enforce them.

So to reiterate (hopefully not to beat into the ground): while there are many ways to learn Fortran, I need something that will demonstrate (to a PI with a physical-science background) that I have learned (and can use) Fortran "better than the next guy," when I and s/he are competing for the PI's funding.

But your assistance *is* appreciated, Tom Roche <Tom_...@pobox.com>

[1]: https://groups.google.com/d/msg/comp.lang.fortran/gibvKSL1HwA/ntXq1McBBAAJ
[2]: e.g., CESM[3], CMAQ[4], GEOS-Chem[5]
[6]: https://groups.google.com/d/msg/comp.lang.fortran/gibvKSL1HwA/JafA9JoQBAAJ
[7]: ISBN-13=978-0199601424
[8]: ISBN-13=978-0198505587
[9]: Note this was a real job posting (I have the email, anyway), but I'm not linking to it directly because
* text above was slightly adapted from the original to better reflect my interests
* the original position has since closed, and the emailed link now fails
[10]: Note that just accessing Fortran coursework is not as trivial as I had assumed. The large public university near my current location is also an engineering school, and has a CS department with a somewhat better reputation than my BSCS. Hence I assumed they would offer a Fortran-based course in scientific programming. Instead (IIUC from the course listing) their one scientific-computing undergraduate course is taught as applied math, and the final project is a webapp coded in Perl (?). This large public university also has a "Modeling Center" inhabited by math majors who model (mostly for epidemiological applications) with things like MATLAB and Mathematica--AFAICS no one is working at ESM-scale or with Fortran.

FortranFan

unread,
Dec 18, 2015, 5:54:40 PM12/18/15
to
On Friday, December 18, 2015 at 5:12:34 PM UTC-5, Tom Roche wrote:

> ..
>
> So to reiterate (hopefully not to beat into the ground): while there are many ways to learn Fortran, I need something that will demonstrate (to a PI with a physical-science background) that I have learned (and can use) Fortran "better than the next guy," when I and s/he are competing for the PI's funding.
>
> ..

To state the obvious..

I think you already know that your "best" option is to pursue a PhD where you make use of (and demonstrate mastery in) Fortran as well as show open-mindedness and reasonable understanding of several other programming languages [Julia, C++ (which you already have), etc.] prevalent in high-performance computing (HPC) applications. But more importantly you should strive to gain expertise in emerging (and perhaps accepted) HPC trends in parallel computing, etc. along with suitable knowledge and application of numerical techniques (toward solution of ODEs/PDEs, quadratures. etc.) that are needed in the field.

I think it's only by piling up actual coding experience that you will convince any PI worth his/her salt of your true credentials in Fortran and your best bet is naturally to combine your PhD work with such coding.

Stansfield Temmelmeier

unread,
Dec 19, 2015, 12:56:31 PM12/19/15
to
On 2015-12-18, Wolfgang Kilian <kil...@invalid.com> wrote:

> The approach that I'd take for step 2: get a good book on modern Fortran
> and work your way through it while coding small examples. Use the free
> gfortran compiler on Linux (make sure that you have a recent version)
> and turn on all debugging flags while experimenting. Since you have
> previous programming and CS experience and training, you probably don't
> need to attend a course.

He can look to contribute to some open source Fortran application. It is no
better way to learn what to do and what not to do if not by working with
some big set of programs that break and figure out to fix it. I think most
people learned this way in previous years.

> My personal recommendation would be Metcalf/Reid/Cohen "Modern Fortran
> Explained" because it is concise, rather complete, and pedagogical. A
> programmer with previous experience in other languages might benefit
> most from it.

I don't think this is a good learning book it is a best reference if you
already know Fortran or FORTRAN. I don't have any perfect idea for this
kind of book but I think somebody who didn't have Fortran experience will do
better starting with Chapman. Of course buy some copy of MRC to answer all
his detail questions and advanced topics. Chapman lacks many details and
advanced topics but it can be a good quick start if you go through it fast
you will cover all basic needs.

> (Otherwise, be careful not to rely on arbitrary Internet resources,
> there is lots of 'pedagogical' stuff regarding Fortran that is
> incomplete, outdated, or plain wrong.)

Yes. The web is a dangerous place for technical misinformation.

> Good luck!

Yes!

Stan

Tom Roche

unread,
Dec 21, 2015, 1:20:05 AM12/21/15
to
Stan Temmelmeier[1]
> [You can] contribute to some open source Fortran application.

Any suggestions regarding suitable projects? Because that sounds like a great idea (I thought it was when I had it a couple months ago :-), except that

1. Web-searching (e.g., `Fortran "open source" OR "open-source" project`) gets nothing but references to compilers and IDEs.

2. The "big models" discussed above (in this thread) are all OSS ... but running regression tests requires access to HPC which I currently lack.

3. Searching popular OSS devsites (e.g., bitbucket, github, sourceforge) for 'Fortran' returns

3.1. a remarkable number of non-Fortran repositories: they're interfaces to Fortran from something else, or extending something else to consume Fortran, or (in some cases) appear to have nothing whatsoever to do with Fortran.

3.2. repos that actually *have* Fortran code, but the code is

- personal. Usually they say so: the project description is, e.g., "my Fortran libs," "code from <some class or event/>". Sometimes, there is no description (much less documentation) for the code, which indicates to me that the committer(s) are just not interested in having other users, much less contributors: they just wanted to have a place to show/share code with one or more particular OP.

- production-quality, written and supported by folks who don't seem to require the assistance that I can provide. See, e.g., the issues on netcdf-fortran[1]: I'd love to have the Fortran (and C and autoconf) chops to be able to help with these, but I don't.

Perhaps someone on this list/group could recommend a suitable OSS Fortran project? One that's big enough to have FRs and to-do's that could benefit from the attentions of a reasonably-intelligent experienced coder, but who is not an expert in either Fortran (yet :-) or the project's particular domain?

TIA, Tom Roche <Tom_...@pobox.com>

[1]: https://groups.google.com/d/msg/comp.lang.fortran/gibvKSL1HwA/3CxGc9JxBAAJ
[2]: https://github.com/Unidata/netcdf-fortran/issues

Tom Roche

unread,
Dec 21, 2015, 1:31:05 AM12/21/15
to
Wolfgang Kilian[1]
>> get a good book on modern Fortran and work your way through it while coding small examples[, e.g.,] Metcalf/Reid/Cohen "Modern Fortran Explained"[2] because it is concise, rather complete, and pedagogical.

Stan Temmelmeier[3]
> [Metcalf/Reid/Cohen] is a best reference if you already know Fortran[....] I think somebody who didn't have Fortran experience will do better starting with Chapman.

You mean 'Fortran 95/2003 for Scientists & Engineers' by Stephen J. Chapman[4]?

TIA, Tom Roche <Tom_...@pobox.com>

[1]: https://groups.google.com/d/msg/comp.lang.fortran/gibvKSL1HwA/JafA9JoQBAAJ
[2]: ISBN-13=978-0199601424
[3]: https://groups.google.com/d/msg/comp.lang.fortran/gibvKSL1HwA/3CxGc9JxBAAJ
[4]: ISBN-13=978-0073191577

Thomas Koenig

unread,
Dec 21, 2015, 2:39:55 AM12/21/15
to
Tom Roche <Tom_...@pobox.com> schrieb:
> Stan Temmelmeier[1]
>> [You can] contribute to some open source Fortran application.

> Any suggestions regarding suitable projects?

You might want to take a loot at cp2k:

https://www.cp2k.org/

This package uses Fortran 2003 features quite extensively, resulting
in numerous bug reports for gfortran. Its main developer, Joost
VandeVondele, has joined the gfortran developers.

Maybe you can ask Joost what help he could need in that project.

Wolfgang Kilian

unread,
Dec 21, 2015, 3:19:20 AM12/21/15
to
On 18.12.2015 23:12, Tom Roche wrote:
> Tom Roche[1]
>>> summary: "generic" software developer seeks to work on large Fortran-based models[2]. Please recommend resources (MOOCs, standard academic programs, whatever) by which I could efficiently increase my Fortran credentials.
>
> Wolfgang Kilian[6]
>> get a good book on modern Fortran and work your way through it while coding small examples[, e.g.,] Metcalf/Reid/Cohen "Modern Fortran Explained"[7] because it is concise, rather complete, and pedagogical.
>
> I've been working through Metcalf & Reid's "Fortran 90/95 Explained"[8] but should perhaps step up. (FWIW, IIUC, these "big models" are mostly F95 or older--their managements don't seem eager to update working code.)

Yes, that's a common attitude. Nevertheless, new features will
eventually creep in with new code where they are useful, and if they
don't require external libraries or interfaces. Finally, just because
younger people grew up with them. That happened with F90/95.

> That being said, ISTM you're missing the distinction between 'learning' and 'credential'. Suppose I wanted to pursue a position like one recently advertised[9]:

I guess that if you have digested MR, you're essentially well prepared.
You may be interested in F2003/08
Except, as you say, that you may prove somehow that you can code in
Fortran. But that means contributing to real projects, as others have
said. Maybe that's not so easy because the typical web app is not coded
in Fortran.

>>>> Qualifications[:] A PhD in Atmospheric Sciences, Meteorology, or related fields is required. Candidates with experience in (1) regional or global climate modeling; (2) top-down constraint of anthropogenic and biogenic GHG emission inventories; (3) fluency in FORTRAN; and (4) fluency with LINUX operating system and parallel programming paradigms on high-performance computers are strongly preferred.
>
> Suppose I had such a PhD (I don't currently) with that concentration (which I intend to pursue). I have experience in regional-scale modeling (and intend to get more, as well as global-scale), (IMHO) am Linux-fluent, and have written working code using both MPI and OpenMP (which I'm guessing covers "parallel programming paradigms"). That leaves "fluency in Fortran"--at least I'm fluent enough not to all-cap it :-)
>
> I suspect that if I claimed "fluency in Fortran" based on self-work through a text, I would be vulnerable to competition from someone with more impressive credential(s), e.g., coursework (probably better yet, some kind of certificate) from a program (i.e., academic department) with a strong reputation in scientific programming/HPC, and esp Fortran[10]. But I don't even know of {lists, ratings, reviews} of "the strong Fortran programs": pointers in that direction would be appreciated.
>
>>> Since you have previous programming and CS experience and training, you probably don't need to attend a course.
>
> I tend to agree, since a BSCS course of study (as earned through any decently-competent program) tends to equip one to learn enough to learn other programming platforms/languages. But people like me and you aren't hiring for positions like those I target:
>
> 1. (based on my limited sample of contacts with folks working in this space) "Big model" managers don't get that. They don't have much contact with CS/informatic grads (except as sysadmins, and those contacts are too often unpleasant). They *do* have contact with lots physical-science grads who very much struggle with Fortran.
>
> 2. (based on my much greater contact with US STEM labor markets) Competition is fierce for jobs (even postdocs), and even greater for funding for graduate study (which is what I'll probably need to look for soonest). US academic institutions continue to generate large numbers of STEM graduates, while US political institutions continue to clamp (in real terms) science funding. This gives bosses (including PIs, model managers) great bargaining power to demand increasingly long lists of qualifications, and HR departments are increasingly enlisted to enforce them.
>
> So to reiterate (hopefully not to beat into the ground): while there are many ways to learn Fortran, I need something that will demonstrate (to a PI with a physical-science background) that I have learned (and can use) Fortran "better than the next guy," when I and s/he are competing for the PI's funding.

Since I'm a physicist myself (but not in atmospheric science, and not in
the US), I may comment. When I get the opportunity to hire people, I
first try to find out whether the candidate understands what (s)he is
doing, and why. This explains the PhD part of the advertisment you
quote. If I had the funding to hire somebody who is not a true
specialist in my particular field of physics but experienced in CS, it
would be perfectly acceptable to demonstrate fluency in C++ together
with a realistic claim and willingness to become familiar with Fortran
reading and writing in a short time. Also regarding programming, I'd
prefer a candidate who has a broader perspective than technical details
of some particular language syntax or model. But, granted, not all PI
think that way. But they should know that physicists are hired in many
fields because of their supposed ability to master stuff that they are
not familiar with in short time (replace 'Fortran' with anything else).

I don't know of anybody (personally) who had *formal* training in
Fortran, and I'd be slightly suspicious about it, because there are
still too many influential people out there who think that Fortran is in
all-caps. Fluency in old FORTRAN does not help in improving HPC code on
modern environments.

> But your assistance *is* appreciated, Tom Roche <Tom_...@pobox.com>
>
> [1]: https://groups.google.com/d/msg/comp.lang.fortran/gibvKSL1HwA/ntXq1McBBAAJ
> [2]: e.g., CESM[3], CMAQ[4], GEOS-Chem[5]
> [3]: https://en.wikipedia.org/wiki/Community_Earth_System_Model
> [4]: http://www.epa.gov/air-research/community-multi-scale-air-quality-cmaq-modeling-system-air-quality-management
> [5]: http://acmg.seas.harvard.edu/geos/
> [6]: https://groups.google.com/d/msg/comp.lang.fortran/gibvKSL1HwA/JafA9JoQBAAJ
> [7]: ISBN-13=978-0199601424
> [8]: ISBN-13=978-0198505587
> [9]: Note this was a real job posting (I have the email, anyway), but I'm not linking to it directly because
> * text above was slightly adapted from the original to better reflect my interests
> * the original position has since closed, and the emailed link now fails
> [10]: Note that just accessing Fortran coursework is not as trivial as I had assumed. The large public university near my current location is also an engineering school, and has a CS department with a somewhat better reputation than my BSCS. Hence I assumed they would offer a Fortran-based course in scientific programming. Instead (IIUC from the course listing) their one scientific-computing undergraduate course is taught as applied math, and the final project is a webapp coded in Perl (?). This large public university also has a "Modeling Center" inhabited by math majors who model (mostly for epidemiological applications) with things like MATLAB and Mathematica--AFAICS no one is working at ESM-scale or with Fortran.
>

Stefano Zaghi

unread,
Dec 21, 2015, 4:02:35 AM12/21/15
to
Il giorno lunedì 21 dicembre 2015 07:20:05 UTC+1, Tom Roche ha scritto:
> Stan Temmelmeier[1]
> > [You can] contribute to some open source Fortran application.
>
> Any suggestions regarding suitable projects? Because that sounds like a great idea (I thought it was when I had it a couple months ago :-)

Maybe I am not on-topic (because the projects I am going to highlight are not at-the-state-of-the-art, or the too "personal/amateur" for your aims), nevertheless I try...


https://github.com/Fortran-FOSS-Programmers This is a "young", relatively small group that lives on GitHub devoted to the development of Fortran FOSS programs. I am a member of it. We do not yet make some "advertising" on it here, because we think it is premature (we have not yet a website, code-of-conducts, ethics, ...), however, you could still interested to join us... Few projects are currently developed by the group:

https://github.com/Fortran-FOSS-Programmers/FLATPack
https://github.com/Fortran-FOSS-Programmers/FOODIE
https://github.com/Fortran-FOSS-Programmers/FoOtS
https://github.com/Fortran-FOSS-Programmers/FortLua
https://github.com/Fortran-FOSS-Programmers/FoXy
https://github.com/Fortran-FOSS-Programmers/WenOOF

I am in particular involved into FOODIE, that is "challenging" and quite mature. Most of them are tailored to F03-08.

Aside the group I can suggest to see the personal work of the members, in particular the following have some mature projects with a small audience (20-50-100 users):

https://github.com/jacobwilliams
https://github.com/milancurcic
https://github.com/muellermichel
https://github.com/rouson
https://github.com/szaghi
https://github.com/victorsndvg

I finally highlight one great project, OpenCoarrays: https://github.com/sourceryinstitute/opencoarrays

The above are just some nice FOSS projects on GitHub that I am aware (and that are mainly target to modern Fortran). I am quite sure that if you dig deeper on GitHub you can find projects more fitted to your necessity.

My best regards.

paul.rich...@gmail.com

unread,
Dec 21, 2015, 4:48:16 PM12/21/15
to
By the way, one resource that rarely gets mentioned is the gfortran testsuite. This contains a mix of tests of new features and tests of bug fixes. The latter are nearly all reductions of chunks of real life code and so useful as starting points in new projects. The names of the tests are often indicative of what they test; eg submodule_xx.f08 but sometimes are PRxxxxx.fxx, so that grepping for a particular feature, such as 'abstract' can pull up all sorts of stuff.

Good luck

Paul

vladim...@gmail.com

unread,
Jan 1, 2016, 6:35:21 AM1/1/16
to
This looks really nice and useful. I have some Fortran OSS code on github myself, but the number of users is still quite small.

tlr...@gmail.com

unread,
Jan 1, 2016, 7:31:57 PM1/1/16
to
Thanks to all for links to various Fortran FOSS meta/projects. For ease of discoverability and extension, I have collated and added to them at a separate thread: https://groups.google.com/forum/#!topic/comp.lang.fortran/p1RoYVdsHzs
0 new messages