Hi @zhongmin ,

Very sorry for the late reply.

So the component type refers to how the model gradients are calculated during the IRLS.

The mode “component” applies weights on the usual Cartesian components independently such that the model norm can be written as:

```
`\phi_x = \sum_i (D_x m)_i^2 / ( (D_x m)_i^2 + \epsilon)^(1-p/2)`
```

and so on for the gradients along y and z. (Sorry for the ugly math here, doesn’t look like it gets latex)

As p->0, the inversion will try to recover “blocky” models with sharp edges lined up with the grid. Unfortunately, nature really never looks that way. So we added the option to apply gradients weights based on the “total” gradient.

```
`\phi_x = \sum_i (D_x m)_i^2 / ( (D_x m)_i^2 + (D_y m)_i^2 + (D_z m)_i^2 + \epsilon)^(1-p/2)`
```

such that the IRLS weights take into account the gradients in all directions.

This will yield sphere-like compact bodies. Having rounded edges is more practical to approximate folded geology, so usually more desirable to work with.