… at least not in the climate community 😉 If you ever had to deal with the code of an atmospheric model, or maybe even an Earth System Model, you might have encountered FORTRAN or C code. While, for most of you programmers out there, FORTRAN or C are never/barely-heard or touched aliens, these low-level programming languages are essentially the foundation for the success of higher-level languages, such as Python or R. They very often do the nasty stuff behind classes and functions that are available in the form of packages. So, let me tell you a short story…
Continue reading “FORTRAN doesn’t want to die”Blog
Resurrection: the cost733class software
Years ago, I used a software called cost733class to create circulation type classifications for my master thesis project. At the same time, I was also working at the Institute (Geography, University of Augsburg) as a student assistant and part of my job was to maintain the code and documentation of cost733class. The software package is designed to easily apply a variety of classification algorithms to large data sets with a specific focus on creating the previously mentioned atmospheric circulation types. Today, one would say that it uses machine learning to achieve the task. The good thing is that cost733class can also be used in a more generic way and the great number of available classification methods still makes the software an attractive alternative to writing your own code in python or other scripting languages.
Unfortunately, maintenance of cost733class has stopped years ago, apparently at around the time when I finished my master thesis and left the University to do a PhD in the Netherlands. Nevertheless, the functional code basis is still perfectly fine and I figured that all it needs is a little maintenance of purely technical nature. So, I decided to resurrect the project and created a GitHub repository.
The primary goal is to make the software package usable on modern Linux distributions, such as Ubuntu or Fedora. This means that it should compile with current versions of all dependencies. Second, I hope that the repository will be the base of future development of cost733class. Help is appreciated!
RStudio Server in Docker with Remote Access
For a lot of applications, running RStudio (desktop edition) locally is the best choice. But what if you want to run more complex statistical analysis or machine learning tasks that require more resources. In that case, it might be interesting for you to run a dedicated RStudio server on adequate hardware and docker offers an easy option to quickly setup and run an instance. A possible scenario is that you have remote access to a more powerful computer (Desktop or HPC). Here, I will give a simple recipe that worked great for me.
Continue reading “RStudio Server in Docker with Remote Access”Practice my R: Two options to implement the watershed segmentation
High-level scripting languages are great! I mean, you can basically do a complete statistical analysis, including visualizations, with a few lines of code. The thing is that these programming languages, for example R or Python, hide more complex code behind classes, methods and functions. And, very often they call routines that are written in other, lower-level languages, for example C, C++ or even FORTRAN. So what if you want to do something for which there are no existing packages with predefined routines? The answer is simple: do it yourself.
In this exercise, I will show two options of how to implement a specific method in R by using the example of the watershed segmentation. All code and sample data is available on GitHub.
Continue reading “Practice my R: Two options to implement the watershed segmentation”