Sumário
Dada a posição do sol, é possível criar facilmente uma grade da intensidade da luz da superfície (ignorando os efeitos atmosféricos e topográficos) nas coordenadas lat-lon. Reprojete essa grade conforme desejado e sobreponha-a no mapa.
Detalhes
As fórmulas são as padrão para coordenadas esféricas: o vetor unitário correspondente a uma coordenada esférica (lon, lat) é
(cos(lon)cos(lat), sin(lon)cos(lat), sin(lat)).
A intensidade depende do cosseno entre a direção normal externa da unidade ("para cima") e a direção do sol. Esse cosseno é apenas o produto escalar desses dois vetores unitários. Ou seja, seja (x, y, z) o vetor unitário apontando para o sol (em coordenadas geocêntricas), converta o geodésico (lat, lon) do ponto central de cada célula da grade em um vetor unitário (xi, eta, zeta) e calcular
(x,y,z) . (xi, eta, zeta) = x*xi + y*eta + z*zeta.
Quaisquer resultados menores que 0 correspondem a um sol invisível, portanto, defina-os como zero.
Notas de implementação
Esses cálculos são fáceis de executar com álgebra de mapa, começando com uma grade de valores (lat, lon) (como fiz) ou com um par de grades, uma para latitude e outra para longitude (que é como você teria para fazer isso com o software ESRI, por exemplo).
(Para criar uma grade de latitude ou longitude, forme as coordenadas y ou x, respectivamente, em coordenadas geográficas, depois projete-as.) A partir dessas informações iniciais, calcule, de uma vez por todas, três grades [xi], [eta ] e [zeta] (ou uma única grade com valor vetorial [xi, eta, zeta]) para representar as direções para cima nas células da grade. Para qualquer posição do sol, o cálculo se torna a combinação linear simples de [xi], [eta] e [zeta] fornecida acima; o sol determina os coeficientes x, ye z (que são apenas números, é claro).
Exemplo
Aqui está um mapa-múndi na projeção Plate Carree de uma grade dessa intensidade (216 por 432 células).
O meridiano principal fica no centro e o norte está no topo, como de costume. Para esse cálculo, defino o vetor do sol proporcional a (0,6, -0,8, 0,5), para aproximar um dia de verão ao meio-dia sobre o meio do Oceano Atlântico. (Em retrospecto, um valor-z de 0,4 seria mais realista; o sol nunca chega tão ao norte).
Uma sobreposição alfa (que torna as áreas mais brilhantes também um pouco mais transparentes) em um mapa colorido do Aster produz essa imagem.
À medida que o tempo muda, o vetor do sol (x, y, z) é recalculado, exigindo um recálculo da grade de intensidade. Este é um cálculo rápido. Você também não precisa de alta resolução: usei apenas um décimo da resolução da grade original (2160 por 4320 células) para esta ilustração. A interpolação usada para exibir a grade de intensidade mais grossa funciona muito bem para preencher as lacunas. Isso deve permitir que você modifique a exibição quase instantaneamente, se desejar, criando uma animação suave.