Outerra forum

User mods, screenshots & videos => Aircraft => Topic started by: bomber on March 28, 2015, 03:31:13 pm

Title: Wind map
Post by: bomber on March 28, 2015, 03:31:13 pm
Update to the flight model to come.....  We need to work on a wind map...
Title: Re: Wind map
Post by: M7 on March 29, 2015, 05:23:05 pm
Update to the flight model to come.....  We need to work on a wind map...

Is that like a static map where at a given point on the map you would have x wind speed in y direction? and then air moving up and down as well?
Title: Re: Wind map
Post by: bomber on March 29, 2015, 05:34:10 pm
Yes something like that.... Colour index map...

If it has to start out as static,  then so be it, but over time if expect this map to be server derived so as we're all experiencing the same thing.
Title: Re: Wind map
Post by: M7 on March 29, 2015, 05:40:55 pm
That would be so cool!!!! a bit or a lot of unexpected would add so much to the experience of flying.
Title: Re: Wind map
Post by: bomber on March 29, 2015, 05:54:49 pm
I just think it's not outside the boundaries of our abilities to develop a system that looks at the layout of the land and calculates expected wind, shear , eddies etc ... not in real time, produces a 'map'. That can be then easily used by jsbsim to adjust certain inbuilt property values in real time.

It doesn't have to be real complicated to start with... 256 colours speeds from 0-what ever. another map 256 colours for direction (360 would be better but heck computers weren't thought of when the compass was created) and a grey scale map for speed of rising or sinking air.

Of course this has to be sync'd into the terrain such that for a given grid position we get a colour number, colour number, greyscale number.

The rest is JSBsim.

Look this is just an idea of how I'd go about doing it... if someone has a better idea great
Title: Re: Wind map
Post by: HiFlyer on March 29, 2015, 05:58:39 pm
I just think it's not outside the boundaries of our abilities to develop a system that looks at the layout of the land and calculates expected wind, shear , eddies etc ... not in real time, produces a 'map'. That can be then easily used by jsbsim to adjust certain inbuilt property values in real time.

It doesn't have to be real complicated to start with... 256 colours speeds from 0-what ever. another map 256 colours for direction (365 would be better but heck computers weren't thought of when the compass was created) and a grey scale map for speed of rising or sinking air.

Of course this has to be sync'd into the terrain such that for a given grid position we get a colour number, colour number, greyscale number.

The rest is JSBsim.

Look this is just an idea of how I'd go about doing it... if someone has a better idea great

I think, and that thought has become firmer in the last few weeks, that Outerra is close to functional equivalency with Aerofly, which is already on sale on Steam, and has been for quite some time. I wonder how much further things will go before a kickstarter moves from just talk to something actually on the horizon?
Title: Re: Wind map
Post by: M7 on March 29, 2015, 10:34:24 pm
I just think it's not outside the boundaries of our abilities to develop a system that looks at the layout of the land and calculates expected wind, shear , eddies etc ... not in real time, produces a 'map'. That can be then easily used by jsbsim to adjust certain inbuilt property values in real time.

It doesn't have to be real complicated to start with... 256 colours speeds from 0-what ever. another map 256 colours for direction (365 would be better but heck computers weren't thought of when the compass was created) and a grey scale map for speed of rising or sinking air.

Of course this has to be sync'd into the terrain such that for a given grid position we get a colour number, colour number, greyscale number.

The rest is JSBsim.

I'm just curious of the implication. The first implimentation  would be a 2d map but in the best world, it would be in 3d ? volumetric data from 0 to 30000 meters in altitude or something. And if a 100m resolution for world geometry equal to 12 Gig then say a 1000m resolution for wind map in 3d could be similar at 10Gig or more? Then the user could download only the  wind data map for it's location the same way you can download the geometry at the moment?

Title: Re: Wind map
Post by: bomber on March 30, 2015, 07:31:26 am
We really need this discussion oiking out into a separate thread.... Admin can you help here please...

Anyway have a look at this.

http://www.glidinghotspots.eu/index.php?module=simple&options=view;0002.xml#6

http://www.cugc.org.uk/node/45

Back to my thoughts...

First of all we need to separate out 'weather' from 'wind' , they're related sure in the same way as tides and waves are for the sea, but they're not the same thing...

So weathers a separate issue...

My thoughts are lets say we need something 'local' to an area.. a mountain range that describes the winds, thermals, shears etc within this set area

Also let me explain unlike the terrain (that everyone has to have) this is optional for those that want to use it during their flight... lets say a glider community want to set up a competition between point A and B for an event. They simply pre-run an app to generate a series of maps which are then distributed to the competitors prior to flight.

So I'm not thinking massive download for everyone.
Title: Re: Wind map
Post by: HiFlyer on March 30, 2015, 07:40:18 am
Hmmmmmmm..... any Idea how fsx, X-plane etc accomplish this in their worlds, without massive download sizes?
Title: Re: Wind map
Post by: Daikan on May 01, 2015, 06:49:22 pm
X-Plane provides a (near) real-time global weather option which is based on global METAR reports obtained online from http://weather.noaa.gov/pub/data/observations/metar/cycles/. However, I'm not sure if it interpolates the conditions in-between METAR stations or if it just uses the METAR of the nearest station as you fly along.

But what's really cool in X-Plane is the modeling of turbulence (e.g. up- and down-draft) caused by wind blowing over sloped terrain. It's really great for soaring and mountain flying...

Also, there are a number of free plugins which control X-Plane weather parameters in their own way (like for example [XPGFS] NOAA Weather (http://x-plane.joanpc.com/plugins/xpgfs-noaa-weather))
Title: Re: Wind map
Post by: bomber on May 02, 2015, 05:30:19 am
Yes weather has been solved using meta data for planet earth in xplane and flightgear, so for weather we could follow the same path...

Wind and turbulence have also had some work done in these app, the question is how good is it really and how does it work in cities and in mountainous areas
Title: Re: Wind map
Post by: PytonPago on June 28, 2016, 07:16:20 pm
Just found this site :

https://earth.nullschool.net/#current/wind/surface/level/orthographic=21.00,45.58,495 (https://earth.nullschool.net/#current/wind/surface/level/orthographic=21.00,45.58,495)

 ... seems interesting.
Title: Re: Wind map
Post by: zombie00 on June 28, 2016, 07:35:57 pm
Just found this site :

https://earth.nullschool.net/#current/wind/surface/level/orthographic=21.00,45.58,495 (https://earth.nullschool.net/#current/wind/surface/level/orthographic=21.00,45.58,495)

 ... seems interesting.

That's really cool, it can even display the wind at different heights or the waves and currents. It says the source for the wind map "GFS / NCEP / US National Weather Service", maybe making the heightmap as Bomber suggested isn't that hard. If we eventually get water physic simulation, having waves and currents based on real information would be way too awesome.
I also noticed it shows temperature and humidity, I'm not a planes expert, but could that be used as input for the simulation?
Title: Re: Wind map
Post by: PytonPago on June 29, 2016, 06:05:15 am
  Im sure there could be a way to get that info somehow, boht temparatures and winds and at different altitudes ... would be awesome to have this in OT !

  As for oceans ... im not sure how oceanic data is gained, probably hasnt enough localized data to see the whole ocean-volume properly in currents just as good as winds, especially if depth should be in mind too. But definitely would be a great thing.
Title: Re: Wind map
Post by: langdon on June 30, 2016, 01:25:17 pm
Hi,
You may be interested in this:

https://youtu.be/eDS3Ft7TlAw

The quality of the video is pretty bad but I think you'll get the idea.
I'll 'release' the plugin shortly. It's definitely still a work in progress but I would be curious to get some feedback.

The METAR data is free from NOAA. The data in the video is pulled down (about 1 Mb) when Outerra loads so there's a bit of a start delay. METAR has surface winds. I grab the 3 closest points and interpolate to get a value at the current Lat/Lon.

I've got Cloud Coverage, Surface Wind. Direction, Precipitation, Cloud Base and height. Outerra only has one level of clouds so I use the lowest base and the highest high for cloud height.

The wind data at different altitudes is also available but it's currently an ~38Mb download, so I need to figure out how to compress it and just take the bits that are local to my current position.

L
Title: Re: Wind map
Post by: bomber on June 30, 2016, 01:48:37 pm
I think it's amazing....
Title: Re: Wind map
Post by: bomber on June 30, 2016, 02:05:26 pm
I'm hunting down all the JSBsim properties such that your meta data can be used directly to adjust....

atmosphere/P-psf
atmosphere/P-sl-psf
atmosphere/T-R
atmosphere/T-sl-R
atmosphere/T-sl-dev-F
atmosphere/a-fps
atmosphere/a-ratio
atmosphere/a-sl-fps
atmosphere/crosswind-fps
atmosphere/delta
atmosphere/delta-T
atmosphere/density-altitude
atmosphere/gust-down-fps
atmosphere/gust-east-fps
atmosphere/gust-north-fps
atmosphere/headwind-fps
atmosphere/p-turb-rad_sec
atmosphere/psiw-rad
atmosphere/q-turb-rad_sec
atmosphere/r-turb-rad_sec
atmosphere/rho-sl-slugs_ft3
atmosphere/rho-slugs_ft3
atmosphere/sigma
atmosphere/theta
atmosphere/turb-gain
atmosphere/turb-rate
atmosphere/turb-rhythmicity
atmosphere/wind-from-cw

I'm trying to get a better handle on these properties
Title: Re: Wind map
Post by: Uriah on June 30, 2016, 08:47:44 pm
I'm hunting down all the JSBsim properties such that your meta data can be used directly to adjust....

They will be already, since the OT weather ia plugged into JSBSim directly through FGWinds.
Title: Re: Wind map
Post by: HiFlyer on July 01, 2016, 02:51:03 am
I think it's amazing....

Agreed. Good stuff!
Title: Re: Wind map
Post by: bomber on July 01, 2016, 04:46:19 am
I can't find the property FGWinds
Title: Re: Wind map
Post by: Uriah on July 02, 2016, 01:05:22 am
Outerra handles the wind globally right now, so it will effect all locations the same, but using langdon's technique or another implementation through the Outerra API will are able to control the wind locally for each JSBSim instance in the world. There should also in the future be localised weather in Outerra.

Langdon, where are we going to get a peek at what you've been working on on?  :D

From JSBSim Class List:

http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGWinds.html
http://jsbsim.sourceforge.net/JSBSim/FGWinds_8cpp_source.html

Code: [Select]
00482   // User-specified steady, constant, wind properties (local navigational/geographic frame: N-E-D)
00483   PropertyManager->Tie("atmosphere/psiw-rad", this, &FGWinds::GetWindPsi, &FGWinds::SetWindPsi);
00484   PropertyManager->Tie("atmosphere/wind-north-fps", this, eNorth, (PMF)&FGWinds::GetWindNED,
00485                                                           (PMFd)&FGWinds::SetWindNED);
00486   PropertyManager->Tie("atmosphere/wind-east-fps",  this, eEast, (PMF)&FGWinds::GetWindNED,
00487                                                           (PMFd)&FGWinds::SetWindNED);
00488   PropertyManager->Tie("atmosphere/wind-down-fps",  this, eDown, (PMF)&FGWinds::GetWindNED,
00489                                                           (PMFd)&FGWinds::SetWindNED);
00490   PropertyManager->Tie("atmosphere/wind-mag-fps", this, &FGWinds::GetWindspeed,
00491                                                         &FGWinds::SetWindspeed);
00492
00493   // User-specifieded gust (local navigational/geographic frame: N-E-D)
00494   PropertyManager->Tie("atmosphere/gust-north-fps", this, eNorth, (PMF)&FGWinds::GetGustNED,
00495                                                           (PMFd)&FGWinds::SetGustNED);
00496   PropertyManager->Tie("atmosphere/gust-east-fps",  this, eEast, (PMF)&FGWinds::GetGustNED,
00497                                                           (PMFd)&FGWinds::SetGustNED);
00498   PropertyManager->Tie("atmosphere/gust-down-fps",  this, eDown, (PMF)&FGWinds::GetGustNED,
00499                                                           (PMFd)&FGWinds::SetGustNED);
00500
00501   // User-specified 1 - cosine gust parameters (in specified frame)
00502   PropertyManager->Tie("atmosphere/cosine-gust/startup-duration-sec", this, (Ptr)0L, &FGWinds::StartupGustDuration);
00503   PropertyManager->Tie("atmosphere/cosine-gust/steady-duration-sec", this, (Ptr)0L, &FGWinds::SteadyGustDuration);
00504   PropertyManager->Tie("atmosphere/cosine-gust/end-duration-sec", this, (Ptr)0L, &FGWinds::EndGustDuration);
00505   PropertyManager->Tie("atmosphere/cosine-gust/magnitude-ft_sec", this, (Ptr)0L, &FGWinds::GustMagnitude);
00506   PropertyManager->Tie("atmosphere/cosine-gust/frame", this, (PMFt)0L, (PMFi)&FGWinds::GustFrame);
00507   PropertyManager->Tie("atmosphere/cosine-gust/X-velocity-ft_sec", this, (Ptr)0L, &FGWinds::GustXComponent);
00508   PropertyManager->Tie("atmosphere/cosine-gust/Y-velocity-ft_sec", this, (Ptr)0L, &FGWinds::GustYComponent);
00509   PropertyManager->Tie("atmosphere/cosine-gust/Z-velocity-ft_sec", this, (Ptr)0L, &FGWinds::GustZComponent);
00510   PropertyManager->Tie("atmosphere/cosine-gust/start", this, (PMFt)0L, (PMFi)&FGWinds::StartGust);
00511
00512   // User-specified Up- Down-burst parameters
00513   PropertyManager->Tie("atmosphere/updownburst/number-of-cells", this, (PMFt)0L, &FGWinds::NumberOfUpDownburstCells);
00514 //  PropertyManager->Tie("atmosphere/updownburst/", this, (Ptr)0L, &FGWinds::);
00515 //  PropertyManager->Tie("atmosphere/updownburst/", this, (Ptr)0L, &FGWinds::);
00516 //  PropertyManager->Tie("atmosphere/updownburst/", this, (Ptr)0L, &FGWinds::);
00517 //  PropertyManager->Tie("atmosphere/updownburst/", this, (Ptr)0L, &FGWinds::);
00518 //  PropertyManager->Tie("atmosphere/updownburst/", this, (Ptr)0L, &FGWinds::);
00519 //  PropertyManager->Tie("atmosphere/updownburst/", this, (Ptr)0L, &FGWinds::);
00520 //  PropertyManager->Tie("atmosphere/updownburst/", this, (Ptr)0L, &FGWinds::);
00521
00522   // User-specified turbulence (local navigational/geographic frame: N-E-D)
00523   PropertyManager->Tie("atmosphere/turb-north-fps", this, eNorth, (PMF)&FGWinds::GetTurbNED,
00524                                                           (PMFd)&FGWinds::SetTurbNED);
00525   PropertyManager->Tie("atmosphere/turb-east-fps",  this, eEast, (PMF)&FGWinds::GetTurbNED,
00526                                                           (PMFd)&FGWinds::SetTurbNED);
00527   PropertyManager->Tie("atmosphere/turb-down-fps",  this, eDown, (PMF)&FGWinds::GetTurbNED,
00528                                                           (PMFd)&FGWinds::SetTurbNED);
00529   // Experimental turbulence parameters
00530   PropertyManager->Tie("atmosphere/p-turb-rad_sec", this,1, (PMF)&FGWinds::GetTurbPQR);
00531   PropertyManager->Tie("atmosphere/q-turb-rad_sec", this,2, (PMF)&FGWinds::GetTurbPQR);
00532   PropertyManager->Tie("atmosphere/r-turb-rad_sec", this,3, (PMF)&FGWinds::GetTurbPQR);
00533   PropertyManager->Tie("atmosphere/turb-type", this, (PMFt)&FGWinds::GetTurbType, (PMFi)&FGWinds::SetTurbType);
00534   PropertyManager->Tie("atmosphere/turb-rate", this, &FGWinds::GetTurbRate, &FGWinds::SetTurbRate);
00535   PropertyManager->Tie("atmosphere/turb-gain", this, &FGWinds::GetTurbGain, &FGWinds::SetTurbGain);
00536   PropertyManager->Tie("atmosphere/turb-rhythmicity", this, &FGWinds::GetRhythmicity,
00537                                                             &FGWinds::SetRhythmicity);
00538
00539   // Parameters for milspec turbulence
00540   PropertyManager->Tie("atmosphere/turbulence/milspec/windspeed_at_20ft_AGL-fps",
00541                        this, &FGWinds::GetWindspeed20ft,
00542                              &FGWinds::SetWindspeed20ft);
00543   PropertyManager->Tie("atmosphere/turbulence/milspec/severity",
00544                        this, &FGWinds::GetProbabilityOfExceedence,
00545                              &FGWinds::SetProbabilityOfExceedence);
00546
00547   // Total, calculated winds (local navigational/geographic frame: N-E-D). Read only.
00548   PropertyManager->Tie("atmosphere/total-wind-north-fps", this, eNorth, (PMF)&FGWinds::GetTotalWindNED);
00549   PropertyManager->Tie("atmosphere/total-wind-east-fps",  this, eEast,  (PMF)&FGWinds::GetTotalWindNED);
00550   PropertyManager->Tie("atmosphere/total-wind-down-fps",  this, eDown,  (PMF)&FGWinds::GetTotalWindNED);
Title: Re: Wind map
Post by: langdon on July 04, 2016, 02:55:34 am
I'm not sure this is the right place to post.
Maybe there's a PLUGINS category somewhere?

Anyway feel  free to do as you please with this:

http://www.siliconroad.com.au/ot/siliconsky_01_plugin.zip

I actually started to upload this and thought to myself, I should probably check it with an aircraft...Uhoh! Problem.. It turns out that position info isn't sent to the IGC plugin when you're in a vehicle, so a couple more hours and 1 hack later and here I go again.

As it stands the plugin will work in what I call superman mode, ie. when you are not in a vehicle. To have it work when you're in a vehicle I need to add a few lines of code to the vehicle script and change a setting in the plugin config (.cfg) file.

change_with_vehicle=0   <-Superman mode
change_with_vehicle=1   <-works when you're in a specially modified vehicle.

There are ways to make this more automatic but for a first 'proof of concept' type version, this'll have to do.
If you do feel like adjusting the config file then you can download a modified Mig-29 here:

http://www.siliconroad.com.au/ot/mig29.siliconsky.zip

Any suggestions, requests, criticisms  are most welcome. Some of the settings just  don't seem correct to me. Example. FEW - few clouds should be around 15 percent coverage but in Outerra scattered is more like 6 percent, so things like that need some tweaking.

I suck badly at anything graphical so if someone has an idea for an interface or layout just draw me a picture. The next version of this should come with a multiplayer option as well. I've now got my second machine back up and running so I should have something cobbled together in the next few days.

There's a readme.txt but here it is for those who don't wish to download.

CLOUD COVERAGE...
=================
CAVOK = 0 percent
CLR = 0 percent
SKC = 0 percent
FEW = 15 percent
SCT = 40 percent
BKN = 75
OVC = 100 percent
OVX = 100 percent ???

CLOUD BASE is first indicated BASE
CLOUD HEIGHT is 1000ft or highest base minus lowest base

WIND....
=============
Wind speed is knots. Can be adjusted by multiplier in cfg. Trees/grass don't seem to move enough at low speeds. Aircraft are affected correctly.
IE. landing a cessna in a 9 kt headwind with a 10x multiplier turns it into a helo.
Wind currently has no gusting or variable direction component. No turbulence.
Soft interpolation essentially means no shear either.

PRECIP....
===========
Rain is precip_in/30 to give a more realistic look.
No Snow yet.

FOG...
==========
No fog yet.


At this point only using METAR info. Large weather stations ie. Large airports. Download is approx (1Mb) on startup.
Plan to incorporate TAF info as well.

Winds aloft data is available. Approx 40Mb.  Need to find a way to decrease the download size.

CONFIG FILE...
==============
wind_multiplier=1  // Increase wind by a factor of
weather_interpolation_time=5000  //Time in milliseconds it takes for the weather to transition from one state to the next.
change_with_vehicle=0  // 0=weather changes as user moves around in 'superman' mode.  1=weather changes as user moves around in specially adapted aircraft.

FUTURE...
=========
Obviously a better interface (:
Plan to have save/load weather/enviroment profiles.
Want to try a 'weather architect' similar to REX.


NOTES....
===========
If you have the metar.cache.csv open in say Excel when Outerra starts, the download will fail.
Outerra  throws an error on exit. This is a known bug. Something to do with the SINGLETON cleanup.



One last thing. These are dll's. So it's all 'at your own risk'. I run virus checkers but nothings ever 100% safe.

L
Title: Re: Wind map
Post by: bomber on July 04, 2016, 11:54:10 am
JSBsim comes with it's own turbulence code... all we need is to turn it on.

This is the difference between 'weather' and 'atmospheric conditions'... so if the weather code says 'thunderstorm' JSBsim should be able to provide the turbulence to match this condition.

Anyway I'm asking the guys at JSBsim how to turn it on....

The thing we don't have is thermals and ridge lift which are the staple diet of gliders.

Simon
Title: Re: Wind map
Post by: Acetone on July 04, 2016, 12:57:45 pm
Just a note, the entire folder insides Langdon's zip has to be copied inside the plugin folder, in your Outerra install directory (C:\Program Files (x86)\Outerra\Anteworld\plugins for example) :)

Edit: had time to test it and wow... Having dynamic weather, even in this early state changes a lot of things. Really promising, great project! Only bug so far is OT crashing when exiting the engine, but you already know that.
Title: Re: Wind map
Post by: langdon on July 06, 2016, 01:09:55 pm
Quick note...

In my routine that converts ECEF to LatLon I typed an 8 instead of a 3 into my flattening constant.

What this means is that the Lat/Lons are being computed wrongly.
It'll be correct in the next update.

L