Opened 13 years ago
Closed 13 years ago
#247 closed defect (fixed)
Covariance matrix check
Reported by: | Ian Culverwell | Owned by: | Ian Culverwell |
---|---|---|---|
Priority: | normal | Milestone: | 6.0 |
Component: | ropp_1dvar | Version: | 4.1 |
Keywords: | Covariance matrix | Cc: |
Description (last modified by )
At present there is no check that an ingested covariance matrix has the right size for the problem in hand. Because of the way covariance matrices are stored in ROPP (in a "triangular" format), a matrix appropriate to a bigger problem can be read in OK, without crashing and with 1s in the right place (think about it). So it would be subtly wrong - the worst kind of error.
At least one user has fallen over with this. So we should put a check in to stop it happening.
Attachments (1)
Change history (5)
comment:1 by , 13 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:2 by , 13 years ago
Description: | modified (diff) |
---|
by , 13 years ago
Attachment: | Problem_Report_60.doc added |
---|
comment:3 by , 13 years ago
comment:4 by , 13 years ago
Milestone: | 5.1 → 6.0 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Seems OK, and useful at least once. Closing.
Note:
See TracTickets
for help on using tickets.
The early part of the attached report discusses the situation.
The following solution has been applied to the ROPP5.1 base code.
For observations
WARNING if no. obs < no of elements in the corr file
ERROR if no. obs > no of elements in the corr file
(It is just about conceivable that a user would want to exploit the ability to use bigger obs covs files than are strictly appropriate for the obs vector. We do in test_1dvar_MO.sh, for example. But at least users now get a warning if they do.)
For background
ERROR if no. obs .NE. no of elements in the corr file
(Because the state vector is the concatenation of T, q and p*, it's really not sensible to use a corr file bigger than the background vector. In other words, we can't play the sort of games that we can for obs, as described above and in the report.)
This passes the make tests in ropp_1dvar, and has therefore been committed to the ROPP5.1 base code.