Tinker mostly works using global variables, all the variables related to the same problem are collected in a Fortran module, and whenever they need to be used, the corresponding module is imported. In our case, we followed the same pattern and we created a ddx_interface module. This contains pointers to the ddX quantities (model, state, error, and electrostatics) and temporary storage for the parameters.