My five cents:
I, too, come from a similar background (Quantum physics), so I'm not a software developer by profession. My way of getting a grip of those things was to go to the computer science area of our university library and read books that seemed useful for such purposes, including the big design pattern book by the "Gang of four" ("Design Patterns: Elements of Reusable Object-Oriented Software"). They don't explain large scale application development itself, but teach you certain non-adhoc ways of solving recurring problems (what's called a "pattern"). Some of those patterns are essential because they form a well-known basis for your approaches to certain problems. This way other Programmers also familiar with the patterns will have an easier time understanding your code – equally you will need some of the patterns to understand their code. This is something small applications don't necessarily need, because the code is small enough to not fall apart in spite of adhoc-solutions.
Although I've read many other advanced software development books here and there, because I, too am fascinated by how large software projects can possibly work, I'm afraid I know none of them from the top of my head (the content is always more interesting than the title you know ;). Getting into this topic was a rather inefficient process for me, so I never sat down with a serious curriculum and worked through the material. I just got it bit by bit. (Oh yeah, don't get me wrong, I'd never consider myself a professional large scale software developer. For that you'll need to do it as a job and think about this stuff for eight hours a day for ten years.)
Further, some very useful information can be distilled from coding guides of large projects. See google's coding rules or the ones of Qt and KDE.
And nothing's worth more than failing. Start writing your geophysics application. Maybe it works out great, then you're happy. Maybe it falls apart or becomes inflexible. Then you start over, know your design mistake, do it better. Then you're happy, too. :)