Public
Edited
Sep 27, 2023
Insert cell
# Wolkenatlas
Insert cell
CLOUD_LEVELS = ({
Low: "LOW",
Middle: "MIDDLE",
High: "HIGH",
})
Insert cell
CLOUD_FUZZINESS = ({
Low: "LOW",
Mixed: "MIXED",
High: "HIGH",
})
Insert cell
SKY_COVERAGE = ({
Sublime: "SUBLIME",
Partly: "PARTLY",
Fully: "FULLY",
})
Insert cell
Insert cell
Insert cell
CLOUD_SPECIES = [
{
id: "fib",
name: "fibratus",
clouds: ["Ci", "Cs"]
},
{
id: "unc",
name: "unicus",
clouds: ["Ci"]
},
{
id: "spi",
name: "spissatus",
clouds: ["Ci"]
},
{
id: "cas",
name: "castellanus",
clouds: ["Ci", "Cc", "Ac", "Sc"]
},
{
id: "floc",
name: "floccus",
clouds: ["Ci", "Cc", "Ac", "Sc"]
},
{
id: "str",
name: "stratiformis",
clouds: ["Cc", "Ac", "Sc"]
},
{
id: "len",
name: "lenticularis",
clouds: ["Cc", "Ac", "Sc"]
},
{
id: "vol",
name: "volutus",
clouds: ["Ac", "Sc"]
},
{
id: "neb",
name: "nebulosus",
clouds: ["Cs", "St"]
},
{
id: "fra",
name: "fractus",
clouds: ["St", "Cu"]
},
{
id: "hum",
name: "humilis",
clouds: ["Cu"]
},
{
id: "med",
name: "mediocris",
clouds: ["Cu"]
},
{
id: "con",
name: "congestus",
clouds: ["Cu"]
},
{
id: "cal",
name: "calvus",
clouds: ["Cb"]
},
{
id: "cap",
name: "capillatus",
clouds: ["Cb"]
}
]
Insert cell
selected_clouds = CLOUD_GENERA.filter(c => c.level === level && c.fuzziness === fuzziness /*&& c.coverage.includes(coverage)*/).map(c => {
const href = `https://cloudatlas.wmo.int/en/clouds-genera-${c.name.toLowerCase()}.html`;
const cartoon = `https://cloudatlas.wmo.int/images/cartoon/${c.name}.jpg`
const species = CLOUD_SPECIES.filter(s => s.clouds.includes(c.id));
return { ...c, href, cartoon, species }
})
Insert cell
Insert cell
Insert cell
selected_cloud_variants = CLOUD_VARIANTS.filter(v => v.clouds.some(c => selected_level_clouds.includes(c)))
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more