Place the ancho chiles in a bowl, cover with 2 cups boiling water, and let them sit for 10 minutes until they plump up and rehydrate.
In a soup pot, heat the butter and oil over medium heat. Once the butter is melted and bubbly, add the onion and cook for 4 to 5 minutes, until softened and the edges begin to brown. Add the garlic, stir and cook for a minute until fragrant. Increase the heat to medium-high and incorporate the chopped tomato, cook for 6 to 7 minutes, until softened. Sprinkle the flour on top of the cooking vegetables, stir well, and let cook for another minute or so, stirring frequently, until the flour starts to brown and smell toasty. Pour in the broth or water and bring to a simmer.
Meanwhile, place the ancho chiles along with a cup of their soaking water into a blender, and puree until completely smooth. Add the chile puree, along with the thyme, marjoram, oregano, cumin, bay leaf, salt, pepper, pickled jalapeño and its vinegar to the soup, and mix well. Once it returns to a simmer, reduce the heat to medium, and let it cook for 15 minutes with the lid ajar.
Add the carrots, potatoes, and fish pieces and continue to cook for 10 more minutes, until vegetables and fish are completely cooked through.
Serve hot, along with lime wedges and chopped cilantro for people to add to their taste. I like it with crusty bread, such as a baguette, on the side.