Corrected bug : Following syntax
DO WHILE ( sub_area(ib,idi) > zero )
is not possible because sub_area might be fully filled up. Last index in sub_area is not necessary <0 even though ok_interpol=.TRUE.