The eruption of Eyjafjallajökull?
Batch, 284 bytes
@set e=echo
@%e%off
set s=
set t=
goto %1
:RED
set t= `
%e% `~ ~ ~ ~ ~ ~`
:ORANGE
%e% %t%~ ~ ~%t%
:YELLOW
%e% %t%~ ~%t%
%e%%s%%t%~%t%
:GREEN
%e%%s%al la
%e% j%s% j
%e% jaf %s% oku
%e% y %s%%s% l
%e%E%s%%s%%s%l
%e%--------------------
Note: Lines 1 and 7 have one trailing space, line 3 has six and line 4 has three.
Ruby, 161
Here's my take on Iceland's famous landmark, the Eyjafjallajökull Tower.
Reasonably short but I haven't come up with a good way to golf the smoke yet.
->n{m=85-n[-3].ord>>2
%w{`~+~+~+~+~+~` `+~++~++~+` `+~+++~+` `+~+` al%3sla j%7sj jaf%9soku y%15sl E%17sl}.map{|i|(i%"").tr(?++?`*m," ").center(19)}[m,9]+[?-*19]}
Ungolfed in test program
f=->n{m=85-n[-3].ord>>2 #From ASCII code of 3rd from last letter, derive m=0 for RED up to 4 for GREEN (uppercase.)
%w{`~+~+~+~+~+~` `+~++~++~+` `+~+++~+` `+~+` al%3sla j%7sj jaf%9soku y%15sl E%17sl}.
map{|i| #For each line above decode as follows:
(i%""). #Replace %Xs with X spaces, by inserting empty strings and padding sprintf style.
tr(?++?`*m," "). #Replace + with space. If not red, replace ` with space.
center(19)}[m,9]+ #Centre output to 19 characters per line. Start printing at line m and go on to the end (never more than 9 lines.)
[?-*19] #Add a row of --- at the bottom.
}
puts f[gets.chomp]