Good question. Easy to get lost in the scattering data. Some clarifications:

SingleScatteringData: The scattering data of one "scattering element". Normally the data for one particle size.

ArrayOfSingleScatteringData: The scattering data of one "scattering species". Normally the data for one habit.

ArrayOfArrayOfSingleScatteringData: The scattering data of multiple scattering species. These are the data actually used in a calculation.

The standard habit files contain ArrayOfSingleScatteringData, while scat_data_raw is of type ArrayOfArrayOfSingleScatteringData. That is, you can not read a standard habit directly into scat_data_raw. But this should work

ReadXML( tmp, "EvansSnowAggregate.xml" )
Append( scat_data_raw, tmp )

I can mention that I prepare the scattering data outside of ARTS and normally adjust the data in some way. If you don't need the highest accuracy, you can for example skip every second size to speed up the calculations. Anyhow, I then fix the step from ArrayOfSingleScatteringData to ArrayOfArrayOfSingleScatteringData on the same time.

But maybe we should make an ARTS function simplifying to set up calculations involving a single habit ...



On 2021-12-20 17:25, daniele.case...@artov.isac.cnr.it wrote:

Dear all,

First I want to thank you for keeping this project open source it is amazing.

I am trying to use the Standard Habits in the StandardHabits.tar.gz from the database for total random orientation already converted in ARTS format.
I am using arts 2.5 and pyarts.
When I try to load the scat_data_raw with both:
ws.ScatSpeciesScatAndMetaRead(     ws.scat_data_raw, ws.scat_meta,'FullSet/EvansSnowAggregate.xml')
I get this error message:

XML parse error: Attribute type has value "SingleScatteringData" but "ArrayOfSingleScatteringData" was expected.
Check syntax of XML file

This happens not only with EvansSnowAggregate but also with the other habits that I tryied.

The same code works well when I load the Mie Liquid and Ice spheres scattering properties in "arts-xml-data-2.4.0/scattering". What am I doing wrong? I assumed that SingleScatteringData contains data of single scattering for a specific habit and size, while the ArrayOfSingleScatteringData should contain many sizes as is it in the standardHabits files.

Thank you,

Daniele Casella

arts_users.mi mailing list

Reply via email to