Arts-2-1-683

* doc/uguide/references.bib, doc/uguide/absorption.tex: Added Zeeman
explanation. Made line mixing explanation more exhaustive. I am not entirely
certain if this is sufficient as documentation, but it should now explain
the steps necessary to attain make the program run.



git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8520 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-684

* src/tmatrix.cc:

(calcSingleScatteringDataProperties):

Port of PyARTS' calc_SSP function. Implemented particle type 20 and
verified that results are consistent with PyARTS.

(calc_ssp_test): Test function to compare results to PyARTS.

(tmatrix_random_orientation):

Convenience function for T-Matrix calculations of randomly oriented
particles. Based on tmat_rnd in PyARTS.

(tmd_): Add documentation.

* src/tmatrix.h: Add calc_ssp_test.

* src/m_tmatrix.cc (TMatrixTest): Call calc_ssp_test.

* 3rdparty/tmatrix/tmd.arts.f: Comment out unhelpful info output.

git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8521 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-685

* src/tmatrix.{h,cc}:

(calcSingleScatteringDataProperties):

Started PARTICLE_TYPE_HORIZ_AL.  Implemented calculation of phase
matrix for prolate particles and extinction matrix for oblate and
prolate particles.
TBD: Csca integral to get abs_vec_data. Phase matrix for oblate
particles.

(tmatrix_fixed_orientation):

Add wrapper for Fortran subroutine tmatrix_.

(avgtmatrix_): Add fortran interface.

(calc_phamat): Calculate phase matrix.

(ampmat_to_phasmat): Renamed phasmat. Convert phase matrix to m^2.

(calc_ssp_fixed_test): Add test for particles with fixed orientation.

* 3rdparty/tmatrix/avg_tmatrix.f: Added from PyARTS.

* 3rdparty/tmatrix/CMakeLists.txt: Add avg_tmatrix.f.

* 3rdparty/tmatrix/tmd.lp.f: Output Csca and Cext.

* 3rdparty/tmatrix/tmatrix_tmd.ref: Updated.

* src/m_tmatrix.cc (TMatrixTest): Add calc_ssp_fixed_test.

git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8523 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-686

* src/tmatrix.cc:

(integrate_phamat): Add Gauss Legendre phase matrix interpolation.

(calcSingleScatteringDataProperties):

Calculate phase matrix for oblate particles.

(calc_phamat): Remove unit conversion. Now done in ampmat_to_phamat.

git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8524 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-687

* src/m_zeeman.cc: Added some tests for 3D atmosphere and ppath_los
being defined that was missing. Also made the test of quantum numbers
print more information when the user defines Zeeman species that are
not really Zeeman affected.



git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8525 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-688

* ChangeLog: Mixed up prolate/oblate in my previous two entries.

* src/tmatrix.cc (integrate_phamat): Finished this function.

git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8526 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-689

* src/m_rte.cc: Changed y to y[is] on line 913 and 915.



git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8527 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-690

The interface between ARTS and the T-Matrix Fortran codes, as well as
providing the same functionality as PyARTS, is now pretty much
completely. Except for calculating the refractive index,
calcSingleScatteringDataProperties now does the same as
SingleScatteringData.calc in PyARTS.

TODO:

- Integration of calcSingleScatteringDataProperties with the rest
of ARTS, so that it can be practically used.

- Better error handling if Fortran code fails.

- Ensure all calls into the Fortran codes are threadsafe (via omp
critical).

* src/tmatrix.{cc,h}:

(calcSingleScatteringDataProperties):

Calculate Csca integral for oblate and prolate particles and from that
K_abs.

(integrate_phamat_*):

Add gauss legendre integration for phamat over different angles
thet0, phi, alpha.

(calc_ssp_fixed_test, calc_ssp_random_test): Updated.

git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8528 aaf1aab0-4228-0410-ad68-8dceda47f409
* arts-2-1-691

* src/m_linemixing.cc (ArrayOfLineMixingRecordReadAscii):

Add check that the input stream is good(). Otherwise the last value
gets added twice.

git-svn-id: https://www.sat.ltu.se/svn/rt/arts/trunk@8529 aaf1aab0-4228-0410-ad68-8dceda47f409