﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
653	Investigate matrix size question in ropp_1dvar	Ian Culverwell	Ian Culverwell	"Joe Nielsen (DMI) reports the following issue.
{{{
Ian, I do not expect you to know the details of this, but maybe you 
can give me a hint or suggestion? The problem is the use of 
State1DFM varaibles, especially the  state % cov property/variable;

In ropp_fm_types it is defined as a compressed matrix as I 
understand it:

     TYPE(matrix_pp)                 :: cov                     ! Error covariance

 In ropp_1dvar/common/ropp_1dvar_diagnostics.f90 the state variables 
is declared like this:

 TYPE(State1DFM),   INTENT(inout)      :: state

 ....

And the further down it is used like this:

! 2.2 Calculate error covariance of the solution

! ----------------------------------------------

     Bm1 = matrix_invert(state % cov)
     Rm1 = matrix_invert(obs % cov)
     Kt  = TRANSPOSE(K)
     CALL matrix_toast(Rm1, Kt, KtRm1K)

     S = Bm1 + KtRm1K
     state % cov = matrix_invert(S)

 (all the matrices are allocated as full matrices)

How can that work? matrix_invert outputs a full matrix, and 
matrix_toast understands only full matrices. Looks like an error, 
but I hope there is an explanation....

 I am suddenly getting a bit worried here because I copy/pasted this 
part into our RE1 code at some point (only for postprocessing 
though).

 thanks

 joe
}}}"	task	closed	normal	10.0	ropp_1dvar	9.0	fixed		
