Morocco is a genuine year-round destination but the time you go will affect your itinerary. We recommend a stay in Marrakech or Fes at any time of year although only a short time in July or August when it can get very hot.
For Essaouira any time of year can be perfect as the sea means the winters are warmer and the summers cooler than Marrakech or Fes.
The Atlas mountains is also good at all times of year although a January or February trip may result in walking through snow even on a day trip.
The best time for the desert trips is from September through to May as mid-summer can get be very hot and windy.