6
$\begingroup$

Very basic question. Should I get my code reviewed here (I have written some code for a problem in atmos science) or on codereview stack exchange. It is written in Fortran.

Moving forward how should we tackle this ?

$\endgroup$
2

3 Answers 3

13
$\begingroup$

I think the rule of thumb will be the answer to the question:
Do you think someone knowledgeable in Fortran but not in atmospheric sciences is more likely to help you than someone knowledgeable in atmospheric science but not in Fortran?

It all depends on the actual or putative issue with the code:

  • If the issue is with the algorithm then it is language-agnostic and any atmospheric science programmer could help in theory: it could be posted here.
  • if the issue is that an error pops up, or that the result is not the expected result (i. e. an error in implementing the algorithm) then you will need someone knowledgeable in the code language: it should therefore be posted on Stack Overflow (and not on Code Review: they do not want code that does not work).
  • if the issue is a lack of efficiency or readability, then Code Review should be the go-to SE site. Knowledge of atmospheric sciences shouldn't really be necessary in producing an efficient or readable code.
$\endgroup$
5
  • 1
    $\begingroup$ I quite agree with this answer. If the question is a general code issue that any programmer could answer, it's probably best to post elsewhere. But, as you say, if a scientific background is necessary to answer the question, it would likely be on-topic here. $\endgroup$
    – hichris123 Mod
    Apr 19, 2016 at 1:01
  • $\begingroup$ @plannapus - I checked the code review SE for previous fortran code reviews. Very few actually sophisticated questions. So while there maybe experts there I may also not get too many answers. $\endgroup$
    – user1066
    Apr 19, 2016 at 1:15
  • 2
    $\begingroup$ @gansub look around the Fortran tag on SO. There have been some sophisticated Fortran and code review type posts in that tag and while traffic there is low, the regulars are quite knowledgeable and often have scientific programming backgrounds. Take a look. $\endgroup$
    – casey
    Apr 19, 2016 at 1:58
  • $\begingroup$ In the comparison between CodeReview and EarthScience keep in mind that is a lot easier to explain your earth science concepts to programmers ("This is what I am modelling here"), than it is to explain programming techniques to 'earth scientists'. $\endgroup$
    – Jan Doggen
    Apr 22, 2016 at 11:44
  • $\begingroup$ Note that "code review" does not typically mean "Help, my program (or algorithm) doesn't work". See my answer. $\endgroup$ Apr 22, 2016 at 13:32
2
$\begingroup$

As per my answers and comments on the "related questions" that are linked, I strongly believe that questions on programming are valid here, so long as they are specific to earth sciences.

However, this question does not appear to be about a question related to programming ("How do I do this?" or "Why does X not work in scenario Y?"). It appears to relate to code review ("Here is my working code. Do you see any problems, or opportunities for improvement?"). In other words, it's not questions about concepts that may be illustrated with code, it's simply code.

That's quite a different thing - some might argue that it isn't actually a "question about a problem that the asker is facing" - and personally it's something I'm less inclined to help people with for free (not that that is necessarily a reason that it shouldn't be here!). I assume that's the reason that codereview.SE was created as a separate site from StackOverflow.

I have no strong opinion on whether code review questions that are specific to earth sciences should be allowed on this site (even though I personally probably wouldn't answer them), but I think it's important for people to understand that this question is asking something distinct from "can I ask programming questions here".

$\endgroup$
2
$\begingroup$

I would say you should have it reviewed by both scientists (with coding knowledge, as you'll find here) and experienced programmers, who can offer more technical feedback on your code (such as you'll find on Stackoverflow or CodeReview.SE).

Having previously worked with colleagues on a large atmospheric simulation codebase, this is exactly how code was reviewed in practice: Any changes to the code had to be reviewed both by a 'Scientific' code owner - someone qualified to comment on whether the science as implemented was correct and suitable for the model, and by a 'technical reviewer', who would offer feedback on the style of coding, whether it met technical standards, whether it was efficient etc.

Obviously you don't want to cross-post duplicate questions on stack exchange sites, as it's considered bad practice, so if you go down this route the question needs to be asked from different points of reference on the appropriate site (scientific content vs technical implementation)

$\endgroup$
1
  • 1
    $\begingroup$ fair enough i think the algorithm belongs here. $\endgroup$
    – user1066
    Dec 13, 2017 at 4:12

You must log in to answer this question.