There are 3 diving zones around Bali : South Bali (Nusa Penida, Nusa Lembongan, Sanur) East Coast of Bali (Padang bai, Candidasa, Tulamben, Amed) & North West Coast of Bali (Menjangan Island, Permutaran, Lovina, Gilimanuk).
The dive season is year round in Bali although conditions do vary from time to time and location to location. December to March is rainy season (although most days it doesn't rain) and there are fewer scuba divers around. However, visibility is sometimes a little reduced around the north and west of the island.
The best conditions to dive in Tulamben can be found between early April to July, October and November. It is dry season during these months and visibility can reach a spectacular 40 metres at this time of year.
The diving around Nusa Lembongan and Nusa Penida is good all year round and visibility is generally 20-30 metres. Water temperatures are usually 25-26°C except during mola mola season when it can drop to the low 20's. Sunfish, sharks and other large pelagics are best spotted between June and September which is also the time when seas might be both disturbed and enriched by the monsoon winds. The best time to see mantas is from April until June, although they are present all year round.