rnsf

Define and load a phase function data format
git clone git://git.meso-star.fr/rnsf.git
Log | Files | Refs | README | LICENSE

commit ce9fe24190a7cef463524ee38d02f2a657518e96
parent c9c08433f0f00a7c117937fd0147b61a3b26ed4f
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Thu,  7 Jul 2022 16:43:46 +0200

Improve some error messages

Diffstat:
Msrc/rnsf.c | 23+++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/src/rnsf.c b/src/rnsf.c @@ -268,8 +268,10 @@ parse_phase_fn_discrete if(i > 0 && item[0].theta <= item[-1].theta) { log_err(rnsf, "%s:%lu: the discretized phase function must be sorted in ascending " - "order of angle.\n", - txtrdr_get_name(txtrdr), (unsigned long)txtrdr_get_line_num(txtrdr)); + "order of angles (item %lu at %g rad; item %lu at %g rad).\n", + txtrdr_get_name(txtrdr), (unsigned long)txtrdr_get_line_num(txtrdr), + (unsigned long)(i-1), item[-1].theta, + (unsigned long)(i), item[ 0].theta); res = RES_BAD_ARG; goto error; } @@ -437,9 +439,11 @@ parse_per_wlen_phase_fn if(i > 0 && phase[0].wlen[0] <= phase[-1].wlen[0]) { log_err(rnsf, - "%s:%lu: the phase function must be sorted in ascending order of " - "wavelength.\n", - txtrdr_get_name(txtrdr), (unsigned long)txtrdr_get_line_num(txtrdr)); + "%s:%lu: the phase functions must be sorted in ascending order of " + "wavelengths (phase function %lu at %g nm; phase function %lu at %g nm).\n", + txtrdr_get_name(txtrdr), (unsigned long)txtrdr_get_line_num(txtrdr), + (unsigned long)(i-1), phase[-1].wlen[0], + (unsigned long)(i), phase[ 0].wlen[0]); res = RES_BAD_ARG; goto error; } @@ -584,9 +588,12 @@ parse_per_band_phase_fn if(phase[0].wlen[0] < phase[-1].wlen[1] || phase[0].wlen[0] == phase[-1].wlen[0]) { log_err(rnsf, - "%s:%lu: the phase function must be sorted in ascending order of " - "wavelength and must not overlap.\n", - txtrdr_get_name(txtrdr), (unsigned long)txtrdr_get_line_num(txtrdr)); + "%s:%lu: the phase functions must be sorted in ascending order of " + "wavelengths and must not overlap (phase function %lu in [%g, %g] nm; " + "phase function %lu in [%g %g] nm).\n", + txtrdr_get_name(txtrdr), (unsigned long)txtrdr_get_line_num(txtrdr), + (unsigned long)(i-1), phase[-1].wlen[0], phase[-1].wlen[1], + (unsigned long)(i), phase[ 0].wlen[0], phase[ 0].wlen[1]); res = RES_BAD_ARG; goto error; }