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

Reply via email to