add _init_subdomains() to self.initialise() and add defence against forgetting to run self.set_parameters