Fitting partial charges in an oxide

We are trying to fit a potential for HfO2 with partial charges for Hf and O. We would like to represent O using the shell model of Dick and Overhauser. I understood that I can do this using monopoleq tag under observables. For example

monopoleq 5
1 2.400 #Hf
2 0.4241 #O core
3 0.4241 # O core
4 -1.6241 # O shel
5 -1.6241 # Oshel

The two issues I have are:
(1) how to tell GULP that these charge are initial guesses rather than observables to fit for.
(2) Somehow GULP ends up with different charges for the two oxygens. Is it possible to enforce that both oxygen cores should have the same charge and both oxygen shels shouls have the same charge? From symmetry (nonoclinc space group 14) the two oxygens are different but I still would like to enforce the same charges on both of them.
Any help is highly appreciated.

Hi Mostafa,
The monopoleq isn’t actually the option you want. You should actually use
the “charge” option to fit the charges of the species. This will then keep the oxygen charges the same because it works with the species type rather than individual atoms.

Thank you so much, Julian! This helps.