In your opinion and based on your experiences, what is the best programming language for environmental studies and modeling (e.g. climatology, hydrology, etc.)?
I'd say Python and R. Python when you wanna deal with hydrological models (e.g. CMF a very flexible, open source model). R is very useful with long term time series and you can work in several dimensions (time + 3D spatial data).
I'd say Python and R. Python when you wanna deal with hydrological models (e.g. CMF a very flexible, open source model). R is very useful with long term time series and you can work in several dimensions (time + 3D spatial data).
In my opinion C++ is good for environmental modelling. But from my experience and expertise, as an environmental geoscientist, MATLAB is my best software for all kind of programming and modeling. MATLAB has flexibility to accept codes/routines from other languages.
Depends on what type of work once can want to do. Say, if your criteria to projection of the future climate, R software is very usefull. Hence python in this day is very much usefull langugage. Most of the free gis software also used python script.
Depends on the problem. If you work with big data and calculations are time-consuming, Fortran is a very good option. Otherwise, R/Matlab/Python. For example, running one of codes written in Matllab took more than 1 day on my PC, Fortran completed it in 10 minutes.
I would say it's useful to have knowledge of: (1) a general purpose scripting language with many freely available community-derived packages, (2) a fast compiled language, and (3) database management software skills. With these three you've got it covered.
For (1): Python or R are ideal. I personally use R together with the RStudio integrated development environment (all free) as its statistical and graphing packages are second to none but it is a little esoteric and lends itself more to a functional programming style. Python is also excellent, has great packages and a great community, and is more closely related to other programming approaches - the Python object oriented programming style is more similar to the style that a C++/Java/C# programmer would be familiar with. Matlab would also fit the bill but unless your organisation has a license it is hugely expensive and frustrating when you need a new toolbox that turns out to cost a large amount of money (it does have a great integrated development environment and documentation though). Julia and Scala are great but unless you are an enthusiast it's probably more productive to stick with R/Python.
For (2): it is sometimes useful to know a little more about what the computer is doing under the hood and learning a language like C++ is good for that and allows you to write very fast routines. It's very easy to write small functions in C++ that run within R (using Rcpp) or Python. These lower-level languages are usually fairly quick to learn but can take years to master especially the process of things like allocating and de-allocating memory and debugging.
For (3): Get a bit of knowledge about setting up a Data Base Management System (DBMS). Install something like MySQL and learn a bit of the SQL language (sometimes pronounced sequel). It's good to know how to design a set of database tables and how to query them. Many of the same skills are used in R and Python programming via the data.table or Tidyverse (R) packages, or the Pandas object (Python). Knowing a bit about a DBMS can also be useful for GIS applications - for example QGIS can easily be linked to a DBMS and then all the spatial objects can be stored and retrieved from there.
A HUGE advantage of the open source software (such as R and Python) is that the community is knowledgeable, supportive, open and constantly actively developing new packages - you need something that can download satellite images, you can get it, you need to run a rainfall-runoff model - someones done it - there's so much out there. The various web resources for these languages are incredibly useful and not just choked with adverts (I find sites aimed at excel users can be awful).
I learned Matlab during my Masters course but am using Python for my PhD, as it's becoming increasingly popular for oceanographers, climate modellers etc. Python with NumPy/SciPy/Matplotlib is very similar to Matlab, but free of course. It's a nice language to write code in, relatively easy to learn and very human-readable. Check out the xarray package, which was developed by climate scientists and works very well with netCDF files.
It depends on the field of your studies. if you want to work at statistical fields such as modeling, R and Matlab are the best for you. But, if your work field is dynamical, python and Fortran are useful for you.
R, Python, and MATLAB are among the best choices, having several packages, libraries, and toolboxes to handle climate/hydrologic data. So, it's really a matter of personal programming taste!
However, I'd suggest R and Python because they're free programming languages.
Also, you should consider the people and the research group who you are working with. You can communicate with them efficiently if you share a common programming language.
Python and R will be the best. If u want to work as a core programmer then C++ will be the best. If licence will not be an issue then MATLAB will also be good.
I believe climatology, ecology, global warming are a good start for environmental studies you may include the human event, animal event, plant event . Remember most research studies use all of these parameters when solving environmental issues.
The first thing you should to do is upgrade your system as you can. as you know, the volume of environmental data is too high and processing of that data is so time-consuming. then It does not depend on which programming language you are using. It just important your ability at one programming language. for instance MATLAB is more user friend than Python and R and working with it easy but processing of data is time-consuming rather than python and R. choice one of them based on your background of programming, time requiring for implementation and your system do you have.
Well, it highly depends on your research type. Generally, it's kinda hard to prescribe one specific method/software to all sort of users. In case of Environmental studies and engineering, as far as the availability, ease of use and cost efficiency matters, I highly recommend using Python *unless you have heavy mathematical work. Simply because:
1- It's open source
2- Needs minimal training
3- Has an interactive yet user-friendly interface (tnx to IDEs).
*Matlab is more flexible than Python when it comes to heavy math formulation.