Hi Troels, Please see below:
But I aimed for the auto generation of these plots as grace files, and was stuck until realizing what needed to be modified in relax, since just making the graphs looked wrong.
It's a pity that this doesn't work yet because the implementation is so close. All of the planning has been completed and you have written most of the code for the required infrastructure.
For an implementation in relax, we need something like: Function to ramp field values
This spin-lock field strength interpolation (and extension) code exists, but just needs to be shifted into its own function to simplify things. Well, there is a different interpolation used for the analytic and numeric CPMG models for the nu_CPMG values, so additional functions would be required (this could be put into one or two functions, that is not important).
Function to ramp offset values
After shifting the field strength interpolation into its own function, this can be duplicated and changed from the spin-lock field strength into the spin-lock offset.
Make function that return calculated R1rho data accept interpolated data
This already exists. The current code of the back_calc_r2eff() function only needs a single line of code for the calculation of the offsets shifted into the earlier function where the interpolation happens, and then the data passed back into this function with or without interpolation, and then everything will just work.
Make back calculation accept as well
There is nothing to do here, once the single line of code has been shifted. If the interpolated data structures are created and passed into it, this will just work. This code will not even know the difference.
Expand the grace write function
This also requires zero work, everything is already in place and the code should not be changed :) If you mean the relax_disp.plot_disp_curves user function, then this just needs to call the interpolation functions above to change the list of offsets. If the matplotlib plotting infrastructure was added to relax, it would be then easy to have this user function create a 3D surface graph of the R1rho dispersion curves. Cheers, Edward