<p>Relatively important, depending on the basic principles of the modeling you are interested in, and to what extent you want to get yourself involved in it.</p>

<p>In many areas of computational geophysics, e.g. atmospheric, oceanic, hydrological modeling etc., there are modelers, modelers, and modelers. First group of modelers get model output from somebody else, do some analysis, make some plots, and write about what they found. Then, there are modelers who design their own experiments, play with tunable parameters, maybe even change a few lines in the code and run the model. Finally, there are <em>modelers</em> - these spend most of their time on building and improving models, both in terms of numerical methods and software design. They could go for few years without publishing a single paper, but boy did they work hard.</p>

<p>If you are interested in computational science aspects of modeling, i.e. the inner workings of the model and how to improve it, understanding linear algebra as well as numerical methods will prove to be very valuable. While it is likely that you will never end up having to implement that matrix inversion or sparse matrix multiply yourself, and instead use one of many well documented production libraries, it is important to understand how they do it and why they do it in a particular way. From my own experience, I can say that most of the time it won't matter, but sooner or later there comes a situation where having knowledge about how low-level operations work will save you from pulling your hair out for weeks.</p>

<p>And this does not go only for linear algebra - I would extend this advice and urge you to strive at also understanding differential equations, discretization, computer architecture, floating-point arithmetic.</p>

CC BY-SA 3.0
2015-01-22T19:19:36.523Z
Thanks. Based on your comment, the third category of modelers is one that really interests me, but since I don't have a formal background in computer science or math (I have MS in geology-highest math taken was business calculus...yea) it will take a while before I am skilled enough to do work in the third category, as I would basically have to become a software engineer. I'll focus on trying to find work within the first two categories of modelers, while continuing to educate myself (with a second masters not out of the question).
Anthony
CC BY-SA 3.0
2015-01-23T13:54:40.267Z
These things are not as black and white. You can certainly develop models without formal background in any of the areas I mentioned. However, most of the time, getting a model development position requires prior experience with actual model development, at least so is true for meteorology or oceanography, and I doubt it is different for hydrology. If model development is something you are really after, pursuing a Ph.D. in a related discipline may be the best way to go, as it provides you with both formal education and experience.
milancurcic
CC BY-SA 3.0
2015-04-08T17:34:00.053Z
An extension of this excellent answer: I think you will want to go as far as PDEs and numerical solutions to understand some of the intrinsic weaknesses of models: equations that don't have closed-form solutions, and ways that approximating the solutions with computerized numerical approaches fail.
cphlewis
CC BY-SA 3.0
2015-01-22T06:43:24.573Z
2015-01-22T06:43:24.573Z
milancurcic
<p>These days, not so much.</p>

<p>Even people who write their own sophisticated mesh based groundwater modeling codes usually make extensive use of sparse/dense numerical libraries/solvers that are written by linear algebra experts (e.g., UMFPACK/MUMPS/PETSc etc.). The author of these libraries really know their stuff.</p>

<p>So if you are writing your own groundwater modeling code you simply call the above libraries to solve your equations.</p>

<p>Off course 20 years ago when there were no such libraries people had no choice. That is why codes written in 80s and early 90s typically have their own (often poor performing) solver.</p>

<p>Edit: If you're just using a code then don't bother with linear algebra at all. The only thing you need to know is that for large problems you need to use an 'iterative' solver.</p>

CC BY-SA 3.0
2015-01-21T23:13:06.230Z
I think everyone should take as much math as they can stomach but I come down in the middle on this one. If you want to know how models work, you need to understand the equations but that doesn't mean you need to understand how the solvers work - just the strengths and weaknesses (although it can't hurt to understand more).
haresfur
CC BY-SA 3.0
2015-01-21T23:27:05.083Z
@SabreTooth In that case the OP first needs to study numerical methods for solving PDEs (e.g., using finite difference/volume/element methods etc.).
stali
CC BY-SA 3.0
2015-01-22T03:59:33.427Z
@stali Then why not say that instead?
Isopycnal Oscillation
CC BY-SA 3.0
2015-01-22T19:14:29.820Z
My primary motive for asking this question is there are two good linear algebra massive open online courses starting in early february. They are introductory courses, and based on the responses here and another forum I'e decided it would be worth the effort, especially considering I am very interested in earth science computing and want to make that my career within two years. I can study single variable calculus concurrently with the linear algebra course.
Anthony
CC BY-SA 3.0
2015-01-21T21:25:24.107Z
2015-01-21T21:40:53.590Z
2015-01-21T21:40:53.590Z
stali
<p>I am considering taking a course in linear algebra and wanted to get a survey to see how important it is. My goal is not just to understand how to push the buttons in some software (e.g. GW Vistas, Aquiferwin32), but to really understand how groundwater modeling works. </p>

CC BY-SA 3.0
2015-01-21T04:23:15.370Z
If you are writing numerical models, any sort, where there are no analytical solutions, then understanding linear algebra is paramount: how else would you solve the equations for each node on your grid?
Neo
CC BY-SA 3.0
2015-01-21T14:23:16.223Z
@Neo, why don't you post your comment as an answer? I think it addresses the main point of the question.
arkaia
CC BY-SA 3.0
2015-01-22T19:59:04.677Z
As a tangentially related piece of advice, I would also take a class in computer programming, specifically Python, if you can. New tools like FloPy (https://code.google.com/p/flopy/) can be used to build and run GW models - using a script makes your process repeatable and well documented, plus changes to your model dimensions or parameter fields can be more easily implemented.
Jason Bellino
CC BY-SA 3.0
2015-03-13T22:59:57.567Z
"The Book of Nature is written in the language of mathematics."
user2821
<hydrology><models><numerical-modelling><groundwater>
How important is understanding linear algebra in groundwater modeling?
Anthony
# How important is understanding linear algebra in groundwater modeling?

(Asked by: username_0 on 2015-01-21)

I am considering taking a course in linear algebra and wanted to get a survey to see how important it is. My goal is not just to understand how to push the buttons in some software (e.g. GW Vistas, Aquiferwin32), but to really understand how groundwater modeling works.

**Tags:** hydrology, models, numerical-modelling, groundwater

> **Comments:**
> **username_1**: If you are writing numerical models, any sort, where there are no analytical solutions, then understanding linear algebra is paramount: how else would you solve the equations for each node on your grid?  
> **username_2**: @username_1, why don't you post your comment as an answer? I think it addresses the main point of the question.  
> **username_3**: As a tangentially related piece of advice, I would also take a class in computer programming, specifically Python, if you can. New tools like FloPy (https://code.google.com/p/flopy/) can be used to build and run GW models - using a script makes your process repeatable and well documented, plus changes to your model dimensions or parameter fields can be more easily implemented.  
> **username_4**: "The Book of Nature is written in the language of mathematics."  

---

## 2 answers

### Answer by username_5 on 2015-01-22. Score: 18

Relatively important, depending on the basic principles of the modeling you are interested in, and to what extent you want to get yourself involved in it.

In many areas of computational geophysics, e.g. atmospheric, oceanic, hydrological modeling etc., there are modelers, modelers, and modelers. First group of modelers get model output from somebody else, do some analysis, make some plots, and write about what they found. Then, there are modelers who design their own experiments, play with tunable parameters, maybe even change a few lines in the code and run the model. Finally, there are *modelers* - these spend most of their time on building and improving models, both in terms of numerical methods and software design. They could go for few years without publishing a single paper, but boy did they work hard.

If you are interested in computational science aspects of modeling, i.e. the inner workings of the model and how to improve it, understanding linear algebra as well as numerical methods will prove to be very valuable. While it is likely that you will never end up having to implement that matrix inversion or sparse matrix multiply yourself, and instead use one of many well documented production libraries, it is important to understand how they do it and why they do it in a particular way. From my own experience, I can say that most of the time it won't matter, but sooner or later there comes a situation where having knowledge about how low-level operations work will save you from pulling your hair out for weeks.

And this does not go only for linear algebra - I would extend this advice and urge you to strive at also understanding differential equations, discretization, computer architecture, floating-point arithmetic.

> **Comments:**
> **username_0**: Thanks. Based on your comment, the third category of modelers is one that really interests me, but since I don't have a formal background in computer science or math (I have MS in geology-highest math taken was business calculus...yea) it will take a while before I am skilled enough to do work in the third category, as I would basically have to become a software engineer. I'll focus on trying to find work within the first two categories of modelers, while continuing to educate myself (with a second masters not out of the question).  
> **username_5**: These things are not as black and white. You can certainly develop models without formal background in any of the areas I mentioned. However, most of the time, getting a model development position requires prior experience with actual model development, at least so is true for meteorology or oceanography, and I doubt it is different for hydrology. If model development is something you are really after, pursuing a Ph.D. in a related discipline may be the best way to go, as it provides you with both formal education and experience.  
> **username_6**: An extension of this excellent answer: I think you will want to go as far as PDEs and numerical solutions to understand some of the intrinsic weaknesses of models: equations that don't have closed-form solutions, and ways that approximating the solutions with computerized numerical approaches fail.  

---

### Answer by username_7 on 2015-01-21. Score: -4

These days, not so much.

Even people who write their own sophisticated mesh based groundwater modeling codes usually make extensive use of sparse/dense numerical libraries/solvers that are written by linear algebra experts (e.g., UMFPACK/MUMPS/PETSc etc.). The author of these libraries really know their stuff.

So if you are writing your own groundwater modeling code you simply call the above libraries to solve your equations.

Off course 20 years ago when there were no such libraries people had no choice. That is why codes written in 80s and early 90s typically have their own (often poor performing) solver.

Edit: If you're just using a code then don't bother with linear algebra at all. The only thing you need to know is that for large problems you need to use an 'iterative' solver.

> **Comments:**
> **username_8**: I think everyone should take as much math as they can stomach but I come down in the middle on this one. If you want to know how models work, you need to understand the equations but that doesn't mean you need to understand how the solvers work - just the strengths and weaknesses (although it can't hurt to understand more).  
> **username_7**: @SabreTooth In that case the OP first needs to study numerical methods for solving PDEs (e.g., using finite difference/volume/element methods etc.).  
> **username_9**: @username_7 Then why not say that instead?  
> **username_0**: My primary motive for asking this question is there are two good linear algebra massive open online courses starting in early february. They are introductory courses, and based on the responses here and another forum I'e decided it would be worth the effort, especially considering I am very interested in earth science computing and want to make that my career within two years. I can study single variable calculus concurrently with the linear algebra course.  

---

