Stuart,
The built-in doc of OEM clarifies that x is both IN and OUT. But there
is no explanation of what the input states mean. We need to work the
documentation!
But there is some help in
/controlfiles/artscomponents/oem/TestOEM.arts
Here you find:
# x, jacobian and yf must be initialised (or pre-calculated as shown below)
#
VectorSet( x, [] )
VectorSet( yf, [] )
MatrixSet( jacobian, [] )
# Or to pre-set x, jacobian and yf
#
#Copy( x, xa )
#MatrixSet( jacobian, [] )
#AgendaExecute( inversion_iterate_agenda )
My memory is that if you leave x empty, it is set to xa. The other
option is there to allow you to start the iteration from another state.
I don't think we have changed this recently. So rather strange that your
old setup worked. Anyhow, I hope this clarifies how to remove the error.
Bye,
Patrick
On 2023-06-15 14:58, Stuart Fox wrote:
Hi developers,
I have an ARTS OEM retrieval set-up that used to work fine based on the
ARTS trunk from Feb 2022, but recently I’ve updated to the latest
development version of ARTS and when calling the workspace.OEM() method
it fails with “Not initialised: x”. Any clues on how to fix this? I am
initialising the retrieval with workspace.xaStandard(), so I think I am
correctly initialising the value of xa – it’s not obvious to me why I
should have to initialise x at all (since presumably it should always be
set to the same value as xa to begin with?)
Thanks,
Stuart
Dr Stuart Fox Radiation Research Manager
*Met Office* FitzRoy Road Exeter Devon EX1 3PB United Kingdom
Tel: +44 (0)1392 885197 Fax: +44 (0)1392 885681
Email: stuart....@metoffice.gov.uk Website: www.metoffice.gov.uk