I'm not sure if this WebGL page is based around this algorithm.
1,634 karma · joined January 19, 2013
I am the upstream author of the Veusz scientific plotting package: https://veusz.github.io/
Github: https://github.com/jeremysanders and https://github.com/veusz/veusz
I'm not sure if this WebGL page is based around this algorithm.
I won't recommend Fortran unless the code has to be written by scientists who know nothing else. It has horrible string support, no data structure or algorithm library (like STL), no templates, few non-numeric libraries (e.g. http, json...) and (as above) buggy compilers. Furthermore, C++ gives you much more control over numerical speed when you need it.
I was very impressed with the picture of the Shapley supercluster (see article), which is very overdense part of the local universe, containing dozens of clusters of galaxies, each of those with 100s to 1000s of galaxies. In addition, we took some performance verification observations at the start, and these were really nice: http://www.mpe.mpg.de/7362095/news20191022
The picture is a bit misleading about the number of sources. It's really dominated by our galaxy, as most sources are point-like. You cannot really see the majority of them individually in the full-sky map given its spatial resolution, particularly as we applied some smoothing to the data to help emphasise the galactic structure.
We're also going to get another 3.5 years more data in the survey, which is going to find a lot more sources.
XMM has a smaller field of view than eROSITA, but more light gathering capability (effective area), particularly at higher energies. It also has different types of instruments, such as the X-ray gratings.
eROSITA is really designed for doing surveys with its wide unobstructed field of view, and it will be doing just that for the next 3.5 yrs. We really need XMM to follow up in detail the most interesting sources we discover during the survey.
Recently XMM looked at the centre of the galaxy, finding chimney-like structures which may link to the bubbles. This is on a much smaller region, however: http://www.esa.int/Science_Exploration/Space_Science/Giant_c...
Nothing since ROSAT has had the ability to map large areas like eROSITA/SRG. ABRIXAS was supposed to be the successor to ROSAT, but it failed shortly after launch.
Annotated and high res images can be found here: http://www.mpe.mpg.de/7461950/erass1-presskit
Most of the fortran codes I'm working on would be much simpler with a common libraries to do things like that.
Edit: plus to ship our code to others requires a free good quality compiler. In the C/C++ world, that is standard. In fortran, that is not the case.
Fortan is pretty painful to write in. The lack of an STL means writing algorithms yourself. There is no good set of libraries, so you have to write more stuff yourself.
The string support is horrendous. Most of the language is based around clumsy fixed size strings. I wish they would add a new flexible string type.
The compiler quality is not up to C++ standards. My code currently has some nasty workarounds for problems in gfortran. It's not good to keep discovering compiler bugs.
I also find it's much vaulted numerical capabilities overstated. Vectorization only works in simple cases. You can't drop down to using SIMD wrappers to fix this. It's nice to be able to pass arrays around more easily than C, however. A good C++ array library would be better, but that would require everyone to agree on one.
For my python multi core code I like using fork with sending objects over a socket with pickle. It gives more control than multiprocessing.
It works pretty well. One downside of fork with python is that the reference counters are scattered about, leading to big COW memory churn, however. Big numpy arrays should be shared, however.