This is a Mathematica package for reading and post-processing data generated by the Pencil Code. To make the package available to Mathematica, you need to add the path of the package to the $Path variable in Mathematica: First, type FileNameJoin[{$UserBaseDirectory, "Kernel", "init.m"}] in Mathematica to locate this "init.m" file. Then, add line AppendTo[$Path, "your/pencil/home/mathematica"] in this file and save it. Restart the Mathematica kernel and it should work. To use the package, you need to call Needs["pc`"] at the beginning of a notebook or a script. Alternatively, if you don't want to modify init.m, you may also call Needs["pc`","path/to/this/package"] To see all available functions, call pcFunctions[]. To extract help information of a function, type a question mark followed by the function name; e.g., ?readTS About running on clusters: A sample script is provided. Remember to load the Mathematica module by, for example, module load mathematica and then put the package in the right path. Modify the shebang according to which wolfram , and then you can easily run the script by saying ./sample_script.wls Some important notes: 1. Each time you have updated or modified the package, remember to fully quit the kernel and then reload the packages. Calling Needs after the package has been loaded will NOT reload it. 2. Each time the simulation data has been updated, remember to call pcReload[] or pcInitialize[]. It resets the dynamically allocated variables (for example the root-mean-square velocity) of which the purpose is to avoid frequently computing them. Known issues: 1. There is a systematic deviation between ooo that is computed in readVARN[sim,iVAR,{"oo"},"ltrim"->True] and oo that is written as an auxiliary by the code. However, bb vs. bbb seems to be fine.