Page 1 of 1

Earth seasons add-on

Posted: 15.07.2017, 20:54
by catwrings
I made an add-on that switches Earth's texture as time passes to simulate seasonal changes. How to do this had already been described in https://celestiaproject.net/forum/viewtopic.php?f=4&t=15909, but I did not found a packaged add-on. This add-on works standalone with a script or alongside lua edu tools with a checkbox.

It has some defects, I took the maps from BMNG but they miss the polar ice, I do not know were to find a high resolution seasonal polar cap. Also, it seems Antarctica is the same for all months. If someone can give me a hint on these, she is welcome! Also, I would like to have feedback about if this is already polished enough to be sent to the Motherlode.

I attach a version with 2k maps:
seasons-2017-07-15.zip
(7.33 MiB) Downloaded 950 times

Posted: 16.07.2017, 11:21
by FarGetaNik
At first look, your addon is good quality and the script working when executed properly.

There are a few minor nitpick I have:
- you could name the alternate textures "Janurary", "February", "March" ... instead of "month-01", "month-02" etc.
- there seem to be a few useless files in the zip and a doublicate for MACOSX. Since I don't use MAC I wonder if that is necessary?
- personally I use different specular parameters to make Earth look more realistic instead of the default Celestia ones, but I guess this is not directly related to your addon :wink:

Oh and about the BMNG textures, I assume you know the place to download them. I only could find this version with polar sea ice But I don't like it very much. I discussed this matter with scalbers on this topic. Antartica is the same all months because there is only a short window for a satellite to map it during polar day and this data was probably just copied to fill the gaps during southern winter.

Posted: 16.07.2017, 21:55
by catwrings
you could name the alternate textures "Janurary", "February", "March" ... instead of "month-01", "month-02" etc.
I use numbers to keep scripts simple, I'm too lazy to write 12 words :smile:.

there seem to be a few useless files in the zip and a doublicate for MACOSX. Since I don't use MAC I wonder if that is necessary?
The extra files are completely useless, on a Mac they are merged/hidden automatically. Next time I will use a non-Mac utility to zip.

personally I use different specular parameters to make Earth look more realistic instead of the default Celestia ones, but I guess this is not directly related to your addon :wink:
If you have opinions on what the specular parameters should be, please tell me and I will apply them, you are surely more authoritative than me on that. Other question: I use a specular map that is reflective on water; should there be some reflection also on ice?

Oh and about the BMNG textures, I assume you know the place to download them. I only could find this version with polar sea ice But I don't like it very much. I discussed this matter with scalbers on this topic. Antartica is the same all months because there is only a short window for a satellite to map it during polar day and this data was probably just copied to fill the gaps during southern winter.
I found two sources of sea ice data: Sea Ice Index and CryoSat.
Images from the first:
north-daily-extent-geotiff.jpg
north-daily-extent-geotiff.jpg (23.39 KiB) Viewed 11893 times
south-daily-geotiff-extent.jpg
south-daily-geotiff-extent.jpg (12.74 KiB) Viewed 11893 times

Image from the second:
thk_2014_Autumn.png

The first has daily and monthly data for decades at low resolution, the second has recent years autumn/spring maps at 1 km resolution.
I plan to use the low spatial resolution data to generate a sea ice texture with an ad hoc program; the texture should change depending on the concentration somewhat, but for a first try a plain white should be fine.

Posted: 16.07.2017, 22:10
by FarGetaNik
catwrings wrote:If you have opinions on what the specular parameters should be, please tell me and I will apply them, you are surely more authoritative than me on that. Other question: I use a specular map that is reflective on water; should there be some reflection also on ice?

Personally, I use these parameters

Code: Select all

   SpecularColor   [ 0.52 0.46 0.37 ]
   SpecularPower   120

but these are subject to constant change on my installation. I noticed it because I think the default parameters are not very realistic and quite different from these. I won't say I'm more "authoriative" in that matter, I just find Earth looks more realistic that way :) Celestia doesn't have accurate specular reflection anyways. :sad: Specular reflection also occurs on ice, but maybe not with the same specular parameters compared to water. I think it comes down to personal preference and specular data you have access to.

catwrings wrote:The first has daily and monthly data for decades at low resolution, the second has recent years autumn/spring maps at 1 km resolution.
I plan to use the low spatial resolution data to generate a sea ice texture with an ad hoc program; the texture should change depending on the concentration somewhat, but for a first try a plain white should be fine.

This data is probably more accurate, but you have to try somethng so it looks consistent with an high resolution texture.

Posted: 16.07.2017, 22:32
by catwrings
SpecularPower 120
Do you mean 12.0? With 120 I get a herd of white speckles.

Posted: 17.07.2017, 09:22
by FarGetaNik
catwrings wrote:Do you mean 12.0? With 120 I get a herd of white speckles.

No I seriously have it at 120. It looks like this on my installation:

Earth-specular.jpg


When comparing it to let's say DISCOVR images, the specular spot is rather small, hence I use this high specular power. Did you also use a darker specular color? If it still looks odd, use values just a bit higher to find the limit when it gets glitched, like 50, 75, 100... could you show how these speckles look?

Earth seasons add-on

Posted: 17.07.2017, 10:14
by catwrings
Ok, I found the problem, it is my dds normal map, with the same normal map in png the speckles go away. Anyway, here the speckles (open the image to see them):
Schermata 2017-07-17 alle 11.42.31.jpg

Posted: 17.07.2017, 10:21
by FarGetaNik
OK it should have nothing to do with the specularity then, supposing you use a spec map that is black where any topography shows up. But I also get some weird incompatibilities with different texture types sometimes...

Posted: 18.07.2017, 21:34
by catwrings
I made some progress. In the SII maps I consider coastline pixels as ice if they are near an ice pixel (also along diagonal). Then I change projection and increase image size with a smooth resampling. Finally, I use altimetry data to cut ice along the coasts. Here the result for January 2004 at 4k; green is ice with height = 0 and red is ice with height != 0:
bmng-ice.jpg

The source files:
icen.png
ices.png
ices.png (18.57 KiB) Viewed 11845 times

Problems:
1) As can be seen in Greenland, when there are deep fiords, the original low-res map does not see them so they remain without ice when probably they are full.
2) The high difference in resolution + change of projection make the smooth resampling insufficient, in the sea-ice border the pixels are visible.
3) There seem to be a misalignment between GTOPO30 and BMNG at high latitudes.
Of course these could be adjusted by hand on a single map but the intent is to have it automatic to process all data in the SII.

Posted: 19.07.2017, 06:18
by FarGetaNik
Honestly this does look quite nice already. I see the main problem is the low resolution. I think it wouldn't be that hard to paint on the map to make the boarders sharper (or noise to make it look more natural), just use polar projection for that process to save some work. Maybe you can use a specular map as a mask to align the sea ice better with the continents? Of course there will still be some missalignement, but hopefully an improvement.

Posted: 19.07.2017, 17:35
by catwrings
Progress:
a) Problem (1) solved by expanding in a proper way the "ice contagion".
b) Problem (3) solved by using BMNG above 78.4° and below -65.2° to cut the ice along the coast. There are still some artifacts but they can be reduced by calibrating the response function.

Maybe you can use a specular map as a mask to align the sea ice better with the continents? Of course there will still be some missalignement, but hopefully an improvement.
The water mask agreed with altimetry so there still was a misalignment, which I solved with (b), but finally I switched using the water mask anyway because it was simpler to implement antialiasing along the coast.

Image with sea ice as 0xfa:
bmng-ice.jpg

Posted: 24.07.2017, 23:49
by catwrings
Progress: use daily concentration data instead of monthly extent data (makes sense since one is looking at the Earth in a precise moment) and added some noise:
bmng-ice-sprite30a.jpg

Posted: 25.07.2017, 10:43
by FarGetaNik
Looking pretty good! I don't think that a sea ice would be pure white, so this version looks more realistic. You might as well use more wide-scale noise to cover up the low resolution artifacts.

Posted: 25.08.2017, 22:14
by catwrings
You might as well use more wide-scale noise to cover up the low resolution artifacts.

Working on that. In the meantime, I made a release without noise at 4k:
seasons-2017-08-25.zip
(41.18 MiB) Downloaded 598 times

Posted: 27.08.2017, 16:17
by FarGetaNik
Virtual Textures are a nice touch, but only necessary at higher resolutions. The addon zip is missing a script file btw.

You might find this one interesting: I found a map of Earth's sea ice at 16k resolution! You find these thing only by accident it seems... not when actually searching for it.
http://www.shadedrelief.com/natural3/pages/extra.html

Terms of use also say public domain :wink:

Posted: 27.08.2017, 19:59
by themartian
this will be useful for my earthlike 90 degrees inclinated planet

Posted: 27.08.2017, 21:13
by catwrings
Virtual Textures are a nice touch, but only necessary at higher resolutions.

Well, when I use non-VT I see a polar pinch effect which disappears converting the same texture to VT.

You might find this one interesting: I found a map of Earth's sea ice at 16k resolution!

I will use it to check the final result of adding noise/generation to the SIIDX. On that page there's also a watermask with full latitude coverage, this is really useful!