Outerra forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Download Outerra Tech Demo. Unofficial Outerra Discord server, MicroProse Discord server for OWS.

Pages: 1 [2]

Author Topic: Wind map  (Read 29344 times)

bomber

  • Hero Member
  • *****
  • Posts: 523
  • newbie
Re: Wind map
« Reply #15 on: June 30, 2016, 01:48:37 pm »

I think it's amazing....
Logged
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

bomber

  • Hero Member
  • *****
  • Posts: 523
  • newbie
Re: Wind map
« Reply #16 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
Logged
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

Uriah

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 569
  • We do these things not because they are easy. -JFK
Re: Wind map
« Reply #17 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.
Logged

HiFlyer

  • Hero Member
  • *****
  • Posts: 1788
  • newbie
Re: Wind map
« Reply #18 on: July 01, 2016, 02:51:03 am »

I think it's amazing....

Agreed. Good stuff!
Logged
Spex: Intel Core i7 6700K @ 4.6GHz / 32.0GB G.SKILL TridentZ Series Dual-Channel Ram / ASUS STRIX GeForce GTX 1080 / Sound Blaster Z / Oculus Rift VR Headset / Klipsch® Promedia 2.1 Computer Speakers / ASUS ROG SWIFT PG279Q ‑ 27" IPS LED Monitor ‑ QHD / 2x Samsung SSD 850 EVO 500GB / Windows 10 Pro

bomber

  • Hero Member
  • *****
  • Posts: 523
  • newbie
Re: Wind map
« Reply #19 on: July 01, 2016, 04:46:19 am »

I can't find the property FGWinds
Logged
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

Uriah

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 569
  • We do these things not because they are easy. -JFK
Re: Wind map
« Reply #20 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);
Logged

langdon

  • Full Member
  • ***
  • Posts: 110
Re: Wind map
« Reply #21 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
« Last Edit: July 04, 2016, 07:19:09 am by langdon »
Logged

bomber

  • Hero Member
  • *****
  • Posts: 523
  • newbie
Re: Wind map
« Reply #22 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
Logged
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

Acetone

  • Hero Member
  • *****
  • Posts: 963
    • Youtube channel
Re: Wind map
« Reply #23 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.
« Last Edit: July 04, 2016, 02:41:15 pm by Acetone »
Logged

langdon

  • Full Member
  • ***
  • Posts: 110
Re: Wind map
« Reply #24 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
Logged
Pages: 1 [2]