For the rice: Heat a 3 quart saucepan over medium-high heat, and add 1 tablespoon of olive oil. Add ½ cup of the chopped onion, and saute for 5 minutes.
Add the rice and continue to sauté for another 3 minutes more.
Add the water, salt, and saffron.
Bring to a boil, cover the pan, and reduce the heat to low.
Cook the rice for 20 minutes, or until the water is absorbed, and rice is fluffy. Set the rice aside.
For the soup: Heat a stockpot over medium-high heat.
Add the remaining olive oil, onion, celery, and garlic
Saute, stirring frequently for 10 minutes.
Add the beans, stock, tomatoes, coriander and sherry.
Bring to a boil.
Reduce the heat to medium-low and simmer for approximately 30 minutes.
Add cilantro, habanero pepper, lime juice, and season with salt and pepper as desired.
To serve, add a scoop of rice to each bowl, ladel the soup over, and garnish each bowl with scallions.