Skip to content

Conversation

@BenjaminTJohnson
Copy link
Contributor

Summary

This branch extends regression tests to report min/max/relative difference statistics across key CRTM structures, improving diagnostics when comparisons fail. It also removes Intel Fortran debug warnings about array
temporaries created when allocating FitCoeff objects.

Changes vs develop

  • Added shared diagnostics include with diff-stat reporters for CRTM structures.
  • Wired the new diagnostics into forward/adjoint/k_matrix/tangent_linear regression test drivers (e.g., ClearSky, Simple, SOI, AOD, SSU, Zeeman, etc.).
  • Avoided ifort array temporary creation in FitCoeff_SetValue by storing SHAPE(C) in a local dimensions array before calling FitCoeff_Create.

Testing

  • Manual debug build and run; ctest warnings no longer appear (for FitCoeff)
  • Whenever there is a difference in results (e.g., DEBUG vs. RELEASE) in the ctests comparisons, you should see additional information about differences. I'll probably expand upon this a bit later, but for now it gives some additional context rather than just saying "results are different".

Copy link
Contributor

@chengdang chengdang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All ctest passed.
Just to make sure I understand it correctly, this bug is raised when optical depth is very large. By "clamping" the exp (-OD), we can constrain this issue. Is this correct?

Is Compare_Diagnostics.inc a brand new module for CRTM? This is super thorough and useful!

10 CONTINUE

!
IF( RTV%Solar_Flag_true ) THEN
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Ben, I'm trying to understand this set up. With such if statement, if the total AOD is too big (is_clamped), then the total_opt_AD is not updated?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants