Preheat oven to 350°. Spray two 9x2 inch round cake pans with non-stick cooking spray with flour.
In a large mixing bowl, whisk together flour, sugar, cocoa, baking soda, and salt.
In a large measuring cup, whisk together water, oil, vinegar, and vanilla. Add to dry ingredients and whisk just until blended.
Divide batter between pans. Bake 25 -35 minutes until a toothpick inserted in the center comes out clean. Cool cakes in the pans on a rack for 15 minutes, then invert them onto a wire rack. Leave cakes upside down (this flattens domed cakes) to cool completely.
Prepare single layer as directed above using one 9x2 inch round cake pan.
Chocolate Ganache
Place chocolate in a glass bowl. Heat heavy cream over medium high heat just until it comes to a boil.
Remove from heat and immediately pour cream over chocolate and stir until chocolate is completely melted. Cool until ganache is thickened and has a spreadable consistency. (I cooled mine in the fridge for about an hour stirring every 10 minutes.)
Coconut Cream Cheese Filling
Beat together cream cheese, coconut oil, sour cream, and vanilla until blended, scraping down bowl as needed. Beat in confectioners' sugar until smooth. Stir in cooled toasted coconut.
Assembling cake
When the cake layers are cool and ganache has thickened, evenly spread half of the filling on bottom layer, carefully stack the second layer on top of filling. Spread the remaining half of the filling on the second cake layer, then stack the third layer on top of the filling.
Frost the top and sides of the cake with the chocolate ganache. Decorate with chocolate curls, optional Refrigerate until ready to serve.
*I made the following high altitude adjustments: Decreased the sugar by 2 tablespoons, used 1 ½ teaspoons baking soda and 2 ¼ cup hot water.