Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve yaml specification for variance and standard deviation error types #115

Merged
merged 5 commits into from
Sep 25, 2024

Conversation

twsearle
Copy link
Collaborator

@twsearle twsearle commented Aug 16, 2024

Description

At the moment both variance and standard deviation are referred to as "error" within UFO. We have been referring to all our errors as variances, when in fact, most of them are standard deviations with only some variances in the case of profile data types.

This has always been very confusing. This change is an attempt to contain this confusion to some extent within the orca-jedi model interface, so that the "variable type" parameter contains the correct information.

Issue(s) addressed

Resolves #16

Dependencies

  • jjdocs yaml and documentation change MetOffice/jjdocs/pull/204

Impact

None expected.

Checklist

  • I have updated the unit tests to cover the change
  • New functions are documented briefly via Doxygen comments in the code
  • I have linted my code using cpplint
  • I have run the unit tests
  • I have run mo-bundle to check integration with the rest of JEDI and run the unit tests under all environments

@twsearle twsearle self-assigned this Aug 16, 2024
@twsearle twsearle force-pushed the feature/rename-variance branch 2 times, most recently from 4a346cd to a6df55c Compare August 29, 2024 12:18
@twsearle twsearle marked this pull request as ready for review September 11, 2024 07:35
Copy link
Collaborator

@s-good s-good left a comment

Choose a reason for hiding this comment

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

Thanks for making this change. It will be great to get this sorted.

Please could I confirm how this now works? Does specifying background variance or background standard deviation as the variable type do exactly the same thing?

I noticed that e.g. in example/hofx3d_odb_prof_example.yaml the variable type is background standard deviation but the nemo field name is t_tot_var which is confusing - not sure if there is something that I'm missing about what it is doing?

Variable type should really be background error variance or background error standard deviation rather than without 'error', as background variance is a different quantity to background error variance.

@twsearle
Copy link
Collaborator Author

Please could I confirm how this now works? Does specifying background variance or background standard deviation as the variable type do exactly the same thing?

yes, for now they are treated the same, I am just trying to make the configurations easier to read for now. In the future we could treat them differently when reading them in for example.

I noticed that e.g. in example/hofx3d_odb_prof_example.yaml the variable type is background standard deviation but the nemo field name is t_tot_var which is confusing - not sure if there is something that I'm missing about what it is doing?

An error on my part! I will fix it.

Variable type should really be background error variance or background error standard deviation rather than without 'error', as background variance is a different quantity to background error variance.

OK, I will make that update along with the other change before returning this for review. That does mean the change will be a coordinated change, as we loose compatibility with the previous name. I think perhaps I don't know what the background error variance is on reflection! Is it the variance in the difference between the truth and the background? Whereas background variance would be quantifying the variablity in the background itself?

@s-good
Copy link
Collaborator

s-good commented Sep 12, 2024

I think perhaps I don't know what the background error variance is on reflection! Is it the variance in the difference between the truth and the background? Whereas background variance would be quantifying the variablity in the background itself?

That's basically it. The background error variance tells us about how background errors (the differences between the background and the (unknown) truth) are distributed. The background variance tells us how the background values are distributed.

examples/hofx_nc_ice_mpi.yaml Outdated Show resolved Hide resolved
src/tests/orca-jedi/test_geometry.cc Outdated Show resolved Hide resolved
src/tests/orca-jedi/test_interpolator.cc Outdated Show resolved Hide resolved
src/tests/testinput/hofx3d_nc_potm.yaml Outdated Show resolved Hide resolved
src/tests/testinput/hofx3d_nc_prof_2vars.yaml Outdated Show resolved Hide resolved
src/tests/testinput/hofx3d_nc_sst.yaml Outdated Show resolved Hide resolved
Copy link
Collaborator

@s-good s-good left a comment

Choose a reason for hiding this comment

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

Thanks for making the changes.

Copy link
Collaborator

@matthewrmshin matthewrmshin left a comment

Choose a reason for hiding this comment

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

Tested in my environment. Works as expected.

@matthewrmshin matthewrmshin merged commit 25aa2d1 into develop Sep 25, 2024
2 checks passed
@twsearle twsearle deleted the feature/rename-variance branch September 26, 2024 06:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Read in the standard deviation rather than variance from file
3 participants