In a large pot over medium heat, add the oil and the shallot and cook for 2 to 3 minutes, until just cooked through. Then add the ginger and garlic and cook for 30 seconds, until fragrant. Add the potatoes, coconut milk, water, salt and turmeric. Bring to a boil, and then reduce to a simmer. Cook for 8 to 10 minutes, until the potatoes are fork-tender.
Add the cod and simmer for 4 minutes. Add the celery and cook for an additional 4 to 5 minutes, until the cod is cooked through and flaky. Remove from the heat and stir in the lime juice. Divide between bowls and top with cilantro, if using. Enjoy!