Description
To compute some of the metric and coordinate components, Hypnotoad performs integrals and/or derivatives in X (psi) and Y (theta). However, these operations are performed considering the number of grid points of the output grids. This has two issues:
-
For BOUT++ simulations, in order to take advantage of the field aligned coordinate system, we use a coarse grid in Y. This means that, when we perform, for example, the integral of nu along Y to obtain zShift, the result is affected by quite large numerical errors.
-
The magnetic properties of the grid generated with Hypnotoad depend on the number of Y points selected. This is quite bad for performing, for example., resolution scans. In fact, if we generate two different grids with Hypnotoad (with different nx and ny), using the same gfile, we can obtain two slightly different magnetic geometries. Therefore, if we carry out two simulations with these two grids, in order to perform a resolution scan, we will consider not only the numerical error introduced by discretizing the model equations, but also the numerical error introduced by Hypnotoad.
The proper way of doing that (in my opinion) would be to compute all the Hypnotoad outputs on a fine grid, and then interpolate to the coarser grid request by the user. However, this would require quite a lot of changes to Hypnotoad.
I don't think this is a major issue, but it should be kept in mind (in particular when performing resolution scans with Hypnotoad grids).