Hi!
It is hard to understand what the error is if you don't give information about the error message itself.
However, I can see that you have not declared your variables correctly: you now use I69 in the QUASI-BUBBLE part, but there is only I4 that is declared:
INTEGER IELEM,I,I4,NSOM,DISCLIN
You should get a compilation error saying that I69 has no implicit type or smthg similar. Just replace I4 by I69 in the line above.
Beware that in the following line you still have I4 whereas it is not initialized before in the code Just replace it by I69.
IF(INPOLY(X69,Y69,XSOM,YSOM,NSOM)) AIRE = AIRE + T1%R(I4)
To use dragfo, keep in mind that you need to have VERTICAL STRUCTURES = YES in your cas file. This is what triggers the call to dragfo.
The subroutine you posted might be from an older version, I would suggest that you use the file from the version you are running.
Finally, I haven't worked with dragfo in years now, so I cannot garantee that what I suggest here is the way to go. But it should at least help you going further.
A last thing, if you have a complex polygon it might be a better idea to use PRIVATE VARIABLES (stored in the mesh file, see the manual and some examples using it like telemac2d/pluie) in order to identify which nodes drag should be applied to. If you are not familiar with fortran (which you should maybe work on if you are willing to use subroutines like dragfo...) it may not be the right advice to give you just now, but it is a far more convenient way to perform operations on given mesh areas / nodes. And it is not complicated, you just need to take the time to understand how it works.
Good luck!
Kind regards
PL