From: Torsten D. <To...@t3...> - 2009-09-22 18:42:06
|
> So problem is in the value of temperature_degc. > > It seems to be a couple of errors connected with environment. > 1) File: fg_commands.cxx, routine: static bool > do_set_dewpoint_sea_level_degc (const SGPropertyNode * arg) > variable dewpoint_sea_level_degc is defined as > double dewpoint_sea_level_degc = > arg->getDoubleValue("dewpoint-degc", 5.0); > may be correct is: > double dewpoint_sea_level_degc = > arg->getDoubleValue("dewpoint-sea-level-degc", 5.0); > > 2) File: environment.cxx, routine: void interpolate (const FGEnvironment > * env1, const FGEnvironment * env2, double fraction, FGEnvironment * > result) the lines : > result->set_dewpoint_degc > (do_interp(env1->get_dewpoint_sea_level_degc(), > env2->get_dewpoint_sea_level_degc(), > fraction)); > may be correct is: > result->set_dewpoint_sea_level_degc > (do_interp(env1->get_dewpoint_sea_level_degc(), > env2->get_dewpoint_sea_level_degc(), > fraction)); > > With respect, > Alex You must have eagles eyes, it took some time for me to spot the difference ;-) While your first point is correct implementation, your second point appears to me as a bug, too. The function on fg_main.cxx takes a PropertyNode with the respective child to set the sea-level-dewpoint. The child is named "dewpoint-degc" for some reason. There seems to be no reference to this function, neither in the code nor in Nasal or GUI dialogs anyway. But the interpolation shall set the sea-level-dewpoint interpolated from the source environments, not the altitude dewpoints (which are calculated further down). Torsten |