In a small saucepan, combine 2 cups of water, the rice, a big pinch of salt, and 1 Tablespoon of the ghee/butter. Bring to a boil. Reduce the heat to a simmer, cover, and cook for 18 minutes. Remove from heat and let the rice sit (covered) for 10 minutes. Fluff it with a fork and then stir in the juice of ½ a lime.
Preheat the oven to 450 F degrees. Position a rack 6 inches from the heat source.
Warm a medium saucepan over medium heat. Add 1 Tablespoon of the ghee/butter. As soon as it has melted, add the shallots and chile peppers. Season with a pinch of salt. Cook for about 2 minutes, stirring often. Add the garlic and cook, until fragrant, about one minute. Do not let the garlic burn.
Add 1 teaspoon of the smoked paprika, ½ teaspoon of the coriander, ½ teaspoon of the cumin, and all of the cardamom. Add the tomato paste and combine with the spices. Cook for a few seconds. Add the coconut milk a little at a time, stirring constantly to columbine, and add a pinch of salt. Bring to a simmer. Reduce the heat to medium-low and simmer for about 10 minutes, or until thickened. Stir in the juice of 1 lime.
Meanwhile, in a large bowl, mix together the olive oil, maple syrup, juice of ½ a lime, remaining 1 teaspoon of smoked paprika, ½ teaspoon of coriander, and ½ teaspoon of cumin, and a pinch of salt. Add the salmon and toss to combine.
Arrange the salmon on a baking sheet (I wouldn’t line it with parchment because it will burn). Roast for 4-6 minutes. If you are cooking wild salmon or sockeye, you can cook for 4 minutes. You want to cook the fish until it’s underdone. Turn the oven to high broil and broil for 1-2 minutes, or until slightly charred and cooked though.
Scoop some rice onto individual bowls and place the salmon on top. Spoon the sauce over everything. Garnish with cilantro.