I’m reasonably new to using Julia but I’ve been trying to rewrite a Fortran package in Julia. It mainly runs in a Cartesian-like coordinate system with very small sections that require some specialisation for different coordinate systems.

I was hoping to be write these small sections with multiply dispatched functions for each different coordinate system using the types of the vector field `struct`

I’ve been using so far. Although looking through the documentation on types, I wasn’t entirely sure how to achieve it.

Right now, I have a `struct`

containing containing various arrays which include the Vector Field and coordinates. One option seemed to be to have a different struct for each coordinate system:

```
struct CartesianField
...
end
struct SphericalField
...
end
```

and then have each of these to be a subtype of some `AbstractField`

type.

Given I’m happy for each struct to have the same internal field names and could become very verbose for different coordinate systems, I wondered if I could use some sort of parametric type instead:

```
struct Field{T}
...
end
```

where `T`

is the different coordinate system types. I noticed in one place in the documentation it seemed it might be possible to use Julia symbols for T (which I wasn’t sure why that worked) or perhaps different `struct`

s need to be created for each coordinate system which subtype some `AbstractCoordinateSystem`

. What to use etc. is where I’m not sure. What might be best to go about this?