You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ionmapf() appears to expect the hion argument to be in km, and it is passed a value from mapping_function_layer_height in km, but the calculation in ionmapf() adds hion in km to RE_MEAN in meters which appears wrong, generating the wrong slant factor (a little on the high side). Except for the E_IonoMapFn::KLOBUCHAR path which does not use the hion argument.
With this corrected, was the M-SLM model the model of choice here? The regular mapping function probably generates higher values closer to the possible erroneous values generated using the M-SLM model. Has anyone studied the suitable choice for AU?
In the context of ionosphere maps (INX files) would it be expected that ionmapf() used the base radius defined in the file? These files seem to commonly use the same radius as RE_MEAN, but if these files were computed with a different base radius then would such computations use this base radius in their slant factor mapping functions too, or just for ionppp() which is passed the file base radius? Have not seen their code, so just don't know, but might you.
Fwiw these were some key settings needed to use these files:
inputs: ionosphere: ion_files: [...]
ppp_filter: corr_mode: TOTAL_ELECTRON_CONTENT
But could not see how to change the mapping_function_layer_height in the config file?
Perhaps also add that ionmodel() bakes in its mapping function, where ionmapf() appears to support this as E_IonoMapFn::KLOBUCHAR.
src/cpp/common/ionModels.cpp
double ionmapf(
const VectorPos& pos, ///< receiver position in geocentric spherical coordinates
const AzEl& azel, ///< satellite azimuth/elevation angle (rad)
E_IonoMapFn mapFn, ///< model of mapping function
double hion) ///< layer height (km)
...
double rp = RE_MEAN / (RE_MEAN + hion) * sin(alpha * (PI / 2 - azel.el));
Describe the bug
ionmapf() appears to expect the hion argument to be in km, and it is passed a value from mapping_function_layer_height in km, but the calculation in ionmapf() adds hion in km to RE_MEAN in meters which appears wrong, generating the wrong slant factor (a little on the high side). Except for the E_IonoMapFn::KLOBUCHAR path which does not use the hion argument.
With this corrected, was the M-SLM model the model of choice here? The regular mapping function probably generates higher values closer to the possible erroneous values generated using the M-SLM model. Has anyone studied the suitable choice for AU?
In the context of ionosphere maps (INX files) would it be expected that ionmapf() used the base radius defined in the file? These files seem to commonly use the same radius as RE_MEAN, but if these files were computed with a different base radius then would such computations use this base radius in their slant factor mapping functions too, or just for ionppp() which is passed the file base radius? Have not seen their code, so just don't know, but might you.
Fwiw these were some key settings needed to use these files:
inputs: ionosphere: ion_files: [...]
ppp_filter: corr_mode: TOTAL_ELECTRON_CONTENT
But could not see how to change the mapping_function_layer_height in the config file?
Perhaps also add that ionmodel() bakes in its mapping function, where ionmapf() appears to support this as E_IonoMapFn::KLOBUCHAR.
src/cpp/common/ionModels.cpp
src/cpp/common/constants.hpp
#define RE_MEAN 6371000.0 ///< mean Earth radius (m)
src/cpp/common/acsConfig.hpp
double mapping_function_layer_height = 506.7;
The text was updated successfully, but these errors were encountered: