Visualizing JSON Data with Pandas and Matplotlib

I wrote a quick example program in Python. The code consumes data in JSON format, uses Pandas to work the data and Matplotlib to display the data.
It is a Jupyter notebook, but can easily be adapted to work standalone. Find the code on GitHub.

The data is from the SWPC website and contains monthly predictions on what the number of sunspot and the solar 10.7cm flux will be – this data is important, for example, for radio amateurs.
The data is valid as of November 11, 2019 but is going to change over time. The current data can be found at

As you can see the activity is predicted to be very low until December 2022. The new solar cycle, Solar Cycle 25, is believed to have either already started or to be starting soon, until the end of 2019.

First CernVM Steps

As per documentation “CernVM 4 is a virtual machine image based on Scientific Linux 7 combined with a custom, virtualization-friendly Linux kernel”. It’s base image is very small, which means currently around 20MB. The rest of the OS and applications is downloaded on demand via CernVM-FS.

I learned a lot in the recent CernVM/CernVM-FS workshop at CERN in Geneva (actually in the part in France). It offered interesting approaches and insights in how to work with bigdata in complex environments, where almost every user has her own requirements and software setup.

The current CernVM image can be downloaded from here. There are images for different virtual environments available. I chose the VirtualBox version as I have worked with VirtualBox for quite a while using it with BOINC and LHC@Home, but you can chose another environment, for example on AWS, Azure or Docker image.

So far so good. The next step is getting an CERN account. This is needed to access CernVM Online to create a CernVM Context. Once the context is created online, the CernVM on the desktop needs to be paired with the online context. This will automatically configure the CernVM for your needs.

This is simple enough. A few difficulties arise, however. First, for the un-initiated like me, identifying the resources – i.e. the software and data – needed to work with CernVM. Is quite a challenge. Second, I to identify the account and determining the permissions needed is also challenging. While you can register for the Cern website with, say, your Google account, this will give you access to some resources but apparently not CernVM Online. A Cern light-weight account gives access to CernVM but so far, while I got CernVM running and associated it successfully with a online context, I so far get ‘access denied’ on underlying resources.

While CernVM is still work in progress, it inspired me to look a bit closer into VirtualBox and its possibilities and I am currently in the process of moving the development environment of my (a.k.a website onto a VM.