News:

Simutrans Forum Archive
A complete record of the old Simutrans Forum.

Climate based on latitude

Started by prissi, September 02, 2020, 08:18:20 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

prissi

In principle simutrans is now prepared to have another climate generator. Latitude is difficult, as it depends on scale of the map as well as several other factors. The climate at 50 degree north can vary a lot from hot to cold from wet to dry, so mediterran is possible as well as tundra. Also the percieved map size goes in. SO I would say, this is another third climate generator needed for it.

Andyh

The way
Quote from: prissi on September 02, 2020, 08:18:20 AMIn principle simutrans is now prepared to have another climate generator. Latitude is difficult, as it depends on scale of the map as well as several other factors. The climate at 50 degree north can vary a lot from hot to cold from wet to dry, so mediterran is possible as well as tundra. Also the percieved map size goes in. SO I would say, this is another third climate generator needed for it.



Yes, real world climate is dependent on multiple factors, but there's a general relationship between latitude and climate just as there is between height and climate. There's a reason why "Tropical" and "Arctic" climates are so named.  For that reason I've always thought the best way to model climate in Simutrans is through a multivariate function, rather than a set of independent models.  Something like, at minimum:


C=f(L,H,M)


C-Climate
L- Latitude
H-Height
M-Moisture/humidity


Users would choose the weight they attribute to each component of the model depending on the type of map they were making.  See below for a very simple implementation of the concept for a 10x10 map...  The humidity model is probably wrong but hopefully you get the idea.



prissi

I am not saying you cannot combine them. But for having such latitude settings, you need to define
1) direction (angle) of north on the map
2) climate at top of map
3) climate at center of map (or there would be no world maps going over the equator)
4) climate at bottom of map at sea level
at least to infer all the other values from it. The temperature would correlate directly with the mean inclination of the sunlight. (Well technically also the planet axis tilt is important for length of summer season/or the width of equatorial region. Since extraterrestrial paks had not much addition in recent years, we can safely assume earth's values here).

Andyh

I don't necessarily disagree with any of this, but is it any more difficult to implement that the Humidity-->Climate algorithm?  Frankly the humidity algorithm looks way more complex than anything I have in mind for latitude.

Quote from: prissi on September 03, 2020, 12:11:23 AM1) direction (angle) of north on the map


We don't allow users to choose the direction of "North" in any other context in Simutrans.  Why would we do that here?  Can we not just use the top of the map?
Quote from: prissi on September 03, 2020, 12:11:23 AM2) climate at top of map 3) climate at center of map (or there would be no world maps going over the equator) 4) climate at bottom of map at sea level



For the latitude component I'm envisioning a UI with:


1. A selector for the user to choose where the equator runs (as a percentage of the N-S dimension of the map).  By convention, for a map wholly within the Northern Hemisphere, this value would be 100% (i.e. right at the bottom of the map) and for a map wholly within the Southern Hemisphere this value would be 0% (i.e. right at the top of the map).

2. A set of selectors, one for each climate.  Instead of heights, these would have the number of tiles north (positive) or south (negative) of the equator of the highest latitude of that climate at sea level.


Other rules
a. Climates who's zones fall wholly outside the N-S boundaries of the map wouldn't appear. 
b. Climates zones would be mirrored north and south of the equator for maps that cross the equator


Examples (all based on a 512x512 map)


Ex. 1
Equator: 100%


Arctic: 512
Tundra: 512
Temperate: 512
Med: 256
Tropical:0


Produces a northern hemisphere map with a climate a bit like like France, split between Temperate and Mediterranean


Ex 2



Equator: 100%


Arctic: 512
Tundra: 512
Temperate: 384
Med: 0
Tropical: 0
Produces a northern hemisphere map with a climate a bit like like Britain, mostly Temperate with a small bit of Tundra in northern Scotland.
Ex 3

Equator: 100%


Arctic: 512
Tundra: 448
Temperate: 384
Med: 196
Tropical: 64

North America (well the US and Canada).  Even though you'd be insane to model that on a 512x512 map



Ex 4

Equator: 15%


Arctic: -512
Tundra: -512
Temperate: -512
Med: -512
Tropical: -256


Brazil.  Spans the equator.  Mostly tropical.  Small sub-tropical zone in south.  Tropical zone would extend north and south of equator (see Rule (b) above) and right up to northern edge of map (because the map only extends 15% x 512 = 76 tiles north of the equator)




Ex 5

Equator: 0%


Arctic: -512
Tundra: -512
Temperate: -512
Med: -384
Tropical: -128


Australia

















 

prissi

Therae are lots of maps where north is not north (like a map of Japan for isntance), or Australia ...

The climates are very different the further away from sea level you are.

Anyway, your statement clearly shows, that you are in for a third type of climate generator, which is not so difficult to add now.

I have seperated the threads and moved to extension request discussion.

Andyh


Quote from: prissi on September 03, 2020, 03:38:48 AMTherae are lots of maps where north is not north (like a map of Japan for isntance), or Australia ..

I'm sure there are exceptions, but all the published maps of Japan and Australia conform to the "up is North" convention.  Even though Australia is in the southern hemisphere it's not usual to "reverse polarity".

     
Quote from: prissi on September 03, 2020, 03:38:48 AMThe climates are very different the further away from sea level you are.

Exactly.  That was the intended point of my earlier post (with my little Excel example).  Climate is a multi-variate system.


Quote from: prissi on September 03, 2020, 03:38:48 AMAnyway, your statement clearly shows, that you are in for a third type of climate generator, which is not so difficult to add now.

I think you've misunderstood my proposal.  I don't think a model in which climate is just controlled by latitude is any better than a system where it's just controlled by height.  The proposal was intended to show how the latitude component of a multi-variate model might work.

To switch gears slightly, did anything ever come of the climate-mapping idea?  I don't know what other players might think but to my mind that could be preferable to a more complex climate generator, but I make heavy use of height maps so I'm a little biase
d.

prissi

A map based climate gernerator would be almost trivial, since now there is an internal climate map to restore climates after terraforming. That could be option three as well. That could as well denine rivers and lakes and forests.

And at least for Japan, there are many maps of Japan where north is on top. Liek here http://ontheworldmap.com/japan/japan-tourist-map.jpg Traditionally, north was not considered important at historic times for Japanese land maps. Also for a European map, I would like to tilt the north diretion, since Scotland is much warmer than Finland at the same latitude.

Andyh


Quote from: prissi on September 03, 2020, 08:39:35 AMA map based climate gernerator would be almost trivial, since now there is an internal climate map to restore climates after terraforming. That could be option three as well. That could as well denine rivers and lakes and forests.


This would be Simutrans Nirvana for me!  The ability to generate climates and geographical features from an image file would be the perfect solution for map creation IMHO.

isidoro

Quote from: prissi on September 03, 2020, 08:39:35 AM
[...]
Also for a European map, I would like to tilt the north diretion, since Scotland is much warmer than Finland at the same latitude.

So the parameter isn't really latitude any longer.  Latitude is a misnomer in this case.  It could be called coldness or something like that.  Probably the climate of Scotland is milder than that of Finland for the effect of the sea.

prissi

I highly doubt we could realistically enter the gulf stream into the caluclation. One could do somethign similar than the humidity, but instead temperature base on winter snowline and artic hight, one would base them on the top and bottom of the map, and define a gradient direction as well as an equator.

The climate map loads is really trivial. The only problem is on how assigning the climates. black desert, white for artic and then all five levels in between? (Lakes andrivers are a little more work.)

Andyh

Quote from: prissi on September 04, 2020, 12:57:43 AMThe climate map loads is really trivial. The only problem is on how assigning the climates. black desert, white for artic and then all five levels in between? (Lakes andrivers are a little more work.)

I think the suggestion for climates sounds fine.

Possible to use color channels?  (I saw a post on this topic a while back).  With a image editor that supports layers (e.g. Gimp) one could easily put one channel on each layer to compose the map and then create a composite JPG/PNG/whatever for upload.  For example:

Green channel for climate (along the lines you suggested: G=0: Desert, G=255 Arctic and the other climates distributed in between);
Blue channel for water features (e.g. B=0-128 for rivers; B-129-255 for lakes of varying depth)
Red channel for Trees (in its simplest form R=0-128 no trees; R=129-255 trees... but could the color shade also denote the thickness of the tree cover?)

Alternatively: would it be easier to have separate grey-scale maps for climate, water features and tree cover?


prissi

While it is easy to convert, such a map is hard on the user. If one has anyway seperate layers one could also have seperate maps. But I am open to both sugestions.

Andyh

On reflection maybe having separate maps would be slightly superior.  Slightly more intuitive for users, and users would then have the option to pick and choose among the three functions (climates, surface water and/or trees).