This could be done with control functions. You could define your fire as a series of concentric rings (or whatever geometry pattern for spread you need) each with its own RAMP. The value of that RAMP can then be set to reflect some t^2 growth profile times an extinguishing factor for that particular segment of the fire. The HRRPUA RAMP would just be a linear RAMP. You would need something like:
&SURF ID='FIRE Ring 1',HRRPUA=xxxxxx, RAMP_Q='FIRE Ring 1'/
&RAMP ID='FIRE Ring 1',T=0,F=0,CTRL_ID='FIRE Ring 1 Size'/
&RAMP ID='FIRE Ring 1',T=1,F=1/
&CTRL ID='FIRE Ring 1 Size', FUNCTION_TYPE='MULTIPLY',INPUT_ID='FIRE Ring 1 t2','FIRE Ring 1 Ext'/
&CTRL ID='FIRE Ring 1 t2', FUNCTION_TYPE='CUSTOM',RAMP_ID='FIRE Ring 1 t2 RAMP',INPUT_ID='TIMER'/
The RAMP for FIRE Ring 1 t2 RAMP would just be the growth profile for Ring 1 of the burner and the input TIMER would be a TIME DEVC where you probably freeze it once suppression starts.
You would have to build some set of math CTRL functions for FIRE Ring 1 Ext which would reflect the amount to reduce the fire size. It would be 1 before extinguishment starts and then decrease over time as extinguishing takes place.
The CTRL FIRE Ring 1 Size multiplies the t2 RAMP by the extinguishing factor and that value is passed via the FIRE Ring 1 RAMP to the SURF for FIRE Ring 1.
You would need a similar set of functions for the other rings of the burner.