Preheat the grill to high (250-275C/480-520F). Slice the courgettes in quarters lengthways, and chop into smallish chunks. Cut the asparagus into short lengths, discarding the last 5cm/2in or so of each stalk.
Beat the eggs with some salt and pepper and most of the dill.
Heat the oil in a medium frying pan, approximately 23cm, and fry the courgette over a high heat for two minutes or so to soften them, stirring often. Add the asparagus and cook for two minutes, until bright green and just tender and the courgette is browned here and there.
Meanwhile, crush the garlic and finely slice the spring onions. Cut the cheese into small chunks.
Add the garlic and two-thirds of the spring onions to the pan, grate in most of the lemon zest, fry for one minute, then pour in the eggs and scatter in half the cheese.
With the pan over a medium heat, cook the omelette slowly, stirring gently to allow the runny egg on top to meet the heat of the pan. The egg will start to set like ribbons. When the egg is softly set all the way through, and slightly runny on top, remove from the heat.
Scatter the omelette with the rest of the onions and cheese, then grill for two minutes or until just golden-brown.
Finish with the rest of the dill and lemon zest, and a drizzle of extra virgin olive oil of you like, then serve in wedges.