2006-02-16 Oliver Lemke * arts-1-1-1067 * src/Makefile.am: Only link those programs against libdisort.a which really need it. Avoids unnecessary recompilations if disort source changes. 2006-02-15 Oliver Lemke * arts-1-1-1066 * src/m_disort: Make all parameters to disort_ non-const. Removed type conversions from disort_ call. * src/DISORT.h: Renamed to disort_DISORT.h. * src/disort_DISORT.h: Added missing ifdefs. * src/disort.h: Added missing ifdefs. * src/Makefile.am: Added disort_DISORT.h to SOURCES lists. 2006-02-15 Claudia Emde * arts-1-1-1065 * src/m_disort.cc (ScatteringDisort): Some modifications, disort call still commented. * src/disort.{cc,h} (planck2): Copied planck from physics_funcs because I need this function but cannot include physics_funcs.h due to a conflict with f2c.h (reason was the definition of complex). * src/DISORT.h: Included double precision. 2006-02-14 Oliver Lemke * arts-1-1-1064 * src/disort_*.c: Regenerate with 'f2c -C++ -r8' for double precision. 2006-02-14 Oliver Lemke * arts-1-1-1063 * src/Makefile.am: Added $(EXEEXT) to test_disort target. 2006-02-14 Oliver Lemke * arts-1-1-1062 * autogen.sh: Require automake >= 1.6. automake-1.4 is ancient and its dependency tracking is broken. (e.g. tries to compile the auto_ sources on 'make clean') * src/Makefile.am: Move test_disort out of the conditional to make automake-1.6 happy. 2006-02-14 Oliver Lemke * arts-1-1-1061 * src/disort.cc: Removed MAIN__ which is now in disort_FAKEMAIN.c. * ChangeLog: Forgot to comment some changes made to m_disort.cc in last commit. 2006-02-14 Oliver Lemke * arts-1-1-1060 * configure.in: Enable DISORT support if f2c library is found. Can be disabled by passing --disable-disort to autogen.sh/configure. * src/Makefile.am: Added static DISORT library. Added test_disort created from disort_DISOTEST.c. Both are enabled conditionally. * src/m_disort.cc: Don't include physics_funcs.h. The real type defined in clashes with the one defined in . Added a runtime_error if DISORT was not enabled at compile time. * src/DISORT.c: Renamed. * src/disort_D1MACH.c, src/disort_DISORTsp.c, disort_ErrPack.c, disort_LINPAK.c, disort_DISORT.c, disort_DISOTEST.c, disort_FAKEMAIN.c, disort_R1MACH.c: Added. Created with 'f2c -C++' from the fortran code. * src/disort_FAKEMAIN.c: Contains an empty MAIN__ function which is required by the f2c library. * src/f2c.h: Removed. Changes broke DISORT results. * src/matpackI.{cc,h}, src/matpackIII.{cc,h}: Return a non-const pointer. The f2c code decrements the array pointers by one to get one-based indexing. *shudder* * src/.cvsignore: Added test_disort. 2006-02-13 Oliver Lemke * arts-1-1-1059 * src/matpackI.{cc,h}, src/matpackIII.{cc,h}: Added get_c_array function to VectorView, MatrixView and Tensor3View. This function returns a pointer to the raw data. * src/test_matpack.cc: Added test38 to check get_c_array functions. 2006-02-10 Claudia Emde * arts-1-1-1058 * src/m_disort.cc (ScatteringDisort): Added this file/WSM. Using this method it will be possible to call DISORT as additional scattering module. The method is not yet working, because arts variables like Vector and Matrix can not be converted easily to C-arrays. * src/methods.cc: Included method above. * src/disort.{cc,h}: Included this file. Needed to convert arts variables to the input varibles required for disort. (pmomCalc) Function to calculate Legendre polynomials of phase functions. * src/DISORT.{c,h}: Original DISORT code available at ftp://climate.gsfc.nasa.gov/pub/wiscombe/Multiple_Scatt/ Transformed to c code by f2c. * src/f2c.h: Slightly modified, because of compiler errors. * src/Makefile.am: Included disort.cc, disort.h, m_disort.cc * configure.in: Commented -Werror, otherwise DISORT.c does not compile. To be fixed later. 2006-02-07 Oliver Lemke * arts-1-1-1057 * src/methods.cc: Removed diy_dvmr_ and diy_dt_ from RteCalc inputs. Added diy_dvmr_ and diy_dt_ to RteStd inputs because they must be initialized before RteStd is called. * src/m_rte: (RteCalc): Make diy_dvmr and diy_dt local variables. (RteCalcNoJacobian): Removed diy_dvmr and diy_dt. * src/agendas.cc: diy_dvmr_ and diy_dt_ have to be output _and_ input to the rte_agenda because they are expected to be initialized outside the agenda. 2006-02-07 Oliver Lemke * arts-1-1-1056 * src/agendas.cc, src/rte.cc (rte_std): Added diy_dvmr and diy_dt to rte_agenda output. 2006-02-06 Oliver Lemke * arts-1-1-1055 * src/refraction.h: Added refr_index as output to get_refr_index_[123]d. * src/refraction.cc: Include auto_md.h. Use new agenda scheme for refr_index_agenda in get_refr_index_[123]d. Added refr_index as output to get_refr_index_[123]d. Added refr_index as parameter to calls of get_refr_index_[123]d in refr_gradients_[123]d. Fixed documentation for a_pressure, a_temperature and a_vmr_list in get_refr_index_[123]d and refr_gradients_[123]d. * src/m_ppath.cc (VectorZtanToZaRefr): Added refr_index to call of get_refr_index_1d. * src/ppath.cc (raytrace_1d_linear_euler, ppath_step_refr_1d): Added refr_index to call of get_refr_index_1d. 2006-02-03 Oliver Lemke * arts-1-1-1054 * src/m_batch.cc: (ybatchMetProfiles): Use new agenda scheme for met_profile_calc_agenda. Make t_field_raw, z_field_raw, vmr_field_raw, pnd_field_raw, p_grid, sensor_los, cloudbox_on, cloudbox_limits, z_surface, y local variables. (ybatchMetProfilesClear): Same as for ybatchMetProfiles. Additionally, a local variable cloudbox_on was introduced which is set to zero and an empty cloudbox_limits variable. This is needed because the met_profile_calc_agenda expects cloudbox_on and cloudbox_limits as input. * src/methods.cc: Removed t_field_raw, z_field_raw, vmr_field_raw, pnd_field_raw, p_grid, sensor_los, cloudbox_on, cloudbox_limits, z_surface, y from ybatchMetProfiles and ybatchMetProfilesClear input/output list. * src/agendas.cc: Fix typo. 2006-02-03 Oliver Lemke * arts-1-1-1053 * src/m_jacobian.cc: (jacobianCalc): Use new agenda scheme for jacobian_agenda. (jacobianCalcParticle): Use new agenda scheme for jacobian_particle_update_agenda. * src/agendas.cc: Removed jacobian_quantities from jacobian_agenda input. 2006-02-03 Oliver Lemke * arts-1-1-1052 * src/m_batch.cc (ybatchCalc): Use new agenda scheme for batch_update_agenda, batch_calc_agenda and batch_post_agenda. ybatch_index and y are now local variables. * src/methods.cc: Removed ybatch_index, ybatch_n and y from output list of ybatchCalc. Make ybatch_n input instead of output because it is not modified by ybatchCalc. 2006-02-03 Oliver Lemke * arts-1-1-1051 * src/m_scatrte (doit_scat_fieldCalc1D): Removed for now. See discussion on arts-dev mailing list http://www.sat.uni-bremen.de/pipermail/arts-dev/2006-February/000986.html Beside the physical problems, there were also some issues on the implementation side. * src/methods.cc: Removed doit_scat_fieldCalc1D. 2006-02-02 Oliver Lemke * arts-1-1-1050 * src/rte.{cc,h}: (iy_calc): Use new agenda scheme to execute rte_agenda. (rte_std): Use new agenda scheme to execute emission_agenda and scalar_gas_absorption_agenda. Make rte_pressure, rte_temperature, rte_vmr_list local variables. * src/methods.cc, src/m_rte.cc: Removed agenda communications variables rte_pressure, rte_temperature, rte_vmr_list from RteStd and RteStdWithTransmissions output list. * src/agendas.cc: Removed scalar_gas_absorption_agenda from input list for rte_agenda. Added rte_temperature to input list of emission_agenda. 2006-02-02 Oliver Lemke * arts-1-1-1049 * src/m_cloudbox.cc (CloudboxGetIncoming): Shorten some duplicated code by putting it into for loops. * ChangeLog: Never put anything else into the line with the version number. Thank you! 2006-01-31 Stefan Buehler * arts-1-1-1048 * Just some cosmetic changes * doc/uguide/scattering.tex (subsection{DOIT frame}): Fixed typo. (subsection{Single scattering approximation}): Removed mention of PhD thesis by citation. * src/scatrte.cc (cloud_ppath_update1D_planeparallel): Fixed typo in error message. * src/m_scatrte.cc (doit_i_fieldUpdateSeq1DPP): Fixed typo in documentary output. * tests/simpleDOIT.arts: Fixed wrong method names in comments. * src/methods.cc (define_md_data_raw): Fixed typo in DoitScatteringDataPrepare. * doc/uguide/main.tex: Extended copyright to 2005 and 2006. * doc/uguide/clouds.tex (subsection{Work space methods and variables}): Fixed typo. 2005-12-16 Oliver Lemke * arts-1-1-1047 * tests/MCDataPrepare.arts tests/simpleMC*.arts tests/data/Makefile.am tests/data/.cvsignore: Changed .generated.xml to .xml.generated to prevent those files from ending up in the distribution. 2005-12-16 Oliver Lemke * arts-1-1-1046 * src/parser.cc (is_whitespace): Rework the switch statement a bit to avoid a warning when compiling with -O3. * tests/MCDataPrepare.arts: Removed .bin postfix from output files. Instead added a '.generated.' prefix to the file endings to distinguish them from the static data files. * tests/simpleMC*.arts: Adapted for changed file names. * tests/data/.cvsignore: Added *.generated.xml* * tests/data/Makefile.am: Added *.generated.xml* to CLEANFILES. 2005-12-05 Cory Davis * arts-1-1-1045 * tests/testall.py (MCDataPrepareTest): Added * tests/MCDataPrepare.arts: This file does a lot of the atmospheric field and scattering data preparation that was common to all of the MC tests. Now this is done once instead of 4 times. * tests/simpleMC[WithIncomingLookup].arts: Modified to use files produced by MCDataPrepare.arts * tests/simpleMCGeneral[Gaussian].arts: Modified to use files produced by MCDataPrepare.arts * src/physics_funcs.cc (invrayjean): deleted assert (i >= 0). What was this for? How are you supposed to deal with negative higher value Stokes components? * src/workspace.cc (define_wsv_data): Added WSV mc_unit. 2005-12-04 Cory Davis * tests/testall.py (MonteCarloTest4): Added. 2005-12-02 Cory Davis * arts-1-1-1044 * src/mc_antenna.{cc,h}: Added. Now we can incorporate FOV characteristics in ARTS-MC scattering calculations!!!More later. * tests/simpleMCGeneralGaussian.arts: Added. * src/Makefile.am (test_xml_SOURCES): added mc_antenna.cc, mc_antenna.h in several places. * tests/simpleMCGeneral.arts: included mc_antennaSetPencilBeam{} * src/make_auto_wsv_h.cc (main): include mc_antenna.h * src/make_auto_wsv_groups_h.cc (main): include mc_antenna.h * src/m_montecarlo.cc (mc_antennaSetGaussian): Added. (mc_antennaSetPencilBeam): Added. (mc_antennaSetGaussianByFWHM): Added * src/methods.cc (define_md_data_raw): included mc_antenna in MCGeneral arguments, and added all the functions above. * src/m_montecarlo.cc (MCGeneral): implemented mc_antenna for sampling the field of view. * src/workspace.cc (define_wsv_data): Added WSV mc_antenna * src/groups.cc (define_wsv_group_names): Added group MCAntenna. 2005-11-10 Sreerekha T.R. * arts-1-1-1043 * src/scatrte.cc (cloud_ppath_update1D): Included the doit surface reflection part here. Updated the input and output variables for this function. Comparison with the old version looks fine. * src/scatrte.h: Updated the list of input and output variables. * src/m_cloudbox.cc: *cloudbox_on* variable is set to 0 in the beginning of the function and set to 1 in the end. The *dummy_cloudbox_on* variable is removed. * src/m_scatrte.cc: Added surface variables as input and output in the doit_i_field_UpdateSeq1D method. * src/methods.cc: Added surface variables as input and output in the doit 1D update methods. * src/ppath.cc: Had a problem here. Copied the copying of ppath.l_step from an old version of ARTS because as it is implemented now, the program crashes when the cloudbox is extended to the ground. This happened before the surface part was implemented, if we try to put the lowest cloudbox_limit at the lowest p_grid level. Patrick perhaps can have a look. * tests/simpleDOIT.arts: Updated with surface part. The agenda *surface_prop_agenda* has to be set. All the tests are OK! 2005-11-08 Oliver Lemke * arts-1-1-1042 * tests/data/Makefile.am: Also distribute *.xml.bin. 2005-11-08 Oliver Lemke * arts-1-1-1041 * tests/Makefile.am: subdirs -> SUBDIRS 2005-11-08 Oliver Lemke * arts-1-1-1040 * tests/data/Makefile.am: Added. * tests/data/.cvsignore: Added. * tests/Makefile.am: Added *.arts and *.py to EXTRA_DIST. Added data to subdirs. * configure.in: Added test/data/Makefile.am to AC_OUTPUT. * src/check_input.h: Include exceptions.h for declaration of runtime_error. Fixes compilation with gcc >4.0.2. 2005-09-29 Claudia Emde * arts-1-1-1039 * doc/uguide/scattering.tex: Finished the technical descriptions. * doc/uguide/clouds.tex: Fixed some typos. * doc/uguide/atmosphere.tex: Minor corrections. * src/methods.cc: Fixed online documentation for (DoitAngularGridsSet). 2005-09-28 Claudia Emde * arts-1-1-1038 * doc/uguide/scattering.tex: Included more control file description. 2005-09-27 Claudia Emde * arts-1-1-1037 * doc/uguide/scattering.tex: Included control file parts and comments including descriptions of workspace methods. * doc/uguide/clouds.tex: Minor modifications. 2005-09-26 Claudia Emde * arts-1-1-1036 * doc/uguide/clouds.tex: Included a new section describing particle number density fields and ARTS workspace methods related to cloud properties. * doc/uguide/atmosphere.tex: Small correction. * doc/uguide/references.bib: Included new references. * doc/uguide/symbol_defs.tex: Included symbols for IMC and Reff. 2005-09-23 Oliver Lemke * arts-1-1-1035 * src/arts.h: New macro DEBUG_ONLY (). Use this macro around code that should only be included in debug builds. E.g. around function parameter names which are only used in assertions: Instead of function x( #ifndef NDEBUG Index a #else Index #endif ) { assert (a==1); } please now write: function x( Index DEBUG_ONLY (a) ) { assert (a==1); } It can also be used around a single line of code. For example around definitions of variables which are only used in assertions: DEBUG_ONLY (const Index np = cloudbox_limits[1] - cloudbox_limits[0]); Please don't use this macro around multiple statements. If you have two 'assert-only' variable definitions put each of them in a separate DEBUG_ONLY. For multiple line debug code use the common #ifndef NDEBUG. Hopefully that makes the code cleaner and clearer. * src/{agenda_record,gas_abs_lookup,main,mc_interp,ppath,methods_aux, m_ppath}.cc: Use DEBUG_ONLY where appropriate. * src/partition_function_data.cc: Removed #ifndef NDEBUG around assertions. They are useless. * src/cloudbox.cc (iy_interp_cloudbox_field): Fix non-debug compilation. 2005-09-23 Claudia Emde * arts-1-1-1034 * src/rte.cc (get_radiative_background): Included backgound "inside cloudbox". I have now tested to put the sensor inside the cloudbox and it works!! * src/agendas.cc: Adapted INPUT of *doit_mono_agenda*. * src/m_scatrte.cc: Adjusted INPUT of *doit_mono_agenda*. * src/methods.cc: Adjusted INPUT of *doit_mono_agenda*. * src/cloudbox.cc: Fixed small bug related to sensor in cloudbox. * src/m_cloudbox.cc: Included output message for sensor pos. in cloudbox. 2005-09-19 Claudia Emde * arts-1-1-1033 * src/m_cloudbox.cc (iyInterpCloudboxField), (iyInterpCloudboxField), (DoitCloudboxFieldPut): Modifications for 1D-calculations of observations inside the cloudbox. (not yet tested !!!) * src/cloudbox.{cc,h} (iy_interp_cloudbox_field): Implemeted the option to put the sensor inside the cloudbox. * src/methods.cc: Adapted Input/Output of WSM above. * src/workspace.cc: Included WSV *doit_i_field1D_spectrum* (Radiation field for a full freqeuncy spectrum). 2005-09-16 Cory Davis * arts-1-1-1032 * src/partition_function_data.cc (spec):inserted dumb code becaues name is only used in an assert ... (iso): ditto ... * src/lineshapes.cc (lineshape_norm_no_norm): inserted dumb code becaues f_mono is only used in an assert ... * src/absorption.h: commented out three lines 517-519 a variable was only used in asserts. 2005-09-15 Claudia Emde * arts-1-1-1031 * doc/uguide/clouds.tex: Created this file. This chapter should include parts related to scattering, which are commonly used by MC and DOIT. Included the desription of the class SingleScatteringData. Documentaion of pnd_field will be added. * doc/uguide/atmosphere.tex: Created this file. Should include infromation about atmospheric grids and fields, mainly what is now in Section 3.1, which is currently too long as introduction. Included a short description of the class GriddedField3 here. * doc/uguide/scattering.tex: Removed the short single scattering data description from here. Some description of arts WSMs and WSVs related to DOIT will be added. * doc/uguide/main.tex: Included new files. * doc/uguide/Makefile.am: Dito. * doc/uguide/symbol_defs.tex: Included acronym \ScaMat. 2005-09-13 Cory Davis * arts-1-1-1030 * src/interpolation.cc (gridpos_force_end_fd): Commented out troublesome assertions. * src/special_interp.cc (fix_gridpos_at_boundary): Another small change to deal with grid positions that are just outside the cloudbox. 2005-09-08 Oliver Lemke * arts-1-1-1029 * src/xml_io.cc: Kill endian and numeric type warnings. 2005-09-07 Cory Davis * arts-1-1-1028 * src/methods.cc (define_md_data_raw): Added surfaceEmissivityInterpolate * src/workspace.cc (define_wsv_data): Added surface_emissivity_field. This is to allow for variation in emissivity with latitude and longitude. Useful for realistic 3D simulations. * src/m_atmosphere.cc (surfaceEmissivityInterpolate): Added. Interpolates surface emissivity from surface_emissivity_field - otherwise the same as surfaceSingleEmissivity. 2005-09-01 Cory Davis * arts-1-1-1027 * src/ppath.cc: increased RTOL to 1e-2 (for double) 2005-08-31 Cory Davis * arts-1-1-1026 * src/m_atmosphere.cc (surfaceSingleEmissivity): surface_emission was not being initialised, so there were some rubbish values for Q,U,V. 2005-08-29 Cory Davis * arts-1-1-1025 * src/xml_io_basic_types.cc (xml_read_from_stream): this function (for Strings) was failing for empty strings. 2005-08-23 Cory Davis * arts-1-1-1024 * src/ppath.cc: increased RTOL. * src/m_montecarlo.cc (MCGeneral): fixed surface part. 2005-08-05 Claudia Emde * arts-1-1-1023 * src/m_cloudbox.cc (CloudbocGetIncoming1DAtm): Made this function more efficient. The same calculation was repeated unnecessarily inside loops over latitudes and longitudes. * sec/scatrte.cc (cloud_ppath_update3D): Made this function shorter and nicer by using function (fix_gridpos_at_boundary). 2005-08-01 Cory Davis * arts-1-1-1022 * src/methods.cc (MCSetSeedFromTime): Added * src/workspace.cc (mc_seed): Added. The integer seed for the random number generator used by ScatteringMonteCarlo and MCGeneral. Formerly a keyword argument. * src/m_montecarlo.cc (ScatteringMonteCarlo): updated for new WSV mc_seed (MCGeneral): updated for new WSV mc_seed (MCSetSeedFromTime): Added. Sets the value of mc_seed from system time. * src/rng.cc (seed): removed annoying output to out1 * src/rng.h: removed default value for seed method. * tests/simpleMCGeneral.arts: updated for new WSV mc_seed * tests/simpleMC.arts: updated for new WSV mc_seed * tests/simpleMCWithIncomingLookup.arts: updated for new WSV mc_seed 2005-07-28 Claudia Emde * arts-1-1-1021 * src/m_optproperties.cc (opt_prop_sptFromData), (opt_prop_sptFromMonoData), (pha_mat_sptFromData), (pha_mat_sptFromMonoData): Fixed a bug which is important if more than one particle type is considered. The problem was that if the pnd of the first particle type was zero, the pnds for the other particle types were also assumed to be zero. This bug can cause big errors, esprcially if liquid clouds are considered !!! * src/m_cloudbox.cc (i_fieldSetClearsky): Modified, so that it can be used also for IR calculations. 2005-07-25 Oliver Lemke * arts-1-1-1020 * src/absorption.cc: (LineRecord::ReadFromHitran2004Stream) (LineRecord::ReadFromHitranStream): Handle catalogues in unix and dos encoding properly. Merged from arts-1-0. 2005-07-21 Patrick Eriksson * arts-1-1-1019 * src/m_jacobian.cc (jacobianCalcParticle): Variables lat_cbox and lon_cbox were not initialized in a good way. Caused assert failure, but only sometimes! 2005-07-07 Oliver Lemke * arts-1-1-1018 * configure.in: Require python. 2005-06-15 Oliver Lemke * arts-1-1-1017 * src/agenda_class.{cc,h}: Removed Agenda members magenda_only_out_wsm_in and magenda_only_in_wsm_out. (Agenda::get_agenda_only_out_wsm_in) (Agenda::get_agenda_only_in_wsm_out): Removed. (Agenda::set_outputs_to_push_and_dup): Use local variables for agenda_only_in_wsm_out and agenda_only_out_wsm_in. Throw runtime error instead of warnings if agenda_only_in_wsm_out or agenda_only_out_wsm_in are not empty. * src/absorption.h (LineRecord): Fix example value in documentation for air broadened width 20 -> 20000 Hz/Pa. 2005-07-06 Cory Davis * arts-1-1-1016 * MCGeneral now gives consistent results with ScatteringMonteCarlo (and RteCalc) for pencil beam and blackbody surfaces, which are the only cases I can actually compare. Next step: try other surface models (and compare with DOIT?) * src/montecarlo.cc (mcPathTraceGeneral): Some tinkering, including calls to is_inside_cloudbox. same for MCPathTrace. * src/m_montecarlo.cc (MCGeneral): changes input and output arguments, and other minor fixes. * src/workspace.cc: Added mc_points, which is a Tensor3 that holds the number of Monte Carlo end points in each grid cell. Can be used to make pictures like http://www.met.ed.ac.uk/~cory/plot1.png * src/methods.cc: Changed inputs to MCGeneral (sensor_{pos,los} instead of rte_{los,pos}) and added mc_points as an output. * src/special_interp.cc (fix_gridpos_at_boundary): fixed bug. * src/scatrte.cc (is_inside_cloudbox): added include_boundaries argument which lets you decide whether points on the boundary are inside the cloudbox or not. * tests/simpleMCGeneral.arts: Added. * tests/testall.py (MonteCarloTest3): Added test for MCGeneral. 2005-07-04 Cory Davis * arts-1-1-1015 * src/scatrte.cc (is_inside_cloudbox): re-wrote. It seems I am the only one who now uses this function. * src/montecarlo.cc (mcPathTraceGeneral): debugging. * src/agendas.cc (define_agenda_data): surface_prop_agenda. Added rte_gp_p, rte_gp_lat, rte_gp_lon as input variables. I think this suits better the new agenda scheme. Well, its suits me anyway. * src/m_montecarlo.cc (MCGeneral): debugging. Now its running but not yet giving quite the right answers. * arts-1-1-1014 * src/m_montecarlo.cc (MCGeneral): Added. A generalised 3D reversed Monte Carlo radiative algorithm, that allows for 2D antenna patterns, surface reflection and arbitrary sensor positions. So far the sensor part has not been implemented so it still only does pencil beam calculations - but the framework is there to allow for antenna functions. All of the current surface types should work. This WSM has not yet been tested Also did some general reworking in this file and montecarlo.cc introducing the new Agenda system. * src/methods.cc (define_md_data_raw): add MCGeneral 2005-07-01 Cory Davis * src/m_montecarlo.cc: (scat_iPutMonteCarlo): removed. 2005-07-01 Patrick Eriksson * arts-1-1-1013 * src/m_jacobian.cc (jacobianAddParticle): Old version contained at least two bugs. Wrong sizes were extracted, affecting the number of particle types and particle retrieval quantities that were considered. Each particle variable forms now a retrieval quantity. All fields of jacobian_quantities are now set (though not used). Changes and rearrangement of code to handle this. (jacobianCalcParticle): As above. 2005-06-30 Mattias Ekstrom * arts-1-1-1012 * src/m_jacobian.cc: Fixed bug with jacobianAddParticle eating up all memory (and harddrive?). 2005-06-30 Mattias Ekstrom * arts-1-1-1011 * doc/uguide/sensor.tex: Started on fixing FIXMEs. * src/m_jacobian.cc: Particle jacobians are now only calculated within the cloudbox, the retrieval grids for particle jacobians are therefore confined to the cloudbox range. Using grids that extends outside the cloudbox will result in an error. * src/methods.cc: Cloudbox limits are now needed for jacobianAddParticle. 2005-06-24 Mattias Ekstrom * arts-1-1-1010 * src/m_jacobian.cc (jacobianCalcGas): Fixed bug with nd_field, the size of the tensor now matches the size of t_field to handle different atmospheric dimensions. * src/xml_io_compound_types.cc: Fixed typo for ppath. 2005-06-23 Patrick Eriksson * arts-1-1-1009 * src/m_jacobian.cc (jacobianAddTemperature): Removed options of relative perturbations. * src/m_jacobian.cc (jacobianCalcTemperature): Removed options of relative perturbations. * src/jacobian.cc (check_retrieval_grids): Included checks that grids are sorted correctly. * src/m_physics.cc (SparseToTbByXxx): DO NOT USE!!! These functions appear not to work. * src/m_physics.cc (SparseToTbByPlanck): Innermost if-statement used y_out. Should be y_in. * src/m_physics.cc (SparseToTbByRJ): As above. 2005-06-16 Oliver Lemke * arts-1-1-1008 * doc/uguide/development.tex: Updated section on how to add a WSV group. 2005-06-16 Claudia Emde * arts-1-1-1007 * src/m_scatrte.cc (doit_conv_flagAbs, doit_conv_flagAbsBT): Replaced runtime error with warning if number if iterations is >100. * doc/uguide/scattering.tex: Included missing '+' noticed by Patrick. 2005-06-16 Oliver Lemke * arts-1-1-1006 * Fixes for float compilation. * src/math_funcs.{cc,h} (pow): Added overloaded pow function with first argument of type double and second argument of type float. * src/m_montecarlo.cc, src/test_interpolation.cc: Include math_funcs.h for overloaded pow functions. * ChangeLog: Removed conflict marker. 2005-06-16 Patrick Eriksson * arts-1-1-1005 * doc/uguide/rte.tex: Started on this chapter. * doc/uguide/rte_theory.tex: Removed a double numbering of an equation. 2005-06-13 Mattias Ekstrom * arts-1-1-1004 * src/m_jacobian.cc: Fixed bug found by Patrick, by flipping the iteration order for the perturbation calculations when doing jacobians. 2005-06-13 Patrick Eriksson * arts-1-1-1003 * doc/uguide/surface.tex: Removed two FIXME about theory to check. These things have not been looked at, and the equations appear to be correct. Added a control file example. * doc/uguide/ppath.tex: Included new fields of Ppath structure, and some comments on new WSV ppath_array. * doc/uguide/concept.tex: Revised and added example on supergeneric method. * doc/uguide/fm_definitions.tex: Revised. Added some small text about DOIT and MC. 2005-06-10 Patrick Eriksson * arts-1-1-1002 * Code for gas analytical jacobians appears ready. But not complete tests have been performed. * src/m_rte.cc (RteCalc): Finished handling of jacobians. * src/m_atmosphere.cc (surfaceCalc): Finished to include jacobian part. * src/rte.cc (include_trans_in_diy_dq): Created. (iy_calc): Now handling analytical jacobians. (iy_calc_no_jacobian): Interface with dummy jacobian variables. * src/: Changed diy_dt to be ArrayOfTensor4. This to make it easy to use same functions as for diy_dvmr. Caused smalle modifications in several functions. iy_calc_no_jacobian is now used inside MC and DOIT parts. 2005-06-09 Patrick Eriksson * arts-1-1-1001 * Further work on jacobians. Not yet finished :-( * src/groups.cc (define_wsv_group_names): Introduced ArrayOfTensor4. (Turned out that things become much simpler if diy_dvmr is of this type). * src/ppath.cc (ppath_copy): Included copying of new fields, and replaced some loops by using joker and Range. (ppath_append): Included handling of new fields. 2005-06-09 Mattias Ekstrom * arts-1-1-1000 * src/jacobian.cc: Fixed bug in get_perturbation_gridpos, The perturbation pressure grid can not contain the value zero. Now we use a tenth of the smallest value in the atmospheric grid. Also fixed stupid assertion bug in calc_nd_field. * src/m_jacobian.cc: Fixed bug, calc_nd_field should be called when perturbation is given in ND, not the other way around. 2005-06-09 Oliver Lemke * arts-1-1-999 * src/agenda_class.cc (Agenda::set_outputs_to_push_and_dup): Fix warning message. (printWsvNamesToOut3): Really remove as promised in 1-1-996. * src/absorption.cc, src/m_optproperties.cc, src/scatrte.cc: Fix indentation. 2005-06-09 Patrick Eriksson * arts-1-1-998 * Rearrengement to more easily handle jacobians for cases where the propagation path has several parts, such as for surface reflections. Not finished. New code in iy_calc_test. Started to update RteCalc and RteStd. Changes here and there as argument list for iy_calc and RteCalc has been changed (again). * src/ppath.h: Added definition of ArrayOfPpath. Added some fields to Ppath structure: p t, vmr and next_parts. * src/workspace.cc: Removed: ppath_index, ppath_p, ppath_t and ppath_vmr. Added: ppath_array and ppath_array_do. Redefined diy_dvmr to ArrayOfArrayOfTensor3 and diy_dt to ArrayOfTensor3. 2005-06-08 Mattias Ekstrom * arts-1-1-997 * src/methods.cc: Removed "mode" from keyword list of jacobianAddPointing. This means absolute perturbation is hardcoded. Added "hse" keyword for temperature jacobians, so far only "off" is implemented. * src/m_jacobian.cc: Implemented number density as unit for gas perturbation. Removed calculations of reference spectra and fixed some FIXMEs. Pointing jacobians are now calculated using an absolute perturbation. The method to calculate temperature jacobians also check whether HSE is "on" or "off". Only "off" is implemented, error message is given for "on". The calculation of gas jacobians can now take ND as input. * src/jacobian.[cc,h]: Fixed FIXMEs. Added function calc_nd_field to calculate number densities for each grid point in *vmr_field*. Also fixed problem with perturbation grid extending outside the atmospheric grid. 2005-06-08 Oliver Lemke * arts-1-1-996 * src/wsv_aux.h: (PrintWsvName): Prints the name of the WSV at given index to the output stream. (PrintWsvNames): Prints the names of the list of WSV indexes to the output stream. The List can be any STL container with elements of type index (Array, vector...). * src/agenda_class.cc: (printWsvNamesToOut3): Removed. (Agenda::set_outputs_to_push_and_dup): Use new helper function PrintWsvNames. 2005-06-07 Cory Davis * arts-1-1-995 This work was to address problems in the MC code caused by the change in size of pnd_field. There was a small problem in Claudia's fix. itws were calculated using gps. Then the gps were "fixed", but in the final interpolation the old itws were used with the new gps. As well as solving this problem, all field variables are now looked up in the same way - i.e. inside the cloudbox only the appropriate subset of the *field variables are used. python testall.py -v now works again. * src/montecarlo.{cc,h} (cloud_atm_vars_by_gp): Added. Returns pressure, temperature, VMRs and PNDs, at points corresponding to arrays of grid positions gp_p, gp_lat, and gp_lon. The field and grid input variables all span only the cloudbox. (atm_vars_at_ppath_end): Changed to call cloud_atm_vars_by_gp (TArrayCalc): Changed to call cloud_atm_vars_by_gp (Cloudbox_ppath_rteCalc): updated call to TArrayCalc. (mcPathTrace): updated call to atm_vars_at_ppath_end. 2005-06-07 Oliver Lemke * arts-1-1-994 * src/workspace_ng.{cc,h}: Remove unneeded EMPTY_WSV. (Workspace::is_occupied): Improve readability. (Workspace::pop): Fix memleak. Thanks to claudia and 'valgrind --tool=massif' :-) (Workspace:operator[]): Use NULL instead of EMPTY_WSV. (Workspace:Workspace): Removed EMPTY_WSV initialization. 2005-06-03 Oliver Lemke * arts-1-1-993 * src/methods.cc: Add scat_i_p_, scat_i_lat_, scat_i_lon_ as Input to ScatteringDoit. * src/agendas.cc: Add scat_i_p_, scat_i_lat_, scat_i_lon_ as Input to doit_mono_agenda. * src/agenda_class.{cc,h}: (AgendaSet): Determine WSVs which need to be pushed and duplicated here instead of doing it in the Execute wrappers. (Agenda::get_output2push, Agenda::get_output2dup, Agenda::get_agenda_only_out_wsm_in, Agenda::get_agenda_only_in_wsm_out): New functions. (Agenda::set_outputs_to_push_and_dup): Renamed get_ to set_. Find out special cases. 1. A WSV is defined only as agenda input but used as output in one of the WSMs. 2. A WSV is defined only as agenda output but first used as input in one of the WSMs. A warning message is shown if one of these cases occurs. (printWsvNamesToOut3): Temporary debugging function. * src/m_atmosphere.cc (InterpAtmFieldToRteGps): Fix function name in doxygen header. * src/make_auto_md_cc.cc (main): Use agenda member functions to determine which WSVs need a push/dup. 2005-06-06 Patrick Eriksson * arts-1-1-992 * src/m_jacobian.cc (jacobianCalcGas): Error is thrown if number density is selected (not yet implemented). * src/jacobian.cc (jacobian_from_path_to_rgrids): Now using the extpol gridpos functions. * src/interpolation.cc (gridpos_extpol): This is old gridpos, extended with a selectable extrapolation factor. It turned out that the simplest fix for a part of the analytical jacobian calculations is to allow extrapolation to infinity and this was fixed in this way. (gridpos): Is now only a filter to gridpos_extpol, with a hard-coded extrapolation factor of 0.5. * src/special_interp.cc (ArrayOfGridPosPrint): Removed this obselete function. (p2gridpos_extpol): Created. 2005-06-06 Claudia Emde * arts-1-1-991 * src/m_scatrte.cc: Made output from *scat_mono_agenda* silent, if more than one frequency is calculated. * src/cloudbox.cc (iy_interp_cloudbox_field): Fixed bug in polynomial interpolation. 2005-06-03 Oliver Lemke * arts-1-1-990 * src/workspace_ng.h (is_occupied): Fix crash. 2005-06-03 Patrick Eriksson * arts-1-1-989 * src/: Introduced new workspace group ArrayOfArrayOfindex. * src/workspace.cc: Introduced jacobian_indices. * src/m_physics.cc: Created SparseToTbByRJ and SparseToTbByPlanck. * src/m_basic_types.h (ArrayInit): Created this supergeneric method. * src/methods.cc: Added gas_species as input to gas_speciesAdd and jacobianAddGas, to make sure that gas_species is properly set. * src/m_jacobian.cc (jacobianInit): jacobianInit and jacobianOff are now internally the same function, with functionality of old jacobianOff. This means that jacobianInit can always be used (this simplified the coding for qarts in Atmlab). Changes here and there following introduction of jacobian_indices. * src/m_rte.cc: Code extracted to create jacobian_from_path_to_rgrids. * src/jacobian.cc (jacobian_from_path_to_rgrids): Help function to RteCalc, to map jacobians from positions along the propagation path to the retrieval grids. * src: *opt_prop_agenda* is not any longer used by *rte_agenda*. A fixed mapping from *abs_scalar_gas* to extinction matrix is assumed. The scheme must later be extended to include Zeeman. Changes in several files to adopt to this change. 2005-06-02 Oliver Lemke * arts-1-1-988 * src/make_auto_md_cc.cc (main): Full agenda scoping nearly finished. Still commented out. 'make check' runs fine but there are some problem cases left which need special treatment. TODO: Trigger the get_outputs_to_push_and_dup on AgendaSet instead of calling it on every Execute. * src/agenda_class.{cc,h} (get_outputs_to_push_and_dup): New function replacing get_all_{output,input}. 2005-06-02 Mattias Ekstrom * arts-1-1-987 * src/jacobian.[cc,h]: Change name of field Unit in the retrieval quantity to Mode. This as it better represent the use of the field. * src/m_jacobian.cc: See above. * src/m_rte.cc: See above. * src/xml_io_compound_types.cc: See above. 2005-06-02 Oliver Lemke * arts-1-1-986 * src/workspace_ng.{cc,h}: Let the workspace keep track of variables which were allocated by itself and which where added from outside. The destructor only frees WSVs which were allocated by the workspace itself. Avoids double free corruption when runtime errors occur inside agendas. 2005-06-02 Oliver Lemke * arts-1-1-985 * src/m_scatrte (doit_i_fieldIterate): Don't use doit_rte_agendaScopeExecute. 2005-06-01 Patrick Eriksson * arts-1-1-984 * src/m_jacobian.cc (jacobianAddGas): Changed possible strings for field unit and method. * src/m_rte.cc (RteCalc): Complete code for analytical gas jacobians. 1D tested OK. No tests for higher dimensions. Code shall be broken out to be put in sub-functions. 2005-06-01 Claudia Emde * arts-1-1-983 * src/scatrte.cc (cloud_ppath_update3D): Fixed small bug introduced in latest changes (pressure interpolation). * src/m_rte.cc (RteCalc): Initialized ji0_t and jin_t because of compiler warning. 2005-06-01 Patrick Eriksson * arts-1-1-982 * src/m_rte.cc (RteCalc): More jacobian coding for gases. Mapping from ppath to retrieval grids not yet included. But everything else appears to work (can be tested for 1D with retrieval grid = p_grid). * src/rte.cc (rte_std): Finished code for analytical VMR jacobian calculations. * src/m_jacobian.cc (jacobianCalcGas): Included assert to ensure that not analytical calculations are selected. (jacobianAddGas): Now nothing is added to jacobian_agenda if analytical calculations selected. Retrieval units are now: "vmr", "nd" and "rel". Calculation methods are now: "analytical" and "perturbation" 2005-05-31 Stefan Buehler * arts-1-1-981 * Most of the absorption code from arts-1-0 is here now. Methods are not yet working. * src/test_sparse.cc: Removed definition of joker. * src/species_data.cc: Moved code from arts-1-0 here. * src/partition_function_data.cc: Moved code from arts-1-0 here. * src/methods.cc: Not much changed. * src/m_atmosphere.cc: Include abs_species_tags.h. * src/m_abs_lookup.cc: Include . * src/m_abs.cc: Moved code from arts-1-0 here. * src/lineshapes.cc: Moved code from arts-1-0 here. * src/gas_abs_lookup.h: Include abs_species_tags.h. * src/continua.h: Moved code from arts-1-0 here. * src/continua.cc: Added. (From arts-1-0.) * src/constants.cc: Added HZ2CM (from arts-1-0). * src/absorption.h: Moved code from arts-1-0 here. * src/absorption.cc: Moved code from arts-1-0 here. * src/abs_species_tags.h: Added. Stuff related to species tags. * src/abs_species_tags.cc: Added. Stuff related to species tags. * src/Makefile.am: Added abs_species_tags.h and abs_species_tags.cc. Updated sources for all tests. (This is a mess.) 2005-05-31 Oliver Lemke * arts-1-1-980 * Preparations for full scoping in agendas. * src/workspace_ng.{cc,h} (Workspace::pop_free): New function. Pops a WSV and frees its memory. (Workspace::duplicate): New function. Duplicates the topmost entry on the WSVs stack. * src/make_auto_wsv_h.cc (main): Added new functions in WorkspaceMemoryHandler to duplicate WSVs. * src/agenda_class.{cc.h}: Move implementation of Agenda::operator=, Agenda::resize, Agenda::nelem and MRecord::operator= from cc file to header file. We need these functions for make_auto_wsv_h. But because agenda_class.cc itself depends on auto_wsv.h we cannot link make_auto_wsv_h against agenda_class.o as this would create a circular dependency. (doit_rte_agendaScopeExecute): Test wrappers featuring scope. * src/m_scatrte.cc (doit_i_fieldIterate): Use doit_rte_agendaScopeExecute to test the scoping. * src/Makefile.am (make_auto_wsv_h_SOURCES): Depend on agenda_class.h. 2005-05-31 Stefan Buehler * arts-1-1-979 * src/m_absorption.cc: Removed. * src/m_abs_lookup.cc: Added. (Used to be m_absorption.cc) * src/Makefile.am: Replaced m_absorption.cc by m_abs_lookup.cc. 2005-05-31 Stefan Buehler * arts-1-1-978 * src/methods.cc: Added planned new names for absorption methods as comments. Sorted according to the new names. All absorption methods are now at the beginning of the list. 2005-05-31 Stefan Buehler * arts-1-1-977 * src/workspace.cc: Commented out abs_vec_zee, ext_mat_zee, zeeman_o2_onoff, zeeman_o2_pressure_limit, zeeman_o2_line. Move all these commented-out WSVs to the end of the list. Added planned new names for absorption variables as comments. Sorted according to the new names. All absorption variables are now at the beginning of the list. 2005-05-31 Stefan Buehler * arts-1-1-976 * Removed obsolete ARTS-1-1 absorption files, WSVs, WSMs, and agendas. * src/workspace.cc: Removed WSVs: abs_model, abs_user_parameters, els, els_agenda, els_f_grid, ls, ls_cutoff, ls_f0, ls_gamma, ls_sigma. * src/methods.cc: Removed WSMs: absCKDMT_H2O_AIR, absCKDMT_H2O_H2O, absMPM02_H2O, absO2Model, elsDoppler, elsLorentz, elsVoigt_Drayson, elsVoigt_Kuntz6, lsWithCutoffAdd. Commented out: absO2ZeemanModel, abs_vecAddGasZeeman, ext_matAddGasZeeman, ZeemanO2Settings, test_zeeman. Moved the commented-out Zeeman methods to the end of the list. * src/agendas.cc: Removed els_agenda. * src/Makefile.am: Removed m_lineshapes.cc and m_continua_ckd.cc from the source file list. The files themselves have also been deleted. Removed abs_o2_models.h and m_abs_o2_models.cc from the source file list. The files themselves are still there, in case somebody wants to resume the work on Zeeman. * src/m_lineshapes.cc: Removed. * src/m_continua.cc: Removed. * src/m_continua_ckd.cc: Removed. * src/old_absorption.cc: Removed. 2005-05-30 Patrick Eriksson * arts-1-1-975 * Main changes: - DoNothing and IndexStep now need both global input and output. - Cfiles must now include jacobianOff{} (you can also use RteCalcNoJacobian, but it is mainly intended for internal use) Otherwise some more jacobian code added (not yet activated). * src/m_basic_types.cc (IndexStep): Now works as out = in + 1, where in and out can be same WSV. This also ensures that the WSV has been init correctly when doing a = a + 1. (MatrixCopy): Removed this obselete function. * src/m_ignore.h (DoNothing): The variable to ignore must now be given as both input and output. This to ensure that the variable has been init correctly. * src/m_rte.cc (RteCalcTmp): Added this as a temporary solution to test/develop jacobians, making old cfiles to run. Started to make jacobian code. (RteCalcNoJacobian): Added. * src/workspace.cc: Added rte_do_gas_jacs and rte_do_t_jacs. * src/jacobian.h: Removed speciesindex as field for RetrievalQuantity, and renamed field method to analytical. * src/m_jacobian.cc: Adopted to changes in fields for RetrievalQuantity. (jacobianOff): Added. * src/xml_io_compound_types.cc: Adopted to changes in fields for RetrievalQuantity. 2005-05-30 Claudia Emde * arts-1-1-974 * src/agendas.cc: Fixed entry for *doit_mono_agenda*. * src/m_scatrte.cc (ScatteringDoit): Used new agenda wrapper for *doit_mono_agenda*. Fixed WS OUTPUT of the function. (i_fieldUpdateSeq3D): Included new ageda wrappers, now here also only *iy_surface_agenda* and *ppath_step_agenda* remain. * src/scatrte.{cc,h} (cloud_ppath_update3D): Used new agenda wrappers, used (cloud_RT_no_background). (cloud_RT_no_background): Generalized to handle 1D and 3D. Before the function worked only for 1D. * src/methods.cc: Adapted ScatteringDoit and i_fieldUpdateSeq3D entries. 2005-05-30 Claudia Emde * arts-1-1-973 * src/agendas.cc: Fixed INPUT and OUTPUT of the following agendas: scalar_gas_absorption_agenda, spt_calc_agenda, opt_prop_part_agenda * src/m_scatrte.cc: Used new agenda wrappers for the agendas above in (i_fieldUpdateSeq1D), (i_fieldUpdate1D), (i_fieldUpdateSeq3D). 3D function not yet completed. * src/methods.cc: Adaptes WS OUTPUT of methods above. Most of the output variables could be removed, only the communication variables for *iy_surface_agenda* and *ppath_step_agenda* remain. * src/scatrte.{cc,h}: Used new agenda wrappers in the following functions: cloud_fieldsCalc, cloud_RT_no_background, cloud_ppath_update1D, cloud_ppath_update1D_noseq 2005-05-27 Oliver Lemke * arts-1-1-972 * src/agenda_record.cc (write_agenda_wrapper_header): Fixed stupid bug introduced by myself: Make all input 'const' but omit the reference for Index and Numeric types. Not the other way round! 2005-05-27 Claudia Emde * arts-1-1-971 * src/m_cloudbox.cc (pnd_fieldCalc): Changed the size *pnd_field*. From now on it is defined only inside the cloudbox. * src/m_optproperties.cc: Adapted the following functions to pnd_field modification: (pha_matCalc) only documentation * src/m_scatrte.cc: Adapted the following functions to pnd_field modification: (doit_scat_fieldCalc) * src/scatrte.cc (cloud_fieldsCalc): Adapted to pnd_field modification. * src/montecarlo.{cc,h}: Adapted the following functions to pnd_field modification: (TArrayCalc), (atm_vars_at_ppath_end) * src/special_interp.{cc,h} (fix_gridpos_at_boundary): Created this functionn. It is needed to interpolate the pnd_field in montecarlo.cc. * src/m_workspace.cc: Modified entry for *pnd_field*. * src/methods.cc: Adapted entry for (pnd_fieldCalc). 2005-05-26 Oliver Lemke * arts-1-1-970 * configure.in: Enable -Wshadow also for gcc 4.x. * src/make_auto_md_cc.cc (main): Avoid shadowing of i. 2005-05-26 Oliver Lemke * arts-1-1-969 * ChangeLog: Add missing entry for src/make_auto_md_cc.cc in my previous commit. 2005-05-26 Oliver Lemke * arts-1-1-968 * src/Makefile.am: Added agendas.cc and agenda_record.{cc,h} to make_auto_md_h_SOURCES and make_auto_md_cc_SOURCES. * src/agenda_record.{cc,h} (write_agenda_wrapper_header): New function used by make_auto_md_{cc,h}.cc to generate the wrapper function headers. * src/make_auto_md_h.cc (main): Generate agenda wrapper function prototypes. * src/make_auto_md_cc.cc (main): Generate agenda wrapper functions. * src/agenda_class.{cc,h}: Removed agenda wrappers. They are now automatically generated in auto_md.{cc,h}. 2005-05-25 Oliver Lemke * arts-1-1-967 * src/agenda_class.{cc,h}: More constness in wrapper arguments. Pass elementary data types (Index, Numeric) by value not by reference if they are input parameters. This avoids the need to declare local variables in the calling function if you want to pass literals as input to the agenda. 2005-05-25 Patrick Eriksson * arts-1-1-966 * Some work towards analytical gas jacobians. Nothing yet operational or used. * src/rte.cc (rte_step_std_clearsky): Started, not finished. (rte_std): Started to include jacobian code. 2005-05-25 Claudia Emde * arts-1-1-965 * src/scatrte.{cc,h}(interp_cloud_coeff1D): Created this function in order to clean up the cloud_ppath_updateXX functions. (cloud_ppath_update1D),(cloud_ppath_update1D_noseq): Replaced a big part of the functions by calling (interp_cloud_coeff1D). * src/m_scatrte.cc (doit_i_fieldIterate): Use new agenda wrappers. Use local variable dor doit_sact_field. * src/methods.cc: Adapted INPUT, OUTPUT of doit_i_fieldIterate * agenda_class.{cc,h}: Modified wrapper for doit_scat_field_agendaExecute. * src/agendas.cc: Adapted INPUT and OUTPUT for doit_scat_field_agenda. 2005-05-25 Oliver Lemke * arts-1-1-964 * src/methods.cc: Removed agenda communication variables from doit_scat_fieldCalcLimb. * src/m_scatrte.cc (doit_scat_fieldCalcLimb): Use new pha_mat_spt_agendaExecute wrapper. Use local variables for agenda communication. * src/agenda_class.{cc,h}: New wrapper pha_mat_spt_agendaExecute. * src/agendas.cc: Adapt INPUT, OUTPUT for pha_mat_spt_agenda. 2005-05-24 Oliver Lemke * arts-1-1-963 * src/agendas.cc: Adapted INPUT and OUTPUT for doit_rte_agenda, doit_scat_field_agenda and doit_conv_test_agenda. * src/methods.cc: Adapted INPUT, OUTPUT of doit_i_fieldIterate. * src/m_scatrte.cc (doit_i_fieldIterate): Use new agenda wrappers. Use local variables for communication with the agendas. * src/agenda_class.{cc,h}: Pass silent flag to the agenda wrapper. Added mockups for doit_rte_agendaExecute doit_scat_field_agendaExecute wrappers. 2005-05-24 Claudia Emde * arts-1-1-962 * src/test_interpolation.cc (test07): interp_cubic --> interp_poly * tests/simpleDOIT.arts: Only minor changes in documentation of file. 2005-05-24 Claudia Emde * arts-1-1-961 * src/workspace.cc (define_wsv_data): Removed *doit_grid_optimization_agenda*. Agenda is not needed for this purpose. It is sufficent to use *doit_za_grid_optCalc*. * src/m_scatrte.cc: Removed (DoitGridOptimization). (doit_za_grid_optCalc): Included missing checks. interp_cubic --> interp_poly "cubic" --> "polynomial" (ScatteringDoit): Included missing checks. * src/methods.cc: Improved online docu of the methods above. * src/interp.{cc,h}: Renamed (interp_cubic) to (interp_poly). The name was misleading, because what is done in the function is a 3 point polynomial interpolation and not a cubic interpolation. * src/scatrte.cc: interp_cubic --> interp_poly "cubic" --> "polynomial" * src/cloudbox.cc: interp_cubic --> interp_poly "cubic" --> "polynomial" * src/m_cloudbox.cc: Renamed: (iyInterpCubicCloudboxField) --> (iyInterpPolyCloudboxField) * tests/simpleDOIT.arts: Adapted to changes above. 2005-05-24 Oliver Lemke * arts-1-1-960 * misc/README: This file does not belong in this branch. 2005-05-23 Claudia Emde * arts-1-1-959 * src/m_scatrte.cc: Included missing checks in the following functions: (doit_i_fieldUpdateSeq3D) (DoitInit) (doit_scat_fieldCalc) (doit_scat_fieldCalcLimb) * src/methods.cc: Improved online docu of the methods above. 2005-05-23 Oliver Lemke * arts-1-1-958 * ChangeLog: Fixed typo in my last entry. * src/workspace_ng.{cc,h}: Added push and pop functions. * src/m_scatrte.cc (doit_i_fieldIterate): Misuse this function as a test case for the new agenda wrapper. * src/agenda_class.{cc,h}: New function doit_conv_test_agendaExecute. This is just for testing. Later we'll have auto-generated functions for this. * test/simpleDOIT.arts: convergence_flagAbs -> doit_conv_flagAbs. 2005-05-23 Oliver Lemke * arts-1-1-957 * Fix compile errors with GCC 4.0.1. Mostly because now the use of undeclared names is deprecated. * src/matpackI.h: Added forward declaration of classes ConstVectorView and ConstMatrixView before using them. * src/make_auto_wsv_groups_h.cc: Include matpackII.h in auto-generated code to have Sparse declared. * src/check_input.h: Include matpack{IV,V,VI,VII} because we use Tensors here. (chk_contains): Added dummy return at the end of the function so all (theoretically possible) control paths return a value. 2005-05-19 Patrick Eriksson * arts-1-1-956 * Mail with control file examples for changes of this commit sent to arts-dev. Main changes are: - RteEmissionStd -> RteStd - You must set emission_agenda. Standard choice is: AgendaSet( emission_agenda ){ emissionPlanck{} } - Atmospheric variables (pressure, temperature and VMR) along ppath now accessible. This change simplifies also to make new functions for rte_agenda. The transmission along ppath also accessible by ppath_transmissions. - Files with index number can now be generated. - DoNothing implemented, to complement Ignore. * Changes at many places to adapt to new WSVs ppath_p, ppath_t and ppath_vmr. * src/m_rte.cc: (RteStd): Renamed RteEmissionStd to RteStd. (RteStdWithTransmissions): Made this interface to rte_std. * src/rte.cc (rte_step_std): The function now returns trans_mat, the transmission of the path step. (iy_calc): Included calculation of ppath_p, ppath_t and ppath_vmr. (rte_std): Created this core function for versions of RteStd, and: - Included emission and emission_agenda. - Removed unused variables ext_mat_ppath and abs_vec_ppath. - Adapted to ppath_p, ppath_t, ppath_vmr and ppath_transmission. * src/m_physics.cc (emissionPlanck): Created. (MatrixUnitIntensity): Created. * src/workspace.cc: Added emission, emission_agenda, ppath_p, ppath_t, ppath_vmr, ppath_transmission and file_index. * src/m_jacobian.cc (jacobianAddGasAnalytical): Created. * src/xml_io.cc (filename_xml_with_index): Added. * src/m_xml.h (WriteXMLIndexed): Added. * src/m_ignore.h (DoNothing): Added. 2005-05-18 Patrick Eriksson * arts-1-1-955 * src/m_atmosphere.cc (surfaceCalc): Results were completely wrong. Sent local variable to iy_calc, instead of *iy* which (obviously) does not work. * src/cloudbox.cc (chk_pnd_data): The index for cloudbox_limits were wrong for lat and lon checks. 2005-05-13 Claudia Emde * arts-1-1-954 Splitted the function (cloud_ppath_update1D), because it was getting too complex. * src/scat_rte.{cc,h} (cloud_RT_no_background): Radiative transfer without background (inside cloudbox). (cloud_RT_surface): Dummy function for the surface part. Copied the commented surface part from *cloud_ppath_update1D* to this function. Sreerekha: You can put everything related to the surface into this function. (cloud_ppath_update1D),(cloud_ppath_update1D_noseq) Included new functions here. 2005-05-13 Oliver Lemke * arts-1-1-953 * src/m_scatrte.cc: Fix broken build. Replay my change from arts-1-1-948. 2005-05-12 Claudia Emde * arts-1-1-952 * src/m_cloudbox.cc: Included additional checks in (ParticleTypeAdd{All}). The size of pnd_field will be changed later and checks will be adapted accordingly. Included warning if pnd is non-zero on cloudbox boundary. Cory: For you nothing changes if you still use *ParticleTypeAdd* with empty filename for pnd. * src/cloudbox.{cc,h}: Included and modified several functions to check pnd_field: (chk_pnd_raw_data), (chk_pnd_data), (chk_if_pnd_zero_p), (chk_if_pnd_zero_lat), (chk_if_pnd_zero_lon) * src/m_scatrte.cc: Included missing checks for input variables of the following methods: DoitAngularGridsSet doit_conv_flagXXX doit_i_fieldIterate i_fieldUpdateSeq1D i_fieldUpdate1D (i_fieldUpdate1D): Updated this function, it was not working anymore as we haven't used it for a long time. (i_fieldUpdate3D): Removed this functions, because it is very, very inefficient and it is not worth to update it. * src/scatrte.{cc,h} (cloud_ppath_update1D_noseq): Added. Used in *i_fieldUpdate1D*. * src/methods.cc: Improved online docu for some DOIT related methods. Commented entry for *i_fieldUpdate3D*. * tests/simpleDOIT.arts: Decreased number of azimuth angles. 10 is usually sufficient. * tests/data/pnd_field_1D.xml: Modified. Now pnd = 0 on cloudbox boundary. * tests/testall.py: Adapted DOIT test to modifications. 2005-05-11 Mattias Ekstrom * arts-1-1-951 * src/jacobian.{cc,h}: Turned get_perturbation_grid into get_perturbation_gridpos and re-used it in m_jacobian.cc. This was crucial, since the function creates the interpolation GridPos which are used as basefunctions for adding the perturbation to the atmospheric fields. * src/m_jacobian.cc: Added the call to get_perturbation_gridpos in jacobianCalc-functions. 2005-05-11 Mattias Ekstrom * arts-1-1-950 * src/methods.cc: Added atmospheric grids as input to the jacobian add-functions. They are used to check the consistency of the retrieval grids. * src/jacobian.[cc,h]: Moved check done in get_perturbation_grid to check_retrieval_grids, which is called from jacobianAdd... The function get_perturbation_grid is now obsolete, but not removed yet... * src/m_jacobian.cc: Changes to the function affected by the above mentioned changes i jacobian.cc. 2005-05-11 Oliver Lemke * arts-1-1-949 * src/wsv_aux.cc: Go away! 2005-05-11 Oliver Lemke * arts-1-1-948 * Merged changes from WORKSPACE_REWORK_BRANCH back to HEAD. * This was lying around for some time now. As it doesn't break anything (hopefully), further development can be done in HEAD. * src/m_scatrte.cc (ScatteringDoit): Use new Workspace instead of old WorkSpace. * src/wsv_aux.cc: Removed. * src/Makefile.am: Removed wsv_aux.cc. 2004-11-26 Oliver Lemke * arts-1-1-911-wr3 * src/make_auto_wsv_h.cc (main): More documentation. Better function names in WorkspaceMemoryHandler. alloc->allocate, free->deallocate * src/workspace_ng.h: Adapt to new function names in WMH. 2004-11-18 Oliver Lemke * arts-1-1-911-wr2 * src/workspace_ng.cc: Added documentation. (Workspace::~Workspace): Empty ws array in destructor. (Workspace::Workspace): Define void pointer inside loop. * src/workspace_ng.{cc,h}: Added documentation. * ChangeLog: Fixed some typos in my previous entries. 2004-11-04 Oliver Lemke * arts-1-1-907-wr5 * src/{main.cc,make_auto_md_cc.cc,wsv_aux.h,Makefile.am}: We don't need wsv_pointers anymore. * src/make_auto_wsv_pointers_cc.cc: Removed. * src/workspace_ng.h: Don't include vector. * src/{globals_2.cc,wsv_aux.cc,agenda_class.h,make_auto_wsv_h.cc}: Remove leftovers from old workspace. 2004-11-01 Oliver Lemke * arts-1-1-907-wr4 * First working version of the new workspace. No new features yet, but at least it does the same as the old one in the same amount of time. * src/workspace_ng.{cc,h}: Make wsv_data only visible in cc file. Use Array instead of vector for ws. Added function is_occupied to imitate functionality of old workspace. Implemented destructor to clean up the mess we create on the heap. Kick out wsv_data, we only need N_WSV (include auto_wsv.h for this). (Workspace::operator[]): Allocate memory for wsv on first access. * src/agenda_class.cc: (Agenda::execute): Use the new workspace. Commented out workspace.set which no longer exists. * src/{globals_2.cc,make_auto_md_cc.cc,make_auto_md_h.cc}: Switch over to the new workspace. 2004-10-29 Oliver Lemke * arts-1-1-907-wr3 * src/workspace_ng.{cc,h}: (Workspace::Workspace): Allocate a null pointer for each workspace variable. (Workspace::operator[]): Return the top of the stack of the workspace variable at index i. * src/Makefile.am: Added workspace_ng.{cc,h} to arts_SOURCES and make_auto_md_h_SOURCES. * src/make_auto_wsv_h.cc: Include supergeneric.h in auto source. Created class WorkspaceMemoryHandler. It contains a list of allocation and deallocation routines for all workspace groups. Additionally, it defines two lists of function pointers which link to the corresponding allocation/deallocation routine for each workspace variable. These lists enable the Workspace class to dynamically allocate workspace variables at runtime. 2004-10-29 Oliver Lemke * arts-1-1-907-wr2 * src/workspace_ng.{cc,h}: Added. * src/Makefile.am: Added workspace_ng.{cc,h}. * src/globals_2.cc: Also create global instance of the new workspace. 2004-10-28 Oliver Lemke * arts-1-1-907-wr1 * Created branch for reworking the workspace and agendas. Also includes creation of scope handling in control files. 2005-04-28 Claudia Emde * arts-1-1-947 * src/m_cloudbox.cc, m_scatrte.cc, m_batch.cc: Moved default setting of *doit_za_interp* from (cloudboxSetManually/Altitude) to (DoitInit), where it fits better. * src/m_optproperties.cc (pha_mat_sptFromDataDoitOpt): Modified temperature interpolation to make it a bit more efficient. * src/methods.cc, workspace.cc: Looked through online docu of functions related to DOIT. Minor corrections and modifications. 2005-04-26 Sreerekha T.R. * arts-1-1-946 * src/scatrte.cc (cloud_ppath_update1D_planeparallel): Fixed a bug in this function. The function was not working before for stokes_dim > 1. * src/m_optproperties.cc (pha_mat_sptFromDataDOITOpt, pha_mat_sptFromData): Another small bug. Here, if you had more than one pnd profile and if the first file had zero pnd, the function returned without going to the next profile. * src/cloudbox.cc: In the temperature check, the maximum was set to 320 K, instead of 300 K. 2005-04-26 Claudia Emde * arts-1-1-945 * src/cloudbox.cc (chk_single_scattering_data): Removed azimuth angle check for p20, because it is not needed. * src/m_scatrte.cc: Increased maximum number of iterations in the convergence test functions, now it is 100. 2005-04-20 Cory Davis * arts-1-1-944 * src/montecarlo.cc (Sample_ppathlengthLOS): Fixed a very silly bug that caused MC to fail for very optically thick cases. This bug only caused failure for cases where the first ppath step inside the cloud had a transmittance of less than 1e-12. (Patrick: This was the cause of problems I had with 640 GHz simulations last month) 2005-04-15 Claudia Emde * arts-1-1-943 * src/m_scatrte.cc (doit_iteration_counter): Put initialization of iteration counter at the beginning of this function so that the counting starts at zero for each frequency. * src/m_scatrte.cc (DoitInit): Removed iteration counter here. 2005-04-11 Oliver Lemke * arts-1-1-942 * src/matpackI.cc: Move VectorView constructor to the other VectorView functions. * src/make_array.h: Changed MakeArray::MakeArray to MakeArray::MakeArray. Avoids invalid use of the constructor as a template. * src/make_auto_wsv_groups_h.cc: Add virtual destructor to class WsvP as every class that defines virtual functions must have a virtual destructor. * src/m_abs_o2_models.cc: Comment out unused Numeric BE[] constant. (Zeeman_o2_line_splitting): Use BN_r++ instead of BN_r = BN_r++ to avoid undefined behaviour. Same for AN_r--. 2005-04-11 Oliver Lemke * arts-1-1-941 * src/matpackI.{h,cc}: Added two new VectorView constructors. (VectorView::VectorView(const Vector&)): Fail immediately if someone tries to create a VectorView from a const Vector. (VectorView::VectorView(Vector&)): Added to allow the creation of a VectorView from a non-constant Vector. Without this constructor, the VectorView::VectorView(const Vector&) will always be called which is not what we want. * src/cloudbox.{cc,h} (chk_single_scattering_data): Use ConstVectorView instead of 'const VectorView'. 2005-04-11 Claudia Emde * arts-1-1-940 * tests/data/pnd_field_1D.xml: Modified. The pnd_field did not match the p_grid for Cory's simpleMC, which resulted in a assertion error. This is now fixed. * tests/data/(gas_abs_lookup.xml, gas_abs_lookup.xml.bin): Converted lookup table to binary format to make reading faster. * tests/simpleDOIT.arts: Slightly modified. * tests/testall.py: Modified DOIT test. python testall.py -v works !!! 2005-04-08 Claudia Emde * arts-1-1-939 * tests/simpleDOIT.arts: Added. It uses almost the same data as the Monte Carlo test file, only a different pnd_field for 1D and an optimized zenith angle grid for DOIT. * tests/data/doit_za_grid_opt.xml, pnd_field_1D.xml: Added. * tests/testall.py: Included simple DOIT test here. * src/m_cloudbox.cc(ParticleTypeAdd): Included a warning, if no pnd_field_file is specified. Now it works to use (ParticleTypeAdd) and read pnd_field_raw separately, but I think it is not such a nice solution. In my opinion it is nicer to use (ParticleTypeAddAll) instead. * src/m_atmosphere.cc: Fixed a bug: surface_specular_los( surface_los , atmosphere_dim ); needs as first input a vector but surface_los is a matrix. Included surface_los(0, joker) instead. Patrick, please check whether this is correct. 2005-04-07 Patrick Eriksson * arts-1-1-938 * Changed slightly handling of surface properties, and fixed bug in surface WSMs. The old way works. An example: AgendaSet(iy_surface_agenda){ InterpAtmFieldToRteGps(surface_skin_t,t_field){} surfaceFlat{"water-liebe93"} surfaceCalc{} } The new is that the surface properties can be specified seperately. This will make DOIT implementation simpler and needed for future Jacobian calculations (and for MC?). An example: AgendaSet(surface_prop_agenda){ InterpAtmFieldToRteGps(surface_skin_t,t_field){} surfaceFlat{"water-liebe93"} } AgendaSet(iy_surface_agenda){ AgendaExecute(surface_prop_agenda){} surfaceCalc{} } This tested through Qarts runs. Tests in /tests did not work. See email to arts-dev. * Fixed also a bug. I knew that I hade tested * src/agendas.cc: Added surface_prop_agenda. Removed i_space_agenda. * src/rte.cc (surface_calc): Created this function. Most code extracted from surfaceCalc. * src/m_atmosphere.cc (surfaceCalc): Now using surface_calc. * src/m_atmosphere.cc (surfaceFlat): Fixed bug. LOS was not changed to specular reflection. Got stuck in endless loop. (surfaceSingleEmissivity): As above. 2005-04-06 Claudia Emde * arts-1-1-937 * src/m_scatrte.cc (DoitAngularGridsSet): Included all angular grids here (fine grid for RT calculation and coarse grid for scattering integral). (ScatteringDoit): Included check, whether *DoitInit* is performed before calling this function. * src/m_optproperties.cc: Adapted some variable names. * src/workspace.cc: Corrected online docu for *single_scattering_data*. * src/methods.cc: Included changes above. 2005-04-05 Claudia Emde * arts-1-1-936 Renamed agenda, WSMs and WSVs. Long time back, we decided that all variables/methods related to scattering should start with scat... Now it turned out theat most of the scat... variables are only used for doit, so I renamed them doit.... I will put an updated working control file on the ARTS Wiki ASAP. Updated the online documentation for many renamed agendas, WSMs and WSVs. * src/agendas.cc: Renamed the following agendas: grid_optimization_agenda --> doit_grid_optimization_agenda scat_field_agenda --> doit_scat_field_agenda scat_mono_agenda --> doit_mono_agenda scat_rte_agenda --> doit_rte_agenda convergence_test_agenda --> doit_conv_test_agenda * src/methods.cc: Renamed the following WSM: convergence_flagAbs --> doit_conv_flagAbs convergence_flagLsq --> doit_conv_flagLsq convergence_flagAbs_BT --> doit_conv_flagAbsBT i_fieldIterate --> doit_i_fieldIterate i_fieldSetClearsky --> doit_i_fieldSetClearsky i_fieldSetConst --> doit_i_fieldSetConst i_fieldUpdate1D --> doit_i_fieldUpdate1D i_fieldUpdateSeq1D --> doit_i_fieldUpdateSeq1D i_fieldUpdateSeq1D_PlaneParallel --> doit_i_fieldUpdateSeq1DPP i_fieldUpdate3D --> doit_i_fieldUpdate3D i_fieldUpdateSeq3D --> doit_i_fieldUpdateSeq3D ScatteringDataPrepareDoitOpt --> DoitScatteringDataPrepare ScatteringGridOptimization --> DoitGridOptimization ScatteringMain --> ScatteringDoit scat_fieldCalc --> doit_scat_fieldCalc scat_fieldCalc1D --> doit_scat_fieldCalc1D scat_fieldCalcLimb --> doit_scat_fieldCalcLimb scat_iPut --> DoitCloudboxFieldPut scat_za_gridOptimize --> doit_za_grid_optCalc scat_za_interpSet --> doit_za_interpSet grid_sizeSet --> DoitAngularGridsSet * src/workspace.cc: Renamed the following WSV: convergence_flag --> doit_conv_flag iteration_counter --> doit_iteration_counter i_field --> doit_i_field i_field_old --> doit_i_field_old scat_field --> doit_scat_field scat_za_grid_opt --> doit_za_grid_opt scat_za_interp --> doit_za_interp za_grid_size --> doit_za_grid_size * src/m_cloudbox.cc, m_optproperties.cc, m_scatrte.cc, scatrte.cc: Included new WSM, WSV and agenda names. 2005-04-05 Claudia Emde * arts-1-1-935 * src/m_atmosphere.cc (AtmFieldsCalc): Included checks for the dimension of the atmospheric data. * src/m_cloudbox.cc (ParticleTypeAdd, ParticleTypeAddAll): Included checks for the single scattering data and the particle numbre density fields. * src/cloudbox.{cc,h} (chk_pnd_data, chk_pnd_raw_data chk_single_scattering_data): Created these functions. The last one checks the consistency of the single scattering properties file, whether the dimensions of the data is consistent with the chosen particle type. * src/methods.cc: Modified input of WSMs ParticleTypeAdd and ParticleTypeAddAll. * AUTHORS: Updated. * doc/uguide/Figs/rte_theory/coordinate_system.pdf: Modified. Used the common ARTS symbols in this plot. 2005-03-29 Oliver Lemke * arts-1-1-934 * src/matpackII.cc: Include cmath for abs. 2005-03-22 Patrick Eriksson * arts-1-1-933 * src/m_montecarlo.cc (mc_errorApplySensor): Finished this function. 2005-03-21 Mattias Ekstrom * arts-1-1-932 * doc/uguide/sensor.tex: Changed from MetaPost to pdf figures. * doc/uguide/Figs/sensor/integration.[mps,pdf]: Removed the mps version and added the pdf version. * doc/uguide/Figs/sensor/folding.[mps,pdf]: Removed the mps version and added the pdf version. * src/matpackII.[cc,h]: Added function abs( Sparse, const Sparse) that makes a copy of absolute values of the elements in the second input matrix. * src/test_sparse.cc: Test function for the abs method. 2005-03-16 Cory Davis * arts-1-1-931 * src/rng.cc: Changed output of rng seed from stream out2 to stream out1. 2005-03-15 Patrick Eriksson * arts-1-1-930 * src/m_montecarlo.cc (mc_errorApplySensor): Started on this method. It is not completely finished. The absolute value of a sparse matrix elements must calculated. Mattias help! The only relevant sensor response with MC so far is polarisation. The idea is that, if the sensor is set-up: mc_errorApplySensor{} will give an error estimate for measured polarisations. Cory: What do you say. Look at on-line doc for assumptions. * src/m_atmosphere.cc (surfaceFlat): Fixed bug caused by unexpected matrix/vector interaction. Mail sent to arts-dev on the subject. (surfaceSingleEmissivity): As above. * src/rng.cc: Changed output of rng seed from stream cout to stream out2. 2005-03-11 Oliver Lemke * arts-1-1-929 * ChangeLog: Removed conflict marker. 2005-03-07 Mattias Ekstrom * arts-1-1-928 * src/agendas.cc: Added *jacobian_paarticle_update_agenda* which is used to update the scattered field when the particle number density field is perturbed during the calculation of the Jacobian. The agenda has to be specified by the user, and should for DOIT at least contain a call to ScatteringMain. * src/jacobian.[cc,h]: In get_perturbation_grid added flag for when dealing with pressure grid. Also fixed problems with finding the perturbation limits. * src/m_absorption.cc: Added WSM *gas_speciesAdd* that appends species to the end of *gas_species*. Can be used together with jacobianAddGas when you want the retrieval species first in the list. * src/m_jacobian.cc: Rewritten the particle part. Now the particle jacobian is calculated using a predefined pertrubation field *pnd_field_perturb*, that has the same setup as *pnd_field* apart from having an extra dimension. The jacobian is calculated by iterating through all retrieval grid points and applying the the perturbation from *pnd_field_perturb* at that point. Note that the jacobian is only calculated for retrieval points inside or just outside the cloudbox, since no particles are allowed outside the cloudbox. Also moved some stuff around for the pointing offset jacobian. * src/methods.cc: Added entry for *gas_speciesAdd*, and rewritten some of the jacobian online help texts. * src/workspace.cc: Added text to *jacobian* and added the agenda *jacobian_particle_update_agenda*. 2005-03-07 Oliver Lemke * arts-1-1-927 * doc/index.html.in: Revert my previous change. OF COURSE we HAVE examples. There were just missing in the dist-tarball. :-( * doc/examples/Makefile.am: Add examples to EXTRA_DIST. 2005-03-07 Oliver Lemke * arts-1-1-926 * doc/index.html.in: Removed examples section. 2005-03-02 Cory Davis * arts-1-1-925 * src/montecarlo.cc (matrix_exp_p30): Added. When we have p30 particles (or a mixture of p20 and p30) there is a very simple and exact expression for the matrix exponential of the extinction matrix. Using this instead of matrix_exp has given me a speed-up of approximately 2x for MC simulations. Replaced all calls to matrix_exp in montecarlo.cc. Claudia: it might be worth using this in DOIT? * src/montecarlo.{cc,h}: Moved all interpolation functions to mc_interp.{cc,h} * tests/simpleMC.arts : Modified for new ScatteringMonteCarlo keyword "z_field_is_1D" * tests/simpleMCWithIncomingLookup.arts : Modified for new ScatteringMonteCarlo keyword "z_field_is_1D" 2005-03-01 Cory Davis * src/methods.cc (define_md_data_raw): removed scat_iPutMonteCarlo and added z_field_is_1D keyword parameter in ScatteringMonteCarlo. * src/m_montecarlo.cc (scat_iPutMonteCarlo): removed. Not used. Implemented z_field_is_1D keyword parameter in ScatteringMonteCarlo. * src/montecarlo.{cc,h}: removed mcGetIncomingFromData, ppathRecordMC, Sample_ppathlength 2005-02-28 Cory Davis * arts-1-1-924 * src/groups.cc (define_wsv_group_names): Added SLIData2 * src/workspace.cc (define_wsv_data): changed group of mc_incoming to SLIData2. * src/xml_io_compound_types.{cc,h} (xml_read_from_stream): Added. (xml_write_to_stream): Added. * src/make_auto_wsv_h.cc (main): added << "#include \"mc_interp.h\"\n\n"; * src/make_auto_wsv_groups_h.cc (main): added << "#include \"mc_interp.h\"\n\n"; * src/Makefile.am (arts_SOURCES): added mc_interp.{cc,h}. * src/m_montecarlo.cc (ScatteringMonteCarlo): update incoming_lookup option. * src/xml_io_instantiation.{cc,h}: Added entries for SLIData2 * src/mc_interp.{cc,h}: Added. * tests/simpleMCWithIncomingLookup.arts: Added. * tests/testall.py (MonteCarloTest2): Added tests for new control file simpleMCWithIncomingLookup.arts. 2005-02-25 Mattias Ekstrom * arts-1-1-923 * src/jacobian.[cc,h]: Made helper function for finding perturbation limits for particle fields, considering that perturbations only take place in the cloudbox. * src/methods.cc: Added WSM AgendaExecute, and made changes to the jacobian WSM online help. * src/workspace.cc: Added WSV pnd_field_perturb, a Tensor5 that is used to input the perturbation field for particle jacobians to the WSM. * src/m_agenda.cc: Implemented AgendaExecute which takes an agenda as a generic input and executes it. * src/m_jacobian: New version of jacobianAddParticle and jacobianCalcParticle, not finished yet. Needs method to calculate the scattering properties. 2005-02-23 Claudia Emde * arts-1-1-922 * doc/uguide/scattering.tex: Removed old scattering chapter and included Chapter 4 from my thesis instead. How to use the different WVM is not yet included. Remover old descriptions because they are partly out-dated. * doc/uguide/rte_theory.tex: Included here Chpter 1 from my thesis, a short description of radiative transfer theory in scattering media. Patrick's text is kept as a special case. The notation should be made consistent. Fixed some links to equations in scattering chapter in the following files: * integration.tex * lin_alg.tex * polarization.tex * ppath.tex * references.bib * symbol_defs.tex: Included some new symbols for scattering part and also added \charef, \secref ... May be we could all use these definitions in order to have consistent references. * Figs/scattering: Included figures. * Figs/rte_theory: Included figures. 2005-02-21 Cory Davis * arts-1-1-921 * src/m_montecarlo.cc (ScatteringMonteCarlo): Incoroporated new arguments (see below), switch for incoming radiance calculation, and the use of mcPathTrace. Changed variable name T to evol_op (evolution operator). * src/montecarlo.cc (mcGetIncomingFromData): Added. For a given rte_pos, rte_los, this function returns the incoming 1D clear sky radiance by interpolating mc_incoming. (mcPathTrace): Added. Performs the tasks of pathlength sampling, ray tracing (but now only as far as determined by pathlength sampling) and calculation of the evolution operator and several atmospheric variables at the new point. * src/ppath.h: Added entry for ppath_start_stepping. * src/workspace.cc (mc_incoming): Added. This is an ArrayOfMAtrix that holds precalculated incoming radiances on an [r, za] grid. * tests/simpleMC.arts: Updated for changes in ScatteringMonteCarlo. Still does `on the fly' incoming radiance calculations (incoming_lookup=0). Will provide example using incoming_lookup=1 soon. * src/methods.cc (ScatteringMonteCarlo): Added mc_incoming as an output variable. This is really an input variable, but is listed as an output so you dont have to define it if you are not using the "incoming_lookup" option. If anyone has a better idea ... Added incoming_lookup keyword argument (boolean/Index). Updated doxygen string. 2005-02-16 Oliver Lemke * arts-1-1-920 * autogen.sh: Also test for automake 1.9. * Update on my last commit: automake1.9 was not the problem. SuSE picks up a dependency from make_auto_wsv_h.cc to class binio through absorption.h which defines a friend function with bifstream (derived from binio) as a parameter. So, I would tend to say SuSE's gcc is right when complaining about 'undefined reference to `typeinfo for binio`' in make_auto_wsv_h.o (and others), but why all other gcc's don't see this is a mystery to me. 2005-02-16 Oliver Lemke * arts-1-1-919 * src/Makefile.am: Added binio.[cc,h] to make_auto_*SOURCES. Fixes build on SuSE 9.x. It seems automake1.9 has a different (not sure if better or worse yet) dependency tracking than prior versions. 2005-02-15 Patrick Eriksson * arts-1-1-918 * src/m_cloudbox.cc (cloudboxSetManuallyAltitude): The code allowed that given altitudes were outside *z_field*, but run time errors were still issued. Removed these run time errors to more easily extend the cloud box to the atmospheric vertical limits (surface and TOA). 2005-02-15 Patrick Eriksson * src/m_cloudbox.cc (cloudboxSetManuallyAltitude): * arts-1-1-917 * src/ppath.cc (ppath_start_stepping): Included RTOL when comparing surface radius with start of ppath. Numerical inaccuracy can here give problems. 2005-02-14 Mattias Ekstrom * arts-1-1-916 * doc/uguide/Figs/sensor/integration.mps: Added this figure. 2005-01-25 Mattias Ekstrom * arts-1-1-915 * doc/uguide/sensor.tex: Minor fixes. * src/methods.cc: Added WSM for calculating jacobians for particle number densities; jacobianAddParticle and jacobianCalcParticle * src/m_jacobian.cc: Implemented jacobianAddParticle and jacobianCalcParticle. These functions bears a lot of similarities with the functions related to gas species. But instead of perturbing the vmr_field they change the pnd_field, and the perturbations are applied to all particle types not just one. The jacobianCalcParticle function is not yet functional, it still remains to implement the actual rte calculations. Now this method only returns zero values for the jacobian. 2005-01-21 Mattias Ekstrom * arts-1-1-914 * doc/uguide/sensor.tex: Updated the sensor part of the user guide. I've fixed all references and figures, but there are still a few fixme's that has to be fixed and probably som polishing of the text. * doc/uguide/Figs/sensor/folding.mps: Added figure that visualises the folding of the spectra in the mixer. 2005-01-18 Mattias Ekstrom * arts-1-1-913 * src/m_sensor.cc: Made changes to sensor_responseMultiMixer. * src/sensor.[cc,h]: Adapted multi_mixer_matrix to the changes. 2005-01-05 Mattias Ekstrom * arts-1-1-912 * doc/uguide/sensor.tex: Worked on the sensor chapter. * src/jacobian.[cc,h]: Added function to automatically create the agenda for the jacobian. The agenda is filled with the WSM jacobianCalc... methods, with gas species as keywords when needed. * src/m_jacobian.cc: Added the call to the agenda creating function. * src/m_sensor.cc: Included number of measurement blocks in the conversion of RF to IF. * src/methods.cc: Included *jacobian_agenda* as output in the jacobianAdd... methods. 2004-11-18 Mattias Ekstrom * arts-1-1-911 * src/m_sensor.cc (ConvertIFToRF): Fixed small bug. 2004-11-16 Cory Davis * arts-1-1-910 * src/m_montecarlo.cc (ScatteringMonteCarlo): Fixed bug in termination condition for std_err 2004-11-15 Cory Davis * arts-1-1-909 * src/m_montecarlo.cc (ScatteringMonteCarlo): Fixed bug in input keyword check. 2004-11-12 Patrick Eriksson * arts-1-1-908 * doc/uguide/batch.tex: Some polishing of text. 2004-10-28 Oliver Lemke * arts-1-1-907 * src/{geomag_calc.h,geomag_calc.cc,special_interp.h,agendas.cc, binio.cc,fastem.h,fastem.cc,legendre.cc,continua.h,m_abs_o2_models.cc, math_funcs.cc,m_continua.cc,m_continua_ckd.cc,m_optproperties.cc, m_scatrte.cc,optproperties.cc,montecarlo.h,scatrte.h,scatrte.cc}: Reindented. Please run make check in the src directory before committing to check whether your editor accidentally used tabs for indentation. (X)Emacs users should put the following in their startup file: (add-hook 'c-mode-common-hook (lambda () (progn (setq indent-tabs-mode nil)))) Vim users please add this to .vim/ftplugin/c.vim: setlocal expandtab setlocal cindent setlocal shiftwidth=2 setlocal tabstop=2 setlocal textwidth=78 setlocal cino=>2s,e-s,n-s,f0,{s,}0,^-s,:s,=s,l0,g0,hs,ps,t0,+s,c3,/N0,(0,u0,)100,*100 setlocal formatoptions=croqlt 2004-10-27 Claudia Emde * arts-1-1-906 * src/cloudbox.cc (iy_interp_cloudbox_field): Fixed bugs in the check, whether a pont is on the cloudbox boundary. rte_gp_p was is several places wher is should be rte_gp_{lat, lon}. 2004-10-26 Mattias Ekstrom * arts-1-1-905 * src/absorption.[cc,h]: Moved part functionality of gas_speciesSet here to method array_species_tag_from_string. * src/m_absorption.cc: Moved the conversion from String to ArrayOfSpeciesTag to absorption.cc. This function is also needed by the jacobian functions for gases. * src/agendas.cc: Added *jacobian_agenda* used to perform the final calculations of the Jacobian matrix. * src/methods.cc: Added methods for setting up the Jacobian for gas species (*jacobianAddGas* and *jacobianCalcGas*) and temperature (*jacobianAddTemperature* and *jacobianCalcTemperature*). Also implemented function for calculating the zenith angle pointing jacobian (*jacobianCalcPointing*) and the function *jacobianCalc* that calls the *jacobian_agenda*. * src/workspace.cc: Added *jacobian_agenda* and a vector *sensor_time* used to add a time dimension to the measurement blocks. Currently only used while calculating polynomial pointing offsets by *jacobianCalcPointing*. * src/xml_io_compound_types.cc: Changed type of jacobianindices from Vector to ArrayOfIndex. * src/jacobian.[cc,h]: Changed JacobianIndices to ArrayOfIndex. Added helper functions for the jacobian WSM. check_retrieval_grids, get_perturbation_grid, get_perturbation_range, perturbation_field_1d, perturbation_field_2d and perturbation_field_3d. * src/m_jacobian.cc: Implemented *jacobianAddGas*, *jacobianAddTemperature*, *jacobianCalc*, *jacobianCalcGas*, *jacobianCalcPointing* and *jacobianCalcTemperature*. Some minor changes to already existing functions. 2004-10-26 Oliver Lemke * arts-1-1-904 * src/parameters.cc: Added commandline option --plain. * src/parameters.h: Added attribute plain to Parameters. * src/main.cc (option_methods, main): Omit special formatting for method, group, and wsv lists if --plain was specified. * doc/reference/{arts_groups_to_latex.sh,arts_methods_to_latex.sh, arts_variables_to_latex.sh}: Use --plain instead of grep/sed. 2004-10-21 Patrick Eriksson * arts-1-1-903 * doc/uguide/surface.tex: When looking for other stuff, I found that Vol. 1 of Ulaby contains equations that relates surface reflectivity and emissivity. Based on this, I now feel more sure that the general expression for emission from flat surfaces I derived is correct. I then updated section. However, some things must be confirmed. Can anyone having the Mischenko book check if it confirms Eq. 7.7, 7.8 and 7.14, or if it says something different. As the scattering part is based on Mischenko, we should use those definitions as far as possible. For example, it seems that different text books differs with a factor of -1 for the Fresnel expression of Rv. 2004-10-14 Cory Davis * arts-1-1-902 * Main points: Some improvements in usability for ScatteringMonteCarlo. Now, you can specify max_iter as before, and/or the desired standard error in the simulated radiance *std_err*, and/or the maximum amount of time you are willing to wait for the answer *max_time*. ScatteringMonteCarlo terminates once any of these criteria are met. If std_err, max_iter, or max_time (all keyword arguments) are negative, then the relevant criteria is ignored. I think this is nice :) * src/workspace.cc (mc_error):Used to be called i_montecarlo_error. Now it refers to the actual error *at* the sensor!, which is much more useful. This has been enabled by calculating the clear-sky optical depth between the cloudbox and sensor in the first step of ScatteringMonteCarlo * src/m_montecarlo.cc (ScatteringMonteCarlo): Changed input and output variables, and allowed error-based or time-based termination criteria. See ArtsWiki for details! * src/workspace.cc (mc_iteration_count): Added. This is output by ScatteringMonteCarlo. Useful when you use std_err of max_time to terminate ScatteringMonteCarlo. * src/montecarlo.cc (opt_depth_calc): Added. (Cloudbox_ppath_rteCalc) For some reason all the other changes here did something to Patricks recent ppath_calc changes in the MC algorithm, which resulted in an assert failure in ppath_calc. This problem went away when I changed back to using Cloudbox_ppathCalc. This is a temporary measure until I find out what is going on. * tests/testall.py (MonteCarloTest): Used *mc_error* to determin allowed range for Stokes Vector. * tests/simpleMC.arts : Changed to account for changes in ScatteringMonteCarlo. Used max_time = 20 seconds. 2004-10-13 Oliver Lemke * arts-1-1-901 * ChangeLog: Removed conflict markers. 2004-10-12 Patrick Eriksson * arts-1-1-900 * Main things: Some cleaning and fixed so ppath_calc can be used from MC part. Some code and functions in MC are now obselete but left until changes are tested more carefully (testall.py runs fine!). Some old code removed in clear sky part. Code now compiles with Numeric=float. Clear sky part seems to work. Error when reading a scattering properties file. See email to arts-dev. Obvoius error in iy_interp_cloudbox_field fixed. * src/cloudbox.cc (iy_interp_cloudbox_field): Fixed problem pointed out by Cory. Typo made that scat_i_p was used instead of scat_i_lon. * src/rte.cc: Removed rte_calc_old and get_radiative_background_old. * src/m_rte.cc (RteEmissionStd): Mean of log(p) is now used (instead of mean of p). * src/m_abs_o2_models.cc (CEF): src/m_atmosphere.cc (surfaceFlat): src/refraction.cc (refr_index_ir): Included type casting of fixed numeric values to avoid compilation warning with Numeric = float. * src/interpolation.cc: Changed FD_TOL from 1e-4 to 1e-3 to get Numeric=float to run. * src/ppath.cc (ppath_calc): Made necessary changes to allow that the function is also used for MC inside the cloud box. * src/m_montecarlo.cc (scat_iPutMonteCarlo): Replaced i_rte with iy, which is new variable with same purpose. This method is obselete but is left until things have been checked more carefully. (ScatteringMonteCarlo): Replaced call of Cloudbox_ppathCalc with call of ppath_calc. * src/montecarlo.cc (Cloudbox_ppath_rteCalc): Replaced call of Cloudbox_ppathCalc with call of ppath_calc. * src/workspace.cc: Removed surface_refl_coeffs and i_rte. * src/m_atmosphere.cc: Removed surfaceTreatAsBlackbody. * src/agendas.cc: Removed surface_agenda. * Untabified some files, but stop to avoid possibel merge problems if someone else does the same until I have a chance to commit. 2004-10-12 Cory Davis * arts-1-1-899 * src/cloudbox.cc (iy_interp_cloudbox_field): scat_i_lon is only used in asserts. Added stupid code until someone fixes this properly. 2004-10-11 Cory Davis * arts-1-1-898 * src/rng.cc: untabified. * src/rng.h: untabified. * src/m_montecarlo.cc: untabified. * src/montecarlo.cc: untabified. * src/montecarlo.h: untabified. 2004-10-06 Oliver Lemke * arts-1-1-897 * tests/Makefile.am: Run testall.py with 'make check'. * tests/.cvsignore: Ignore *.rep. 2004-10-07 Cory Davis * arts-1-1-896 * tests/simpleMC.arts: Changed the scenario to one that is similar to a scenario that failed yesterday due to a problem with ppath_calc. This problem has been temporarily fixed by reverting to Cloudbox_ppathCalc, so the tests described below now pass. * tests/data: removed files associated with the previous MC scenario and replaced them with new ones. This has involved including a single p30 scattering data file, which is quite large (4MB). Oliver, can you suggest a way to mitigate any slow-down this will cause CVS? (admin -kb ?). Although this large file is a bit of a pain, I think it is vital to include a p30 test case because it really tests the polarization performance of arts. * tests/testall.py: Changed accuracy thresholds for new scenario. Here is the new output: [cory@fog tests]$ python testall.py -v Simple Monte Carlo test should run with no errors ... ok Total radiance should be close to 201.8 K ... ok Polarization difference should be close to 7.6 K ... ok ---------------------------------------------------------------------- Ran 3 tests in 39.393s OK Can I ask that people please run this before committing to arts? If you are uncomfortable with the length of time the test takes (40s), we can reduce the photon numbers and increase the accuracy tolerance. 2004-10-07 Cory Davis * arts-1-1-895 * tests/testall.py (ArtsRun): A baby arts run class for the handling of test cases. (MonteCarloTest): Added tests for the accuracy of the total radiance and polarization difference. OK Oliver, lets see your makefile do this! ;) 2004-10-06 Cory Davis * arts-1-1-894 * src/m_montecarlo.cc (ScatteringMonteCarlo): Although MC was running without crashing - it was giving the wrong answer by a mile. Something was wrong with using ppath_calc inside the cloud-box. Maybe in particular when starting from the boundary looking in. Changed back to using Cloudbox_ppathCalc. Now I seem to be able to replicate some old runs. * src/montecarlo.{cc,h}: moved Cloudbox_ppathCalc here from m_montecarlo.cc. 2004-10-06 Cory Davis * arts-1-1-893 * tests/testall.py: Added. Performs arts unit tests. Usage: python testall.py -v. * tests/simpleMC.arts: This is basically the control file created by Patrick after recent arts changes. The only difference is that I have used ParticleTypeAddAll, which makes the control file a lot shorter. This control file should run with no errors. * tests/data/*.xml: Added all the files needed to run simpleMC.arts. 2004-10-06 Oliver Lemke * arts-1-1-892 * src/check-code-tab-indent.sh: Added. Checks if tabs are used in source code for indentation. * src/check-code-cheaders.pl: Less output. * src/Makefile.am: Added check-code-tab-indent.sh to tests. 2004-10-06 Oliver Lemke * arts-1-1-891 * tests/Makefile.am: Added. * tests/.cvsignore: Added. * tests/data/.cvsignore: Added. * configure.in: Create tests/Makefile. * Makefile.am: Added tests to SUBDIRS. * doc/examples/Makefile.am: Commented out check target. 2004-10-05 Patrick Eriksson * arts-1-1-890 * Monte Carlo calculations now works again. And even better, works with iy_cloudbox_agenda. This makes a control file for MC much simpler. I will send out an example. * src/m_scatrte.cc (DoitInit): Renamed ScatteringInit to DoitInit. This as I got confused of the name and it took me quite some time to check what it does. I though it did general tasks, but it does only pure DOIT stuff. * src/rte.cc (get_radiative_background): Included improved error message made by Cory for other backgrounds than space. * src/interpolation.cc (is_gridpos_at_index_i): Moved back to old code, that was replaced for version 1-1-885. New code clearly a bad idea after more careful consideration. 2004-10-04 Cory Davis * arts-1-1-889 * src/montecarlo.{cc,h}: Made innumerable changes dealing with Patrick's changes. * src/m_montecarlo.cc: Made innumerable changes dealing with Patrick's changes. ScatteringMonteCarlo will now run, but will eventuallly run into as assert failure due to a new problem with ppath_calc. * src/methods.cc: Modified ScatteringonteCarlo reference. Removed Cloudbox_ppathCalc. 2004-09-30 Oliver Lemke * arts-1-1-888 * doc/doxygen/latex/.cvsignore: Added *.ttf. * src/m_batch.cc: Include cmath to fix compilation with newer gcc. 2004-10-01 Patrick Eriksson * arts-1-1-887 * DOIT part updated to recent changes. Warnings/limitations: - iyInterpCloudboxField not tested practically for 3D - CloudboxGetIncoming1DAtm not tested after modification - Cloud box can not include the surface (which anyhow was not possible for 3D before). This should be fixed on the same time as sensor positions inside the cloud box are accomodated. * src/scatrte.cc (cloud_ppath_update1D): Removed old surface variables and changed to iy_surface_agenda. (cloud_ppath_update1D_planeparallel): As above. * src/m_scatrte.cc (i_fieldUpdateSeq1D): Removed old surface variables and changed to iy_surface_agenda. (i_fieldUpdateSeq1D_PlaneParallel): As above. * src/cloudbox.cc (cloudbox_boundary_check): Removed this function. (cloudbox_getOutgoing3D): Removed this function. (cloudbox_getOutgoingCubic1D): Removed this function. (cloudbox_getOutgoing1D): Removed this function. * src/m_cloudbox.cc (CloudboxSetIncomingForTauCalc1D): Removed this method. (CloudboxGetIncomingOld): Removed this method. (CloudboxGetOutgoing): Removed this method. (CloudboxGetOutgoingCubic): Removed this method (CloudboxGetIncoming1DAtm): Modified to use iy_calc instead of rte_Calc_old. And included check that 3D atmosphere is set. * src/m_batch.cc (ybatchMetProfiles): Moved function from m_cloudbox.cc. (ybatchMetProfilesClear): Moved function from m_cloudbox.cc. 2004-09-30 Patrick Eriksson * arts-1-1-886 * src/cloudbox.cc (iy_interp_cloudbox_field): Complete code for 3D added, but no practical tests. * src/m_cloudbox.cc (CloudboxGetIncoming): Put in if statement to only make calculations for first azimuth angle for za = 0 and 180, and use that result for all azimuth angles. This is possible as all azimuth angles give the same result, and accordingly some time is saved. This only for 3D, of course. 2004-09-29 Patrick Eriksson * arts-1-1-885 * Bug fixed. And succesful test with a 1D DOIT case. Same result obtained with this version and 1-1-873. * src/rte.cc (rte_step_std): Included assert moved from RteEmissionStd: assert (!is_singular( ext_mat_av )); * src/m_rte.cc (RteEmissionStd): Removed unnecessary variables ext_mat_av and abs_vec_av. Moved an assert to rte_step_std. * src/m_atmosphere.cc (surfaceCalc): Some cheks of input do not make sense when surface is treated to be a blackbody. Fixed. (surfaceBlackbody): Values of surface_emission for stokes_dim > 1 were not set to zero. * src/interpolation.cc (is_gridpos_at_index_i): Added a missing fabs. This was the reason to the general bug in the ppath part. 2004-09-29 Patrick Eriksson * arts-1-1-884 * WARNING: There seems to be some problem in the ppath part. Anyhow, no correct spectra are provided. Will look at this ASAP, but can not right now. * src/cloudbox.cc (iy_interp_cloudbox_field): Moved code from iyFromCloudboxField to create this function, and continued coding. 1D is now complete but not tested. * src/m_cloudbox.cc: (iyInterpCloudboxField): Introduced this WSM. (iyInterpCubicCloudboxField): Introduced this WSM. (iyFromCloudboxField): Removed. 2004-09-28 Patrick Eriksson * arts-1-1-883 * No new external functionality, but some internal improvements and further work on iyFromCloudboxField. * src/m_cloudbox.cc (iyFromCloudboxField): More work, but not finished. * src/ppath.cc (ppath_calc): Included usage of fractional_gp. * src/interpolation.cc: Introduced file-global constant FGP_TOL, to set a measure on precision on fractional grid distances. (fractional_gp): Made this function. Basically adds gp.idx and gp.fd[0]. (gridpos): Included description of allowed extrapolataion of half grid range in function header. Was only commnted inside function. (is_gridpos_at_index_i): Modified, now uses FGP_TOL and will be more robust than old version. 2004-09-27 Patrick Eriksson * arts-1-1-882 * src/m_cloudbox.cc (iyFromCloudboxField): Just a start for a replecement of CloudboxGetOutgoing (time to go home!). * src/m_atmosphere.cc (surfaceTreatAsBlackbody): Reintroduced this method. Just for the purpose to get a test case running (needed to define an old surface_agenda for i_fieldUpdateSeq1D). * src/m_cloudbox.cc (CloudboxGetIncoming): Made new version of this function. Now works with new agendas, iy_calc etc. (CloudboxGetIncomingOld): The old version, renamed. * src/rte.cc (iy_calc): Introduced local variable outside_cloudbox. * src/interpolation.cc (gridpos_force_end_fd): Small change in header. 2004-09-24 Patrick Eriksson * arts-1-1-881 * src/rte.cc (surface_specular_R_and_b): Made this function. * src/m_atmosphere.cc (surfaceFlat): The function now works. But there is only a dielectric model for water at 10 - 1000(?) GHz. Please add more. 2004-09-22 Patrick Eriksson * arts-1-1-880 * doc/uguide/surface.tex: Finished chapter up to specular reflections. BUT EQUATIONS 7.11 AND 7.17 MUST BE CONFIRMED (Sreerekha please compare to the part in Mischenko you mentioned. Is my derivation of surface emission correct?) * doc/uguide/ppath.tex: Updates of surface, space and cloudbox parts to recent changes in code. * doc/uguide/ppath.tex: ppath_step_agenda was indexed as WSV. * doc/uguide/scattering.tex: Fixed one indexing of an agenda as WSV. * doc/uguide/montecarlo.tex: Commented out two labels with same name, but with no reference. Tex-ing gives now no reference/label warnings. * doc/uguide/agendas.tex (section{Workspace Variables or WSVs}): Removed reference to removed appendix. 2004-09-21 Patrick Eriksson * arts-1-1-879 * src/m_atmosphere.cc (surfaceFlat): Further work on this WSM. Not yet ready. Dielectric constant for "water-liebe93" checked against epswater93.m in Atmlab. * src/physics_funcs.cc (fresnel): Created this function. Checked against Atmlab function with same name. 2004-09-21 Patrick Eriksson * arts-1-1-878 * Surface part slightly changed. Basically the same scheme as used before last changes, but moved outside RteCalc. That is, surface_emission etc. are back, with the change that surface_refl_coeffs is now called surface_rmatrix. These variables shall be provided to surfaceCalc, which is a totally general method for iy_surface_agenda. An example: AgendaSet(iy_surface_agenda){ InterpAtmFieldToRteGps( surface_skin_t, t_field ){} NumericSet( numeric_1 ){ 0.75 } surfaceSingleEmissivity( numeric_1 ){} surfaceCalc{} } * src/m_atmosphere.cc: Created WSMs: surfaceBlackbody surfaceCalc surfaceSingleEmissivity Started on surfaceFlat (specular reflection where a model for dielectric constant is specified) * src/workspace.cc: Introduced numeric_1 and numeric_2 (this has nothing to do with the emails exchange about Set methods, needed for e.g. surfaceSingleEmissivity). Surface WSVs are now (with possible update of old descriptions): surface_emission surface_los surface_rmatrix surface_skin_t 2004-09-20 Oliver Lemke * arts-1-1-877 * src/workspace.cc: Added variables nelem, ncols, nrows, npages, nbooks, nshelves, nvitrines, nlibraries. * src/methods.cc: Modified VectorSet, MatrixSet, Tensor[34567]Set. Size are now determined by input variables and no longer by keywords. Old: MatrixSet( matrix_1 ){ nrows=2 ncols=3 value=5. } New: IndexSet( nrows ){ 2 } IndexSet( ncols ){ 2 } MatrixSet( matrix_1 ){ 5. } Added WSMs nelemGet, ncolsGet, nrowsGet, npagesGet, nbooksGet, nshelvesGet, nvitrinesGet, nlibrariesGet. These methods retrieve the size from the given workspace variable and store them in the corresponding workspace variable. Example: To set p_grid to the same size as f_grid you can use: nelemGet( f_grid ){} VectorSet ( p_grid ){} nelemGet sets the WSV *nelem* to the size of f_grid. And VectorSet resizes p_grid taking the value of *nelem*. Removed MatrixSetTakingSizeFromMatrix and VectorSetTakingLengthFromVector. * src/m_basic_types.cc: Replaced all occurences of shelfs with shelves. Removed MatrixSetTakingSizeFromMatrix and VectorSetTakingLengthFromVector. * src/m_basic_types.h: Added. Added functions for WSMs nelemGet, ncolsGet, nrowsGet, npagesGet, nbooksGet, nshelvesGet, nvitrinesGet, nlibrariesGet. * src/make_auto_md_cc.cc: Include m_basic_types.h in auto_md.cc. * src/Makefile.am: Added m_basic_types.h to ARTS_SOURCES. * src/m_general.h: Removed duplicate doxygen comment. First time I saw too much documentation in a file. ;-) 2004-09-20 Patrick Eriksson * arts-1-1-876 * Larger changes. Calculations without cloudbox shall work. Test runs look OK. Changes needed in MC and DOIT parts. New and removed WSVs and WSMs commented in emal to arts-dev. * src/m_rte.cc: General revision of RteCalc, and inclusion of code form rte_calc. * src/rte.cc: General revision of get_radiative_background and iy_calc. Code of rte_calc moved to RteCalc. (rte_step_std): Renamed to rte_step to this name. To indicate that other versions are possible,a nd in line with WSM RteEmissionStd. (surface_specular_los): Surface tilt is now NOT considered. * src/m_atmosphere.cc: Put all surface methods at end and behind // (surfaceSpecular): Created this method. * src/m_cloudbox.cc (cloudboxOff): Changed to a smaller set of variables given dummy values. * src/m_physics.cc (MatrixPlanck): Temperature is now general WS input, and not keyword argument. * src/m_general.cc (Error): Created this WSM. 2004-09-19 Patrick Eriksson * arts-1-1-875 * First step of cleaning up RT part. No changes in control filesyet needed. * src/ppath.cc: Removed not used input argument agenda_verb. * src/rte.h: Removed unneccessary headers (one function did not even exist!). * src/workspace.cc: iy: Added. This WSV will replace i_rte. I had a very hard time to decide the name of this variable. I was not happy with old name. New name is more compact which makes connected aganda and method names nicer, and indicates the connection to *y*. New name not perfect, but better. yi_cloudbox_agenda: Added. yi_space_agenda: Added. Will replace i_space_agenda. * src/rte.cc: (rte_calc_old): Created copy of old version. (get_radiative_background_old): Created copy of old version. (rte_step): Included code from stokes_vecGeneral to avoid some calculation repitions. I could not see any use to keep the functions seperated. (stokes_vecGeneral): Removed this function. (iy_calc): Created this function. 2004-09-16 Patrick Eriksson * arts-1-1-874 * src/methods.cc: Removed batch_pre_agenda. I realised that it just made things more difficult. Involved function fixed. * doc/uguide/batch.tex: Finished the chapter. 2004-09-16 Mattias Ekström * arts-1-1-873 * src/Makefile.am: Added m_jacobian in test_geomag_calc sources. * src/jacobian.h: Added functions for setting fields in class RetrievalQuantity. * src/m_jacobian.cc: Added WSM jacobianAddPointing used to add a pointing offset (polynomial) to the jacobian. Also added function jacobianClose that finalises the WSV jacobian and jacobian_quantities. It also sets some of the fields in the RetrievalQuantity that are not set by the user. And finally WSM jacobianInit that starts up the process of defining what the user wants to retrieve, has been implemented. * src/methods.cc: Added WSMs jacobianInit, jacobianAddPointing and jacobianClose. * src/xml_io_compund_types.cc: Changes to xml routine for RetrievalQuantity. 2004-09-16 Patrick Eriksson * arts-1-1-872 * doc/uguide/batch.tex: Started on writing. 2004-09-16 Claas Teichmann * arts-1-1-871 * doc/uguide/polarization.tex (section{Plane monochromatic waves}): fixed sign in {eq:polarization:stokesparam_U} 2004-09-16 Oliver Lemke * arts-1-1-870 * src/Makefile.am: Added m_batch.cc to test_geomag_calc sources to remove compilation problem. 2004-09-16 Patrick Eriksson * arts-1-1-869 * Batch calculations tested with success. It works. * src/gas_abs_lookup.h/cc: Made member functions GetFgrid and GetPgrid. * src/methods.cc: Some smaller changes for batch variables. Added f_gridFromGasAbsLookup and p_gridFromGasAbsLookup. * doc/uguide/batch.tex: Just created this file and included it in main. No writing yet. 2004-09-15 Patrick Eriksson * arts-1-1-868 * src/m_batch.cc: Added this file and implemented WSMs added to methods.cc. It compiles but no practical test yet. * src/methods.cc: Arranged methods in alphabetical order. Or at least something close to it. There were many many methods to move around. After an update I got a crash with Mattias commit and there were so many merge problems that I could not resolve it. I had to make a seperate checkout, copy that methods.cc and start all over. In total I have spent > 1 hour on this. So please try to think about things like these. Not fun at all to sort it out. Added: ybatchCalc, BatchUpdateMatrix, BatchUpdateNumeric, BatchUpdateTensor3 BatchUpdateTensor4 and BatchUpdateVector. * src/agendas.cc: Added agendas for batch calcations (batch_XXX_agenda). * src/workspace.cc: Arranged variables in alphabetical order. Added: ybatch, ybatch_index, ybatch_n, tensor3_2, tensor4_1, tensor4_2, tensor5_2. 2004-09-15 Mattias Ekström * arts-1-1-867 * src/Makefile.am: Added jacobian.h and jacobian.cc to test_geomag_calc sources to remove compilation problem. 2004-09-15 Mattias Ekström * arts-1-1-866 * src/jacobian.[cc,h]: Added these to files. The header files describes the class RetrievalQuantity, which will be used to set up the jacobian matrix. It also defines ArrayOfRetrievalQuantity. * src/m_jacobian.cc: Added this file. Empty so far. * src/Makefile.am: Added the above mentioned files to arts sources. * src/groups.cc: Added ArrayOfRetrievalQuantity. * src/make_auto_wsv_groups_h.cc: Included jacobian.h in auto_wsv_groups.h. * src/make_auto_wsv_h.cc: Included jacobian.h in auto_wsv.h. * src/workspace.cc: Added *jacobia*,*jacobian_quantities*, *jacobian_lat_grid*,*jacobian_lon_grid* and *jacobian_p_grid*. The *jacobian* variable is the Jacobian matrix itself, *jacobian_quantities* describes the retrieval quantities and the grid variables are definition grid for the jacobian quantities. * src/xml_io_compund_types.[cc,h]: Added functions for reading and writing RetrievalQuantity to xml files. * src/xml_io_array_types.[cc,h]: Added functions for reading and writing ArrayOfRetrievalQuantity. * src/xml_io_instantiation.h: Added headers for the functions added in xml_io_compund_types.[cc,h] and xml_io_array_types.[cc,h]. * src/sensor.cc: Changes made to multi_mixer_matrix. 2004-09-13 Oliver Lemke * arts-1-1-865 * src/file.{cc,h}: Removed unimplemented function prototypes binfile_*. Removed obsolete string io and matrix/vector io routines. Only functions needed by the parser and for the writing of the report files are left. 2004-09-13 Oliver Lemke * arts-1-1-864 * src/main.cc (main): Remove HDF info in --version output. 2004-09-09 Claudia Emde * arts-1-1-863 * src/m_cloudbox.cc (ParticleYypeAddAll): Modified. Now it takes as input for the scattering data one filename. This file should contain all the filenames which belong to the pnd_field_raw, which is also added in this function. The file containing the filenames can be generated with PyARTS. * methods.cc: Modified entry for (ParticleTypeAddAll). 2004-09-08 Claudia Emde * arts-1-1-862 * src/workspace.cc: Included variable *arrayofstring_1* for test purposes. 2004-09-03 Claudia Emde * arts-1-1-861 * src/m_optproperties.cc: Modified T-interpolation. Now the temperature can be slightly outside the T_gerid in the scattering data and the data will be extrapolated. 2004-08-25 Claudia Emde * arts-1-1-860 * src/m_optproperties.cc (pha_mat_sptFromMonoData): Fixed problem. I ignored pnd smaller than 0.001. Now the value is set to 1e-12. * src/m_cloudbox.cc (ParticleTypeAddAll): Minor modification. * src/m_scatrte.cc (za_interpSet): Cubic interpolation is only implemented for 1D. Included check to assure that it is not used for 3D. * src/methods.cc: Included *atmosphere_dim* as input for (za_interpSet). 2004-08-13 Oliver Lemke * arts-1-1-859 * autogen.sh: Change head option from '-1' to '-n 1' as the former is obsolete and maybe removed in future versions. * m4/{lf_warnings.m4,lf_cxx.m4}: Fix quoting of LF_CHECK_CC_FLAG, LF_CHECK_F77_FLAG, LF_SET_WARNINGS, LF_CONFIGURE_CXX, and LF_CPP_PORTABILITY for automake >= 1.8. 2004-08-12 Oliver Lemke * arts-1-1-858 * src/Makefile.am: Added fastem.{cc.h} to test_geomag_calc_SOURCES. * Removal/fixing of examples files: 3 examples are left. Whoever feels responsible for the removed examples could maybe try to readd a working version. Input files for the examples should go into the data directory. Only small input files are desired. The examples are not allowed to depend on arts-xml-data, all necessary input has to be provided. Maybe we should think about an arts-examples cvs package which might contain examples more close to the real world. * doc/examples/Makefile.am: Added data directory to SUBDIRS. Removed arts_examples_in variable. Removed arts_examples_in from EXTRA_DIST. Removed amsu_example.arts, clouds_example.arts, cont_example.arts, cloud_rad_field1D_example.arts, fullmodels_example.arts, i_field_example.arts, old_absorption_example.arts, radiosonde_example.arts, rt_example.arts, scatproperties_example.arts. Removed f_mono.aa, batch_input* and radiosondes.aa. * doc/examples/.cvsignore: Don't ignore .arts files anymore. * doc/examples/*.arts.in: Removed. * doc/examples/absorption_example.arts: Added. Use VectorSetTakingLengthFromVector instead of CloneSize for ls. Set output_file_format to ascii. * doc/examples/absorption_lookup_example.arts: Added. Set output_file_format to ascii. * doc/examples/cont_simple_example.arts: Added. Fixed method name absCKDMT_H2O_AIR. * doc/examples/{amsu_example.arts,clouds_example.arts, cont_example.arts,fullmodels_example.arts,old_absorption_example.arts, radiosonde_example.arts,rt_example.arts,batch_example.arts}: Not added. Missing tgsDefine and/or depends on arts-data. * doc/examples/{batch_input*.ab,f_mono.aa,clearsky.xml,radiosondes.aa}: Removed. * doc/examples/cloud_rad_field1D_example.arts: Not added. Depends on arts-xml-data and lookup table with hardcoded path. * doc/examples/{i_field_example.arts,scatproperties_example.arts}: Not added. CE: "Makes no sense. Outdated." :-( * doc/examples/data: Added. Directory for input files needed by examples. * doc/examples/data/{Makefile.am,.cvsignore}: Added. * configure.in: Added doc/examples/data/Makefile. Removed doc/examples/*.arts. 2004-08-12 Sreerekha T.R. * arts-1-1-857 * src/m_atmosphere.cc (surfaceFastem): First implementation of Fastem emissivity model. This method is not tested and would need modifications. * src/fastem.cc : The core fastem calculations are done here. * src/fastem.cc (fastem): The function which contains the fastem model. * src/fastem.h: Added. * src/Makefile.am: Added fastem.cc and fastem.h. * src/methods.cc: Added the method (surfaceFastem). The surface methods are moved to their right place after renaming them from ground_xxx. * srf/workspace.cc: Added new workspace variables for surface. They are *surface_emissivity_field*, *surface_wind_field*, *surface_temperature*, *surface_emission_field*, *surface_refl_coeffs_field*, *surface_fastem_constants*. 2004-08-12 Claudia Emde * arts-1-1-856 * src/m_optproperties.cc (ScatteringDataPrepareDOITOpt), (pha_mat_sptFromDataDOITOpt): These methods can now also be used for horizonthally aligned particles (p30). * methods.cc: Improved documentation. 2004-08-11 Claudia Emde * arts-1-1-855 * src/m_optproperties.cc: (ScatteringDataPrepareDOITOpt): Cleaned up this function. Now it uses (pha_mat_transform) like (pha_mat_sptFromMonoData). The output *pha_mat_sptDOITOpt* includes now the transformed phase matrix, therefore *scat_theta* is no longer needed. (pha_mat_sptFromDataDOITOpt): Adjusted to modifications above. Included consistent temperature interpolation. In both cases (optimized and non-optimized) the phase matrix is first transformed in the laboratory frame and then interpolated on the temperature. * src/methods.cc: (ScatteringDataPrepareDOITOpt) (pha_mat_sptFromDataDOITOpt) - removed *scat_theta* from Output/Input. (pha_mat_sptFromMonoData): Fixed bug in input variable list. * src/workspace.cc: *pha_mat_sptDOITOpt* - modified. Now it holds the phase matrices for all incoming and scattering angle combinations. *scat_theta* - removed. * src/groups.cc: Included ArrayOfTensor7 needed for *pha_mat_sptDOITOpt*. * src/xml_io_array_types.{cc,h}: Included ArrayOfTensor7. * src/xml_io_instantiation.h: Included ArrayOfTensor7. 2004-08-09 Patrick Eriksson * arts-1-1-854 * src/ppath.cc (geompath_za_at_r): A fix to handle cases ending up below the tangent altitude by numerical inaccuracy. A deviation of RTOL is now allowed. An attempt to fix a problem reported by Cory Davis. No test runs performed. 2004-08-09 Cory Davis (rsh) * arts-1-1-853 * src/montecarlo.cc (Sample_ppathlength,Sample_ppathlengthLOS): In really optically thick cases transmittances can become lower than the smallest double precision number, this could cause errors when trying to interpolate a vector of transmittance values. Included code that truncates the transmittance vector below a certain threshold (1e-12) 2004-08-09 Sreerekha T.R. * arts-1-1-852 * src/m_scatrte.cc: Added the method (scat_fieldCalc1D) which does integration only over the zenith angles. The function is tested only for p20 type and here it is not giving the same result as including the azimuth angle integration, this is because the phase matrix components are not constant for the azimuth angles. So use (scat_fieldCalc) or (scat_fieldCalcLimb) in the calculations. * src/methods.cc: Included the method (scat_fieldCalc1D). * src/scatrte.cc: Modifications in (cloud_ppath_update1D_planeparallel). * src/m_cloudbox.cc: Some modifications in (ybatchMetProfiles) to include liquid water cloud. 2004-08-05 Claudia Emde * arts-1-1-851 * src/m_optproperties.cc (opt_prop_sptFromData) (opt_prop_sptFromMonoData), (pha_mat_sptFromDataDOITOpt), (pha_mat_sptFromMonoData): Included a switches. If the temperature grid in the single scattering data has only one element, no temperature interpolation is performed. 2004-08-04 Claudia Emde * arts-1-1-850 * src/m_optproperties.cc (ScatteringDataPrepareDOITOpt), (pha_mat_sptFromDataDOITOpt): Included error message, which assures that these methods are not used for p30 calculation. This was the reason for the 500 GHz problems we discussed in Bredbeck. 2004-08-03 Claudia Emde * arts-1-1-849 * src/m_cloudbox.cc (cloudboxSetEmpty): Included this method. It sets the particle number density field to zero and includes a dummy *scat_data_raw*. The method can be used for clearsky DOIT calculattions. One can compare the radiation field obtained in this way with the clearsky calculation without cloudbox, to estimate interpolation errorsin the DOIT calculations. * src/methods.cc: Included (cloudboxSetEmpty). * src/m_scatrte.cc (convergence_testXXX): Included check. If number of iteration > 50, the program will interrupt with an error message. 2004-08-02 Cory Davis (rsh) * arts-1-1-848 * src/sensor.cc (multi_mixer_matrix): H was only used in asserts. Inserted stupid piece of code until someone fixes this properly. 2004-07-30 Claudia Emde * arts-1-1-847 * src/m_scatrte.cc (i_fieldUpdateSeq1D, i_fieldUpdateSeq3D, i_fieldUpdateSeq1Dplane_parallel, scat_fieldCalc, scat_fieldCalcLimb): Included temperature dependance of single scattering properties into all these methods. * methods.cc: Included *t_field* and *rte_temperature* im methods above. * src/scatrte.{cc,h}(cloud_fieldsCalc): Included temperature. * src/m_optproperties.cc (pha_mat_sptFromDataDOITOpt): Minor change. 2004-07-16 Cory Davis (rsh) * arts-1-1-846 * src/montecarlo.cc (opt_propCalc): Returns the extinction matrix and absorption coefficient vector from scat_data_mon given local temperature, a vector of pnd values and the propagation direction. Replaced spt_calc_agenda.execute with call to opt_propCalc. This allowed the removal of a few parameters. Also added function opt_propExtract, which gets K and K_abs from a single SingleScatteringData object for given za, aa, and T. Also added similar functions for the phase matrix *pha_mat_singleExtract* and modified *pha_mat_singleCalc* to call this function. Added function *interp_scat_angle_temperature* which is called by *pha_mat_singleExtract*. All of these functions are very well suited for use by the Monte Carlo algorithm, and have resulted in a significant speedup. Claudia - if you want to use these feel free to shift them to optproperties.cc * src/m_montecarlo.cc (ScatteringMonteCarlo): altered calls to TArrayCalc and removed some parameters. 2004-07-09 Mattias Ekström * arts-1-1-845 * Forgot to set the new version number. 2004-07-09 Mattias Ekström * src/methods.cc: Removed sensor_pol as input to RteCalc. Added sensor_responseMultiMixerBackend, which intended to be used instead of sensor_responseMixer and sensor_responseBackend whenever there are more than one mixer in the sensor configuration. Implemented sensor_responseRotation * src/m_sensor.cc: Removed sensor_pol as a required WSV and adjusted calls to sensor matrix functions. * src/rte.[cc,h]: Removed sensor_pol as input to rte_calc. * src/[montecarlo,m_cloudbox].cc: Removed sensor_rot dummy variables and in calls to rte_calc. * src/sensor.[cc,h]: Changed from *_transfer_matrix to *_matrix. Added multi_mixer_matrix. Implemented rotation_matrix that called by sensor_responseRotation. * src/test_sensor.cc: Adjusted calls to sensor matrix functions. * src/workspace.cc: Changed *lo* from numeric to vector for use with multiple mixer configuration. 2004-07-07 Oliver Lemke * arts-1-1-844 * doc/uguide/arts_methods_to_latex.sh, doc/uguide/arts_groups_to_latex.sh,doc/uguide/app_groups.tex, doc/uguide/app_methods.tex : Removed. Now in doc/reference. * doc/uguide/main.tex: Removed workspace reference appendix. * doc/uguide/Makefile.am: Removed auto_groups.tex, auto_methods.tex, arts_methods_to_latex.sh, and arts_groups_to_latex.sh. 2004-07-06 Oliver Lemke * arts-1-1-843 * configure.in: Removed hdf checks. Removed options --with-arts-data and --with-arts-xml-data. * src/Makefile.am: Removed m_hdf.cc, m_io.cc from *_SOURCES. * src/methods.cc (define_md_data_raw): Removed all ascii and hdf routines. * src/m_io.cc, src/m_hdf.cc: Removed. * src/reference/arts_variables_to_latex.sh, src/reference/app_variables.tex: Added. * src/reference/Makefile.am: Added new files for variables docs. * src/reference/main.tex: Include app_variables. Cleanup. * src/reference/app_groups.tex: Fixed history entry. * src/reference/.cvsignore: Added auto_variables.tex. 2004-07-05 Cory Davis (rsh) * arts-1-1-842 * src/montecarlo.{cc,h} ( Sample_los ): included rte_temperature as an argument. (pha_matSingleCalc): included interpolation over temperature and rte_temperature as an input argument. Also changed so that phase matrix is only looked up and transformed if the pnd value is non-zero. (findZ11max): search for maximum over all temperature values * src/m_montecarlo.{cc,h} (ScatteringMonteCarlo): changed call to Sample_los. * src/m_optproperties.cc: Added runtime error for when rte_temperature is outside SingleScatteringData.T_grid. 2004-07-02 Cory Davis (rsh) * arts-1-1-841 * src/xml_io_compound_types.cc (xml_read_from_stream) for SingleScatteringData)): updated f_grid size check for new size of pha_mat_data. * src/workspace.cc (t_value): Removed. We can use *rte_temperature* instead. * src/methods.cc: replaced all occurances of t_value with rte_temperature. * src/m_optproperties.cc (opt_prop_sptFromMonoData): included temperature interpolatiion. Replaced all occurances of t_value with rte_temperature. 2004-07-01 Claudia Emde * arts-1-1-840 * src/m_optproperties.cc: (ScatteringDataPrepareDOITOpt),(scat_data_monoCalc): Temperature interpolation removed from this place, as it has to be part of *pha_mat_spt_agenda*. Kept temperature grids in *pha_mat_sptDOITOpt* and *scat_datta_mono*. (pha_mat_sptFromDataDOITOpt): Included temperature interpolation here. (pha_mat_sptFromMonoData): Included temperature interpolation. T-interpolation is still missing in (opt_prop_sptFromMonoData)! * src/workspace.cc: Changed *pha_mat_sptDOITOpt* from Tensor6 to ArrayOfTensor6 to include temperature dimension. 2004-06-29 Oliver Lemke * arts-1-1-839 * You might have to re-run autogen.sh after this update. * Started to split the workspace reference from the user guide into a separate document. This is just an intermediate commit, please don't look at it yet. * doc/uguide/Makefile.am: Removed outdated comment about uguide.dvi dependency. * configure.in: Added doc/reference/{Makefile,auto_version.tex}. * doc/Makefile.am: Added reference to SUBDIRS. * doc/reference/{Makefile.am,.cvsignore,arts_groups_to_latex.sh, arts_methods_to_latex.sh}: Copied from uguide. * doc/reference/reference.tex: Copied and adapted from uguide.tex. * doc/reference/main.tex: Copied and adapted from uguide. * doc/reference/arts_methods_to_latex.sh: Sort methods. 2004-06-28 Claudia Emde * arts-1-1-838 IMPORTANT: Temperature dependance for *SingleScatteringData* class is included now, but it is not yet included into all functions using this class. Will be fixed soon! Please use older version for scattering calculation. * src/optproperties.h: Modified *SingleScatteringData* class. Now pha_mat_data is a Tensor7 and ext_mat_data and abs_vec_data are Tensor5, that means, the temperature dimension is now included. * src/workspace.cc: Included *t_value*. It holds a temperature value. The value is needed for the interpolation of *SingleScatteringData*. The interpolation of the single scattering data on the right temperature will be done in the functions below, together with the frequency interpolation. An additional input to *pha_mat_spt_agenda* and *opt_prop_spt_agenda* is now the t_value. * src/m_optproperties.cc: (pha_mat_sptFromData): Included t_value. (opt_prop_sptFromData): Included t_value. (ScatteringDataPrepareDOITOpt): Included temperature interpolation. (scat_data_monoCalc): Included temperature interpolation. * src/m_scatrte.cc (scat_fieldCalcLimb): Included *t_field* and defined *t_value* to be used in *pha_mat_spt_agenda*. * src/m_montecarlo.cc: Included in some places 0 for temperature dimension of pha_mat_data. Marked by "//CE: Included ...". Cory: Please check. * src/methods.cc:(pha_mat_sptFromData) Included t_value. (opt_prop_sptFromData): Included t_value. (ScatteringDataPrepareDOITOpt): Included t_value. (scat_fieldCalcLimb): Included t_field. (scat_data_monoCalc): Included t_value. 2004-06-28 Oliver Lemke * arts-1-1-837 * doc/uguide/Figs/{montecarlo, sensor}: Added .cvsignore. * doc/doxygen/html/.cvsignore: Added *.ttf. 2004-06-28 Oliver Lemke * arts-1-1-836 * Bredbeck AI * doc/uguide/*.tex: Replaced \level[abcde] by \chapter, \section... * doc/uguide/uguide.tex: Removed \level[abcde] macros. 2004-06-24 Patrick Eriksson * arts-1-1-835 IMPORTANT: Note that you need to change your control files. Change "ground_refl_agenda" to "surface_agenda", and change all "ground_" to "surface_" and all "_ground" to "_surface". This follows a decision at the Bredbeck workshop. * General change from calling the bottom level "ground", to call it "surface". To avoid confusion, pressure surfaces are now denoted as pressure levels. On the same time, ground_refl_agenda is renamed to surface_agenda. * doc/uguide/fm_definitions.tex: Wrote a section on Stokes dimensionality, and short text for absorption section explaining that a look-up table must be used so far. Reviewed clear sky RT section. * doc/uguide/main.tex: Some cleaning. Moved integration chapter to correct part. Put first chapters into a part (Overview). * doc/uguide/uguide.tex: Moved around stuff to clean up and improve logic. 2004-06-18 Mattias Ekström * arts-1-1-833 * src/physics_funcs.cc: Added note to header for planck function. * src/methods.cc: Added sensor_responseRotation. * src/workspace.cc: Added *antenna_los*. Changed definition of *sensor_rot* * src/m_sensor.cc: Changed polarisation function to include azimuth angle grid. Added rotation function, but so far only performs tests. * src/rte.cc: Fixed bug found by Sreerekha. Now rte_calc should set *y* to the correct size. 2004-06-17 Mattias Ekström * arts-1-1-833 * doc/uguide/Figs/sensor: Added folder with files Makefile.am, ant_diag.mp and ant_diag.pdf to CVS repository. * configure.in: Added above mentioned folder to compilation. 2004-06-17 Mattias Ekström * arts-1-1-832 * src/[methods,m_sensor].cc: Added *sensor_norm* to method sensorOff. sensorOff now sets *sensor_norm* to zero since it is not used. * src/check_input.cc: Minor change to runtime error string. * src/rte.cc: *y* is resized to the number of rows in sensor_response. * doc/uguide/sensor.tex: Written sensor stuff. * doc/uguide/Figs/sensor/: Added this directory for sensor figures. * doc/uguide/Figs/Makefile.am: Added sensor as subdir. * doc/uguide/Figs/sensor/Makefile.am: Copied file from interpolations folder. * doc/uguide/Figs/sensor/ant_diag.[mp,pdf]: Added figure to describe antenna diagram. 2004-06-10 Patrick Eriksson * arts-1-1-831 * doc/uguide/Figs/ppath/mkfigs_refraction.m: Small modification following variable name changes in ARTS. 2004-06-09 Mattias Ekström * arts-1-1-830 * src/rte.[cc,h]: Removed polarisation calculation from rte_calc. This means that rte_calc does not need sensor_pol as input variable, so it is removed from all calling functions. * src/[methods,m_rte,].cc: Removed sensor_pol as input variable. * src/[m_cloudbox,montecarlo].cc: Removed sensor_pol_dummy declarations and from calls to rte_calc. 2004-06-04 Mattias Ekström * arts-1-1-829 * src/[m_sensor,methods].cc: Removed sensor_los as input variable for sensor_responseAntenna1D and sensor_responseInit. The reason I added them was a miss-understanding. The sensor_response should only be calculated once per mblock. * src/sensor.[cc,h]: Commented out merge_grids, since it is not used. 2004-06-04 Mattias Ekström * arts-1-1-828 * src/workspace.cc: Added WSV sensor_norm which sets whether sensor responses should be normalised or not. Also added WSV sensor_response_pol to keep track of the number of polarisations measured by the sensor. It is initially set to be equal to *stokes_dim*, and is updated by the polarisation function, sensor_responsePolarisation. * src/[m_sensor,methods].cc: Added sensor_norm as input variable in sensor_responseAntenna1D, ...Mixer, ...Backend and ...Init methods. In sensor_responseInit sensor_norm is checked to be set correctly. If no sensor is used it is unnecessary to set sensor_norm, so in sensorOff when sensor_responseInit is called sensor_norm is hard coded to 0. Implemented sensor_response_pol. * src/sensor.[cc,h]: Moved the normalisation from the methods sensor_integration_vector and sensor_summation_vector to the calling, block specific, methods (antenna_transfer_matrix, backend_transfer_matrix and mixer_transfer_matrix). 2004-06-03 Mattias Ekström * arts-1-1-827 * src/methods.cc: Added sensor_los to sensor_responseInit and sensor_responseAntenna1D. * src/m_sensor.cc: Changed sensor_responseAntenna1D to incorporate multiple antennas, these are given as the generic input vector and should be relative to sensor_los. The method checks that the mblock_za_grid and the antenna grid plus diagram is consistent, but performs calculations on the merged sensor_los-mblock_za_grid and sensor_los-antenna grid. Also added sensor_responsePolarisation that sets up the polarisation response matrix. Implemented sensor_los in sensor_responseInit and sensor_responseAntenna1D. Updated sensorOff, as it calls sensor_responseInit. * src/sensor.cc: Added polarisation_transfer_matrix that is called by sensor_responsePolarisation, it uses the rw() operator instead of insert_row to speed up the computation. Added new method merge_grids to compute the total sensor_response_za from sensor_los and mblock_za_grid, since the size of the output is unknown on beforehand the output is resized. Fixed minor bug in sensor_summation_vector. Now vector is initialised to zero and values are added to it. Before elements were set to the value, which doesn't work in the case where the same element is calculated twice. Also fixed bug in sensor_integration_vector, now x_f is only used to produce the reference vector x_ref, actual calculations are made on x_ftot which contains all the grid points of f. Fixed sorting bug in mixer_transfer_matrix. Finally some cosmetics. * src/sensor.h: Added header for polarisation_transfer_matrix. 2004-06-02 Claudia Emde * arts-1-1-826 * src/m_cloudbox.cc (CloudboxGetIncoming, CloudboxGetIncoming1DAtm): Included checks for range of angular grids. * src/m_scatrte.cc (i_fieldUpdataSeqXD): Included checks for atmospheric dimensionality. * src/scatrte.cc (cloud_ppath_update3D): Included a fix for ppath step calculations in za=0 and za=180 direction. Pppath_step_agenda sometimes returns nan values for ppath_setp.los. 2004-05-31 Cory Davis (rsh) * arts-1-1-825 * doc/uguide/montecarlo.tex, doc/uguide/references.bib: Fixed references. Added flowchart figure. * doc/uguide/Figs/montecarlo/, doc/uguide/Figs/montecarlo/flowchart.pdf, doc/uguide/Figs/montecarlo/Makefile.am: Added. Also made appropriate changes to Figs/Makefile.am, and configure.in 2004-05-31 Cory Davis * arts-1-1-824 * doc/uguide/montecarlo.tex: Began a chapter on the Monte Carlo code * doc/uguide/main.tex: Put montecarlo chapter after scattering chapter and included myself as an author 2004-05-24 Patrick Eriksson * arts-1-1-823 * doc/uguide/polarization.tex: Made an extension of the scattering matrices part. 2004-05-19 Christian Melsheimer * arts-1-1-822 * doc/uguide/polarization.tex: included factor 1/2 sqrt(epsilon/mu) to make the Stokes components real intensities (radiances) instead of just squared electric fields. Restated definition of Stokes components in the general case, i.e. with the ensemble averages. * doc/uguide/symbol_defs.tex: added definition of ensemble average \EnsAvr, denoted by angular brackets. 2004-05-17 Oliver Lemke * arts-1-1-821 * src/test_readpp.cc: Parsing header and reading the data into vector basically works. Still have to find out why there are 3 more fields in the data block than specified in the header. * src/Makefile.am: Updated dependencies for test_readpp. 2004-05-17 Oliver Lemke * arts-1-1-820 * src/.cvsignore, src/Makefile.am: Added test_readpp. * src/test_readpp.cc: Added. First try on reading meto pp files. 2004-05-15 Oliver Lemke * arts-1-1-819 * doc/uguide/Makefile.am: Added uguide.pdf to CLEANFILES in maintainer mode. Removed no longer existent uguide.ps and uguide.dvi from MAINTAINERCLEANFILES. * doc/uguide/.cvsignore: Added make.log. 2004-05-14 Oliver Lemke * arts-1-1-818 * doc/uguide/Makefile.am: Store the latex output of the last run into make.log for later review. 2004-05-14 Patrick Eriksson * arts-1-1-817 * doc/uguide/surface.tex: Moved every thing for the surface to this new chapter. Derived the reflection matrix for specular reflection, based on new part in polarization.tex. * doc/uguide/rte.tex: Is now empty, and is commented out from the texing. * doc/uguide/polarization.tex: Wrote a section, describing the relationship between amplitude and Stokes scattering matrices. * doc/uguide/uguide.tex: Set badness limit to 10000 for the whole document to avoid warnings that anyhow will be ignored. 2004-05-11 Oliver Lemke * arts-1-1-816 * doc/uguide/ppath.tex: Small fix. s/fotnote/footnote/ * doc/uguide/arts_methods_to_latex.sh: Use section* instead of levelb. Set badness limit to 10000 for method descriptions. 2004-05-10 Oliver Lemke * arts-1-1-815 * src/matpack{I,III,IV,V,VI,VII}.{h,cc}: Completed work on debug_{tensor[3-7],matrix}view_get_elem functions. 2004-05-06 Oliver Lemke * arts-1-1-814 * src/matpackI.{h,cc}: Added debugging helper function debug_matrixview_get_elem. This function makes it possible to access Matrix elements in gdb. The operator() could not be used because of inlining. I'll add the same for Tensors tomorrow. 2004-04-27 Patrick Eriksson * arts-1-1-813 * doc/uguide/rte.tex: Opened this chapter. Started the description of surface reflections. * doc/uguide/main.tex: Included rte.tex. * doc/uguide/symbol_defs.tex: Added wavelelngth (\Wvl). 2004-04-27 Oliver Lemke * arts-1-1-812 * src/xml_io.cc (xml_open_output_file): Catch ios::failure to omit core-dump if output file could not be created. 2004-04-16 Christian Melsheimer * arts-1-1-811 * doc/uguide/polarization.tex: Added new subsection on the definition of the polarization directions (vertical or theta and horizontal or phi) * doc/uguide/Figs/polarization/pol_directions.{fig,pdf}: Added this figure (still have to cut away the "Figure 1" from the bitmap) 2004-04-16 Oliver Lemke * arts-1-1-810 * configure.in: Fix check for szip. 2004-04-15 Claudia Emde * arts-1-1-809 * src/agendas.cc (scat_grid_optimization_agenda): Included this agenda which allows to perform grid optimization in a modular way. * src/m_scatrte.cc (ScatteringGridOptimization): Method which exectues *scat_grid_optimization_agenda*. (scat_za_gridOptimze): Modified. Does now only grid optimization, not the scattering calculation on a very fine grid. * src/scatrte.{cc,h} (za_gridOpt): Minor modifications. Removed debugging output. * src/workspace.cc: Included *scat_za_grid_opt*. A workspace variable containing the optimized zenith angle grid. * src/methods.cc: Included (ScatteringGridOptimization) and modified (scat_za_gridOptimze). 2004-04-15 Oliver Lemke * arts-1-1-808 * src/test_interpolation.cc: Minor fix. Include cmath for pow. * doc/uguide/arts_{groups,methods}_to_latex.sh: tail +5 is not POSIX compliant and fails with newer coreutils. Replaced by appropriate grep command. * configure.in: On some systems HDF is compiled with szip support. In that case we have to link against it. Added check. 2004-04-13 Cory Davis * arts-1-1-807 * src/scatrte.{cc,h} (za_gridOpt): initialised ind_p to avoid warning and hence compilation error 2004-04-06 Claudia Emde * arts-1-1-806 * src/m_scatrte.cc (scat_za_gridOptimize): Included first version of this method - will probably be modified later. It can be used for optimizing the zenith angle grid for scattering calulation. * src/scatrte.{cc,h} (za_gridOpt): Added this function for zenith angle grid optimization. * src/interpolation.cc (interp_cubic): Added differt interpolation methods (different selection of grid points) for testing. Later, only one on the cubic interpolation methods will be kept. * src/m_cloudbox.cc (CloudboxGetIncoming) (CloudboxGetIncoming1DAtm): Included a check for testing, whether the cloudbox is set. * src/m_optproperties.cc (ScatteringDataPrepareDOITOpt) (scat_data_monoCalc): Included check: Is the frequency in *f_grid* in the range of the single scattering data? * src/methods.cc: Added *scat_za_gridOptimize*. 2004-03-31 Stefan Buehler * arts-1-1-805 * TODO: Put contents of two mails from Patrick here, which have been sitting in my inbox for a long time. 2004-03-26 Christian Melsheimer * arts-1-1-804 * doc/uguide/uguide.tex: Commented out the \includeonly{polarization} again... * doc/uguide/polarization.tex: Fixed some small error (undefined control sequence) that prevented uguide from being pdflatex'ed... should work now. 2004-03-26 Christian Melsheimer * doc/uguide/polarization.tex: * arts-1-1-803 * doc/uguide/polarization.tex: Corrected some minor errors, and added new subsection on antenna (sensor) polarization. 2004-03-23 Claudia Emde * arts-1-1-802 * src/m_scatrte.cc (convergence_flagLsq): Added this method. Perfromes a least square convergence test. I think the method is especially useful for off-limb cases as that convergence there is much better. For these calculations a least square test should be sufficient. (iteration_counterIncrease): Removed. It is now part of the convergence test methods. The convergence test functions output the number of required iterations. (convergence_flagAbs), (convergence_flagAbsBT): Included iteration counter. (scat_za_interpSet): Added. This method can optionally if one wants to use cubic interpolation in the zenith angle dimension. By default linear interpolation is used. (i_fieldUpdateSeq{1D,3D}): Included switch for cubic interpolation *scat_za_interp*. (scat_fieldCalcLimb): Included *scat_za_interp* switch for 1D. * src/scatrte.{cc,h}: (cloud_ppath_update1D): Included switch for cubic interpolation. (cloud_ppath_update3D): Included already the variable *scat_za_interp* but not yet the interpolation. * src/m_rte.cc: Included *scat_za_interp* in (RteCalc), which has to be used to get the radiative background when cloudbox is switched on. * src/rte.{cc,h}: Included *scat_za_interp* in (rte_calc). Included in all (rte_calc) calls a 0 for scat_za_interp, where this veriable is not needed, because the radiative background is definetely not the cloudbox: * src/m_cloudbox.cc, src/m_montecarlo.cc (cloudboxOff),(cloudboxSetManually), (cloudboxSetManuallyAltitude) Initialized *scat_za_interp* in these functions which can be used alternatively. * src/workspace.cc: Included *scat_za_interp*. * src/methods.cc: Added (scat_za_interpSet). Note: Cubic interpolation is so far only implemented for 1D!!! 2004-03-15 Claudia Emde * arts-1-1-801 * src/interpolation.{cc,h} (polint): Added. Polynomial interpolation routine, mostly taken from the "Numerical Recipes". (interp_cubic): Added. Performs a cubic interpolation. Input and output adjusted to ARTS WSVs. The function uses (polint). * src/m_cloudbox.cc (CloudboxGetOutgoingCubic): Added. This method uses cubic interpolation in zenith angle dimension for outgoing radiances (so far only for 1D calculations). It seems that this interpolation is much more accurate, especially for directions between nadir and limb, where the zenith angle resolution is rather coarse. (CloudboxGetOutgoing): Splitted the method in sub-functions (shifted to cloudbox.cc). * src/cloudbox.{cc,h}: Added the following functions: cloudbox_getOutgoing1D cloudbox_getOutgoingCubic1D cloudbox_getOutgoing3D cloudbox_boundary_check Created these functions to split up (CloudboxGetOutgoing), to make the code more readable. * src/test_interpolation.cc: Added (test07). Tests cubic interpolation for different functions. * src/methods.cc (CloudboxGetOutgoingCubic): Added. 2004-03-10 Claudia Emde * arts-1-1-800 Some spring cleaning of the function related to scattering (although it is still winter). All functions and variables related to the old scattering data format (amplitude matrix) have been removed, as they can not be used. Additionally some minor improvements in the documentation. * src/cloudbox.cc: Corrected doxygen documentations for (cloud_fieldsCalc, cloud_ppath_update3D). * src/m_optproperties.cc: Removed unused functions related to amplitude matrix data format: (abs_vec_sptCalc, amp_matCalc, ext_mat_sptScat, ext_mat_sptCalc, pha_mat_sptCalc) * src/m_scatrte.cc: Removed unused functions related to amplitude matrix data format: (scat_fieldCalcFromAmpMat, ScatteringInitAmpMat) Removed also (grid_stepsizeCheck). * src/scatproperties.{cc,h}: Removed. This file included only functions related to the amplitude matrix format. * src/test_scatproperties.cc: Removed. * Makefile.am: Removed scatproperties.{cc,h}. * src/workspace.cc: Removed some unused WSV: amp_mat_raw, amp_mat, part_types, sca_vec, i_field_dim Updated documentation. * src/methods.cc: Updated. 2004-03-09 Claudia Emde * arts-1-1-799 * src/m_cloudbox.cc (i_fieldSetConst): Removed variables which were only used in assertions. * src/m_scatrte.cc: (grid_sizeSet), (i_fieldIterate), (i_fieldUpdate1D), (i_fieldUpdateSeq1D) (i_fieldUpdate3D), (i_fieldUpdateSeq3D) Improved documentation. * src/scatrte.cc: (cloud_ppath_update1D) * src/methods.cc: Adapted entries to the changes above. 2004-03-09 Cory Davis * arts-1-1-798 * src/montecarlo.cc (interpTArray,TArrayCalc): Bug fixes. 2004-03-09 Claudia Emde * arts-1-1-797 * src/m_cloudbox.cc (ParticleTypeAddAll): Added this method (wished by Cory). It allows to add all particle types at the same time. The user has to give a file including *pnd_field_raw* and the coresponing file names of single scattering data. * src/methods.cc: Added method above. 2004-03-09 Oliver Lemke * arts-1-1-796 * configure.in: Put the ACLOCAL flags in the Makefile. Fixes error about undefined macros when running toplevel make after configure.in has changed. 2004-03-08 Cory Davis * arts-1-1-795 * src/montecarlo.cc (interpTArray,TArrayCalc): Fixed an error in the way interpTArray interpolates the evolution operator. Made optimisations in both functions for the stokes_dim=1 and diagonal ext_mat cases. Increased the accuracy parrameter in matrix_exp calls. 2004-03-03 Oliver Lemke * arts-1-1-794 * src/xml_io_compound_types.cc (xml_read_from_stream, write_to_stream): Ensure consistency of GriddedField3 with runtime check. Sizes of p_grid, lat_grid and lon_grid must match the size of the data. * src/arts.h: Create empty std namespace. The namespace should be known before using it. (Fix compilation with HP C++ compiler). 2004-03-03 Oliver Lemke * arts-1-1-793 * src/arts.h: Only use namespaces if the compiler supports it. * src/sorting.h, src/test_xml.cc, src/test_sorting.cc, src/test_mpi.cc, src/test_integration.cc, src/test_binaryio.cc, src/arts_mpi.cc, src/b[io]fstream.{cc,h}: Removed 'using namespace std' which is already done in includes. 2004-03-02 Oliver Lemke * arts-1-1-792 * .cvsignore: Added config.guess, config.sub. * src/array.h: Renamed second parameter of constructor from fill to fillvalue. Avoid clash with function of same name. * src/absorption.cc, src/agenda_record.cc, src/array.h, src/arts.h, src/binio.cc, src/binio.h, src/globals_2.cc, src/interpolation.cc, src/interpolation.h, src/m_abs.cc, src/m_agenda.cc, src/main.cc, src/make_array.h, src/matpackI.cc, src/matpackI.h, src/matpackII.cc, src/matpackII.h, src/matpackIII.cc, src/matpackIII.h, src/matpackIV.cc, src/matpackIV.h, src/matpackV.cc, src/matpackV.h, src/matpackVI.cc, src/matpackVI.h, src/matpackVII.cc, src/matpackVII.h, src/methods_aux.cc, src/mystring.h, src/old_absorption.cc, src/parser.cc, src/sensor.cc, src/sorting.h, src/workspace_aux.cc: Removed all occurences of 'std::'. Either the compiler supports namespaces, then this is covered by 'using namespace std', or the compiler does not know about namespaces. For the latter, everything has global scope and trying to specify the namespace will most likely break the compilation. In this case, the 'using namespace std' directive can be omitted by implementing a macro that utilizes the information gathered by the configure script (AC_CXX_NAMESPACES in 1.1.791). 2004-03-02 Oliver Lemke * arts-1-1-791 * autogen.sh: Add m4 directory to aclocal flags. * configure.in: Removed AC_PROG_CC_STDC. Merged into AC_PROG_CC in autoconf >= 2.57. Unknown in autoconf <= 2.13. Removed own check for sstream header. Use macro from cxx_checks.m4 instead. * m4/cxx_checks.m4: Added macros to test for C++ compiler features. Contains the following macros: AC_CXX_HAVE_STD - Does compiler support ISO C++ Standard library? iostream, cmath - Essential for us. AC_CXX_HAVE_SSTREAM - Check for sstream header, sets a define in config.h if it is not found we use our own sstream.h. AC_CXX_NAMESPACES - Needed by AC_CXX_HAVE_SSTREAM. AC_CXX_STATIC_CAST - We use static_cast<> in some places. AC_CXX_CONST_CAST - Needed in one place. AC_CXX_TEMPLATES - We love templates. AC_CXX_BOOL - Check whether bool is a built-in type. The point in all these checks is to let the user know as soon as possible that he's in trouble if his compiler does not support one of the required features. At the moment, he will just become aware of the problem during compilation with probably not so clear error messages from the compiler. My plan is to give a clear statement at the end of the configure run that the compiler is missing some features instead of exiting the configure with an error message. This gives the user the opportunity to try a compilation in spite of the problems and maybe fix some of the not-so-critical issues (e.g. the {static,const}_cast or the ISO C++ headers which probably just have different names in the respective compiler environment). 2004-02-24 Claudia Emde * arts-1-1-790 * src/groups.cc: Added GriddedField3 as data type. It is a structure for storing atmospheric fields along with the grids. This new structure replaces the ArrayOfTensor3. GriddedField3 includes four fields: p_grid, lat_grid, lon_grid, data The structure itself has already been included by Oliver in gridded_fields.h. Furthermore ArrayOfGriddedFields3 has been included. * src/workspace.cc: Changed t_field_raw, z_field_raw, vmr_field_raw and pnd_field_raw from ArrayOfTensor3 to GriddedField3. * src/gridded_fields.{cc,h}: Included typedef for ArrayOfGriddedField3 and output operators. * src/make_auto_wsv_h.cc: Added gridded_fields.h to include files. * src/make_auto_wsv_groups_h.cc: Added gridded_fields.h to include files. * src/xml_io_array_types.{cc,h}: Added reading and writing routine for ArrayOfGriddedField3. * src/xml_io_instantiation.h: Added ArrayOfGriddedField3. * src/m_atmosphere.cc: Adapted the following methods to use GriddedField3 instead of ArrayOfTensor3: AtmFieldsCalc AtmFieldsCalcExpand1D AtmRawRead Shifted pnd_fieldCalc to m_cloudbox.cc and modified it. * src/m_cloudbox.cc: Adapted the following methods: ParticleTypeInit ParticleTypeAdd ybatchMetProfilesClear ybatchMetProfiles Removed unused methods related to the old amplitude matrix concept: ParticleTypeInitAmpl ParticleTypeAddAmpl * src/methods.cc: Removed above methods. * src/m_scatrte.cc (scat_fieldCalc): Cosmetic changes and removed a small bug which I had accidentally included duing the last commit. 2004-02-20 Claudia Emde * arts-1-1-789 * src/m_cloudbox.cc (cloudboxSetManuallyAltitude): Added this function. Cloudbox limits can be specified in altitude instead of pressure. In the altitudes corresponding to the first latitude and first longitude are used. * src/m_scatrte.cc (scat_fieldCalc), (scat_fieldCalcLimb): Removed variables only used in assertions. (i_fieldIterate): Moved frequency assertion to (ScatteringMain) and removed variables only used in assertions. * src/methods.cc: Included (cloudboxSetManuallyAltitude) and modified (scat_fieldCalc), (scat_fieldCalcLimb). * src/agendas.cc: Modified scat_field_aganda input variables. 2004-02-20 Oliver Lemke * arts-1-1-788 * autogen.sh: Added AC_PROG_CC_STDC. * src/Makefile.am: Use CXXFLAGS_FIXED for compilation of partition_function_data.cc. Fixes compilation problem with enabled optimizations with certain g++ versions. 2004-02-16 Mattias Ekström * arts-1-1-787 * src/Makefile.am: Enabled xml I/O for test_sensor.cc. * src/test_sensor.cc Added testfunction to find a bug in sensor.cc. * src/sensor.cc: Found and corrected bug in sensor_integration_vector. * doc/uguide/sensor.tex: Added more text to the sensor chapter. Still a working document. 2004-02-11 Claudia Emde * arts-1-1-786 * src/methods.cc: Removed (ScatteringDataPrepareDOIT), as it is not used. Only (ScatteringDataPrepareDOITOpt) is used. Removed also (ScatteringDataPrepareOff). Included new WSM: (pha_mat_sptFromMonoData), a monochromatic version of (pha_mat_sptFromData). It can be used in combination with (scat_monoCalc). * src/workspace.cc: Removed now unused WSVs *scat_theta_gps*, *scat_theta_itws*. * src/optproperties.{cc,h}: Removed (interpolate_scat_angleDOIT). Modified (pha_matTransform) accordingly. * src/m_optproperties.cc: Included (pha_mat_sptFromMonoData) and removed (ScatteringDataPrepareDOIT). (pha_mat_sptFromData) modified according to changes above. * src/m_montecarlo.cc (ScatteringMonteCarlo): Removed scat_theta, scat_theta_gps, scat_theta_itws as input parameters. * src/montecarlo.{cc,h} (Sample_los, pha_mt_singleCalc): See above. 2004-02-03 Cory Davis * arts-1-1-785 * src/montecarlo.{cc} (Sample_ppathlength, Sample_ppathlengthLOS) Removed parameters only used in asserts. * src/m_montecarlo.cc: changed calls to Sample_ppathlength, Sample_ppathlengthLOS. Improved comments. 2004-02-04 Oliver Lemke * arts-1-1-784 * autogen.sh: Fixed bug reported by Carlos. Use -o for find because non gnu versions don't support -or. 2004-02-02 Cory Davis * arts-1-1-783 * src/m_montecarlo.cc: Began a big tidy-up of my code - mainly removing obsolete stuff. Removed montecarlo_p_from_belowCscaAdapt, updated ScatteringMonteCarlo accordingly. * src/montecarlo.{cc,h}: Discarded obsolete sampling options. Removed p_from_belowCscaCalc, Sample_los. Renamed Sample_losZ -> Sample_los. * src/methods.cc: Removed montecarlo_p_from_belowCscaAdapt, updated ScatteringMonteCarlo accordingly * src/workspace.cc: Removed montecarlo_p_from_belowCsca 2004-02-01 Cory Davis * arts-1-1-782 * /src/montecarlo.{cc,h}: Added two functions is_anyptype30 and findZ11max. These are there to account for the fact that Z11 is not a maximum for forward scattering in the ptype=30 case. A suitable bounding value for Z11 is needed when sampling incident directions. Small modifications were made in ScatteringMonteCarlo and sample_losZ to accomodate these changes. 2004-01-30 Claudia Emde * arts-1-1-781 * /src/workspace.cc (pha_mat_sptDOITOpt): Included dimension for particle types. * src/m_optproperties.cc (ScatteringDataPrepareDOITOpt) and (pha_mat_sptFromDataDOITOpt): Genearalized these functions. They can now be used for several particle types. Before they couls only be used for particle type. * src/optproperties.cc (pha_mat_labCalc): Included special cases when arguments of acos becomes 1 or -1 because of numerical problems. 2004-01-23 Oliver Lemke * arts-1-1-780 * aux/abundances/*, aux/iup_forward_comp/H2O_183GHz/*, aux/iup_forward_comp/fascod/*, aux/iup_forward_comp/master_b/*, aux/iup_forward_comp/o2_spin_rot, aux/part_fct/*: Removed. 2004-01-23 Claudia Emde * arts-1-1-779 * src/m_cloudbox.cc (CloudboxGetOutgoing): Minor correction again due to numerical problems with interpolation weights. 2004-01-22 Cory Davis * arts-1-1-778 * src/montecarlo.cc (Sample_ppathlength,Sample_ppathlengthLOS): Minor changes are were required in path length sampling to properly accomodate non-diagonal extinction matrices (i.e. ptype=30). 2004-01-21 Claudia Emde * arts-1-1-777 * src/m_cloudbox.cc (CloudboxGetOutgoing): Fixed interpolation on cloudbox boundary in 3D part of the function. Interpolation was only done for angles, not for positions. Fixed numerical problem. One has to compare the grid-positions with cloudbox limits. It is not sufficient to take just the index as it is ambiguous. If for example a point lies on the lower pressure boundary of the cloudbox, the index of the grid-position for the pressure coordinate can correspond to cloudbox_limits[0] or to cloudbox_limits[0]-1 depending on the interpolation weights. This had not been taken into account. * src/rte.cc: Only cosmetic change. 2004-01-15 Cory Davis * arts-1-1-776 * src/optproperties.cc (ext_matTransorm): Fixed bug in ptype=30 case. (pha_mat_labCalc): It was causing spurious diagonal polarization. The reason for this is that the existing transformation formulae were only valid for 02. For aa_scat-aa_inc<0 elements Z13, Z23,Z24,Z31,Z32, and Z42 change sign. I have implemented this, and it has fixed the diagonal polarization problem. 2004-01-14 Claudia Emde * arts-1-1-775 * src/m_cloudbox.cc (CloudboxGetOutgoing): (Hopefully) fixed bug reported by Cory. Azimuth angle of outgoing radiation from cloudbox was wrong (in 3D part of the function) 2004-01-14 Axel von_Engeln * arts-1-1-774 * src/workspace.cc: new workspace variable zeeman_o2_line that selects the line to calculate with Zeeman splitting (only one line currently possible) * src/methods.cc: added Zeeman parameters zeeman_o2_line * src/m_abs_o2_models.cc: heavily modified with Rosenkranz O2 absorption plus Zeeman splitting, commit as a backup, not yet in working condition. If you want to see some nice programming, look somewhere else! * src/test_zeemanproperties.cc, src/zeemanproperties.cc, src/zeemanproperties.h: removed from repository * src/Makefile.am: removed several old zeeman files 2004-01-13 Cory Davis * arts-1-1-773 * src/optproperties.cc (pha_matTransform): Fixed bug in ptype=30 case that was causing spurious diagonal polarization. 2004-01-08 Oliver Lemke * arts-1-1-772 * src/methods.cc: Restore version from 1.1.769. 2004-01-08 Oliver Lemke * arts-1-1-771 * src/logic.cc (is_increasing): Remove debug output. * src/m_optproperties.cc: Restore version from 1.1.769. 2004-01-08 Nikolay Koulev * arts-1-1-770 * src/m_abs_o2_models.cc: Added documentation on functions and variables in (Zeeman_o2_line_splitting). Got rid of redundant lines and made small change of the use of the (HUMLIK_Faddeeva_Wells), also there. 2003-12-30 Oliver Lemke * arts-1-1-769 * configure.in: Changed terminology to be more consistent, use Numeric type instead of floating-point type and Index type instead of integer type. * autogen.sh: Add support for automake-1.8. * doc/doxygen/Doxyfile.in: Removed obsolete tags. * doc/doxygen/html/.cvsignore: Added *.md5, *.eps, *.ps, _formulas.*, generated by new doxygen. * doc/doxygen/latex/.cvsignore: Added *.md5. * src/matpack{I,III,IV,V,VI,VII}.h, src/matpackI.cc, special_interp.h: Cleanup of includes. 2003-12-24 Oliver Lemke * arts-1-1-768 * src/rng.cc: Include cstring for memcpy to fix compilation with gcc 2.96. * Fixes for upcoming gcc 3.4 * src/array.h, src/mystring.h: Prepend this-> to all call of member functions that do not depend on the template type. (See http://gcc.gnu.org/onlinedocs/gcc/Name-lookup.html for detailed explanation). * src/array.h: Include iomanip for setw. * src/m_general.h: Include stdexcept for runtime_error. * src/b[io]fstream.cc (pos): Return value of tellg/tellp is of type streampos which cannot be casted in long directly. Casting to streamoff fixes this problem. 2003-12-23 Claudia Emde * arts-1-1-767 * src/m_scatrte.cc(i_fieldUpdateSeq1D) and (i_fieldUpdateSeq3D): Fixed bug reported by Sreerekha. When cloudbox extends to ground level and the zenith propagation angle is above 90° (downlooking), ppath_step_agenda gives an error. Included a switch to avoid this case. * src/scatrte.cc: Replaced fabs with abs. 2003-12-19 Oliver Lemke * arts-1-1-766 * src/montecarlo.cc: Comment assertion to fix compilation. 2003-12-17 Cory Davis * arts-1-1-765 * src/m_optproperties.cc (opt_prop_sptFromMonoData): Added. Calculates ext_mat_spt and abs_vec_spt from scat_data_mono. * src/methods.cc: Added *opt_prop_sptFromMonoData* 2003-12-17 Claudia Emde * arts-1-1-764 * src/m_rte.cc (RteEmissionStd): Included ppath_index needed for *absO2ZeemanModel* * src/methods.cc: Modified *RteEmissionStd*. 2003-12-16 Cory Davis * arts-1-1-763 * src/workspace.cc: Added *scat_data_mono*, which is scat_data_raw interpolated by frequency. * src/m_optproperties.cc, src/methods.cc: added function *scat_data_monoCalc*, changed #define pha_mat_data to #define pha_mat_data_raw, and changed all affected functions. The former meant I could not access scat_data_mono members. * src/montecarlo.cc (pha_mat_singleCalc): Changed to use scat_data_mono instead of scat_data_raw. * src/m_montecarlo.cc (ScatteringMonteCarlo):Changed to use scat_data_mono instead of scat_data_raw. 2003-12-16 Nikolay Koulev * arts-1-1-762 * doc/examples/o2_can_zeeman_do.arts: Updated according the last changes to the (opt_prop_gas_agenda) done by Claudia. 2003-12-16 Claudia Emde * arts-1-1-761 * src/m_scatrte.cc (scat_fieldCalcLimb): Fixed small bug in 3D part. The latitude and longitude indices where not right in the pha_matCalc. Furthermore changed loops, so that azimuth angle 0° (=360°) is not calculated twice. Did the same in (i_fieldUpdateSeq3D). (scat_fieldCalc): Fixed the same bug. Now, the 3D model seems to work perfectly, the problem with the cloudbox boundaries is solved!!! 2003-12-15 Nikolay Koulev * arts-1-1-760 * src/m_abs_o2_models.cc: Change in the summation scheme in (Zeeman_o2_line_splitting), seems to be the right one now. Other minor changes. Moved out the Lagrange interpolation routine of Thomas to src/math_funcs.cc. * doc/examples/o2_can_zeeman_do.arts: updated. * src/math_funcs.cc: Included the Lagrange interpolation of Thomas. 2003-12-12 Oliver Lemke * arts-1-1-759 * test commit 2003-12-09 Claudia Emde * arts-1-1-758 * src/m_scatrte(i_fieldUpdateSeq3D): Some modifications. The 3D method gives too high values at the upper lat/lon boundaries. Problem is still not solved! * src/scatrte.{cc,h}: (cloud_fields_calc) Removed unused variables *scat_za_index* and *scat_aa_index*. They are only used inside *opt_prop_spt_agenda*. (cloud_ppath_update3D): Fixed a numerical problem for lower cloudbox boundaries. The index of the gridposition of the lower latitude boundary for example is cloudbox_limits[2]-1 and the interpolation weights were fd[0]=1 and fd[1]=0. These points were not recocnized as part of the cloudbox. * src/rte.cc (get_radiative_background): Included out3 message to see in output, what background is taken for the RT calculation. Quite important for 3D cloud scenarios. Removed *zeeman_prop_agenda* and adjusted the affected methods. The method *absO2ZeemanModel* can be called inside *opt_prop_gas_agenda. Now you don't need any changes in the controlfile if you don't want to calculate the zeeman effect. * src/m_abs_o2_models.cc (test_zeeman): Removed *zeeman_prop_agenda*. * src/m_rte.cc (RteEmissionStd): Removed *zeeman_prop_agenda* and other zeeman input. * src/methods.cc: Modified (RteEmissionStd). * src/agendas.cc: Commented *zeeman_prop_agenda*, should be removed later. * src/workspace.cc: Commented *zeeman_prop_agenda*. 2003-12-09 Cory Davis * arts-1-1-757 * src/optproperties.cc (abs_vecTransform,ext_matTransform,pha_matTransform): Implemented ptype=30 (i.e horizontally aligned) single scattering data. Have tested this once in a Monte Carlo simulation and it seems to give sensible answers, but there is a dramatic increase in CPU time, which I will look into tomorrow. 2003-12-09 Mattias Ekström * arts-1-1-756 * doc/uguide/sensor.tex: More text about the sensor modelling. Thinking about introducing the name 'forward matrix' for the sensor response matrix. * doc/uguide/main.tex: Included sensor section in contribution list. 2003-12-09 Oliver Lemke * arts-1-1-755 * Missed this with last commit. :-( * autogen.sh: Don't call automake with --force. Breaks compatibility with automake 1.4. 2003-12-09 Oliver Lemke * arts-1-1-754 * configure.in: Fixed bug reported by Cory. Macro AC_HELP_STRING is not supported by autoconf2.13. Removed. 2003-12-09 Oliver Lemke * arts-1-1-753 * src/binio.cc: Replace c header includes with c++ headers. Explicitly specify second argument to pow as floating point value instead of int to support the compiler in picking the right function. * src/rng.{cc,h}: Replace c header includes with c++ headers. Removed duplicate includes. 2003-12-09 Oliver Lemke * arts-1-1-752 * src/Makefile.am: Added check-code-cheaders.pl to TESTS. To execute the tests use 'make check'. * src/check-code-cheaders.pl: Added. Checks for inclusion of plain C header files. First one, more to come. 2003-12-08 Cory Davis * arts-1-1-751 * src/m_montecarlo.cc (ScatteringMonteCarlo): Untabification and bug fixing stratified sampling. 2003-12-08 Mattias Ekström * arts-1-1-750 * doc/uguide/matrix_vector.tex: This should have been along with the last commit. Sorry. Added section for make_I method for sparse matrix. * doc/uguide/sensor.tex: Started on the sensor part of the user guide. 2003-12-08 Oliver Lemke * arts-1-1-749 * src/m_abs_o2_models.cc (test_zeeman): Changed author. Patrick does not deserve it to be blamed for this. :-) 2003-12-08 Mattias Ekström * arts-1-1-748 * src/m_sensor.cc: Fixed FIXME, assertion should have already been a runtime_error check. 2003-12-08 Oliver Lemke * arts-1-1-747 * Fix warnings when compiling with --disable-debug * There are a lot of variables and parameters which are only used in assertions. Please have a look at your functions whether they are really necessary. I put a FIXME in all questionable places. * src/methods_aux.cc (subst_any_with_group): Only declare wsv_group_names in debug mode (only needed for assertion). * src/m_cloudbox.cc (i_fieldSetConst): Omit name for parameter f_index in non-debug mode. It is only used in assertion. FIXME. * src/m_optproperties.cc (ext_mat_sptScat), (abs_vec_sptCalc): Only define nza and naa in debug mode (only needed in assertion). * src/m_ppath.cc (VectorZtanToZaRefr): Omit name for parameter atmosphere_dim in non-debug mode because it is only used in assertion. FIXME. * src/m_scatrte.cc (i_fieldIterate), (scat_fieldCalc), (scat_fieldCalcLimb), (scat_fieldCalcFromAmpMat): Put all variable/parameters in ifndef block to be only defined in debug mode. FIXME. * src/m_sensor.cc (sensor_responseAntenna1D): Put parameter in ifndef block to be only used in debug mode (only needed for assertion). FIXME. * src/main.cc (check_built_headers): Variables wsv_group_names, wsv_data only needed in debug mode. * src/montecarlo.cc (interp): Put definition of sum_check_epsilon in ifndef block because it is only used in assertion. * src/partition_function_data.cc (spec), (iso): Parameter name only used in debug mode. FIXME. Removed unneeded ifndef block around assertions. * src/ppath.cc (do_gridcell_3d), (ppath_start_1d), (ppath_start_2d), (ppath_start_3d), (ppath_step_refr_1d), (ppath_step_refr_2d), (ppath_step_refr_3d): Put all debug mode only variables/parameters inside ifndef blocks. FIXME. * src/scatrte.cc (cloud_fieldsCalc): Put stokes_dim in ifndef block. FIXME. * src/special_interp.cc (z_at_lat_2d), (z_at_latlon): Put parameters in ifndef block which are only used in debug mode. FIXME. * src/agenda_record.cc (AgRecord::AgRecord): Put variables only used in assertion in ifndef block. * src/gas_abs_lookup.cc (GasAbsLookup::Extract): n_p_grid only needed in assertion. FIXME. * src/geomag_calc.h: Removed const Numeric a; * src/test_geomag_calc.cc: Use EARTH_RADIUS instead of a. 2003-12-08 Thomas Kuhn * arts-1-1-746 * src/m_abs_o2_models.cc: bug fix in internal function PWRO2VoigtMixing. The use of the output of the Faddeeva function was wrong. 2003-12-08 Oliver Lemke * arts-1-1-745 * src/binio.cc, src/geomag_calc.cc, src/legendre.cc, zeemanproperties.cc: Initialize variables which might be used unitialized. * src/m_abs_o2_models.cc (PWRO2VoigtMixing): Define lnpi as const Numeric. 2003-12-06 Oliver Lemke * arts-1-1-744 * autogen.sh: Ripped from gnome-common. Adapted for arts. Call configure with --enable-more-warnings. * COPYING: Updated. * configure.in: Removed -pedantic from compiler flags. Removed -Wunreachable-code from more warnings. Add -Wshadow only for gcc3. gcc2 gives false alarms if this warning is enabled (also in system header files). Add -Werror if configure is called with --enable-more-warnings. * src/bifstream.cc (getByte): Renamed variable 'read' to avoid shadowing of member attribute. * src/b[io]fstream.{cc,h} (seek): Renamed parameter 'pos' to avoid shadowing of member attribute. * src/m_cloudbox.cc: Commented out names of unused function parameters to omit warning. * src/m_io.cc (VectorWriteAscii): Removed static_cast. * src/m_montecarlo.cc (ScatteringMonteCarlo): Commented out unused variable K11. * src/m_sensor.cc (sensor_responseAntenna1D): Renamed some ostringstream to avoid shadowing of other local variable. * src/ppath.cc (ppath_start_stepping): Rename itw to itw2 in inner block to avoid shadowing of itw defined in outer block. (ppath_calc): Commented out name of unused parameter. * src/rte.cc (rte_calc): Commented out unused variables. * src/sensor.cc (mixer_transfer_matrix), (sensor_integration_vector): Renamed loop variable i to e to avoid later shadowing of i. * src/scatrte.cc (cloud_fieldsCalc): Commented out unused parameters. (cloud_ppath_update1D): Renamed stokes_vec to stokes_vec2 in inner block to avoid shadowing of afore defined variable. (cloud_ppath_update3D): Commented out unused variable atmosphere_dim. (cloud_ppath_update1D_planeparallel): Inner and outer loop variables where both called i. :-( This is very confusing and should be avoided. Renamed inner loop vars to k. Renamed stokes_vec in inner block to stokes_vec2 to avoid shadowing of variable defined in outer block. Commented out names of unused parameters. FIXME: Indentation in this file uses tabs! * src/zeemanproperties.cc (Zeemann): Removed first definition of Matrix P. It was never used but defined again in inner block. * src/test_matpack.cc (test10): Replaced static_cast by normal cast to const Vector. * src/test_sparse.cc (test41): Renamed loop variable to ri and ci to avoid shadowing of other local variables. * src/test_zeemanproperties.cc (main): Removed first declaration of f_grid. Only redefined variable from inner block is used. * src/test_integration.cc (get_stepsize): Removed empty function. * src/m_abs_o2_models.cc: Include cstdlib for abs(int). With gcc2 abs is not overloaded for int in cmath. 2003-12-07 Cory Davis * arts-1-1-743 * src/m_abs_o2_models.cc: This file wouldn't let me compile again :( This time I got the following error - m_abs_o2_models.cc:1979: call of overloaded `abs (const long int &)' is ambiguous /usr/include/stdlib.h:699: candidates are: int abs (int) /usr/include/g++-3/cmath:40: float abs (float) /usr/include/g++-3/cmath:42: double abs (double) /usr/include/g++-3/cmath:72: long double abs (long double) As a quick fix I changed the offending line to ...(abs(int(QM[l])) > 0) ). Please tell me off if this was a daft thing to do. * src/montecarlo.cc, src/m_montecarlo.cc: Some bug fixes. 2003-12-05 Thomas Kuhn * arts-1-1-742 * src/m_rte.cc: added the zeeman splitting part into RT calculation in method RteEmissionStd. HOWEVER, SINCE THE O2 ZEEMAN SPLITTING STILL PRODUCES NON-SENSE TURN THE ZEEMAN OFF IN YOUR CONTROL FILE. This can be done by setting # 0=false 1=true ZeemanO2Settings{ ZeemanO2OnOff = 0 ZeemanO2PressureLimit = 1.000e3 } in your control file. * src/methods.cc added the agenda zeeman_prop_agenda and workspace variables zeeman_o2_onoff (Index) and zeeman_o2_pressure_limit (Numeric) to the method RteEmissionStd. * src/m_abs_o2_models.cc: bug fix in functions absPWRO2Model and ZeemanO2Settings. Additionally started to use Faddeeva function for line mixing stuff (function PWRO2VoigtMixing, but not working yet). 2003-12-05 Mattias Ekström * arts-1-1-741 * src/methods.cc: Changed text and input variables to sensor_responseAntenna1D. * src/m_sensor.cc: Changed input variable as above. 2003-12-05 Thomas Kuhn * arts-1-1-740 * src/methods.cc: removed method "absO2Model" for the moment. An equivalent method will follow later. Added a preliminary method test_zeeman which executes the zeeman agenda for test purposes. This is not a permanent construction. Furthermore the I/O of method absO2ZeemanModel is modified according to the interface to the RT method from which it is called. Additionally a new method ZeemanO2Settings is introduced which fills two workspace variables named zeeman_o2_onoff and zeeman_o2_pressure_limit. these two workspace variables sets the flag if Zeeman splitting should be considered or not and from which pressure level on the Zeeman effect should be calculated. * src/workspace.cc: definition of the Index workspace variable zeeman_o2_onoff and the numeric variable zeeman_o2_pressure_limit. The variable zeeman_o2_onoff is a flag for turning Zeeman effect in O2 extinction calculation off or on and zeeman_o2_pressure_limit gives the pressure level from which on the O2 Zeemen effect should be considered when zeeman_o2_onoff=1. Furthermore species_index is added as workspace variable. This ArrayOfIndex yields the tag position of key species like N2, O2, H2O, O3, CO2. See also SPECIES_INDEX_* in src/absorption.h for the order of the specified tags. * src/absorption.h: included definitions for species_index which is used to identify key species from the tags. The specified key species are SPECIES_INDEX_N2=0, SPECIES_INDEX_O2=1, SPECIES_INDEX_H2O=2, SPECIES_INDEX_O3=3, SPECIES_INDEX_CO2=4. * src/agendas.cc: geomag_los removed from INPUT in zeeman_prop_agenda. In opt_prop_gas_agenda abs_scalar_gas removed from INPUT. BOTH ARE PRELIMINARY VERSIONS TO GET ZEEMAN RUNNING. * src/m_abs_o2_models.h: blank, not used at the moment. * src/m_abs_o2_models.cc: modified the structure of the oxygen absorption calculation with/without Zeeman splitting. The original Zeeman code is divided into several parts. There are the internal functions CEF (complex) which returns the complex error function according to Hui et al. JQSRT, 1978 which is reproduced in the Janssen book Chapter 2 (P. W. Rosenkranz) p.66. Furthermore the function Zeeman_o2_splitting_factors (void) returns the center frequency shift and intensity scaling factor for the O2 lines due to the Zeeman effect. The function PWRO2Mixing (void) returns the original absorption coefficient with Van Vleck-Weisskopf + line mixing line shape function from the Rosenkranz O2 absorption model. Both, PWRO2Mixing and the function Zeeman_o2_line_splitting (void) are called from the internal function absPWRO2Model which is itself called by the method absO2ZeemanModel. !WARNING! THIS IS STILL AN INTERNAL VERSION AND NOT FOR SCIENTIFIC USE. * doc/examples/o2_can_zeeman_do.arts update to test Zeeman 2003-12-05 Mattias Ekström * arts-1-1-739 * src/matpackII.cc: Removed bug, now make_I sets the correct size. * src/methods.cc: Changed input variables to ConvertIFToRF. * src/m_sensor.cc: Changed to using make_I in sensor_responseInit, the change in speed was encouraging. Also changed input to ConvertIFToRF so that it takes sensor_response_za and sensor_response_aa, instead of mblock variables. Also some cosmetics to the output strings. * src/m_ppath.cc Cosmetics to output strings. 2003-12-05 Mattias Ekström * arts-1-1-738 * src/matpackII.{cc,h}: Created function make_I which makes a Sparse to be the Identity matrix for given number of rows and columns. This method should be faster than assigning ones to the diagonal elements. * src/test_sparse.cc: Created test for the make_I function, test47. 2003-12-04 Cory Davis * arts-1-1-737 * src/workspace.cc: Added WSV *montecarlo_p_from_belowCsca*, which has a horrible name. It holds externally calculated data that describes the probability of a scattered photon having an upward direction before the scattering event. This is multiplied by the scattering cross-section. The above should illustrate why I had a hard time choosing a variable name. This is used in stratified sampling. * src/methods.cc (montecarlo_p_from_belowCscaAdapt): Reduces the raw montecarlo_p_from_belowCsca in the frequency dimension to accomodate only the frequency used in the current calculation. Added *montecarlo_p_from_belowCsca* as input to *SingleScatteringMonteCarlo*, also added keyword argument strat_sampling, which enables stratified sampling. * src/m_montecarlo.cc (ScatteringMonteCarlo): Made input/output changes mentioned above, and (hopefully) finished implementing stratitified sampling. Yet to be tested. Also added WSM *montecarlo_p_from_belowCscaAdapt* described above * src/montecarlo.{cc,h} (p_from_belowCscaCalc): Added. Interpolates *montecarlo_p_from_belowCsca* by the propagation zenith angle, and sums over particle types. 2003-12-04 Mattias Ekström * arts-1-1-736 * src/methods.cc: Some cosmetics for the ConvertIFToRF help text and added a few more input variables. * src/m_sensor.cc: Finalised ConvertIFToRF. It's tested and it works. 2003-12-02 Mattias Ekström * arts-1-1-735 * src/workspace.cc: Added WSV *lo* for the mixers local oscillator. * src/methods.cc: Removed the keyword multiply from sensor_response??? functions (Antenna1D, Backend and Mixer), so now all functions returns the total sensor_response. Also removed keyword lo from the mixer function since it's now a WSV. Added function ConvertIFToRF for conversion between intermediate frequencies (IF) and radio frequencies (RF). * src/m_sensor.cc: Made changes to the sensor_response??? functions and started on ConvertIFToRF. 2003-12-02 Cory Davis * arts-1-1-734 * src/m_continua_ckd.cc: arts not compiling on gcc 2.96, so I added #include , which seems to have worked. * src/m_abs_o2_models.cc: changing "AN_r = abs(N_r)-1" to "AN_r = abs(Numeric(N_r))-1" and others like it fixed compilation errors (ambiguity with overloaded function abs) with gcc 2.96. Feel free to flame me if these were not the right fixes. 2003-12-02 Thomas Kuhn * arts-1-1-733 * src/m_continua.cc: removed the Lgrange interpolation function from this file. * src/m_abs_o2_models.h: added semicolon at the end of the class definition. * src/m_abs_o2_models.cc: modified the structure of the oxygen absorption calculation. first a method absO2Model is called from the control file with detailed information about O2 model and Zeeman effect. Then, internally in this method it branches further to the specific O2 model function (e.g. Rosenkranz or Liebe) and fills there the necessary line information. After this for each frequency of f_grid this function calculates the ordinary O2 absorption or considers Zeeman splitting. At the end the function returns ext_mat_zee and abs_vec_zee to the method absO2Model. To do this the original Zeeman function is divided into suitable moduls which can be assecced by the O2 model function. !WARNING! THIS IS STILL AN INTERNAL VERSION AND NOT FOR SCIENTIFIC USE. 2003-12-02 Claudia Emde * arts-1-1-732 * src/m_cloudbox.cc (CloudboxGetOutgoing): Fixed a bug in the 3D part of the function. A wrong azimuth angle was taken on the cloudbox boundary as background for the clearsky part. 2003-12-01 Nikolay Koulev * arts-1-1-731 * src/workspace.cc: Added documentation for *geomag_los*, *ext_mat_zeeman*, *abs_vec_zeeman*. * src/agendas.cc: Added documentation for *zeeman_prop_agenda* and *geomag_calc_los_agenda*. * src/methods.cc: Added documentation for (ext_matAddGasZeeman) and (abs_vecAddGasZeeman). 2003-12-01 Cory Davis * arts-1-1-730 * src/montecarlo.{cc,h} (Sample_ppathlength): Implemented new pathlength sampling method that uses the actual evolution operator, instead of using an exponential PDF and an averaged extinction coefficient. This makes a huge improvement, particularly in optically thick inhomogeneous cases. However the old method is still there and can be selected by setting the new input variable *method* to 1. * src/m_montecarlo.cc (ScatteringMonteCarlo): Changed calls to Sample_ppathlength and began implementing stratified sampling. This will reduce error by considering photons entering from above, photons entering from below, and photons emitted in the cloud box seperately. 2003-12-01 Mattias Ekström * arts-1-1-729 * src/matpackII.cc: Corrected loop in transpose function. This should remove the bug in the mult (sparse-sparse) function. * src/test_sparse.cc: Added function for testing of transpose, and changed the mult test. The both functions reads matrices from xml files to make testing of large matrices easier. 2003-12-01 Sreerekha T.R. * arts-1-1-728 * src/m_optproperties.cc : Implemented *ext_matAddGasZeeman* and *abs_vecAddGasZeeman*. * src/methods.cc : Added the above two methods. 2003-12-01 Sreerekha T.R. * arts-1-1-727 * src/m_scatrte.cc (i_fieldUpdateSeq1D_PlaneParallel): Renamed and modified the planeparallel method to be consistent with the spherical model. The results from planeparallel model are tested and are closer to the spherical case. * src/methods.cc : Renaming of the planeparallel method. * src/scatrte.cc : Implemented the new function cloud_ppath_update1D_planeparallel which is consistent with cloud_ppath_update1D. * src/scatrte.h : Added the function cloud_ppath_update1D_planeparallel. 2003-12-01 Mattias Ekström * arts-1-1-726 * src/m_continua.cc: Commented out the Lagrange 4-point interpolation in this file, since it gives 'multiple definition' compilation error together with the one in m_abs_o2_models.cc. 2003-11-30 Thomas Kuhn * arts-1-1-725 * src/m_continua.cc: smaller changes according to Stefan's suggestions. Furthermore the Lagrange 4-point interpolation function is moved to the file m_abs_o2_models.cc for possible use in interpolating the magnetic field to the LOS points. * src/methods.cc: add method "absPWRO2Model" which is a PRELIMINARY version of the method which should at the end calculate O2 absorption in the 1-1000GHz range according to P. W. Rosenkranz's absorption model written in F77. YUST FOR INTERNAL USE IN THIS VERSION! * src/m_abs_o2_models.cc: added code for method "absPWRO2Model" as descibed above. Furthermore the Lagrange 4-point interpolation function is at the moment located here (moved from src/m_continua.cc). Additionally the F77 code of R. J. Wells (Rapid approximation to the Voigt/Faddeeva function and its derivatives, JQSRT, vol.62, pp.29-48, 1999) is implemented. This internal function gives the perspective to use a Voigt function in connection with line mixing. Intended to be used in future for O2 60GHz band. The implementation is not completely checked with original code. What is done is that the original F77 function humlik.for is translated into C code and both are compared to each other. Afterwards the the C code is transformed into appropriate form for arts (mainly parameter declarations). * doc/examples/o2_can_zeeman_do.arts: added a PRELIMINARY CONTROL FILE FOR SIMPLE O2 ABSORPTION/EXTINCTION CALCULATIONS. NOTE THIS IS ONLY FOR INTERNAL USE AT THIS MOMENT. 2003-11-28 Cory Davis * arts-1-1-724 * src/montecarlo.{cc,h}: Added functions *montecarloGetIncoming*, and *ppathRecordMC*, as part of a general tidy-up which also eliminates unnecessary calls to rte_calc. * src/m_montecarlo.cc (ScatteringMonteCarlo): modified to incorporate new functions 2003-11-28 Oliver Lemke * arts-1-1-723 * src/Makefile.am: Added dependencies needed for xml reading to test_sparse_SOURCES. * src/test_sparse.cc: Uncommented xml_read_from_file. Added try/catch block around calls to xml_read_from_file. 2003-11-28 Mattias Ekström * arts-1-1-722 * src/test_sparse.cc: Added test45() to test sparse-sparse multiplication using matrices from xml files. However, need help with enabling xml support in test_sparse. 2003-11-28 Claudia Emde * arts-1-1-721 * src/workspace.cc (workspace.cc): Included workspace variables for Zeeman implementation. Proper documentation should be added by Nikolay. Added WSVs: geomag_los: Magnetic field along los (absolute value + angle between los and magnetic field. ext_mat_zeeman: Zeeman extinction matrix. abs_vec_zeeman: Zeeman absorption vector. ppath_index: Index needed for communication with zeeman prop_agenda. Included agenda definitions for agendas added to agenda.cc. * src/agendas.cc: Included agendas for Zeeman implementation. zeeman_prop_agenda: Calculation of extinction matrix and absorption vector for Zeeman effect. geomag_calc_los_agenda: Agenda to calculate the magnetic field along the propagation path. * src/m_scatrte.cc (scat_fieldCalcLimb): Included this method. It calculates the scattering integral, if different zenith angle grids are used for the calculation of *scat_field* and the radiative transfer. Interpolations on the different grids are necessary. (scat_fieldCalc): If one uses the same grids in both parts (e.g.) for nadir geometry, the interpolations are not needed, so it makes sense to have two separate functions. *scat_fieldCalcLimb* is slower, if one has equal grids in both parts. * src/methods.cc: Included *scat_fieldCalcLimb*. 2003-11-28 Oliver Lemke * arts-1-1-720 * src/m_abs_o2_models.cc: Added. Copied Zeeman function to this place and renamed it ZeemanO2. * src/abs_o2_models.h: Added. Includes class ZeemanSettings. * src/Makefile.am: Added m_abs_o2_models.cc and abs_o2_models.h. * src/matpackI.cc (mult): Removed mult_old. Added assertion for matrix of size 0x0. * src/matpackI.h: Removed mult_old. 2003-11-27 Stefan Buehler * arts-1-1-719 * src/m_continua.cc: Cosmetic changes in doxygen headers. * doc/examples/cont_simple_example.arts.in: Tested Thomas new method. 2003-11-27 Cory Davis * arts-1-1-718 * src/montecarlo{cc,h} (Sample_los_Z): Added. This is a new method for sampling the line of sight in monte carlo scattering calculations, and can be enabled by setting the ScatteringMonteCarlo keyword parameter 'los_sampling_method' to 3. Incident propagation directions are sampled according to a probability density function proportional to Z11*sin(za_inc), where Z11 is the 1st element of the extinction matrix. This is achieved using the rejection method. This function should provide better performance in optically thick cases. (pha_mat_singleCalc): Added. This is required by the function above - it simply returns the phase matrix for given incident and scattered directions, summed over all particle types. * src/m_montecarlo.cc (ScatteringMonteCarlo): Implemented new functions described above. Now testing... 2003-11-27 Thomas Kuhn * arts-1-1-717 * src/m_continua.cc: added CKD_MTv1.00 self and foreign continua as a prototype for the other continua/abs. models. The way one can call these two continua is by calling their methodes as defined in methods.cc (i.e. abs_CKDMT_H2O_H2O{} and abs_CKDMT_H2O_AIR{}). More description will follow after a first round of discussions. * src/methods.cc: added new methods abs_CKDMT_H2O_H2O and abs_CKDMT_H2O_AIR for the CKD_MTv1.00 H2O cont. abs. 2003-11-18 Claudia Emde * arts-1-1-716 * src/m_scatrte.cc (scat_fieldCalc): Used *AngIntegrate_trapezoid* instead of *AngIntegrate_trapezoid_opti*. There seems to be a bug in the optimized routine for very fine zenith angle resolution. 2003-11-14 Claudia Emde * arts-1-1-715 Major changes in calculation of the scattering integral. The requirements for the zenith angle discretisation are different for the calculation of the scattering integral and for the radiative transfer part inside the cloudbox. For the radiative transfer part, it is very important to have a fine discretisation about 90°. This is not so important for the scattering integral. Here we need the same discretisation everywhere as the position of the peak of the phase matrix depends on incoming and outgoing directions. Normally it is sufficient to take 10° steps to get sufficiently high accuracy. I included a new workspace variable *za_grid_size* (the name is not very good, I should probably change it) which is set by the user and includes the number of grid points of the zenith angle grid used to calculate the scattering integral. This modification makes the scattering calculations a lot faster. * src/m_scatrte.cc (scat_fieldCalc): Included modifications described above. (ScatteringInit): Adjusted initialisation of *pha_mat_spt* and *pha_mat*. Made some agenda output silent. Now the report file (level 1) is no longer useless for scattering calculations. * src/m_optproperties.cc (pha_mat_sptFromDataDOITOpt) and (ScatteringDataPrepareDOITOpt): Adapted to the new concept. *pha_mat_spt* is now calculated on the zenith angle grid for the scattering integral calculation. Note: *pha_mat_sptFromData* shoulds be adapted as well. * src/scatrte.cc: Made agenda output silent. * src/optproperties.{cc,h} (interpolate_scat_angleDOIT): Removed unused variables. * src/workspace.cc: Included *za_grid_size*. * src/agendas.cc: Modified input of *pha_mat_spt_agenda* according to new functions. * src/m_cloudbox.cc (scat_iPut): Fixed 3D part. Adjusted to "new" sizes of *scat_i_XXX*. * src/ppath.cc: Made *ppath_step_agenda* totally silent. In the scattering calculations there were too many outputs from this agenda. * src/rte.cc: Made *ppath_step_agenda* totally silent. I hope this is o.k. For clearsky calculation one might like to have the agenda output, but in the scattering part it is useless. 2003-11-17 Sreerekha T.R. * arts-1-1-714 * src/m_cloudbox.cc: Modified *ybatchMetProfiles* according to the suggestions at Structured Programming seminar. There are some small modifications. The main things are documentation, especially for variables relating to agendas, avoiding copying, setting the cloudbox so that the upper cloudbox limit has 0 pnd, and including the pathnames for atmopheric fields are keywords. * src/methods.cc: Modified keyword list to include the profile path names. * src/workspace.cc: Removed the variable *met_profile_path* which sets the path of temperature, altitude and humidity fields. Now, keywords are used for this information. Also removed *met_profile_basenames* as it is not used. * src/agendas.cc: Modified the input output list of the agenda *met_profile_calc_agenda*. 2003-11-16 Stefan Buehler * arts-1-1-713 * src/workspace.cc: Added new variables input variables for the absorption models: abs_p: Pressures abs_t: Temperatures abs_vmr: VMR values (these three must have same length) abs_model: Model string abs_user_parameters: Vector of model parameters Also implemented a variable to hold absorption coeffients, abs. * src/methods.cc: Added new methods VectorSetExplicitly and absMPM02_H2O. * src/m_basic_types.cc: Added method VectorSetExplicitly, which can be used to specify a vector directly in the controlfile, rather than reading it from a file. * src/Makefile.am: Removed continua.cc and continua.h, added m_continua.cc. * src/continua.cc: Removed. * src/continua.h: Removed. * src/m_continua.cc: Added. Implemented dummy case for MPM02 H2O model to define interfaces. * doc/examples/cont_simple_example.arts.in: Added. Continuum for one species. * doc/examples/Makefile.am: Added the new file. 2003-11-13 Oliver Lemke * arts-1-1-712 * configure.in: Add COMPILE_FLAGS to config.h. * src/main.cc: Display compile flags with -v. 2003-10-28 Claudia Emde * arts-1-1-711 * src/m_scatrte.cc (scat_fieldCalc): Fixed new bug. I changed loop indicies and forgot to adjust p_index for pha_matCalc. Initialization of product_field shifted to right place. 2003-10-24 Claudia Emde * arts-1-1-710 * src/m_scatrte.cc (scat_fieldCalc): Modifications to gain efficiency. Removed mult function, as it is not efficient for small matrices. Removed cloudbox_limits check. Should be put in cloudboxSetManually. * src/scatrte.cc (cloud_ppath_update3D): Replaced 2 Vectors (los_grid_za and los_grid_aa) by VectorViews. * src/math_funcs.{cc/h} (AngIntegrate_trapezoid) and (AngIntegrate_trapezoid_opti): Changed type of variable Itegrand from MatrixView to ConstMatrixView. * src/m_optproperties.cc (pha_mat_sptFromDataDOITOpt): Changed type of pha_mat_int from Vector to VectorView to avoid copying of the variable. * src/optproperties.{cc/h}: Replaced const VectorView by ConstVectorView. * src/m_cloudbox.cc (CloudboxGetIncoming1DAtm): Fixed a bug. Now I have tested the method and it works correctly. 2003-10-23 Sreerekha T.R. * arts-1-1-709 * src/m_scatrte.cc (scat_fieldCalc): Added a check that when you define a cloud in terms of the pnd_field, it is within the limits of the cloudbox. 2003-10-22 Oliver Lemke * arts-1-1-708 * src/matpackI.cc (mult): Small loop optimization to gain another 10% performance. 2003-10-22 Oliver Lemke * arts-1-1-707 * src/matpackI.cc (mult): Reimplemented Matrix-Vector multiplication. * src/matpackI.h: Made mult function friend of Range, ConstVectorView and ConstMatrixView. 2003-10-21 Mattias Ekström * arts-1-1-706 * src/scatrte.cc (cloud_ppath_update1D): Added resizing of rte_vmr_list before assigning values to it. The resizing is added right after the calculations of N_species, which also is the size of rte_vmr_list. * src/m_cloudbox.cc (CloudboxSetIncomingForTauCalc1D): Removed call to rte_calc and returned to first version, just setting the scat_i_p, scat_i_lat and scat_i_lon. * src/methods.cc: Changed input/output arguments for CloudboxSetIncomingForTauCalc1D. 2003-10-21 Mattias Ekström * arts-1-1-705 * src/M_cloudbox.cc (scat_iPut): Moved calculation of N_lat and N_lon to the 3D part of the function. 2003-10-20 Claudia Emde * arts-1-1-704 * src/m_cloudbox.cc (CloudboxGetIncoming1DAtm): Inlcuded this method. It calcultes the incoming field for a 3D cloudbox for cases where we may assume a spherically symmetric clearsky atmosphere. * src/methods.cc: Included (CloudboxGetIncoming1DAtm). 2003-10-20 Mattias Ekström * arts-1-1-703 * src/m_cloudbox.cc: Changed CloudboxSetIncomingForTauCalc1D, so that it calls rte_calc. This is acctually unnecessary, but set sets some underlying parameters correctly. * src/methods.cc: Changed CloudboxSetIncomingForTauCalc1D to accomodate for the rte_calc call. 2003-10-17 Claudia Emde * arts-1-1-702 * src/scatrte.{cc,h} (cloud_ppath_update3D): Some modifications were necessary because of latest changes. The ground emission is not yet implemented in the 3D function. * src/m_scatrte.cc (scat_fieldCalc): Fixed thescattering integral bug also for 3D (had only been fixed in the 1D part). * src/interpolation.h: Included two missing headers for calculation of interpolation weights of "blue" interpolations. * src/m_cloudbox.cc (scat_iPut): Fixed the 3D part. Size of interface variables had to be adjusted. 2003-10-16 Oliver Lemke * arts-1-1-701 * src/m_general.{h,cc} (Print): Added Print method for ArrayOfGridPos. Replaced calls to ArrayOfGridPosPrint with Print(...). Removed some couts which should not have been there. :-( 2003-10-15 Mattias Ekström * arts-1-1-700 * src/m_cloudbox: Added WSM CloudboxSetIncomingForTauCalc1D which can be used to set the clearsky field on the cloudbox. This function is made for transmission calculations. * src/methods.cc: Added CloudboxSetIncomingForTauCalc1D. 2003-10-14 Patrick Eriksson * arts-1-1-699 * src/ppath.cc (do_gridcell_3d): Added RTOL in the following statement: if( r_ground+RTOL >= rlow && r_end <= r_ground+RTOL ) { inside = false; endface = 7; } Without RTOL it did not work always if the ground is exactly on a pressure surface, and with O2. It did work if I just printed the difference of the compared radii! * src/workspace.cc: Removed a stray \ that caused a compiler warning. 2003-10-10 Stefan Buehler * arts-1-1-698 * src/m_sensor.cc (sensor_responseAntenna1D): Put in a FIXME comment for Mattias. * src/test_sparse.cc: Modified test cases. * src/matpackII.cc: Just put in some commented-out debugging lines. 2003-10-07 Cory Davis * arts-1-1-697 * src/methods.cc,m_montecarlo.cc,montecarlo.{cc,h}: Overhauled the way optical properties were looked up in ScatteringMonteCarlo. This was needed because it wasn't working for cases with non-uniform pnd_fields. Untested. 2003-10-05 Cory Davis * arts-1-1-696 * src/optproperties.cc (interpolate_scat_angle): I found that numerical gremlins were occasionally causing NaNs for theta_rad in perfectly forward scattering cases. I fixed this problem by including two special cases - one for (abs(aa_sca-aa_inc) * arts-1-1-695 * src/m_montecarlo.cc(ScatteringMonteCarlo): Some significant changes to the monte carlo algorithm in the name of improving performance. New random number determines whether we have scattering or emission. In original line of sight direction pathlength is chosen from a different PDF so that a scattering/emission event is guaranteed. These changes have not been tested. * src/montecarlo{cc,h}: Added Sample_ppathlengthLOS - a new PDF for the initial line of sight. Added the extinction matrix to the output of interpTArray. (Sample_ppathlength) Changed PDF so that it is based on the ppath averaged extinction matrix. 2003-10-03 Mattias Ekström * arts-1-1-694 * src/sensor.cc: Should h in mixer_transfer_matrix be normalised? * src/msensor.cc: Fixed bug. 2003-10-02 Cory Davis * arts-1-1-693 * src/m_montecarlo.cc (ScatteringMonteCarlo): Fixed a bug that occured in cases where there are multiple particle types. 2003-10-01 Mattias Ekström * arts-1-1-692 * src/methods.cc: Changed input parameters for sensor_responseMixer. * src/m_sensor.cc: Added consistency checks for all input, and made new call to underlying function mixer_transfer_matrix. * src/sensor.{cc,h}: Changed sensor_summation_vector to calculate IF band frequencies, instead of RF. Now this function doesn't need to know about primary- and image band. Also altered mixer_transfer_matrix to incorporate number of polarisations and zenith angles/antennas. 2003-09-22 Oliver Lemke * arts-1-1-691 * ChangeLog: Corrected. 2003-09-22 Nikolay Koulev * arts-1-1-690 * src/legendre.{cc,h}: Added new (g_legendre_poly_norm_deriv...) functions. * src/geomag_calc.cc: Small changes. 2003-09-22 Oliver Lemke * arts-1-1-689 * src/legendre.cc: Added missing 'include cmath' to fix compilation problem with gcc2.96 as reported by Cory. 2003-09-22 Oliver Lemke * arts-1-1-688 * ChangeLog: Corrected version numbers in recent entries. * src/methods.cc, src/m_basic_types.cc: Removed ArrayOfMatrixAppend. 2003-09-19 Stefan Buehler * arts-1-1-687 * src/gas_abs_lookup.cc: Fixed bug reported by Patrick and Cory: No runtime error was thrown if the frequencies of the calculation were not included in the lookup table. (find_new_grid_in_old_grid): Completely rewritten. Now the function does its task directly, without using gridpos. It is now shorter and probably faster. Throws a runtime error if the new frequency grid points can not be found in the old grid. 2003-09-19 Claudia Emde * arts-1-1-686 * src/m_optproperties.cc (pha_mat_labCalc): Included analytically calculated limiting values for the cases were the transformation formulas according to Mishchenko are not defined. Now the result for stokes-dim=2 for a nadir measurement is as expected almost 0. 2003-09-18 Cory Davis * arts-1-1-685 * src/m_ppath.cc (rte_pos_and_losFromTangentPressure): Cory gets the No runtime error was thrown if the frequencies of the calculation were not included in the lookup table. (find_new_grid_in_old_grid): Completely rewritten. Now the function does its task directly, without using gridpos. It is now shorter and probably faster. Throws a runtime error if the new frequency grid points can not be found in the old grid. 2003-09-19 Claudia Emde * arts-1-1-686 * src/m_optproperties.cc (pha_mat_labCalc): Included analytically calculated limiting values for the cases were the transformation formulas according to Mishchenko are not defined. Now the result for stokes-dim=2 for a nadir measurement is as expected almost 0. 2003-09-18 Cory Davis * arts-1-1-685 * src/m_ppath.cc (rte_pos_and_losFromTangentPressure): Cory gets the record for the WSM with the longest name. For limb sounding calculations I wanted to be able to easily set up the sensor los and pos by specifying the tangent pressure. The method interpolates z from z_field and log p and then uses ppath_calc to find the appropriate sensor point at the edge of the atmosphere. Since ppath_calc is used, refraction can be considered by setting ppath_step_agenda accordingly. Only works in the 1-D case at the moment. * src/methods.cc: Added rte_pos_and_losFromTangentPressure. 2003-09-16 Claudia Emde * arts-1-1-684 * src/m_scatrte.cc (scat_fieldCalc): Fixed the bug in the calculation of the scattering integral. Now, the model results are in good agreement with the RAL calculations. * src/m_cloudbox.cc (i_fieldSetConst): Slightly modified checks of input variables. 2003-09-04 Mattias Ekström * arts-1-1-683 * arts/src/sensor.cc: Corrected loop in spectrometer_transfer_matrix. * arts/src/methods.cc: Added keyword "multiply" to the sensor response functions for antenna and backend. This keyword tells arts whether it should multiply the current sensor_response with the particular antenna/backend response. If not, the antenna/backend response is returned as *sensor_response*. This is only a temporary solution. * arts/src/m_sensor.cc: Included the multiply kewyword in sensor_responseAntenna1D and sensor_responseBackend. 2003-09-04 Nikolay Koulev * arts-1-1-682 * src/legendre.h: Removed a bug. 2003-09-04 Nikolay Koulev * arts-1-1-681 * src/legendre.cc: Added new functions with prefix (g_) for the calculations of the legendre polynomes and their derivatives specially for the case of utilization of the IGRF coefficients. * src/legendre.h: Changed accordingly. * src/geomag_calc.cc: Changed accordingly. 2003-08-28 Nikolay Koulev * arts-1-1-680 * src/legendre.cc: Changed the derivative expression for one of the cases in (legendre_poly_deriv) and (legendre_poly_norm_schmidt_deriv). * src/geomag_calc.cc: Changed the component definitions of the magnetic field. 2003-08-28 Mattias Ekström * arts-1-1-679 * src/sensor.cc (antenna_transfer_matrix): Corrections to indexing, in distribution of vector elements into the sparse matrix. * src/m_sensor.cc (sensor_responseAntenna1D): Correction again to index but this time setting the size of the output matrix. * src/test_sensor.cc (test1): Changed the test to a more 'realistic' scenario. 2003-08-27 Mattias Ekström * arts-1-1-678 * src/m_basic_types.cc: Changed behaviour of ArrayOfMatrixSet. 2003-08-27 Mattias Ekström * arts-1-1-677 * src/sensor.cc: Corrected loop in spectrometer_transfer_matrix * src/methods.cc: Added WSM for ArrayOfMatrixSet, which should take the place of the previous ArrayOfMatrixAppend method. * src/m_basic_types.cc: Implemented ArrayOfMatrixSet, which can set a specific element or append a Matrix. 2003-08-26 Oliver Lemke * arts-1-1-676 * src/legendre.cc (legendre_poly_deriv): Removed code from doxygen header accidently pasted there before my last commit. Reindented the file. 2003-08-26 Mattias Ekström * arts-1-1-675 * arts/src/test_sensor.cc: Changes made to test1, test2 and test6 which test the functionality of antenna_transfer_matrix and spectrometer_transfer_matrix. * arts/src/methods.cc: Added WSM antenna_diagramAppendArray and ArrayOfMatrixAppend. Changed input and comments for WSM sensor_responseAntenna1D and sensor_responseBackend. * arts/src/m_sensor.cc: Major changes in input to methods sensor_responseAntenna1D and sensor_responseBackend. The antenna method now takes WSV antenna_diagram and a vector as input. The vector describes the viewing angles of a multiple antenna/multiple beam antenna. The backend method takes a ArrayOfMatrix as input. For more information, see arts -d FUNCTION. Also added tests to check the input and to call underlying functions in the right way. Added function antenna_diagramAppendArray which appends a ArrayOfMatrix to WSV antenna_diagram. * arts/src/sensor.cc: Made changes to antenna_transfer_matrix and backend_transfer_matrix according to the corresponding WSM. They now use ArrayOfArrayOfMatrix for the antenna, and ArrayOfMatrix for the backend as input. * arts/src/workspace.cc: Added WSV antenna_diagram, which is of type ArrayOfArrayOfMatrix. Also added arrayomatrix_1 which is an arbitrary ArrayOfMatrix and can be used to store intermediate data for example to put in antenna_diagram or it can describe the backend channel response. * arts/src/m_basic_types.cc: Added WSM ArrayOfMatrixAppend to be able to append matrices to an array. This can be used to set the response for the spectrometer or as an intermediate in setting the antenna diagram. * arts/src/array.h: Added typedefs for ArrayOfArrayOfMatrix. * arts/src/groups.cc: Added ArrayOfArrayOfMatrix (inspired by Claudias GridPos arrays :) * arts/src/xml_io_array_types.{h,cc}: Added XML read and write methods for ArrayOfArrayOfMatrix. * arts/src/xml_io_instantiation.h: Added templates for the xml methods. 2003-08-26 Nikolay Koulev * arts-1-1-674 * src/geomag_calc.cc: Cleaning up and debugging. * src/test_geomag_calc.cc: Cleaning up and debugging. 2003-08-26 Nikolay Koulev * arts-1-1-673 * src/legendre.cc: Fixed a bug in the normalizazion factor of (legendre_poly_norm_schmidt) and added another special case for this normalization. 2003-08-26 Nikolay Koulev * arts-1-1-672 * src/legendre.cc: Added the last [hopefully] special case for (legendre_poly_deriv) and (legendre_poly_norm_schmidt_deriv). 2003-08-26 Claudia Emde * arts-1-1-671 * src/m_optproperties.cc (ScatteringDataPrepareDOITOpt). Further optimization for 1D cases. * src/methods.cc: Included *stmosphere_dim* as input for (ScatteringDataPrepareDOITOpt). 2003-08-25 Oliver Lemke * arts-1-1-670 * src/legendre.cc: Improved handling of runtime errors. 2003-08-25 Claudia Emde * arts-1-1-669 * src/agendas.cc (pha_mat_spt_agenda): Included this agenda to be able to include optimizations. To use the general methods it should include **pha_mat_sptFromData*. * src/m_optproperties.cc (ScatteringDataPrepareDOITOpt): Included. This function can be used for spped optimization for the special case of randomly oriented particles. The method can be used in *scat_mono_agenda* to interpolate the phase matrix on the frequency and on all possible scattering angles. It turned out that this optimization is much more efficient that the pre-calculation of grid-position and interpolation weights, especially for optically thick scatetring media. (pha_mat_sptFromDataDOIT): To use the optimized routines *pha_mat_sptFromData* has to be replaced by this function in *pha_mat_spt_agenda*. It uses the precalculated phase matrix data. * src/methods.cc: Included the two new methods. Modified entry for *scat_fieldCalc*. * src/workspace.cc: Included pha_mat_sptDOITOpt and entry for *pha_mat_spt_agenda*. * src/m_scatrte (scat_fieldCalc): Included agenda for calculating *pha_mat_spt*. 2003-08-25 Oliver Lemke * arts-1-1-668 * src/legendre.cc (legendre_poly_norm_schmidt_deriv), (legendre_poly_deriv): Throw runtime error if l==1 && m!=1 && m!=0. Include exceptions.h. 2003-08-25 Nikolay Koulev * arts-1-1-667 * src/legendre.cc: Debugged the previous modification of the special case l=1 in (legendre_poly_norm_schmidt_deriv). 2003-08-25 Nikolay Koulev * arts-1-1-666 * src/geomag_calc.cc: Small change, taking into account that (legendre_poly_norm_schmidt_deriv) in src/legendre.cc calculates the derivative in this case with respect to cos(theta) and not to (theta). * src/legendre.cc: Modified the special case l=1 in (legendre_poly_norm_schmidt_deriv) with regard to the normalization and added this case to (legendre_poly_deriv). 2003-08-22 Oliver Lemke * arts-1-1-665 * src/legendre.cc (legendre_poly_norm_schmidt_deriv): Added special case for l = 1. * src/sorting.h: Use Index instead of int in comparison functor. * src/test_sorting.cc: Added testcase which sorts a vector with the approximate size needed by claudia's routines. * src/.cvsignore: Added test_geomag_calc. 2003-08-21 Nikolay Koulev * arts-1-1-664 * src/geomag_calc.{cc,h}: Added these files containing the prelimmanary calculating routine of the geomagnetic field. * src/test_geomag_calc.cc: Added test file for the geomagnetic calculation. 2003-08-21 Nikolay Koulev * arts-1-1-663 * src/legendre.cc: Fixed a bug in (legendre_poly_deriv) and (legendre_poly_norm_schmidt_deriv). 2003-08-21 Oliver Lemke * arts-1-1-662 * src/sorting.h: Include functional. 2003-08-21 Claudia Emde * arts-1-1-661 * src/m_optproperties.{cc,h}: Included new methods for speed optimization of the DOIT (Discrete Order of ITerative) - this is now the official name - method. The program is slow because of the transformation from the scattering frame into the laboratory frame. For each combination of incoming and scatterd direction the scattering angle is calculated and then the data is interpolated on the scattering angle. The calculation of the gridpositions is most time consuming. To avoid recalculating gridpositions and scattering angle over and over again I included a new method: (ScatteringDataPrepareDOIT): The method shall calculate scattering angle, gridpositions and interpolation weights and stores them in the WSVs *scat_theta*, *scat_theta_gps*, *scat_theta_itws*. These variables are used then in (pha_matTransform). - The method is not finished yet- If you do not want to use the DOIT method you have to include (ScatteringDataPrepareOFF) in yopur control file and everything works as before. This methods sets the WSVs *scat_theta*, *scat_theta_gps*, *scat_theta_itws* empty. * src/optproperties.{cc,h} (pha_matTransform): Included switch. If *scat_theta* is empty the old transformation including the full interpllation is performed. If not, a now function (interpolate_scat_angleDOIT) is executed. - this function is also not finished yet- * src/m_optproperties (pha_mat_sptFromData): Adjusted function call to (pha_matTransform). * src/m_scatrte.cc (scat_fieldCalc): Adjusted function call to (pha_mat_sptFromData) and included new WSVs as input. (i_fieldUpdate***): Removed unused variables. * src/m_montecarlo.cc: Adjusted function call to (pha_mat_sptFromData) and included new WSVs as input. * src/methods.cc: Included the new methods and adjusted interfaces of (scat_fieldCalc), (ScatteringMonteCarlo) and (i_fieldUpdate***). * src/workspace.cc: Included WSVs *scat_theta*, *scat_theta_gps*, *scat_theta_itws*. * src/groups.cc: Included ArrayOfArrayOfArrayOfArrayOfGridPos needed for *scat_theta_gps*. * src/interpolation.h: Included typedefs for ArrayOfArrayOfGridPos, ArrayOfArrayOfArrayOfGridPos and ArrayOfArrayOfArrayOfArrayOfGridPos. * src/xml_io_array_types.{cc,h}: Added reading and writing routines for the grid position arrays. * src/xml_io_instantiation.h: Included templates for xml routines. 2003-08-21 Oliver Lemke * arts-1-1-660 * src/sorting.h: Include algorithm. 2003-08-20 Oliver Lemke * arts-1-1-659 * src/Makefile.am: Added sorting.h and target test_sorting. * src/sorting.h: Template function to get the sorted indexes for a simple container type like Array or Vector. * src/test_sorting.cc: Added for testing and as an example for sorting a Vector and an Array. * src/matpackI.h: Added typedefs for iterators to class for compatibility with STL. * src/.cvsignore: Added test_sorting. * ChangeLog: Cleanup. 2003-08-19 Cory Davis * arts-1-1-658 * src/m_montecarlo.cc, methods.cc: changed (shift_rte_pos) to (rte_posShift), modified the method to also change rte_gp_XXX to the corresponding values at the end of ppath. It should work for all values of atmosphere_dim now. This is a workaround to get cloud box exit radiances as well as the measurement Stokes vector in DOSO scattering runs for comparison with Monte Carlo scattering results. * src/montecarlo.cc (Cloudbox_ppath_rteCalc): changed call to shift_rte_pos 2003-08-19 Claudia Emde * arts-1-1-657 * src/optproperties.{cc,h}: Fixed bug in (pha_matCalc). If incoming and outgoing directions lie on a great circle through the north pole the transformations are not defined. This was the reason for the nan values, which sometimes appeared. Furthermore cleaned up the code: Removed unused vaiable and included dummys to remove warnings during compilation. Included some defines to avoid copying variables. * src/m_optproperties.cc: Included defines. 2003-08-19 Nikolay Koulev * arts-1-1-656 * src/test_legendre.cc: Added function (legendre_poly_norm_schmidt_deriv) to test the derivative of the Schmidt quasi-normalized Legendre polynomials. 2003-08-19 Oliver Lemke * arts-1-1-655 * src/test_legendre.cc: Updated. Use renamed function legendre_poly_norm_schmidt. 2003-08-18 Nikolay Koulev * arts-1-1-654 * Changelog: Corrected typos in my arts-1-1-653 and arts-1-1-652 entries. 2003-08-18 Nikolay Koulev * arts-1-1-653 * src/legendre.h: Added (legendre_poly_norm_schmidt_deriv) and changed (legendre_poly_norm) to (legendre_poly_norm_schmidt). 2003-08-18 Nikolay Koulev * arts-1-1-652 * src/legendre.cc (legendre_poly_norm_schmidt_deriv): Added this function for calculating the derivative of the Schmidt quasi-normalized Legendre polynomials. * src/legendre.cc (legendre_poly_norm_schmidt): Changed the name of (legendre_poly_norm) to (legendre_poly_norm_schmidt) in order to reflect the fact that it is a quasi-normalisation in terms of Schmidt's defition. Due to this normalization the partial order sum of the squares of the two polynomial coefficicients for a given degree remains invariant under an arbitrary rotation of the (theta, phi) coordinate system in the description of the scalar potential, and thus of the magnetic field B. [Peddie, N. W., International Geomagnetic Reference Field: The Third Generation, J. Geomag. Geoelectr., 34, pp. 309-326, 1985.; Langel, R. A., Main Field, Chapter Four in Geomagnetism, ed. J. A. Jacobs, Academic Press, London, 1987.] * src/zeemanpoppertis.{cc,h}: Minor changes. Still being updated. * src/test_zeemanpoppertis.{cc,h}: Minor changes. Still being updated. 2003-08-18 Oliver Lemke * arts-1-1-651 * src/legendre.cc (legendre_poly_deriv): Forget the doxygen documentation. Shame on me. :-( 2003-08-15 Oliver Lemke * arts-1-1-650 * src/legendre.{cc,h}: Added function to calculate legendre derivatives. * src/test_legendre.cc: Added test for legendre derivative. * src/math_funcs.cc (fac): Cosmetics. 2003-08-15 Mattias Ekström * arts-1-1-649 * arts/src/sensor.cc: Changed antenna_transfer_matrix so that calls to sensor_integration_vector is only done for changing antenna diagram. For spectrometer_transfer_matrix changes are made to incorporate the changes in sensor_responseBackend. Removed obsolete functions at end of file. * arts/src/m_sensor.cc: Added some extra input tests to sensor_responseBackend and also the possibility to use one channel reponse for all channels or individual ones, in analogy with sensor_responseAntenna1D. 2003-08-15 Oliver Lemke * arts-1-1-648 * src/math_funcs.{cc,h}: Added function fac to calculate factorials. * src/legendre.{cc,h}: Rename legendre_polynomial to legendre_poly. Added function legendre_poly_norm to calculate normalized associated legendre polynomials. * src/test_legendre.cc: Updated. * src/Makefile.am: Added math_funcs.{cc,h} and dependencies to test_legendre target. 2003-08-13 Mattias Ekström * arts-1-1-647 * src/sensor.{cc,h}: Altered the scale_antenna_diagram function, now it does not return any object. Also made changes to antenna_transfer_matrix so that it make use of the new insert_row for Sparse and to fit the new handle of antenna diagrams. * src/m_sensor.cc: Added a way to handle different antenna diagram input methods and an extra test that the antenna diagram does not expand outside the zenith angle measurement block. This function has not yet been tested. 2003-08-14 Oliver Lemke * arts-1-1-646 * src/legendre.cc: Declare variables inside the blocks where they are used, not at the top of the function. Minor optimizations. * src/legendre.h: Cosmetics. * src/test_legendre.cc: Added CPU time measurement over loop of 1000000 calculations. 2003-08-14 Oliver Lemke * arts-1-1-645 * src/legendre.{cc,h}: Added. Function calculates associated Legendre polynomials. The code is based on the Numerical recipes. Results were compared to the Legendre calculations from the GNU Scientific library and found to be identical. * src/poly_roots.cc: Added reference to the GNU Scientific library in doxygen header. * src/Makefile.am: Added legendre.{cc,h} and test_legendre. * src/test_legendre.cc: Added. * src/.cvsignore: Added test_legendre. 2003-08-13 Mattias Ekström * arts-1-1-644 * src/test_sparse.cc: Added test function for insert_row. 2003-08-13 Mattias Ekström * arts-1-1-643 * src/matpackII.{cc,h} (insert_row): Added function to insert a whole row at a time. * doc/uguide/main.tex: Added myself as contributor. 2003-08-13 Cory Davis * arts-1-1-642 * src/optproperties.cc (pha_mat_labCalc):changed za_inc_rad == PI etc to za_inc_rad > PI-ANGTOL etc. This seems to have fixed the problem of nans in 1D scattering calculations for stokes_dim==2. ANGTOL = 1e-6. 2003-08-13 Oliver Lemke * arts-1-1-641 * src/main.cc: Fixed bug reported by Christian. Option -b was not working (implementation was missing!?). 2003-08-12 Stefan Buehler * arts-1-1-640 * src/matpackII.cc (operator=): I had forgotten to delete previous content of the target in the assignment operator, introducing a memory leak. Fixed this. * src/test_sparse.cc: Extended copying test to confirm memory leak. * src/m_hdf.cc (binfile_write_vector): Fixed mismatched delete operator bug. (binfile_write_matrix): Fixed mismatched delete operator bug. * src/mystring.h (operator=): Correction in doxygen header. * doc/uguide/matrix_vector.tex: Fixed typo. Rephrased the part about transpose for sparse slightly. 2003-08-08 Stefan Buehler * arts-1-1-639 * src/matpackI.cc: Replaced delete by delete[] in destructors, to fix bug reported by valgrind. * src/matpackIII.cc: Replaced delete by delete[] in destructor, to fix bug reported by valgrind. * src/matpackIV.cc: Replaced delete by delete[] in destructor, to fix bug reported by valgrind. * src/matpackV.cc: Replaced delete by delete[] in destructor, to fix bug reported by valgrind. * src/matpackVI.cc: Replaced delete by delete[] in destructor, to fix bug reported by valgrind. * src/matpackVII.cc: Replaced delete by delete[] in destructor, to fix bug reported by valgrind. 2003-08-09 Mattias Ekström * arts-1-1-638 * src/matpackII.cc: Inserted again, I need it for compilation. * doc/uguide/matrix_vector.tex: Added section about Sparse. 2003-08-08 Stefan Buehler * arts-1-1-637 * src/matpackII.cc: Moved inclusion of here from matpackII.h. (operator=): Added this assignment operator for Sparse to fix a bug found by Mattias. It was a familiar problem (though it was still hard to find, because I had forgotten about it): If no assignment operator is defined explicitly, the compiler will automatically generate one, which does not do the right thing. * src/matpackII.h: Removed some unnecessary #includes. Added assignment operator. * src/test_sparse.cc: Added a test for sparse copying. 2003-08-07 Oliver Lemke * arts-1-1-636 * doc/doxygen/Makefile.am: Prevent doxygen from overwriting our own Makefile in latex/. * doc/doxygen/latex/Makefile.am: Added targets from doxygen Makefile. Define targets only in maintainer mode. If you want to get a ps or pdf version of the doxygen documentation, go to the latex directory and run: make refman.ps or make refman.pdf But note that the document is really large (resulting postscript file has >1800 pages and is nearly 30 MB in size). It might not even work with all doxygen versions. PS creation tested with doxygen v1.3.3. Pdf version does not build. 2003-08-07 Oliver Lemke * arts-1-1-635 * src/matpackII.cc (mult): Removed FIXME. Nothing to fix. :-) 2003-08-07 Oliver Lemke * arts-1-1-634 * src/matpackII.cc (transpose): Cast loop variable c of type size_t explicitly to Index in find function. c can never be >MAX(Index) because mrowind and mcolptr are themselves of type Index, so downcasting is ok here. 2003-08-06 Mattias Ekström * arts-1-1-633 * src/matpackII.cc (transpose, mult): Implemented changes proposed by Stefan. 2003-08-07 Oliver Lemke * arts-1-1-632 * doc/doxygen/latex/Makefile.am: Unset thisdoc_DATA to avoid automatic build of postscript file. 2003-08-06 Stefan Buehler * arts-1-1-631 * src/matpackII.cc (mult): Put in some comments, marked by FIXME. (transpose): Made one modification and put in some comments, all marked by FIXME. * src/test_sparse.cc: Test transpose. 2003-08-06 Mattias Ekström * arts-1-1-630 * src/matpackII.cc: Remade the sparse-sparse mulitplication method and the transpose method for the new simplified sparse matrix. Removed old functions. * src/matpackII.h: Removed old functions and added inclution of and needed by transpose and mult. * src/test_sparse.cc: Added two test function for testing transpose and multiplication. 2003-07-31 Oliver Lemke * arts-1-1-629 * src/m_montecarlo.cc (ScatteringMonteCarlo): Use ios::out. ios_base is undefined in gcc 2.x. * src/montecarlo.cc: l.562 Multiline string literals are not allowed in ANSI-C++. Leads to compiler error in gcc >= 3.3. 2003-07-31 Oliver Lemke * arts-1-1-628 * src/m_general.cc: Include unistd.h. Otherwise function sysconf is unknown on gcc2 systems. 2003-07-31 Oliver Lemke * arts-1-1-627 * src/methods.cc, src/m_general.cc: Added dummy Print method for group Timer. Added methods timerStart and timerStop. * src/m_general.h: Added dummy Print method for group Timer. Fixed filename in doxygen header. * src/workspace.cc: Added WSV timer. * src/groups.cc: Added group Timer. * src/make_auto_wsv_groups_h.cc: Include m_general.h in auto_wsv_groups.h. * src/make_auto_wsv_h.cc: Include m_general.h in auto_wsv.h. * src/Makefile.am: make_auto_wsv_h and make_auto_wsv_group_h must depend on m_general.h. * src/xml_io_basic_types.{h,cc}, src/xml_io_instantiation.h: Added dummy read/write functions for group Timer. * doc/doxygen/html/Makefile.am: Added graph_legend.dot and formula.repository to MAINTAINERCLEANFILES. * doc/doxygen/Makefile.am: Use CLEANFILES instead of target clean. Otherwise 'doxyfied' is not removed with make maintainer-clean. Readded latex to subdirs. * doc/doxygen/latex/.cvsignore: Added refman.out. * doc/doxygen/latex/Makefile.am: Define empty 'all' target as we don't won't to build ps/dvi by default but the user should be able to do so if she likes. Undef EXTRA_DIST. * doc/doxygen/Doxyfile.in: Disabled creation of man pages and rtf. If we want to support this, we should also create man and rtf directories with appropriate Makefiles in the repository. * configure.in: Readded doc/doxygen/latex/Makefile to AC_OUTPUT. We don't build latex doxygen documentation by default, but it should be possible to do it manually. For this case we need the Makefile. * src/gas_abs_lookup.cc: Put empty doxygen header in front of output operator to prevent doxygen confusion. * doc/doc++/{.,html,tex}/.cvsignore: Removed to make directories empty and pruned on checkout/update. * ChangeLog: Wrapped paragraphs with lines > 80 chars. Cory, your emacs sucks ;-) 2003-07-30 Cory Davis * arts-1-1-626 * src/methods.cc, src/m_montecarlo.cc (ScatteringMonteCarlo): Added control parameter los_sampling_method. * src/montecarlo.cc, src/montecarlo.h (Sample_los): added a new probability density function from which to sample the line of sight, there are now 2: g = 0.5sin(1-cos), and g = 0.5sin. The new argument los_sampling_method chooses between the two. 2003-07-30 Cory Davis * arts-1-1-625 * src/methods.cc, src/m_montecarlo.cc (ScatteringMonteCarlo): Added control parameters record_histdata and histdata_filename. These enable the output of each 'photon' contribution, which can then be analysed in MATLAB to investigate error reduction. Fixed bug in line of sight sampling. * src/montecarlo.cc, src/montecarlo.cc (Sample_los): Tidied Sample_los function. 2003-07-29 Sreerekha T.R. * arts-1-1-624 * src/m_cloudbox.cc (ybatchMetProfiles): Modified the method so that the lower cloudbox limit is the lowest pressure level. This makes it possible to set the ground emissivity other than 1. Improved documentation also. * src/m_scatrte.cc, src/scatrte.cc: Removed unnecesary couts which I used to test the ground emissivity part. 2003-07-29 Cory Davis * arts-1-1-623 * src/rng.cc: Sorry, I had forgotten to #include "arts.h" 2003-07-28 Cory Davis * arts-1-1-622 * src/rng.cc (rng::seed): temporarily enabled output of random number generator seed for use in debugging 2003-07-28 Cory Davis * arts-1-1-621 * src/methods.cc: added control parameter "silent" to ScatteringMonteCarlo WSM. This disables/enables iterative output. * src/m_montecarlo.cc (ScatteringMonteCarlo): added "silent control parameter" and added code to output estimated execution time. 2003-07-28 Oliver Lemke * arts-1-1-620 * src/test_matpack.cc: Added testcase for cory. 2003-07-25 Cory Davis * arts-1-1-619 * src/m_montecarlo.cc (ScatteringMonteCarlo): I have been testing the code for more optically thick cases. This has led to two modifications. 1. Introduced a cut off value for Q[0,0] below which higher scattering orders are neglected. 2. There were problems with inconsistency of the returned exit radiance and the estimated error. It seemed like a problem with rounding or type conversion. The problem seems to have gone away by including the following explicit cast (L631) I/=(Numeric) maxiter; //For some reason this cast seems to help? I is a Vector (the exit stokes vector) and maxiter is an Index. I don't really know why this helps - I would have thought the type conversion worked automatically. Any ideas? 2003-07-24 Patrick Eriksson * arts-1-1-618 * src/methods.cc: Revised the description of "my" methods. Renamed methods as follows: CloudboxOff -> cloudboxOff CloudboxSetManually -> cloudboxSetManually GroundNoScatteringSingleEmissivity -> groundNoScatteringSingleEmissivity GroundTreatAsBlackbody -> groundTreatAsBlackbody RefrIndexFieldAndGradients -> refr_indexFieldAndGradients 2003-07-24 Oliver Lemke * arts-1-1-617 * src/test_sparse.cc: Define joker to fix compilation with gcc 2.95.3. 2003-07-24 Oliver Lemke * arts-1-1-616 * src/Makefile.am: Added m_general.h. * src/m_general.h: Added template function implementation for general supergeneric workspace method Print and explicit prototypes for ArrayOfIndex, ArrayOfString and Ppath Print method. * src/m_general.cc: Removed *Print functions. Added explicit implementation of Print for ArrayOfIndex, ArrayOfString, Ppath. * src/make_auto_md_cc.cc: Include m_general.h in auto_md.cc. * src/m_ppath.cc: Removed PpathPrint. Now covered by general Print method. Include m_general.h * src/optproperties.{cc,h}: Added dummy output operator for ArrayOf/SingleScatteringData. * src/gas_abs_lookup.{cc,h}: Changed GasAbsLookup from struct to class. Added dummy output operator for GasAbsLookup. * src/m_scatrte.cc: Use new Print instead of PpathPrint. * src/methods.cc: Added supergeneric Print method. Removed all other *Print methods. * src/describe.cc: Do not include sstream. * src/montecarlo.{cc,h}: Include sstream in cc instead of h and put appropriate ifndef around. * src/m_montecarlo.cc: Do not include sstream. 2003-07-24 Oliver Lemke * arts-1-1-615 * src/agendas.cc: Added missing _ after scalar_gas_absorption_agenda in rte_agenda. 2003-07-23 Patrick Eriksson * arts-1-1-614 * src/xxx: Changed name of variables like a_pos, a_los and a_gp_p to start with rte_ throughout the code. * src/workspace.cc: Revised description of "my" variables. * src/agendas.cc: Revised description of "my" agendas. 2003-07-23 Patrick Eriksson * arts-1-1-613 * src/rte.cc (get_radiative_background): Fixed the bug reported by Sreerekha. The problem was that ground reflections gave clearly wrong results. There was a clear bug, connected with a confusion of a local version of ppath and the WSV ppath. As rte_agenda always uses the WSVs, I did not help to send a local variable to rte_calc. Now the orignal data are copied, the downwelling radiation is calculated, and the ppath data is put back into ppath. The results now looks OK, but no heavy checks. This is a general comment about the ground reflections. The code runs but I have not made any detailed checks of the correctness of the results. So, please take care. And try to check the results if you run cases with ground reflections. 2003-07-22 Oliver Lemke * arts-1-1-612 * src/methods.cc: GINPUT/GOUTPUT is called generic, not global. Corrected descriptions. 2003-07-22 Sreerekha T.R. * arts-1-1-611 * ChangeLog : Edited the ChangeLog message of the previous version as Stefan pointed out a wrong statement there. I had written that the clear-sky part and cloudbox part agree when the particle number density is zero. But there is a difference for low emissivity values. 2003-07-21 Sreerekha T.R. * arts-1-1-610 * src/scatrte.cc (cloud_ppath_update1D): Implemented the ground reflection part when cloudbox is set on. In the same way as clear-sky part we can use the method *GroundNoScatteringSingleEmissivity* to give different surface emissivity values keeping in mind that the cloudbox has to be extended to the ground. The results are compared with the clear-sky values when the particle number density is zero.This shows good agreement for higher emissivity values. For emissivity =0, there is a difference of about 1 K. Also Included some variables related to ground reflection in the parameter of this function. * src/scatrte.h: Added ground reflection parameters according to the function cloud_ppath_update1D. * src/m_scatrte.cc: Added ground reflection parameters for the method *i_fieldUpdateSeq1D*. * src/methods.cc: Adapted *i_fieldUpdateSeq1D* to the above changes. 2003-07-21 Oliver Lemke * arts-1-1-609 * src/version.cc: Replaced reconf with autogen.sh. 2003-07-21 Oliver Lemke * arts-1-1-608 * doc/uguide/development.tex: Replaced reconf with autogen.sh. 2003-07-21 Oliver Lemke * arts-1-1-607 * configure.in: Added check for arts-xml-data. Updated list of examples. * autogen.sh: Look for arts data packages in /usr/share on smiles PCs. * doc/examples/Makefile.am: Updated list of examples. * doc/examples/{cloud_rad_field1D_example.arts.in, i_field_example.arts.in}: Replaced path to arts xml data with @ac_arts_xml_data@. 2003-07-17 Cory Davis * arts-1-1-606 * src/workspace.cc: Removed ppathLOS * src/montecarlo.cc (Cloudbox_ppathCalc): made silent. (Cloudbox_ppath_rteCalc): disabled error checking in calls to rte_calc . This made an enormous improvement in performance. Depending on optical thickness I can now do 10^5 photons in 90 seconds with debugging disabled. Previously this took about 2 hours:) 2003-07-16 Stefan Buehler * arts-1-1-605 * src/matpackII.cc: Cleaned up the sparse matrix implementation. Everything related to views and ranges has been kicked out. WARNING: the function transpose and sparse-sparse multiplication are currently commented out. ARTS sensor model code will not work properly! * src/matpackII.h: Ditto for the header file. * doc/uguide/matrix_vector.tex: Added template section about sparse matrices. * src/test_sparse.cc: Added this file for sparse matrix tests. * src/test_matpack.cc: Moved sparse testing routines to test_sparse.cc. * src/Makefile.am: Added test_sparse. * src/.cvsignore: Added test_sparse. * src/xml_io_basic_types.cc: Small adaptations to cleaned up sparse matrices. * src/sensor.h: Small adaptations to cleaned up sparse matrices. * src/sensor.cc: Small adaptations to cleaned up sparse matrices. * src/matpackI.h: Small adaptations to cleaned up sparse matrices. * src/m_sensor.cc: Small adaptations to cleaned up sparse matrices. (sensorOff): Fixed typo in error message that lead to compiler warning. 2003-07-16 Cory Davis (rsh) * arts-1-1-604 * src/m_montecarlo.cc, src/methods.cc: removed TArrayCalc. * src/montecarlo.cc, src/montecarlo.h: added TArrayCalc and fixed bug. * src/workspace.cc: removed TArray, ext_matArray, abs_vecArray, and t_ppath. Removed I - output of ScatteringMonteCarlo now goes in i_rte. Changed Ierror to i_montecarlo_error 2003-07-14 Patrick Eriksson * arts-1-1-603 * src/m_sensor.cc (sensorOff): Fixed a bug reported by Sreerekha (who also found how to solve it). The mblock_za_grid was wrongly set to 1, instead of 0 (I was probably thinking about the length). 2003-07-13 Patrick Eriksson * arts-1-1-602 * src/workspace.cc: Removed y_rte as it is needed with new scheme for polarisation. Removed mblock_index as it can not be used as I thought. Added WSVs sensor_pol, sensor_rot, sensor_response_f, sensor_response_za and sensor_response_aa. * src/methods.cc: Removed yNoPolarisation and RteTest. * src/rte.cc (rte_calc): Added sensor_pol and sensor_rot as input arguments. Changed y_rte to y. The vector *y* is now only filled if *apply_sensor* = true. This means if the function is called to obtain monochromatic pencil beam values this has to be done for one line-of-sight at the time, and the result is returned by *i_rte*. This is the way the function is already used from CloudboxGetIncoming and ScatteringMonteCarlo. Implemented polarisation, beside the rotation part. * src/rte.cc (get_radiative_background): Removed antenna_dim as input. Changed call of rte_calc following changes given above. * src/m_cloudbox.cc (CloudboxGetIncoming): Adapted to changes in rte_calc. Made y a local variable. Removed y_rte as input. * src/montecarlo.cc (Cloudbox_ppath_rteCalc): Adapted to changes in rte_calc. Made y a local variable. Removed y_rte as input. * src/m_montecarlo.cc (ScatteringMonteCarlo): Removed y_rte as input. * src/m_sensor.cc (sensor_responseInit): Added sensor_pol, stokes_dim and atmosphere_dim as input. The function now considers the number of polarisations provided by the sensor. Added sensor_response_f, sensor_response_za and sensor_response_aa as output. Moved AntennaSet1D/2D to this file from m_general.cc. Added WSM sensorOff. * src/m_basic_types.cc (VectorSetElement): Removed this WSM as it took a vector index as argument. We have decided that WSM shall not take index as input, to avoid problems with 0 and 1 based indexing. (I was the one that had created the method) * src/m_physics.cc (VectorToTbByRJ): Modified the method to take sensor_response_f, sensor_response_za, sensor_response_aa and sensor_pol as input. Did the same for VectorToTbByPlanck, MatrixToTbByRJ and MatrixToTbByPlanck. * src/check_input.cc (chk_y_with_sensor): Added this function. 2003-07-08 Patrick Eriksson * arts-1-1-601 * Commit of changes made during the Bredbeck workshop. * src/ppath.cc (ppath_calc): Included flag to seperate standard path calculations from path calculations inside the cloudbox (for e.g. Montye Carlo calculations). * src/rte.cc (rte_calc): Included input argument to control agenda verbosity. Agendas are set to be quiet when called from scattering calculations. 2003-07-08 Oliver Lemke * arts-1-1-600 * Commit of changes made during the Bredbeck workshop. * src/Makefile.am: Added missing zeemanproperties.h to source file lists. * src/rte.cc (rte_calc): Removed dummy vector passed to chk_if_increasing to avoid copying of z_field. * src/matpackII.{h,cc}: FIXMEs added by Stefan. * doc/uguide/scattering.tex: Fixed typo. 2003-07-04 Oliver Lemke * arts-1-1-599 * src/test_mpi.cc: Implemented broadcasting and sending routines for Matrix. Only a first test version for performance testing. * src/matpackI.h (Matrix): Added get_raw_data function return the mdata pointer. Needed for mpi transfer routines to get direct access to the data. 2003-07-03 Claudia Emde * arts-1-1-598 * doc/uguide/scattering.tex: Updated parts of the text and took out the parts which are not up to date. Unfortunately there is still a lot of documentation missing for the new functions. * doc/uguide/integration.tex: Removed a reference to a section which no longer exists. * doc/uguide/references.bib: Included Mishchenkho's new book. 2003-07-02 Oliver Lemke * arts-1-1-597 * src/Makefile.am: Added test_mpi target. * src/test_mpi.cc: Added. * src/.cvsignore: Added test_mpi. 2003-07-02 Claudia Emde * arts-1-1-596 * m_scatrte.cc (cloud_ppath_update1D): Fixed bug reported by Sreerekha (stokes_dim = i_field.ncols()). 2003-07-01 Oliver Lemke * arts-1-1-595 * src/arts.h: Updated doxygen main page. * doc/doxygen/Makefile.am: Copy arts splash to html dir. * doc/arts-splash.gif: Added. Changed version in splash to pre2.0. 2003-06-30 Oliver Lemke * arts-1-1-594 * src/matpackI.h (Range): Added selectors for start, extent and range to avoid unnecessary need for friend declarations. Removed friend declaration of Sparse output operator, transpose and mult. * src/matpackII.{cc,h} (operator<<, mult, transpose): Use selector functions instead of direct member access. This has a little impact on speed when compiling without optimizations and is not noticeable with -O2 and higher. The operator() is for read-only access. To write elements the rw() modifier has to be used. Otherwise, e.g cout << sparse(1,1); will create the element instead of just outputting it. * src/m_sensor.cc (sensor_responseInit): Use rw() instead of operater(). * src/xml_io_basic_types.cc (xml_write_to_stream): Use selector functions instead of direct access for the Sparse range member attributes. 2003-06-30 Cory Davis * arts-1-1-593 * src/ppath.cc (ppath_start_3D) small change suggested by Patrick - use existing RTOL instead of new constant. * src/m_cloudbox.cc (CloudboxGetIncoming) Fixed bug that gave spurious assertion failure when checking that the current grid position is on the cloudbox boundary. Made function compatible with the small version of scat_i_p, scat_i_lat, scat_i_lon. (This means some work will be needed on Scat_iPut for the 3D case!) * src/methods.cc added WSM scat_iPutMonteCarlo. * src/m_montecarlo.cc added WSM scat_iPutMonteCarlo. This is a fairly ugly way of making the output of ScatteringMonteCarlo consistent with RteCalc for the final stage of the calculation - cloudbox->sensor. scat_i_p, scat_i_lat, and scat_i_lon are simply filled with many copies of the single cloudbox exit stokes vector I. 2003-06-27 Claudia Emde * arts-1-1-592 * src/m_scatrte.cc (i_fieldUpdateSeq1D): Included a special case for limb looking. Without this I missed some points while doing the sequential update. This modification has no effect on the nadir simulations. * src/optproperties.cc (pha_mat_labCalc): Fixed a bug in the formula for the transformation of the phase matrix. The formula I fixed is only used for polarized calculations, so the intensity simulations (stokes_dim = 1) we have already done are still correct. 2003-06-27 Mattias Ekström * arts-1-1-591 * src/matpackI.h: Added Sparse transpose- and multiplication function as friends in Range. Also added declaration of class bofstream. * src/matpackII.cc: Fixed bug in transpose- and multiplication function by changing to apparent row and column indices. * src/xml_io_basic_types.cc: Added corrections in xml_write_to_stream for Sparse to write the apparent row indices. The corrections are not yet implemented, since there is a problem with Range and private members. 2003-06-26 Cory Davis * arts-1-1-590 * src/m_montecarlo.cc: used new random number generator class Rng in functions Sample_los and Sample_pathlength, added rng_seed control parameter to ScatteringMonteCarlo. This means that you can choose a seed for random number generation, or have the seed derived from system time. The latter is acheivedt the first two components are required, in some cases, depending on the by setting rng_seed to a negative integer. * src/montecarlo.{cc-h}: used new random number generator class Rng in functions Sample_los and Sample_pathlength. * src/methods.cc: added rng_seed control parameter to ScatteringMonteCarlo. * src/Makefile.am: added rng.cc and rng.h * src/rng.cc and rng.h: Added. These files define Rng, a new random number generator class based on GNU Scientific Library gsl_rng_mt19937. 2003-06-25 Oliver Lemke * arts-1-1-589 * src/xml_io_array_types.cc: Fixed tag attribute in read function for SpeciesData. * src/xml_io_compound_types.cc: Fixed check for end tag in reading function for IsotopeRecord. * src/test_xml.cc: Updated. 2003-06-24 Oliver Lemke * arts-1-1-588 * ChangeLog: Removed conflict markers. * src/xml_io_array_types.cc: Corrected docs. 2003-06-24 Cory Davis * arts-1-1-587 * src/Makefile.am: Added m_montecarlo.cc, montecarlo.cc, and montecarlo.h. * src/methods.cc: Added Cloudbox_ppathCalc - an equivalent of ppathCalc for within the cloudbox, ScatteringMonteCarlo - 3D scattering calculation, shift_a_pos - shifts a_pos and a_los to the end of ppath, TArrayCalc - calculates arrays of several useful quantities along a propagation path within the cloud box. * src/workspace.cc: Added I - the stokes vector exiting the cloudbox in the direction of the sensor, Ierror - the estimated error in I. abs_vecArray - an array of absorbtion coefficient vectors along a cloudbox propagation path. ext_matArray - an array of extinction matrices along a cloudbox propagation path, TArray - an array of transmittance matrices along a cloudbox propagation path, t_ppath - a vector of temperatures along a cloudbox propagation path, ppathLOS - the propagation path for the initial line of sight. I realise that 'I' might be redundant, since i_rte is already available. This is something I will sort out once I have addressed radiative transfer from the cloudbox exit to the sensor. * src/m_montecarlo.cc: Added. This file includes WSM ScatteringMonteCarlo, which performs a 3D scattering calculation. A control file using this method is available on request. There are several issues that need to be addressed in this code, including efficiency issues, random number generation, and radiative transfer from the cloud box to the sensor. However, in it's current state it should be ready for comparison with the existing scattering code. * src/montecarlo.cc: Added. Helper functions for ScatteringMonteCarlo. * src/ppath.cc: fixed bug in ppath_start_3d() - removed double == double lines 03267-03268 2003-06-24 Oliver Lemke * arts-1-1-586 * src/xml_io_instantiation.h, src/xml_io_array_types.{cc,h}: Added Array reading/writing routines. * src/xml_io_instantiation.h, src/xml_io_compound_types.{cc,h}: Added IsotopeRecord reading/writing routines. Completed SpeciesRecord routines. * src/make_array.h: Added constructor to convert normal array to MakeArray. * src/test_xml.cc: Updated to test writing of species_data. 2003-06-24 Nikolay Koulev * arts-1-1-585 * src/test_zeemanproperties.cc: Major changes - added documentatation, replaced my frequency grid function by the ARTS Vector f_grid, threw away the output files producing part and replaced it by a short string function block. * src/test_zeemanproperties.cc: Minor changes - changed units to SI. 2003-06-23 Oliver Lemke * arts-1-1-584 * Huge doxygen cleanup: The cleaning involves removal of no longer existent, but still documented parameters, making the order of parameters in the documentation the same as in the function call, documentation of non-documented parameters. NOTE: For all parameters I did not know how to comment on, I've put a 'FIXME: Add documentation.' into the source code. Please look at your code and replace it with the appropriate documentation. You can also do a grep 'FIXME: Add documentation.' *.{cc,h} to get an overview of missing documentation. And for the future please remember to adapt the documentation immediately after changing a function's parameters. Otherwise, it is surely forgotten. Please have a look a the output of doxygen from time to time and try to fix the warnings if any. (cd doc/doxygen && make) * src/agenda_record.cc, src/describe.cc, src/file.cc, src/interpolation.cc, src/logic.h, src/m_abs.cc, src/m_absorption.cc, src/m_cloudbox.cc, src/m_optproperties.cc, src/m_scatrte, src/m_physics, src/check_input.cc, src/continua.cc, src/m_ignore.h, src/main.cc, src/messages.cc, src/refraction.cc, src/scatproperties.cc, src/ppath.cc, src/sensor.cc, src/special_interp.cc, src/species_data.cc, src/test_integration.cc, src/methods.h, src/xml_compound_types.cc src/agenda_class.cc, src/matpack{I,III,IV,V,VI,VII}.cc, src/absorption.h: Updated documentation. * doc/doxygen/Doxyfile.in: Exclude old_absorption.cc. 2003-06-23 Mattias Ekström * arts-1-1-583 * src/m_sensor.cc: Commented away lines with couts and xml_write_to_file. Those shouldn't have been commited last time, sorry for that. * src/matpackII.cc: Same as for m_sensor.cc. 2003-06-22 Oliver Lemke * arts-1-1-582 * doc/uguide/Makefile.am (uguide.pdf): Added one more pdflatex run to get cross-references right. * doc/doxygen/latex/Makefile.am (refman.ps): Pass -o to dvips. (refman.pdf): Added target for pdf creation. I did not make this the default target because the conversion from ps to pdf takes a very long time. * doc/doxygen/latex/.cvsignore: Added refman.pdf. * doc/doxygen/Doxyfile.in: Put pdf hyperlinks into dvi file. * src/xml_io_*_types.cc (xml_write_to_stream): Added documentation for name parameter. * src/xml_io*.cc: Cleanup of docs. * src/test_zeemanproperties.cc: Corrected filename in doxygen comment. 2003-06-20 Claudia Emde * arts-1-1-581 * src/m_scatrte.cc (i_fieldUpdate1D): Modified sequential update. Should be a bit more efficient and the code is better readable. * src/scatrte.cc (cloud_ppath_update1D): Fixed a bug. The intensity field was not interpolated on the correct zenith angles. This caused bad results in limb direction. * src/m_rte.cc (RteEmissionStd): Averaged temperature and pressure instead of absorption coefficients in the radiative transfer calculation. This has been an inconsistency between clearsky radiative transfer and RT in the cloudbox. 2003-06-19 Oliver Lemke * arts-1-1-580 * src/matpackII.h (SparseView), src/gas_abs_lookup.h (GasAbsLookup): Adapt prototyping for xml_write_to_stream. * src/xml_io_*_types.{cc,h}: Added an optional parameter to all xml_write_to_stream functions. A descriptive name could be supplied which is added as an attribute to the tag like Only used internally at the moment to document the structure members. * src/xml_io_compound_types.cc: Added descriptive names to members of GasAbsLookup, GriddedField3, GridPos and Ppath. 2003-06-19 Oliver Lemke * arts-1-1-579 * ChangeLog: Reformatted oversized lines. @mattias: Please limit your lines to 78 chars :-) * doc/doxygen/Doxyfile.in: Exclude getopt*.{c,h}. * src/gridded_fields.h: Added type GriddedField3. * src/xml_io_instantiation.h, src/xml_io_compound_types.{h,cc}: Added routines for GriddedField3. * src/matpackII.cc: Temporarely added include iostream. Should be removed along with the couts after testing. 2003-06-18 Claas Teichmann * arts-1-1-578 * src/math_funcs.cc: Modified comments 2003-06-18 Mattias Ekström * arts-1-1-577 * src/methods.cc: Added sensor_response to input list of RteCalc. * src/m_rte.{cc,h}: Added variables sensor_response and apply_sensor. NB: This means that the WSM sensor_responseInit has to be added to the controlfiles, before running RteCalc. * src/rte.{cc,h}: Implemented the sensor_response and apply_sensor variables in method rte_calc and changed call for RteCalc to rte_calc in method get_radiative_background. * src/m_cloudbox.cc: Added sensor_reponse as dummy variable and set apply_sensor to false for the rte_calc calls. * src/xml_io_basic_types.cc: Fixed bug in Sparse xml_write_to_stream function. * src/m_sensor.cc: Minor changes to runtime error output. * src/sensor.{cc,h}: Removed antenna_diagram_gaussian, which has been replaced by WSM GaussianResponse. * src/test_sensor.cc: Moved antenna_diagram_gaussian from sensor.cc here. 2003-06-18 Oliver Lemke * arts-1-1-576 * src/xml_io_basic_types.cc: Updated sparse reading/writing functions. nnz is now stored along with the SparseData, RowIndex and ColIndex vector. This is somehow redundant but matches the concept of xml that attributes should be stored with their object. Also, it is necessary for the atmlab xml routines. 2003-06-17 Oliver Lemke * arts-1-1-575 * src/xml_io_basictypes.cc: Extended sparse reading and writing routines. * src/test_xml.cc: Adapted for testing of sparse reading writing. 2003-06-16 Mattias Ekström * arts-1-1-574 * src/m_general.cc: Added SparsePrint. * src/methods.cc: Added SparsePrint. * src/matpackII.cc: Fixed bug in transpose and mult function. * src/xml_io_basictypes.cc: Wrote simple xml_write_to_stream and xml_read_from_stream functions for Sparse matrices. * src/workspace.cc: Added general WSV sparse_1. 2003-06-11 Mattias Ekström * arts-1-1-573 * src/m_refraction.cc: Removed compilation warning from Oliver's list. * src/m_sensor.cc: Added WSM sensor_responseMixer and made changes to sensor_responseBackend. * src/methods.cc: Changed input to GaussianResponse and added sensor_responseMixer. * src/sensor.{cc,h}: Added calculating methods for the mixer and backend response WSM. * src/workspace.cc: Added f_mixer and f_backend as WSV groups and removed previously added f_sensor. * src/matpackII.cc: Added resize function for sparse matrices. * src/test_sensor.cc: Added various test functions. * src/Makefile.am: Added constants, matpacks and interpolation to the test_sensor compilation group(?). * src/zeemanproperties.cc: Fixed compilation error (missing ;) 2003-06-11 Oliver Lemke * arts-1-1-572 * Cleaned-up/restructured XML sources. * src/Makefile.am: Added xml_io_basic_types.{cc,h}, xml_io_compound_types.{cc,h}, xml_io_array_types.{cc,h}, and xml_io_instantiation.h. Link test_linalg against constants.o for joker. * src/xml_io_basic_types.{cc,h}: Added. Contains the reading/writing routines for basic types like Index, Numeric and all matpack types. * src/xml_io_compound_types.{cc,h}: Added. Contains the reading/writing routines for compound types like structures. Compound types consist of basic types. * src/xml_io_array_types.{cc,h}: Added. Contains the reading/writing routines for array types. Arrays can contain basic or compound types or other arrays. * src/xml_io_instantiation.h: Added. Contains explicit template instantiations for xml_{read_from,write_to}_file functions. * src/xml_io.cc, src/xml_io_private.h: Removed functions which have moved to xml_io_*_types.{h,cc}. 2003-06-11 Nikolay Koulev * arts-1-1-571 * src/zeemanproperties.cc: changed extinction matrix and absorption vector to be calculated fully in a left-circular-right-circular polarization basis. 2003-06-11 Claudia Emde * arts-1-1-570 * src/m_scatrte.cc (i_fieldUpdataSeq3D): Small modifications. * src/scatrte{.cc,.h} (cloud_fieldsCalc): Fixed a bug here. I used VectorView instead of Vector& for a workspace variable which is initialized inside the function. This changes the address of the workspace variable. (cloud_ppath_update3D): Only a small modification. * src/optproperties{.cc, .h}: Fixed a bug in (ext_matTransform) The 3D calculations are working now with the new database and the sequential update. But it is still very slow as the transformation of the phase matrix from the scattering frame to the laboratory frame has to be done for each point and each angle combination. This part takes most of the time. (1 iteration for 2 stokes dimensions on my PC takes 2:50 h!, more than 2 hours for the calculation of the scattering integral!) 2003-06-06 Oliver Lemke * arts-1-1-569 * src/.cvsignore: Added gmon.out. * src/agenda_record.h (AgRecord::operator=), src/m_absorption.cc (gas_abs_lookupInit): Commented out parameter name to avoid warning. * src/xml_io.cc: Cosmetics. * src/test_integration.cc (main): Avoid segfault. @claas: ;-) 2003-06-11 Sreerekha T.R. * arts-1-1-568 * src/m_cloudbox.cc (ybatchMetProfilesClear): A distinction was made when the clear-sky calculations are performed with the met-office profiles. The difference with the *ybatchMetProfiles* method is that, here the pnd_field file is not read and the cloudbox is not set. * src/methods.cc: Added the method *ybatchMetProfilesClear*. 2003-06-10 Claas Teichmann * arts-1-1-567 * src/m_scatrte.cc (scat_fieldCalc): bug fixed. AngIntegrate_trapezoid_opti readded. 2003-06-10 Axel von_Engeln * arts-1-1-566 * aux/part_fct/: updated with new JPL partition functions and added some file output for Carmens work on a comparison between JPL and HITRAN part. fct. Fit for JPL is done now between 150K and 300K, as Carmens matlab fit. 2003-06-05 Claudia Emde * arts-1-1-565 * src/m_scatrte.cc (i_fieldUpdataSeq3D): Added this method. It updates the radiation field sequentially for a 3D cloudbox. Should be much faster than (i_fieldUpdata3D),but I have not yet tested the method. * src/scatrte{.cc,.h} (cloud_fieldsCalc): Fixed a bug. Included three new functions: (cloud_ppath_update3D): Used in the 3D sequential update. All interpolations on the intersection points and the RT step calculation are done in this function. (ppath_step_in_cloudbox): Sets up a ppath structure for a given point and calculates the intersection point with the next grid cell boundary. (is_inside_cloudbox): Checks, whether the intersection point of the propagation path with the next gridcell is inside or outside the cloudbox. * src/methods.cc: Included (i_fieldUpdateSeq3D). 2003-06-05 Oliver Lemke * arts-1-1-564 * src/agenda_record.h (operator=), src/methods.h (operator=): Return empty AgRecord/MdRecord. Code is never reached because arts_exit is called before but circumvents a gcc warning message. * src/absorption.h (SpeciesRecord): xml_read_from_stream is our friend. Include bifstream. * src/xml_io.cc, src/xml_io_private.h: Started read/write functions for species_data (Array) and SpeciesRecord. * .cvsignore: Added *.swp. 2003-06-05 Claas Teichmann * arts-1-1-563 * src/check_input{.cc,.h} (chk_atm_field): changed parameter: "const Tensor3&" to "ConstTensor3View" and "const Tensor4&" to "ConstTensor4View" to save computation time. The function created a new Tensor object, when it was called with a TensorView. * test_integration.cc: Modified. 2003-06-04 Claudia Emde * arts-1-1-562 * src/scatrte{.cc,.h}: Added. This file contains functions related to radiative transfer calculations in the cloudbox. * src/scatrte.cc (cloud_ppath_update1D): Included this function. It is used in the sequential update of the radiation field. Before this function was part of (i_fieldUpdate1D). (cloud_fieldsCalc): Added this function to calculate optical properties fields (absorption vector, extinction matrix) for all points in the cloudbox. Has also been part of (i_fieldUpdate1D) and (i_fieldUpdate3D). * src/m_scatrte (i_fieldUpdate1D) and (i_fieldUpdate3D): Separated the function into subfunctions defined in scvatrte.cc to make the code clearer. * src/Makefile.am: Included new files. 2003-06-04 Claas Teichmann * arts-1-1-561 * src/math_funcs.cc: Changed: Integration method in scat_fieldCalc is now AngIntegration_trapezoid_opti slightly faster if the grid_stepsize is constant * src/math_funcs.h: Added: AngIntegration_trapezoid_opti faster integration if the grid_stepsize is constant * src/methods.cc: Modified: definition of scat_fieldCalc * src/m_scatrte.cc: Modified: scat_fieldCalc and scat_fieldCalcFromAmpMat are using now AngIntegration_trapezoid_opti * src/test_integration.cc: Added: test of AngIntegration_trapezoid_opti * src/Makefile.am: Modified: removed non existing constants.h in definition 2003-06-02 Claudia Emde * arts-1-1-560 * src/optproperties.cc: Included special cases, which were missing before. Now the database is working for all Stokes dimensions. * src/lin_alg.cc: Modified the code according to suggestions in the programming seminar. 2003-06-02 Claas Teichmann * arts-1-1-559 * src/math_funcs.cc: Added: new integration method: AngIntegrate_trapezoid_opti: In addition to the "old fashined" integration method "AngIntegrate_trapezoid", it checks whether the stepsize is constant. If it is, it uses a faster method, if not, it uses the old one. * src/m_scatrte.cc: Changed: declaration of scat_fieldCalc: added *grid_stepsize* in function declaration * src/methods.cc: Changed: declaration of scat_fieldCalc: added *grid_stepsize* in function declaration * src/test_integration.cc: Modified. 2003-05-28 Claudia Emde * arts-1-1-558 * src/gas_abs_lookup.cc (GasAbsLookup::Extract): Fixed a bug here. For the monochromatic calculations (inside the cloudbox) only the first frequency in the frequency grid was calculated. * src/m_cloudbox.cc: Removed debugging output. * src/m_optproperties.cc: Only minor modification. 2003-05-27 Claas Teichmann * arts-1-1-557 * src/test_integration.cc: Added. File for testing purposes of the AngIntegrate_trapezoid function from math_funcs.cc * src/Makefile.am: Added dependencies of test_integration.cc * .cvsignore: Added the executable test_integration 2003-05-27 Claas Teichmann * arts-1-1-556 * src/methods.cc: Added *grid_stepsizeSet*. It calculates the stepsize of *scat_za_grid* and *scat_aa_grid* and stores the result in *grid_stepsize* * src/workspace.cc: Added Vector *grid_stepsize*. Here the gridstepsize of *scat_za_grid* and *scat_aa_grid* are stored. If the stepsize varies, -1 is stored. * src/m_scatrte.cc: Added *grid_stepsizeSet*. The implementation. 2003-05-27 Sreerekha T.R. * arts-1-1-555 * src/m_cloudbox.cc (ybatchMetProfiles): Modifed the function to take into account the orographic height corresponding to each profiles. The path to pnd_field_raw data is also modified. * src/methods.cc: Added *z_ground* in the output of *ybatchMetProfiles*. 2003-05-26 Oliver Lemke * arts-1-1-554 * src/Makefile.am: Added matpackII.{cc,h} to sources of most targets. * src/matpackII.{cc,h}: Added dummy resize function to Sparse. Move implementation of rw and ro to operator(). Make rw, ro wrappers calling operator(). * src/m_sensor.cc (sensor_responseBackend, sensor_responseAntenna1D): Changed type of sensor_response_tmp and ws output to Sparse. * src/workspace.cc: Changed group of sensor_response to Sparse. * src/test_matpack.cc: Include matpackII.h instead of matpackII.cc. Never include cc files!!! -> duplicate defined symbols. 2003-05-26 Claas Teichmann * arts-1-1-553 * src/math_funcs.cc: fixed integration routine 2003-05-26 Mattias Ekström * arts-1-1-552 * src/groups.cc: Added new WSV group Sparse. The group has not yet been fully implemented, the code compiles as long as no WSV beolngs to the group. This has to be fixed. * src/make_auto_wsv_h.cc: Include matpackII.h in auto_wsv.h * src/methods.cc: Added three new WSM; sensor_responseAntenna1D, sensor_responseBackend and sensor_responseInit. * src/m_sensor.cc: Implementation of the sensor_responseAntenna1D, sensor_responseBackend and sensor_responseInit which sets up the sensor_response matrix or modifies it with the antenna/backend response. * src/workspace.cc: Added two new WSV; sensor_response and f_sensor that are used in sensor modelling. The sensor_response is a matrix that describes the whole sensor block response and f_sensor is a vector that describes the sensor channel frequencies. * src/xml_io.cc: Dummy functions for xml I/O for Sparse. * src/xml_io_private.h: Declarations for the above I/O functions. 2003-05-22 Claudia Emde * arts-1-1-551 * src/methods.cc: Included documentation for recently added methods related to the new database format. * src/m_optproperties.cc: Documented and claened up the code. * src/optproperties.{cc,h}: Fixed inconcistencies. Now the data in the database has to be stored in SI units (m^2 for the optical properties). Before it was (um^2). Note: The new database works for stokes_dim = 1. There is still a problem for higher Stokes dimensions. I think that I do not handle some special cases correctly in the transformation from the scattering frame to the laboratory frame. For stokes_dim = 1 the transformation is very easy, but for higher Stokes dimensions the transformation formulas become rather complicated. 2003-05-15 Oliver Lemke * arts-1-1-550 * doc/doxygen/html/.cvsignore: Added graph_legend.dot. * src/m_sensor (GaussianResponse): Cast ceil return value to Index before assigning to nrows avoids warning message. Use log(2.) instead of log(2) because log is not overloaded for int and gcc cannot decide whether to cast to float or double. 2003-05-21 Mattias Ekström * arts-1-1-549 * src/m_sensor.cc: Added WSM GaussianResponse to set up a sensor response matrix with gaussian distribution. 2003-05-20 Mattias Ekström * arts-1-1-548 * src/m_ppath.cc: Added WSM VectorZtanToZaRefr that calculates zenith angles from a given set of true tangential altitude. It uses the refr_index_agenda to calculate the refractive index at tangential point. 2003-05-19 Oliver Lemke * arts-1-1-547 * src/m_cloudbox.cc: Final fix for ios::showpoint and ios::fixed. 2003-05-19 Mattias Ekström * arts-1-1-546 * src/sensor.{cc,h}: Added spectrometer_transfer_matrix that models the backend response for spectrometers. Also made fixed bugs in sensor_integration_vector. * src/refraction.{cc,h}: Added function refr_index_ir that calculates refraction index in the IR region, using formula from Michael Höpfner, Forchungszentrum Karlsruhe. * src/m_refraction.cc: Added refr_indexIR to interface with refr_index_ir. * src/methods.cc: Added refr_indexIR entry. 2003-05-19 Oliver Lemke * arts-1-1-545 * src/m_cloudbox.cc: Added include cmath for proper use of abs. Use showpoint and fixed from namespace ios. 2003-05-16 Sreerekha T.R. * arts-1-1-544 * src/m_cloudbox.cc (ybatchMetProfiles): Modified the method. The input to this method is now the AMSU datafile which has information about latitude, longitude, satellite zenith angle. The corresponding workspace variable is *met_amsu_data* which is a matrix. The method reads the profiles corresponding to the lat-lon. It now uses the correct *sensor_los* from the satellite zenith angle. It also sets the cloudbox from the profiles. The workspace variable *met_profile_basenames* is removed. * src/m_scatrte.cc : Modifications in the method *i_fieldUpdate1D_PlaneParallel* . * src/methods.cc: Modified the interface to the method *ybatchMetProfiles*. * src/workspace.cc : Added the new workspace variables *met_amsu_data* and *met_profile_path*. 2003-05-16 Oliver Lemke * arts-1-1-543 * src/Makefile.am: Fixed bug reported by Mattias. arts.cc was missing in some targets which caused undefined symbol arts_exit while linking. * src/absorption.cc: Include arts.h * src/agenda_class.cc: Include arts.h * src/xml_io.cc: Include arts.h 2003-05-14 Oliver Lemke * arts-1-1-542 * src/xml_io.cc: Added function xml_data_parse_error. Call xml_data_parse_error in all xml_read_from_stream functions when there is a problem while parsing the data of a tag. x_d_p_e outputs the tag name, the attribute list and additional information to help the user finding out where the error occured. * src/xml_io_private.h: Added function xml_data_parse_error. * src/main.cc (main): Use a separate report file for each process. First report file is CONTROLFILE.rep, report files of the child processes are called CONTROLFILE.1.rep, CONTROLFILE.2.rep... * src/arts_mpi.cc (MpiManager::startup): Set rank and nprocs. * src/Makefile.am: Removed dependency on arts_mpi.{cc,h} from make_auto_* files to avoid unnecessary recompilation. Maybe these have to be added again later when mpi is more and more integrated into arts. (xml_io.o): Must depend on xml_io.c. 2003-05-14 Oliver Lemke * arts-1-1-541 * src/main.cc (main): Use the mpi_manager. * src/arts.cc (arts_exit): Removed call to mpi_shutdown. Now handled by the destructor of the MpiManager. * src/arts_mpi.{cc,h}: Created MpiManager class. Takes care of initialization and finalization of MPI. Furthermore, provides access to MPI runtime information. * doc/doxygen/Makefile.am (doxyfied): Must depend on Doxyfile. * doc/doxygen/Doxyfile.in: Pass HAVE_MPI to preprocessor to enable MPI documentation. 2003-05-13 Claas Teichmann * arts-1-1-540 * src/math_funcs.cc (AngIntegrate_trapezoid): added function with integration over azimuth angle already calculated: gives a 2*PI 2003-05-13 Claudia Emde * arts-1-1-539 * src/optproperties.{cc,h} (pha_matTransform): Modified. Created new functions (interpolate_scat_angle) and (pha_mat_labCalc) to improve readability of the code. 2003-05-13 Oliver Lemke * arts-1-1-538 * src/main.cc (main): Replaced all return statements with arts_exit to avoid missing call to mpi finalize. 2003-05-07 Claas Teichmann * arts-1-1-537 * doc/uguide/scattering.tex: Fixed typos. 2003-05-07 Oliver Lemke * arts-1-1-536 * src/Makefile.am: Added arts_mpi.h. * src/arts_mpi.h: Added. * src/arts_mpi.cc: Added. Implemented basic mpi_startup and mpi_shutdown functions. * src/main.cc: Call mpi_startup at the beginning. Instead of return, call arts_exit at the end of main to cleany finalize mpi. * src/xml_io.cc: Replaced another exit. * src/arts.cc: Use MPI_ONLY macro. 2003-05-07 Oliver Lemke * arts-1-1-535 * src/methods.h, src/agenda_record.h, src/absorption.cc, src/agenda_class.cc, src/file.cc, src/main.cc, src/m_general.cc, src/m_scatrte.cc, src/old_absorption.cc, src/parameters.cc, src/parser.cc, src/token.cc: Replaced all calls to libc exit function with our own arts_exit function. Whenever you want to quit arts at some point, please use from now on arts_exit instead of exit. Currently there is nothing done in arts_exit, but in the near future we have to do some cleanup on exit (e.g. for MPI). * src/main.cc: Added MPI to output of arts -v. * src/arts.cc: Added. Added function arts_exit. * src/Makefile.am: Added arts.cc. 2003-05-02 Claudia Emde * arts-1-1-534 * src/agendas.cc: Added *scat_rte_agenda* and *scat_field_agenda*. These agendas are useful, because we have now many methods for calculating the 'cloudy' RT (sequential update, plane parallel or the 'normal' old method). For the scattering integral we have two methods which have to be chosen according to the database format (amp_mat or SingleScatteringData. It is now possible to do the scattering calculations with both data- base formats. The amplitude-matrix format will be removed later, but now we should keep it to eb able to compare the results. * src/m_scatrte.cc(i_fieldIterate): Modified. Execxute agendas above instead of functions. (ScatteringInitAmpMat): New method. Used for initializing scattering variables if amp_mat is used as data-format. (scat_fieldCalc): The standart function for calculating the scattering integral. Uses Single ScatteringData structure. (scat_fieldCalcFromAmpMat): Scattering integral calculation from amplitude matrix. * src/m_optproperties(pha_mat_sptCalc), (opt_prop_sptCalc): Bugs fixed. * src/optproperties(pha_matTransform): Included different cases which have to be considered for the coordinate transform. There still seems to be a problem if the zenith angle of the direction of the scattered radiation is 0. * src/methods.cc: Included new methods changes described above. * src/workspace.cc: Removed *part_types*. Redundant now. * src/m_cloudbox.cc(ybatchMetProfiles): Removed *part_types* and included *scat_raw_data* instead to get the information about the number of particle types. * src/rte.cc (rte_step): Modified unpoarized part. The scattering term has been missing there. 2003-04-30 Oliver Lemke * arts-1-1-533 * configure.in: Added option --with-mpi to support MPI. 2003-04-25 Stefan Buehler * arts-1-1-532 * General: Now I have removed CloneSize, as I promised a long time ago, but never did. * src/m_clonesize.cc: Removed. * src/methods.cc: Removed CloneSize. * src/Makefile.am: Removed CloneSize. * src/.cvsignore: Added test_sensor. 2003-04-25 Claudia Emde * arts-1-1-531 * src/m_cloudbox.cc: Changed names of reading routines for amplitude matrix data. These are now called *ParticleTypeInitAmpl* and *ParticleTypeAddAmpl*. The old names *ParticleTypeInit* and *ParticleTypeAdd* are now used for new methods which read the single scattering data from the new database format. * src/m_optproperties.cc: Completed *pha_mat_sptFromData* and *opt_prop_sptFromData*. The functions are ready but not tested yet. * src/optproperties.h: Typedef for ArrayOfSingleScatteringData. * src/groups.cc: Added ArrayOfSingleScatteringData. * src/workspace.cc: Added *scat_data_raw* : Variable of type ArrayOfSingleScatteringData which contains the scattering properties of all considered hydro-meteor species. * src/methods.cc: Included *ParticleTypeInitAmpl* and *ParticleTypeAddAmpl*. Modified *ParticleTypeInit* and *ParticleTypeAdd*. * src/xml_io.cc: Included reading and writing routines for *ArrayOfSingleScatteringData*. * src/xml_io_private.h: Included *ArrayOfSingleScatteringData*. * src/m_clonesize.cc: Included *ArrayOfSingleScatteringData*. 2003-04-25 Mattias Ekström * arts-1-1-530 * src/sensor.cc: Added normalisation to sensor_integration_vector. 2003-04-24 Claudia Emde * arts-1-1-529 * src/m_optproperties.cc: Added new methods to calculate the single particle properties from the new database format: *pha_mat_sptFromData* and *opt_prop_sptFromData* * src/optproperties.{cc,h}: Included transformations from the coordinate system used in the database to the laboratory coordinate system. So far only for the case of randomly oriented particles. Modified the structure *SingleScatteringData*: Included additional field for temperature. * src/xml_io.cc: Modified reading and writing routines for *SingleScatteringData*. * src/methods.cc: Included the methods above. * src/workspace.cc: Modified WSV *part_types*. It is now an ArrayOfString containing the filenames of the different particles which shall be included in the calculation. 2003-04-23 Nikolay Koulev * arts-1-1-528 * src/zeemanproperties.{cc,h}: Added the N- case of a Zeeman transition. Added more comments for lucidity reasons. * src/test_zeemanproperties.{cc}: Changed accordingly. 2003-04-23 Sreerekha T.R. * arts-1-1-527 * src/m_cloudbox.cc (ybatchMetProfiles): The method ybatchMetProfiles is modified in such a way that now the *p_grid* is set inside the function. This is done in such a way that the first element of the p_grid is taken from the profile data itself. The number of elements in the p_grid is now given as a keyword. Another modification is to define a variable which can store the path of the data. * src/workspace.cc : The workspace variable *met_profile_path* of type String is added. * src/methods.cc : Modified the interface of the method *ybatchMetProfiles*. 2003-04-22 Sreerekha T.R. * arts-1-1-526 * src/m_atmosphere.cc (pnd_fieldCalc): Implemented this method which intepolates the *pnd_field_raw* on to the grids, *p_grid*, *lat_grid*, and *lon_grid* for calculation. This method is similar to the method *AtmFieldsCalc* which does the interpolation for temperature, altitude and vmr. * src/methods.cc : Added the method pnd_fieldCalc. 2003-04-17 Sreerekha T.R. * arts-1-1-525 * src/workspace.cc : Added the variable *ybatch* and *met_profile_calc_agenda* * src/agendas.cc : Set up the agenda *met_profile_calc_agenda* * src/methods.cc : Added the method *ybatchMetProfiles* * src/m_cloudbox.cc (ybatchMetProfiles): This method is used for calculating spectra for the profiles from metoffice. The method does a loop around the profile basenames and executes the agenda *met_profile-calc_agenda* for absorption as well as radiative transfer calculations. It gives ybatch as the output. * src/test_sensor.cc: included iostream. 2003-04-15 Stefan Buehler * arts-1-1-524 * src/workspace.cc (define_wsv_data): Moved els_f_grid to the reight place in the alphabetical list. (define_wsv_data): Moved output_file_format to the reight place in the alphabetical list. (define_wsv_data): Added WSV met_profile_basenames. 2003-04-11 Mattias Ekström * arts-1-1-523 * src/Makefile.am: Added a test_sensor sources group. * src/test_sensor.cc: Added this for testing sensor modelling functions. * src/sensor.{cc,h} (antenna_transfer_matrix): Changed to sparse matrix representation. 2003-04-10 Oliver Lemke * arts-1-1-522 * src/matpackII.cc (transpose): Replaced Index* by std::vector::iterator to fix compilation error. 2003-04-09 Mattias Ekström * arts-1-1-521 * src/matpackII.{h,cc}: Added functions for sparse matrix operations; transposing, muliplication with full matrix and multiplication with sparse matrix. * src/test_matpack.cc: Added function for testing sparse matrix multiplication. 2003-04-06 Patrick Eriksson * arts-1-1-520 * src/m_rte.cc (RteEmissionTest): Made a quick hack to test an integration assuming B to be linear in optiocal thickness, following Equation 9.16 in Rodgers' book (though I think the expression is wrong). A first test showed no improvement at all!? I have to check the details. * src/rte.cc (rte_step): For scalar case, introduced a variable for transmission to save some time and make the code clearer. 2003-04-02 Nikolay Koulev * arts-1-1-519 * src/zeemanproperties.cc: Put a new line shape in the complex refractivity, giving at least provisionary meaningful results for the Zeeman absorption. Full implementation to the level of testing the routines through control files is pending. * src/zeemanproperties.h: Updated accordingly. * src/test_zeemanproperties.cc: Updated accordingly. 2003-04-02 Claudia Emde * arts-1-1-518 * src/m_scatrte.cc (i_fieldUpdateSeq1D): Added this method. It updates the radiation field sequentially. The function is at the moment hardwired in *i_fieldIterate* but later on I will make an agenda out of it so that you still have the possibilty to use *i_fieldUpdate1D*. I have made a test calculation, which indicates that the convergence behavior is much better. For most directions only three iterations are needed. Only in close to limb directions we still need 11 iterations (probably the multiple scattering effect). The number of iterations does not depend on the number of pressure levels !!! I took 12 pressure levels and 104 pressure levels and needed exactly the same number of iterations for both cases. * src/methods.cc: Added *i_fieldUpdateSeq1D*. 2003-04-02 Patrick Eriksson * arts-1-1-517 * doc/uguide/main.tex: Put Stefan and me as editors and created a table of authors. Take a look at the table and change if I got something wrong. I would have preferred to have this table on the first page, but the list of authors can eventually be long and I don't think that the table fit on the first page. This solution was a suggestion from Stefan to avoid the problem in how to order the author list. The author table is in alphabetical order. Please, keep the table updated and give comments if you don't like it. Feel free to give the table a nicer appearance. * src/methods.cc: Changed doc for ppath_stepGeometric to make clear that lmax=0 is the same as lmax<0. * doc/uguide/fm_definitions.tex: Added a sub-section to discuss the role of atmospheric grids and the path step length. I was not very inspired and there is nothing that it is not discussed in my emails. 2003-04-02 Oliver Lemke * arts-1-1-516 * src/xml_io.cc: Fixed bug reported by Nikolay. Precision was not set on output which caused Vector to be written with unsufficient decimals. 2003-04-01 Sreerekha T.R. * arts-1-1-515 * src/m_scatrte.cc (convergence_flagAbs_BT): Implemented a separate method for convergence test in brightness temperature units. The old method convergence_flagAbs is not modified. The convergence criteria keyword epsilon can be set in BT units. I used the function invrayjean to convert difference between radiance fields to brightness temperature. This is because Planck is non-linear for small radiances 2003-03-31 Sreerekha T.R. * arts-1-1-514 * src/m_scatrte.cc (convergence_flagAbs): The convergence criteria keyword epsilon can be now set in brightness temperature units. I used the function invplanck to convert radiance to brightness temperature. I had to add *f_grid* and *f_index* as input to this method. * src/methods.cc: Added f_grid and f_index as inputs to convergence_flagAbs. 2003-03-31 Patrick Eriksson * src/ppath.cc (raytrace_3d_linear_euler): For zenith and nadir paths along the end faces, the refraction can turn the path out of the grid in a way not captured by do_gridcell_3d. Additional checks to handle this included. * src/ppath.cc (raytrace_2d_linear_euler): Same change as above (but only for latitude). 2003-03-28 Mattias Ekström * arts-1-1-512 * src/matpackII.cc: Added file to repository 2003-03-28 Mattias Ekström * arts-1-1-511 * src/Makefile.am: Re-commit of changes in arts-1-1-509. * src/matpackI.h: Re-commit of changes in arts-1-1-509. * src/matpackII.{h,cc}: Re-commit of changes in arts-1-1-509. * src/test_matpack.cc: Re-commit of changes in arts-1-1-509. * src/binio.cc: Re-commit of changes in arts-1-1-509. 2003-03-28 Stefan Buehler * arts-1-1-510 * doc/uguide/uguide.tex: Added \FIXME command. Usage: \FIXME{Put your remark here.} This will typeset the remark in bold and add FIXME: in front of it. * doc/uguide/absorption.tex: Documentation for abs_scalar_gas_FieldCalc extended after comment from Sreerekha. 2003-03-27 Mattias Ekström * arts-1-1-509 * src/Makefile.am: Added matpackII.cc everywhere that matpackII.h was listed. I am not sure how to do this correctly (if both files should be listed at more places, for example in test_linalg etc). * src/matpackI.h: Changed SparseMatrixView to SparseView and added SparseView and Sparse as friends for VectorView and Range. * src/matpackII.{h,cc}: Divided matpackII.h into to files and add fixed some bugs and added a function for multiplication with vectors. * src/test_matpack.cc: Uncommented and altered test3 to fit the new sparse- matrix representation and functions. * src/binio.cc: Commented away the declarations of destructors. The compiler would otherwise complain about "redefinition of ..." 2003-03-26 Oliver Lemke * arts-1-1-508 * autogen.sh: Don't redirect output of rm command. Prevents autogen.sh from running properly with plain bourne shell. 2003-03-25 Oliver Lemke * arts-1-1-507 * src/binio.{cc,h}: Moved destructors for bin[io]stream from cc to header file to fix problem with gcc 3.0. 2003-03-25 Oliver Lemke * arts-1-1-506 * doc/uguide/Makefile.am: Bugfix :-) 2003-03-25 Oliver Lemke * arts-1-1-505 * doc/uguide/Makefile.am: arts_groups_to_latex.sh and arts_methods_to_latex.sh where missing in distribution (make dist). Added to EXTRA_DIST. 2003-03-21 Oliver Lemke * arts-1-1-504 * configure.in: Added check for dot tool from the graphviz package. * doc/doxygen/Doxyfile.in: Generate dependency graphs if dot tool is available. 2003-03-20 Claudia Emde * arts-1-1-503 * src/m_scatrte.cc (i_fieldUpdate3D, i_fieldUpdate1D): Small bug fix. *l_step* was taken to be constant inside one ppath step. 2003-03-19 Claudia Emde * arts-1-1-502 * src/m_scatrte.cc (i_fieldUpdate3D): Same modification as for the 1D function. I have tested the new *i_fieldUpdate1D* and the result is improved significantly in Limb direction. 2003-03-18 Claudia Emde * arts-1-1-501 * src/m_scatrte.cc (i_fieldUpdate1D): Modified gaseous absorption coefficients calculation. In the first version I calculated the coefficients for all grid points and interpolated the values inside the RT calculation. Now gaseous absorption is calculated inside the RT part using interpolated pressure, temperature and VMR. This reduces interpolation errors significantly. Attention: Extinction matrix and absorption vector have to be initialized also in *opt_prop_part_agenda* (You should put ext_matInit and abs_vecInit in this agenda, otherwise you will get an error message). This modification will be implemented in 3D later. 2003-03-18 Oliver Lemke * arts-1-1-500 * src/matpack{III,IV,V,VI,VII}.h: Removed inline keyword from copy function declarations. Because they are implemented in the cc file, they could not be inlined which leads to linker errors with -O3 and higher. * src/bofstream.cc: Removed output operator template. * src/refraction.cc: Added cmath include. 2003-03-17 Oliver Lemke * arts-1-1-499 * src/bifstream.h, src/bofstream.h: Implemented putRaw/getRaw. * src/binio.{cc,h}: Added pure virtual functions putRaw to binostream and getRaw to binistream. Modified writeFloat/readFloat to use putRaw/getRaw. Raw reading/writing is used instead of the byte-wise conversion-enabled routines when the data type size and endianness of the host machine matches the data file. Increases speed on pcs by 3.5. 2003-03-17 Mattias Ekström * arts-1-1-498 * src/sensor.cc: Added antenna_diagram_gaussian that sets up an gaussian antenna diagram for a certain frequency. Also added scale_antenna_diagram that scales the diagram to match another frequency. 2003-03-13 Oliver Lemke * arts-1-1-497 * src/binio.{h,cc}: Added. Contains classes for writing binary files including float/double, little-endian/big-endian and ieee-float/non-ieee-float conversions. * src/bifstream.{h,cc}, src/bofstream.{h,cc}: Make use of binio. bof/bifstream now use multiple inheritance. They inherit the file handling abilities from fstream and the architecture independent reading/writing features from binistream/binostream. Binio is quite dumb when no conversion for saving in the desired format is needed. This leads to drawbacks concerning speed. They will be extirpated in the next version. Note on current binary format: All float values are stored as IEEE-754 double precision. Integers are saved as 8 byte values. Byte order is always little endian (PC). * src/Makefile.am: Added binio.{h,cc}. * doc/index.html.in: Removed out-dated example files list. Instead added a link to the examples directory. 2003-03-10 Oliver Lemke * arts-1-1-496 * doc/doxygen/html/Makefile.am: Include png images. 2003-03-10 Patrick Eriksson * arts-1-1-495 * doc/uguide/main.tex: Changed the author list, to only include persons that have contributed to the present version of AUG. As Claudia took the step and broke the alphabetical order, I also moved the names around with the idea that the author list shall reflect the contribution to the user guide. As a pure coincidence my name ended up first! * doc/uguide/ppath.tex: Included control file examples. Fixed some smaller things that I discovered when working on the progress report. Commented out figure on spherical/ellipsiodal geoid. The figure is not correct. 2003-03-10 Stefan Buehler * arts-1-1-494 * doc/uguide/absorption.tex: Added Section about the absorption lookup table. * doc/uguide/symbol_defs: Renamed to symbol_defs.tex. * doc/uguide/symbol_defs.tex: What used to be symbol_defs. * doc/uguide/uguide.tex: Fixed the "destination with the same identifier has been already used" warning. (At least mostly.) The warning comes from incompatibilities of hyperref with other packages. Remaining problem: Algorithm and hyperref do not seem to agree very well. But I managed to remover all warnings except two. * doc/uguide/main.tex: Fixed the "destination with the same identifier has been already used" warning. All package includes are now in uguide.tex! 2003-03-10 Oliver Lemke * arts-1-1-493 * doc/index.html.in: Removed link to ps uguide. 2003-03-10 Claudia Emde * arts-1-1-492 * doc/uguide/main.tex: Updated author list. 2003-03-10 Oliver Lemke * arts-1-1-491 * src/xml_io.cc: Cleanup. Added check for matching frequency dimensions in f_grid and pha_mat_data. * src/xml_io_private.h: Cleanup. 2003-03-08 Patrick Eriksson * arts-1-1-490 * doc/uguide/ppath.tex: Completed description of Euler scheme for refraction. Added 3 new figures, showing properties of the refractive index. * src/ppath.cc (raytrace_2d_linear_euler): The bugs mentioned in last commit, were no bugs. It was late and I forgot that the scaling is performed as part of the functions returning the gradients of the refractive index. The idea is that the gradient in all directions shall have the same unit (the change of refractive index over 1 m). 2003-03-07 Patrick Eriksson * arts-1-1-489 * doc/uguide/ppath.tex: Continued writing on refrcation. 1D and 2D finished. Must check expressions for 3D. I have missed some scaling terms. Added a figure: euler.pdf * src/ppath.cc (raytrace_3d_linear_euler): There was an inconsistency regarding the values used to adjust LOS angles. Radius, lat and lon were taken from the start of the ray tracing step, while za and aa were taken from the end point. There are similar mistakes as for 2D mentioned below, and for the moment there will be an error if you attempt to use this function. (raytrace_2d_linear_euler): The division with the radius was missing for the term including the latitude gradient of the refractive index. 2003-03-07 Claudia Emde * arts-1-1-488 * src/m_scatrte.cc (i_fieldUpdate3D): Same bug fix as for (i_fieldUpdate1D). 2003-03-07 Claudia Emde * arts-1-1-487 * src/m_scatrte.cc (i_fieldUpdate1D): Fixed a bug. The function did not work when *ppath_step_agenda* putted extra points inside one layer (this can happen when you specify *lmax* or when you cross the tangent point). Now the radiative transfer calculation is done by going from one point to the next inside one layer. * src/workspace.cc: Included variable *single_scattering_data*. 2003-03-06 Oliver Lemke * arts-1-1-486 * src/xml_io.cc: Implemented reading/writing routines for SingleScatteringData. * src/test_xml.cc, src/test_binaryio.cc: Fixed warnings. 2003-03-07 Sreerekha T.R. * arts-1-1-485 * src/m_cloudbox.cc (CloudboxGetOutgoing): Fixed bug in this function. 2003-03-07 Claudia Emde * arts-1-1-484 * src/optproperties.h: Modified structure *SingleScatteringData* (see email to arts-dev mailing list). 2003-03-07 Patrick Eriksson * arts-1-1-483 * doc/uguide/ppath.tex: Started writing on refraction. * doc/uguide/symbol_defs: Added symbol for partil deravitive (\PartD) 2003-03-06 Patrick Eriksson * arts-1-1-482 * src/rte.cc (ground_specular_los): Removed an if-statement by instead using sign to seperate the cases of positive and negative zenith angles for 2D. * doc/uguide/introduction.tex: Removed some points in the the to do list :-) , but there are still many things to fix :-( * doc/uguide/Figs/ppath/mkfigs_ppath.m: Created this file to generate figures to visualize the calculation of propagation paths. Copied figures (with sligh editing) from ARTS-1 for Snells' law for a spherical symmetry. * doc/uguide/ppath.tex: Included the figures mentioned above and polished the old text. Started to write about refraction. * doc/uguide/Figs/fm_definitions/mkfigs_ppath_cases.m: Recreated old figure for ground reflections. * doc/uguide/fm_definitions.tex: Improved text for ground reflections. 2003-03-06 Mattias Ekström * arts-1-1-481 * src/m_sensor.cc Remove the old test WSM SensorIntegrationVector and add a new AntennaTransferMatrix. * src/sensor.{cc,h} Added function antenna_transfer_matrix that uses sensor_integration_vector to build up a matrix that covers both frequency and mblocks. Both antenna_transfer_matrix and sensor_integration_vector has been tested for a simple linear case. 2003-03-06 Oliver Lemke * arts-1-1-480 * src/matpackI.cc: Another unused joker eliminated. 2003-03-06 Oliver Lemke * arts-1-1-479 * src/m_clonesize.cc: Added function for SingleScatteringData. Fixed unused parameter warnings. * src/m_hdf.cc: Fixed unused parameter warnings. * src/matpackI.cc: Fixed joker warning. * src/Makefile.am: Added optproperties.{cc,h} in some places. * src/xml_io.cc: Added dummy read/write functions for SingleScatteringData. * src/xml_io_private.h: Added read/write functions for SingleScatteringData. * doc/examples/xml.arts: Updated. 2003-03-06 Claudia Emde * arts-1-1-478 * src/optproperties.{cc,h}: Created these files. Defined the new structure *SingleScatteringData* in optproperties.h. The functions concerning the transformation from the data to the relevant workspace variables will be put in optproperties.cc. * src/groups.cc: Added *SingleScatteringData*. * src/make_auto_wsv_h.cc: Included *SingleScatteringData*. * src/make_auto_wsv_groups_h.cc: Included *SingleScatteringData*. * src/Makefile.am (arts_SOURCES): Included optproperties.h, optproperties.cc. 2003-03-06 Oliver Lemke * arts-1-1-477 * src/make_auto_wsv_h.cc: Removed touch member function from WorkSpace. * src/agenda_class.h: Removed touch member function from MRecord. * src/m_ignore.h: Fixed unused parameter warning. * src/make_auto_md_cc.cc: If parameter ws or mr is unused then omit name in function definition to avoid compiler warning. * src/xml_io.cc: Fixed unused parameter warnings. 2003-03-06 Oliver Lemke * arts-1-1-476 * configure.in: Added doc/uguide/Figs/concept and doc/uguide/Figs/rte_theory to AC_OUTPUT. * doc/uguide/Figs/Makefile.am: Added rte_theory to SUBDIRS. 2003-03-06 Stefan Buehler * arts-1-1-475 * src/m_ignore.h (Ignore): Managed to suppress the unused parameter warning for parameter *in* with a somewhat nasty hack. But it works, and I made sure that there are some explantory comments why this is done. Oliver, I believe the same trick could be used to make a template function "touch" that works for any type. What do you think? 2003-03-05 Patrick Eriksson * arts-1-1-474 * doc/uguide/los1d.tex: Removed this file. * doc/uguide/fm_definitions.tex: Polished the text, and put in some details about ground reflections. * doc/uguide/rte_theory.tex: Created this chapter by copying text from a compendium I have written (originally from a old report). * doc/uguide/sensor.tex: Commented out all old text. * doc/uguide/main.tex: Activated sensor chapter, and added chapter on radiative transfer theory. 2003-03-05 Patrick Eriksson * arts-1-1-473 * doc/uguide/fm_definitions.tex: Improved and updated text. Added two figures (ppath_badcases.pdf and atm_dim_3dcross.pdf). Check out the figures of the chapter (except from last page). I think they are nice (of course). 2003-03-05 Patrick Eriksson * arts-1-1-472 * doc/uguide/fm_definitions.tex: Included figure for 3D atmosphere and modified figure text for 1D and 2D atmospheres. * src/XXXX: Fixed warnings about unused variables in "my" parts. * src/m_refraction.cc (refr_indexUnit): Removed input arguments not used. The function must now be combined by Ignore calls. 2003-03-05 Stefan Buehler * arts-1-1-471 * src/m_ignore.h (Ignore): Issue a level 2 message which WSV is ignored. This avoids the unused parameter warning for *inname*. However, there still is one for *in*. Don't know how to fix this right now. * src/m_copy.h (Copy): Removed call of CloneSize. 2003-03-05 Stefan Buehler * arts-1-1-470 * src/m_clonesize.cc: Added some level 2 and 3 output messages to surpress most unused parameter warnings. * src/methods.h (MdRecord operator=(const MdRecord& m)): Added output of m to suppress unused parameter warning. 2003-03-05 Oliver Lemke * arts-1-1-469 * configure.in: Don't use -Wno-unused (gcc2) and -Wno-unused-parameter (gcc3) any longer. Removed check for gcc version. * src/agenda_class.h: Added dummy method touch to MRecord. * src/make_auto_wsv_h.cc: Added dummy method touch to WorkSpace. * src/make_auto_md_cc.cc: If WorkSpace is not used in method call ws.touch to avoid unused parameter warning. Same for MRecord. 2003-03-04 Patrick Eriksson * arts-1-1-468 * doc/uguide/Figs/fm_definitions/mkfigs_atm_dims.m: Added 3D figure. 2003-03-04 Patrick Eriksson * arts-1-1-467 * doc/uguide/Figs/fm_definitions/mkfigs_atm_dims.m: Modified this function. It now uses atmlab/arts/arts_plot_atmgrids.m. * src/ppath.cc: Removed input argument t_field as it was no longer used. * src/m_ppath.cc (ZaSatOccultation): As above. 2003-03-03 Patrick Eriksson * arts-1-1-466 * src/m_ppath.cc (DoGridcell2D/3D): Removed these WSM. (ppathCalcTest): Removed also this WSM. * doc/uguide/Figs: Created the folder concept and moved two figures to that folder. Removed all remaining figures in the folder /Figs (as decided some time ago). If you want to use some of the removed figures, copy it from arts-1. The decision is that all figures shall be placed in sub-folders, one fore each chapter, where the folder name shall match the name of the Latex file. 2003-02-28 Stefan Buehler * arts-1-1-465 * src/gas_abs_lookup.cc (Extract): Calculate number density with the physics_funcs function number_density. (Extract): Fixed bug reported by Patrick: VMR scaling for the case with temperature variations was missing. (Extract): Fixed bug related to pressure interpolation for the variable T case. 2003-02-28 Mattias Ekström * arts-1-1-464 * src/sensor.cc (sensor_integration_vector): Added file and created function that calculates the (row) vector that multiplied with an unknown (column) vector approximates the integral of products between two functions, where the two vectors are the quantizied representation of the functions. See ARTS 1 User Guide, chapter 7 Sensor modelling for an in-depths explanation. * src/sensor.h: Added the file. * src/describe.h: Added line; #include "mystring.h". We need it for the compilation. 2003-02-27 Patrick Eriksson * arts-1-1-463 * src/rte.cc (get_radiative_background): Fixed a bug for cases with ground reflection. Bug reported by Sreerekha. The bug had no effect for a blackbody ground. The solution with agendas makes some things difficult. My solution for ground reflections involve a recursive call of RteCalc. The output from get_radiative_background is the WSV i_rte. When calling RteCalc recursively, I did this with a local variable, but RteCalc calls rte_agenda which will change the value of i_rte. The problem was that i_rte already contained interesting values. So I got a side effect from the agenda that I missed. I hope that there are now no such side effects left in this part. But changes for the agendas can easily affect this part, so we ahve to be careful when changing things for the agendas. 2003-02-27 Stefan Buehler * arts-1-1-462 * src/gas_abs_lookup.cc: I'm still working on the gas absorption lookup table. Beware! This is not yet the final version. I want to do some tests tomorrow, in order to see if temperature interpolation works. The case without temperature variations is tested and is believed to work correctly. IMPORTANT: We are now storing absorption cross-sections, rather than absorption coefficients in the table. Old tables will not work anymore, unfortunately. However, this is worth the inconvenience since it decreases interpolation error by two orders of magnitude! (See my email to arts-dev.) * src/gas_abs_lookup.h: Updated. * src/m_absorption.cc (abs_scalar_gas_fieldCalc): This method now takes f_index as input. Depending on f_index, the field will be calculated for all frequencies, or just for one frequency. * src/methods.cc: Updated record for abs_scalar_gas_fieldCalc. * src/agendas.cc (define_agenda_data): Added f_index in the input list of scalar_gas_absorption_agenda. * src/xml_io.cc (xml_read_from_stream): Read .xml instead of .abs. (xml_write_to_stream): Write .xml instead of .abs. * src/describe.cc: Added. This file contains a set of helper functions called \c describe, which you can use to output the dimensions of a tensor. This is just for testing purposes. * src/describe.h: Added. Header file for describe.cc. * src/test_matpack.cc: Modified some tests. * src/matpackIII.cc: Only linebreak changes. * src/matpackI.h: Only whitespace removed. * src/matpackI.cc: Only indentation changes. * src/m_scatrte.cc: Updated copyright notice. * src/m_cloudbox.cc: Updated copyright notice. * src/Makefile.am (test_matpack_SOURCES): Added describe. 2003-02-26 Claudia Emde * arts-1-1-461 * src/m_scatrte.cc (convergence_flagAbs): Modified the function. It has been a very special function for the radiation field. Now it is a general method which can be used for any Tensor6's. * src/m_scatrte.cc (i_fieldUpdate1D), (i_fieldUpdate3D): Structured the interface variables such that it is easier to see why they are needed in the function. Also removed some variables: There was a diskussion about *stokes_dim* and *atmosphere_dim* some time ago. I removed this variables now and extracted the dimensions from other variables. Furthermore I could remove some variables which had been used for executing *scat_rte_agenda* which is not there anymore. We decided to "hardwire" the RT method to be used. * src/m_scatrte (i_fieldIterate): Structured interface variables. * src/m_scatrte (ScatteringInit): Created this function to initialize the variables used in agendas for scattering calculations. Previously the initialization was done in *i_fieldIterate*. The structure becomes clearer when we have this additional function. * src/m_scatrte.cc (iteration_counterIncrease): Icluded this small function to be able to separate the iteration counter from the other methods (for modularity reasons). * src/methods.cc: Adjusted entries according to changes above. * src/agendas.cc: Modified input/output for *opt_prop_part_agenda* and *convergence_test_agenda*. * doc/examples/cloud_rad_field1D_example.arts.in: Added more desciption into the controfile to make clear, where which agenda is used. 2003-02-25 Patrick Eriksson * arts-1-1-460 * doc/uguide/ppath.tex: Added some missing terms in some equations. Some small polishing of the text. 2003-02-25 Mattias Ekström * arts-1-1-459 * src/m_basic_types.cc: Added VSM Tensor3Scale, Tensor4Scale, Tensor5Scale, Tensor6Scale and Tensor7Scale. * src/m_sensor.cc: Added this file for sensor modelling. 2003-02-24 Patrick Eriksson * arts-1-1-458 * src/m_rte.cc (RteEmissionStd): Removed a variable not used (with apossible size of up to 10 Mb!) and moved some lines to outside a for loop (to maybe save some time). 2003-02-23 Patrick Eriksson * arts-1-1-457 * doc/uguide/ppath.tex: Further work on documentation of the path calculations. Geometrical paths are close to be finished. Some details are missing. I plan also to create some figures. * doc/uguide/fm_definitions.tex: Added definition of the azimuth angle at the poles. 2003-02-17 Claudia Emde * arts-1-1-456 * src/main.cc: Set default reporting level for report file to 0. My ARTS jobs crash because the report file becaomes too large when I use report level 3. 2003-02-14 Patrick Eriksson * arts-1-1-455 * doc/uguide/ppath.tex: Text added to describe the calculation of propagation paths. Not ready, more to write. 2003-02-11 Patrick Eriksson * arts-1-1-454 * doc/uguide/ppath.tex: Modified existing text as a first step to finish this chapter in AUG. 2003-02-11 Mattias Ekström * arts-1-1-453 * src/m_ppath.cc (ZaSatOccultation): Created WSM for calculating zenith angles during satellite occultations. * src/ppath.h (geompath_lat_at_za): Added method to header file. 2003-02-07 Patrick Eriksson * arts-1-1-452 * src/m_cloudbox.cc (CloudboxSetManually): The function now behaves as expected for limits identical to grid values. * src/ppath.cc (do_gridcell_3d): Improvement in 1-1-451 for west-east cases was incorrect. In the hurry, the type for abs( aa_start ) was set to bool (instead of double). This turned the fix off, and there was a crash for Numeric=float. It appears that this fix is not needed for double, but I leave it, just in case. 2003-02-07 Patrick Eriksson * arts-1-1-451 * src/ppath.cc (ppath_start_stepping): Upward observations along the upper latitude limit is not allowed for 2D. That is, start position inside the atmosphere, za=0, and lat=last(lat_grid). (do_gridcell_3d): Test for finding strictly west-east observations was wrong. Strange that it has not crashed. All old 3D results are definitely wrong. 2003-02-06 Patrick Eriksson * arts-1-1-450 * src/ppath.cc (geompath_from_r1_to_r2): Using r2 instead of r[n] when calculating za[n], as r2 is always double. The conversion from double top float can result in a shift of 0.1 m, which can end up below ppc. Successful tests with refraction and Numeric=float for 1D and 2D. So, refraction for 1D and 2D is now hopefully working (3D with refrcation is NOT worling yet). 2003-02-06 Patrick Eriksson * arts-1-1-449 * src/ppath.cc (do_gridcell_3d): Introduced an allowed tolerance for latitudes and longitudes (LATLONTOL). This turned out to be necessary when using very fine pressure grids (the test was performed with a vertical step size of about 15 m). This problem was reported by Claudia. 2003-02-04 Nikolay Koulev * arts-1-1-448 * src/zeemanproperties.cc: Fixed another bug in the calculation of the relative intensities of individual Zeeman components. 2003-02-04 Patrick Eriksson * arts-1-1-447 * src/ppath.cc (do_gridcell_3d): I discovered that calculations from CloudboxGetIncoming with azimuth angles of exactly 90 degrees caused problems (at least for Numeric=float). Some special checks are now introduced for this case to avoid that the positions are shifted incorrectly to south or north for short step lengths (<1m). * src/m_cloudbox.cc (CloudboxGetIncoming): Removed some crap output to the screen. 2003-02-04 Nikolay Koulev * arts-1-1-446 * src/zeemanproperties.cc: Fixed a bug in the calculation of the relative intensities of individual Zeeman components. Added two more output variables in order to save the frequencies and the corresponding relative intensities of the components as matrixes in xml format. * src/zeemanproperties.h: Modified the file according the changes in the zeemanproperties.cc. * src/test_zeemanproperties.cc: Modified the file according the changes in the zeemanproperties.cc. 2003-02-04 Oliver Lemke * arts-1-1-445 * src/Makefile.am: Added m_xml.cc to arts_SOURCES. * src/test_binaryio.cc: Updated. * src/m_xml.h: Rename FType to FileType and FTYPE_{ASCII,BINARY} to FILE_TYPE_{ASCII,BINARY}. WriteXML gets file_format as input. Added output_file_formatSet{Ascii,Binary}. * src/m_xml.cc: Added. * src/xml_io.cc: Renamed FType to FileType and FTYPE_{ASCII,BINARY} to FILE_TYPE_{ASCII,BINARY}. (xml_read_header_from_stream): Read endian type and numeric type from input file. * src/xml_io.h, src/xml_io_private.h: Rename FType to FileType. * src/methods.cc: Added output_file_formatSet{Ascii,Binary}. WriteXML gets output_file_format as input. * src/workspace.cc: Added variable output_file_format. * src/.cvsignore: Added *.swp to ignore vim temporary files. 2003-02-04 Patrick Eriksson * arts-1-1-444 * src/ppath.cc (do_gridrange_1d and do_gridcell_2d): Same correction as for 3D in last commit. * src/ppath.cc (psurface_crossing_2d): Some upward cases were handled incorrectly. Fixed bug for c=0. * src/ppath.cc (ppath_start_stepping): The entrance point for negative zenith angles and the sensor outisde the atmosphere was calculated wrongly. 2003-02-03 Claudia Emde * arts-1-1-443 * m_scatrte.cc (i_fieldUpdate1D): Modified. The distinction between uplooking and downlooking cases is now done using the grid positions returned by the ppath_step_agenda instead of viewing directions (like in i_fieldUpdata3D). Now, also viewing directions close to 90° can be handled. Interpolation in altitude is done logarithmically (was linear before). * m_cloudbox.cc (CloudboxGetIncoming): Fixed 1D part. Didn't work after some modifications for the 3D part. 2003-02-03 Patrick Eriksson * arts-1-1-442 * src/ppath.cc (do_gridcell_3d): Had to introduce a correction in radius to handle Numeric=float as points can end up slightly outside the grid cell (up to 1 m for float). * src/ppath.cc (psurface_crossing_3d): This function handles now only surfaces with slope. Moved code from gridcell_crossing_3d to this function and removed gridcell_crossing_3d. 2003-02-03 Patrick Eriksson * arts-1-1-441 * src/ppath.cc: Started to remove code not used. Introduced the file-common variables DEV0AND180 and POLELAT to make the accuracy tuning more transperant. 2003-02-03 Claudia Emde * arts-1-1-440 * src/m_scatrte.cc (i_fieldUpdate3D): Included *scat_lat_index* and *scat_lon_index* required for optical properties calculation. Before the optical properties were only calculated for *scat_lat_index* and *scat_lon_index* equal 0. * src/methods.cc(i_fieldUpdate3D): Modified according to correction. 2003-02-03 Patrick Eriksson * arts-1-1-439 * src/ppath.cc: I found more new numerical problems with Numeric=float. This time for calculations with refrcation. It turned out that step lengths of e.g. 1 km could not be used. Decided then to test to hard-code double as far as possible in the function. Everything compiles without warnings. Not yet checked if things work better for Numeric=float. * src/math_funcs.h: Removed declaration of non-existing return version of function of type linspace. * src/m_basic_types.cc (VectorNLogSpace): Not using removed return version of nlogspace. * src/math_funcs.cc (nlinspace): The last value is now set to be stop exactly (not start + i*strep). Removed old return version of nlogspace. 2003-02-02 Patrick Eriksson * arts-1-1-438 * src/ppath.cc (psurface_slope_3d): Applied bigger disturbance for float. (do_gridcell_2d): Upper pressure surface is now checked even if start point is on top of that surface. This is needed for tilted surfaces. (psurface_crossing_2d): Included a threshold for r0=rp. * src/ppath.cc: Smaller fixes here and there. 2003-01-28 Patrick Eriksson * arts-1-1-437 * src/ppath.cc (do_gridcell_3d_try): Added ground intersections and some checks to handle paths along lon grid value. 2003-01-28 Patrick Eriksson * arts-1-1-436 * src/ppath.cc (do_gridcell_3d_try): I have worked on another scheme for this function. The new scheme is based on testing different step lengths, in a hopefully intelegent way, and simply test if the end point is inside or outside the grid cell. This scheme is slower than using a pure analytical solution, but it allows to compensate for numerical problems with float, and works for tilted pressure surfaces, So, if this is a success, both my present problems are solved. I am now trying to stress the new scheme to make it 100% safe. You will not use this new scheme when you compile. 2003-01-28 Nikolay Koulev * arts-1-1-435 * src/zeemanproperties.cc: Fixed several bugs. 2003-01-28 Claudia Emde * arts-1-1-434 * src/m_scatrte.cc (ScatteringMain): Removed clearsky field calculation on boundary (CloudboxGetIncoming) from this function. Now it is possible to read a pre-calculated clearsky field. This makes sense as we are interested to test clouds with different particle types. For those cases the clearsky field on the cloudbox boundary is always the same and it saves a lot of time not recalculating the clearsky field for each case. To do a convergence test it is now also possible to take an unrealistic field on the cloudbox boundary. * src/m_scatrte.cc (i_fieldUpdate3D): Fixed a small bug. * src/m_cloudbox.cc (i_fieldSetConst): Modified. This function is tested now and works correctly. * src/methods.cc (ScatteringMain): Modified interface variables. Note: I have made a 3D convergence test (in analogy to the 1D convergence test). It works, so we can be quite sure, that the 3D scattering implementation is correct! 2003-01-28 Mattias Ekström * arts-1-1-433 * src/m_basic_types.cc: added the WSM Matrix1ColFromVector Matrix2ColFromVectors Matrix3ColFromVectors Matrix1RowFromVector Matrix2RowFromVectors Matrix3RowFromVectors VectorZtanToZa removed the WSM MatrixFillWithVector MatrixSetElement 2003-01-28 Nikolay Koulev * arts-1-1-432 * src/test_zeemanproperties.cc: Fixed bug in the Zeeman test file. 2003-01-27 Oliver Lemke * arts-1-1-431 * Nearly completed binary file support. Missing features: - Integration into arts workspace. - Storing of Numeric/Index type in xml file. -> Currently binary files must be read with the same Numeric/Index type as they where written. * src/Makefile.am: Added test_binaryio target. Added b(i|o)fstream.{cc,h} where needed. * src/test_binaryio.cc: Added for testing binary io routines. * src/xml_io.{h,cc}, src/xml_io_private.h: xml_write_to_file functions take now three parameters. Third arg is the type of file to write (FTYPE_ASCII or FTYPE_BINARY). Default is ASCII. Changed parameters for xml_{write_to,read_from}_stream functions: Removed parameters is_data and os_data. Instead, a pointer to bifstream / bofstream is passed to the function. If the pointer is NULL the data is written to/read from the xml file, otherwise the binary stream is used. * src/bifstream.h: Removed ios::trunc from default openmode. * src/b(i|o)stream.{h,cc}: Added operator template instanciations for types int and long. * src/.cvsignore: Added test_binaryio. 2003-01-27 Nikolay Koulev * arts-1-1-430 * src/zeemanproperties.cc: Made notation of the extinction matrix and absorption vector with Zeeman effect compliant to the this of scattering. * src/zeemanproperties.h: The same for this file. * src/test_zeemanproperties.cc: The same for this file. 2003-01-24 Claudia Emde * arts-1-1-429 * src/m_cloudbox.cc (i_fieldSetClearsky): Bug fixed in 3D part. The limits of some loops were wrong. * src/m_scatrte.cc (scat_fieldCalc): Fixed 3D part: Included (pha_mat_sptCalc), this function was missing, so that the value of the scattering integral was always 0. Included also some dubugging outputs which will be removed later. * src/special_interp.cc: Reincluded iostream. 2003-01-24 Patrick Eriksson * arts-1-1-428 * Removed inclusion of iostream from some files. 2003-01-24 Patrick Eriksson * arts-1-1-427 * src/ppath.cc: Further work on 3D and float. Unfortunately (or maybe it could have been foreseen) it turned out that the spatial precision for 3D and float is as bad as 10 m. The smallest rounding error when going going to cartesian coordinates and back to spherical, shifts the position with about 1 m and some accumaled errors rise the error up to 10m. This high uncertainty makes the present solution in do_gridcell_3d impossible, it is very likely to end up in a situation that cannot be resolved. For double the spatial precison is about 1e-6 m, and the risk to end up in problems is very very small. I have to think about what to do. For the moment, use double. 2003-01-24 Oliver Lemke * arts-1-1-426 * Sorry for the exceeding commit rate, but I have to test the changes on different computers... * src/continua.cc: More pow fixes. Overloading of pow for both pow(float,double) and pow(double,float) breaks float compilation with gcc2. Added f to the numeric literals. * src/math_funcs.{cc,h}: Removed pow (float,double). Confuses gcc2 in many cases and we don't need it currently. 2003-01-24 Oliver Lemke * arts-1-1-425 * src/continua.cc: Fixed pow(Numeric n, int i) calls. For simple cases with i = 2 replaced by n*n. For other cases using 2. instead of 2 2003-01-23 Oliver Lemke * arts-1-1-424 * src/math_funcs.{cc,h}: Added functions pow(float, double) and pow(double, float). * src/continua.cc: Include math_funcs.h for additional pow functions. * src/ppath.cc: Changed constant from int to double as second argument to pow in some places. 2003-01-23 Oliver Lemke * arts-1-1-423 * src/complex.{h,cc}: Added operator+ and operator* with params complex, double and complex, float. * src/Makefile.am (arts_SOURCES) (test_zeemanproperties): Added complex.{h,cc}. * src/xml_io.h: Removed prototypes for xml_open_output_file and xml_open_input_file. * src/xml_io_private.h: Added prototypes for xml_open_output_file and xml_open_input_file. 2003-01-23 Patrick Eriksson * arts-1-1-422 * src/ppath.cc: Compiles now without any warnings with Numeric=float. 2003-01-23 Oliver Lemke * arts-1-1-421 * src/complex.{cc,h}: Added operator+ and operator* for arithmetic expressions where one argument is float and the other complex (or double and complex). The STL only contains functions for operands of same type such as float * complex. 2003-01-23 Patrick Eriksson * arts-1-1-420 * src/ppath.cc: Continued the work to hard-code double in the most critical functions. Don't compile without warnings with Numeric=float, but other parts don't compile at all with that option. 2003-01-23 Claudia Emde * arts-1-1-419 * doc/uguide/main.tex: Included index command to make an index for workspace agendas (\wsaindex). It works as \wsmindex. * doc/uguide/scattering.tex: Rewritten documentation for (i_fieldUpdateXX). * src/math_funcs.cc (AngIntegrate_trapezoid): Modified doxygen header. 2003-01-23 Oliver Lemke * arts-1-1-418 * src/bifstream.h src/bifstream.cc: Added class for binary input. * src/bofstream.cc: Removed matpackI include. * src/bofstream.h: Removed destructor. * src/Makefile.am (arts_SOURCES): Added bifstream.{h,cc}. 2003-01-22 Oliver Lemke * arts-1-1-417 * src/.cvsignore: Added test_zeemanproperties. 2003-01-22 Oliver Lemke * arts-1-1-416 * src/methods.h: Include iosfwd instead of iostream. (MdRecord::operator=): Replaced cout by out0. * src/xml_io.h: Include iosfwd instead of iostream. * src/gridded_fields.cc: Removed duplicate iostream include. * src/lin_alg.cc src/math_funcs.cc src/m_cloudbox.cc src/m_refraction.cc src/scatproperties.cc: Removed unnecessary iostream include. Note about iostream: Wherever possible, including iostream should be avoided because it has quite alot of overhead. If you use cout temporarely for debugging, don't forget to remove the iostream include together with the debug code afterwards. For header files containing function/class declarations which need only references to iostream classes, it is highly recommended to include iosfwd instead of iostream. iosfwd contains only forwarded class declarations which significantly affects compilation speed. 2003-01-22 Nikolay Koulev * arts-1-1-415 * src/zeemanproperties.cc: Added this file, containing the basic routines for calculating the extinction matrix and the absorption vector by the Zeeman effect.. * src/zeemanproperties.h: Header file for the zeemanproperties.cc. * src/test_zeemanproperties.cc: Test file for the Zeeman routines. * src/zeeman_intensity_coeff.xml: XML table of the intensity coefficients for the different transitions of the O2 Zeeman effect, used in zeemanproperties.cc. 2003-01-22 Patrick Eriksson * arts-1-1-414 * src/ppath.cc: Started the work to make things work for Numeric=float, but got time for just a few changes. 2003-01-22 Claudia Emde * arts-1-1-413 * doc/uguide/integration.tex: Included mathematical description of the used integration method. 2003-01-21 Patrick Eriksson * arts-1-1-412 * src/ppath.cc: Wrote some comments and made all function argument lists (in the headers) complete. * src/ppath.cc (raytrace_2d_linear_euler): Added check that zenith angle does not go outside +-180. 2003-01-21 Oliver Lemke * arts-1-1-411 * src/bofstream.{h,cc}: Added. Contains class for writing binary data by using output operators <<. * src/Makefile.am (arts_SOURCES): Added bofstream.{h,cc}. 2003-01-21 Claudia Emde * arts-1-1-410 * src/m_cloudbox.cc (i_fieldSetClearsky): Pressure interpolation changed from linear to logarithmic. * src/m_atmosphere.cc (AtmFieldsCalc): Also changed the pressure interpolation to logarithmic. * src/workspace.cc: Changed documentation of *tensor6_1*, it is a dummy variable to be used when you need a tensor6 somewhere. * doc/uguide/scattering.tex: Started updating this chapter. 2003-01-21 Patrick Eriksson * arts-1-1-409 * src/ppath.cc (raytrace_3d_linear_euler): Put in some fixes to improve the accuracy for zenith and azimuth angles. Included also checks that those angles do not go outside allowed ranges. * src/refraction.cc (refr_index_thayer_1974): Finally changed old parameter values (from Boudouris) to the ones from Thayer. 2003-01-20 Patrick Eriksson * arts-1-1-408 * src/refraction.cc (refr_gradients_1d): Created this function. * src/m_refraction.cc (RefrIndexFieldAndGradients): Finished this function. * src/refraction.cc: * src/ppath.cc: Changes to get a nice verbosity for refr_index_agenda. 2003-01-20 Oliver Lemke * arts-1-1-407 * src/xml_io.cc: Updated doxygen comments. 2003-01-20 Oliver Lemke * arts-1-1-406 * src/xml_io.cc, src/xml_io_private.h: Changed signatures of xml_read_from_stream/xml_write_to_stream functions. First step for binary file support. The read/write functions are now getting two streams as parameters. One is the file stream for the xml file and one the file stream where the data is written to. For ascii files both are the same, for binary the xml_data stream is a reference to the binary stream. This will make it possible to use the same reading/writing routines for both ascii and binary files. 2003-01-20 Patrick Eriksson * arts-1-1-405 * src/refraction.cc (refr_gradients_2d/3d): Changed the definition of the lat and lon gradients. The returned values are now the change of the refractive index over 1m, not 1 radian. * src/ppath.cc (raytrace_2d/3d_linear_euler): Adapted to change above. * src/special_interp.cc (p2gridpos): Created this function. This function SHALL be used when interpolating in pressure. See email to arts-dev. * src/m_refraction.cc (RefrIndexFieldAndGradients): Function basically finished, but there is not yet any function for 1D giving the radial gradient (which is not needed to calculate the paths, but can be interesting to plot). 2003-01-20 Patrick Eriksson * arts-1-1-404 * src/refraction.cc: Changes in most functions to change vertical input coordinate from geometric altitude to radius, which is needed to get lat and lon gradients correct. * src/m_refraction.cc (RefrIndexFieldAndGradients): Started on this WSM. * src/workspace.cc (define_wsv_data): Introduced tensor3_1 and tensor4_1. * src/ppath.cc (do_gridcell_2d): Introduced a more correct setting of the latitude of the end point, for positions between lat1 and lat3. * src/refraction.cc: Included input arguments to control the verbosity when calling *refr_index_agenda*, but there is now no way to use this argument as *refr_index_agenda* is called as part of *ppath_step_agenda* and no such argument can be passed from one agenda to next. * src/ppath.cc (ppath_start_stepping): Improved the accuracy for sensor positions outside the atmosphere and zenith angles of 180 and/or azimuth angles of 0 or 180 degrees. * src/refraction.cc (refr_gradients_3d): The variable dndlon was not set (dndlat was set twice). 2003-01-19 Patrick Eriksson * arts-1-1-403 * src/ppath.cc (raytrace_3d_linear_euler): Put in code for 3D with refraction. The stuff runs, but I have to check the used expressions and results more carefully. * src/m_refraction.cc (refr_indexUnit): Created this WSM. * src/refraction.cc (get_refr_index_3d): Found a bug. Latitude grid position was set twice, and longitude grid position not at all. * src/ppath.cc (do_gridcell_2d): Fixed two bugs connected to the tangent point for limb sounding with negative zenith angles. 2003-01-18 Patrick Eriksson * arts-1-1-402 * src/rte.cc (rte_calc): Forgot to mention that I introdoced this function. It does what RteCalc did, but has the option that input checks can be skipped. This saves some time in CloudboxGetIncoming. 2003-01-18 Patrick Eriksson * arts-1-1-401 * src/ppath.cc (gridcell_crossing_3d): Found a bug that affected the calculated length to a crossing of a given latitude. The original code was correct, but I later removed the calculation of (dx^2+dy^2+dz^2) as this term is always 1. I was then too quick and made a mistake. This bug fix solves the problem discussed for version 1-1-393. Great! 2003-01-18 Patrick Eriksson * arts-1-1-400 * src/m_cloudbox.cc (CloudboxGetIncoming): Some temporary messages that will be removed later (to check speed issues). * src/ppath.cc (gridcell_crossing_3d): Fixed a bug when both solutions for the length >= 0, and of them is 0. The length criterion for solutions close to zero is now applied consistently. (do_gridcell_3d): Allowed some marginals for the lat and lon asserts in the middle of the function. The values are later corrected as far as possible. * src/refraction.cc (get_refr_index_3d): Created this function. (refr_gradients_3d): Created this function. 2003-01-17 Claudia Emde * arts-1-1-399 * src/rte.cc (rte_step): Change condition for unpolarized case (extinction matrix diagonal). The problem is, that if you do a calculation for 2 Stokes dimensions, the extinction matrix can be diagonal although the radiation is polarised. Now the unpolarised calculation is performed if the extinction matrix is diagonal AND all components except the first of the absorption vector are zero. * src/m_cloudbox.cc (CloudboxGetIncoming): Changed the size of the interface variables scat_i_XXX. So far they were defined on the full atmospheric grids which is not necessary. Now they are only defined inside the cloudbox boundaries. Loop indices had to be adapted according to this change. * src/scat_rte.cc (ScatteringMain): Commented CloudboxGetIncoming. For testing constant values for the boundary variables are used. (i_fieldUpdate3D): Fixed bugs in the radiative transfer part. The function runs without crashes but I have to do some tests before I can assure that it works. 2003-01-17 Oliver Lemke * arts-1-1-398 * src/xml_io.cc: Detailed output goes now to out3. Only filenames of input/output files are reported to out2. 2003-01-16 Patrick Eriksson * arts-1-1-397 * Paths with refraction for 1D and 2D have been tested and everything appears to work. * src/refraction.cc (get_refr_index_2d): Wrong dimension was read to determine the number of species. * src/ppath.cc: Included more asserts in the key functions for 3D to catch problems as early as possible. (psurface_crossing_3d): Started on a new version of this function. For the moment it is only allowed to use pressure surfaces with constant radius. That is, the geoid must be spherical and the atmosphere spherically symmetric. * src/m_cloudbox.cc (CloudboxGetIncoming): Found some problematic points, reported to Claudia. 2003-01-15 Patrick Eriksson * arts-1-1-396 * src/refraction.cc (refr_gradients_2d): Created this function. 2D paths with refraction are now completed, but no tests have been performed. * src/ppath.cc (do_gridcell_3d): Added more asserts that should give an earlier and clear indication on that something has gone wrong. (psurface_crossing_2d): Removed some checks that had no impact (for the approximative solution, dlat = 0 was acceped if r0!=rp, but that can never happen as za=0 and za=180 are handled seperately). (raytrace_1d_linear_euler): Cleaned up the code and removed some variables that were not really needed. (raytrace_2d_linear_euler): As above and added call of refr_gradients_2d. 2003-01-15 Claudia Emde * arts-1-1-395 * src/m_cloudbox.cc (i_fieldSetClearsky). Fixed some bugs here. Limits of the loops were wrong. Tested now for 3D. * src/m_scatrte.cc (scat_fieldCalc). Fixed similar bug here. Now the 3D function works. (i_fieldUpdate3D) Also wrong limits at some places. A problem in the interpolation on the intersection point still has to be fixed. 2003-01-15 Patrick Eriksson * arts-1-1-394 * src/ppath.cc: I don't think that I have made any real changes, but a commit just in case if there is something I have missed. Still problems with a non-spherical geoid. A test to calculate the ingoing field to the cloud box for 3D and a spherical geoid was succesful. Claudia, you better make an update to make sure we use exactly the same version. 2003-01-15 Patrick Eriksson * arts-1-1-393 * src/ppath.cc (gridcell_crossing_3d): I discovered that there is an inconsistency between the tangent point position obtained by doing repeated path steps, and a direct calculation with geompath_tanpos_3d. The error, as a vertical displacement, is about 1.5 km. I have spent some time on trying to understand this, and my guess is that the problems appear in this function, but I have no final confirmation, and I don't know right now what to do about it. * src/ppath.cc (do_gridcell_1/2/3d): The tangent point is now not flagged as as an end face. A new flag especially for the tangent point has been introduced. No real imrpovement, but more logically as the tangent point is not an end face. * src/ppath.cc (do_gridcell_3d): Cases when a path step both starts and ends at the top surface, without having a tangent point inside the cell is now handled. 2003-01-14 Patrick Eriksson * arts-1-1-392 * src/ppath.cc: Just a commit to transfer last changes to laptop. 2003-01-14 Patrick Eriksson * arts-1-1-391 * src/m_cloudbox.cc (CloudboxGetIncoming): Fixed a bug. The longitude index was not set following the cloud box limits. * src/ppath.cc (psurface_crossing_3d): A slight improvement that should lower the chance for failures. However, another algorithm will be tested. 2003-01-14 Patrick Eriksson * arts-1-1-390 * src/ppath.cc: Work on 3D paths to handle all possible problems due to numerical inaccuracy. More work to be done (despite I have spent most of the day on this!), at least for cases with highly distorted grid cells. Can maybe work for nicer cases. * src/rte.cc (get_radiative_background): RteCalc is now not called if the ground is set to be a blackbody. Everything worked, but this saves some time. 2003-01-14 Claudia Emde * arts-1-1-389 * src/m_cloudbox.cc: Included 3D parts for (scat_iPut) and (CloudboxGetOutgoing). Now, all 3D functions for the scattering part are ready to be tested! * src/m_atmosphere.cc: Included checks and error messages. * src/m_scatrte.cc: Only small modifications. Mainly documentation. 2003-01-14 Patrick Eriksson * arts-1-1-388 * src/m_refraction.cc (refr_indexThayer): Finished this function and moved some code to refr_index_thayer_1974. * src/refraction.h: Created this file. * src/refraction.cc: Added this file and moved get_refr_index_1d to to this file. Made new version of get_refr_index_2d. Created the function refr_index_thayer_1974. * src/ppath.cc: Added input arguments to some function as a preperation for 2D with refrcation. 2003-01-13 Patrick Eriksson * arts-1-1-387 * src/ppath.cc: I had two parallel ways to number the corner points of 3D grid cells. Fixed. Also more stringent naming between 2D and 3D. (psurface_crossing_3d): Fixed a bug that appeared when the radius of pressure surfaces is not constant. I had been sloppy in checking such cases. (ppath_calc): Fixed a bug (hopefully) reported by Oliver (that went through my compiler). 2003-01-13 Patrick Eriksson * arts-1-1-386 * src/ppath.cc (do_gridcell_3d): Some smaller improvements for special zenith and azimuth angles. 2003-01-13 Stefan Buehler * arts-1-1-385 * src/absorption.cc (find_first_species_tg): Added. Finds first occurrence of species in tag groups. The species to look for must be specified by its species index, not by the name! (species_index_from_species_name): Added. Returns species index for given species name. You can use both functions together to find the first water vapor tag: Index firstH2O = find_first_species_tg(species_index_from_species_name("H2O")) If there is no water vapor in the tag list the result will be -1. * src/absorption.h: Added declarations for the two new functions. 2003-01-13 Oliver Lemke * arts-1-1-384 * doc/uguide/Makefile.am: Removed uguide.ps. * doc/uguide/Figs/{*.eps,*/*.eps}: Removed all eps files. * doc/uguide/Figs/{Makefile.am,*/Makefile.am}: Removed *eps from file list. 2003-01-13 Claudia Emde * arts-1-1-383 * src/m_cloudbox.cc (i_fieldSetConst): Included the 3D part. The function is used to set the radiation field to a constant value inside the cloudbox. The convergence test (same solution for different initial fields) should also be done for the 3D calculations. * doc/examples/cloud_rad_field1D_example.arts.in: Fixed some typos in documentation. 2003-01-12 Patrick Eriksson * arts-1-1-382 * src/ppath.cc (do_gridcell_3d): Added some code to try to catch a problem due to numerical problems with path start points on top of a pressure surface. Problem reported by Claudia. 2003-01-12 Oliver Lemke * arts-1-1-381 * configure.in: Applied patch provided by Randall Skelton : configure can now be told where it should look for the HDF library. Added LDFLAGS to the configuration summary. 2003-01-10 Claudia Emde * arts-1-1-380 * src/agendas.cc: Fixed bug in *refr_index_agenda* entry. * src/m_atmosphere.cc: Checks for raw data commented because they gave wrong error messages. They will be modified later. 2003-01-10 Oliver Lemke * arts-1-1-379 * src/m_cloudbox.cc, src/m_scatrte.cc: Replaced stdlib.h by cstdlib. We should always include the c++ versions of the header files. * src/m_refraction.cc: Replaced iostream.h by iostream. * src/old_absorption.cc: Replaced math.h by cmath. 2003-01-10 Claudia Emde * arts-1-1-378 Check-in failed for version arts-1-1-376. This is the next try. * src/m_cloudbox.cc (CloudboxGetIncoming): Some bug fixes. * src/m_refraction.cc: Included iostream.h. 2003-01-10 Patrick Eriksson * arts-1-1-377 * src/ppath.cc (varoius functions): Continued to change input and output arguments to send the variables needed for refr_index_agenda all the way down through all levels of functions. 2003-01-10 Claudia Emde * arts-1-1-376 * src/m_cloudbox.cc (CloudboxGetIncoming): Some bug fixes. * src/m_refraction.cc: Included iostream.h. 2003-01-10 Patrick Eriksson * arts-1-1-375 * src/m_refraction.cc (refr_indexThayer): Renamed refr_indexBoudouris. Add now added this file to the CVS repository. Sorry for the miss. 2003-01-09 Patrick Eriksson * arts-1-1-374 * src/agendas.cc: Added the agenda refr_index_agenda. * src/workspace.cc: Added the WSV refr_index. * src/m_refraction.cc (refr_indexBoudouris): Added this file and this function. * src/m_ppath.cc (ppath_stepRefractionEuler): Added new input arguments. 2003-01-09 Claudia Emde * arts-1-1-373 * src/m_atmosphere.cc (AtmFieldsCalc): Added checks for the consistency of input variables. * src/m_cloudbox.cc (CloudboxGetIncoming): Fixed a bug in the 3D part of the function. The sensor azimuth angle grid goes from -180° to + 180° whereas the scattering azimuth angle grid is defined from 0° to 360°. This caused a problem when calling RteCalc for all directions. * src/m_scatrte.cc (i_fieldUpdate3D): Minor modification. * doc/examples/cloud_rad_field1D_example.arts.in: Added this example control file for a 1D scattering calculation. The radiation field inside the cloudbox is calculated and all iterations are written into files. * doc/examples/Makefile.am: Included example above. 2003-01-09 Patrick Eriksson * arts-1-1-372 * src/m_rte.cc, rte.cc, ppath.cc, m_ppath.cc: Replaced Range(joker) with joker. 2003-01-09 Stefan Buehler * arts-1-1-371 * doc/uguide/matrix_vector.tex: Added documentation for using naked jokers in matrices and tensors. * src/test_matpack.cc: Added test for using naked joker in Vector. 2003-01-09 Patrick Eriksson * arts-1-1-370 * Clear sky spectra has now been produced with real absorption for 1D, 2D and 3D. AND IT WORKS!!!! Time to celebrate. Spectra were calculated for cases that should be identical for 1D, 2D and 3D. If lmax in ppath_stepGeometric is set to -1, some difference is noted between 1D and 2D/3D, as the crossings of the latitude grid in 2D/3D results in some extra points of the path which requieres an interpolation in pressure, not performed for 1D. If lmax is set to e.g. 1e3, the difference is very small (probably only rounding errors), which should be expected. So the consistency between 1D, 2D and 3D seems to be OK. At least for geometric paths. * src/m_atmosphere.cc (AtmFieldsCalcExpand1D): Created this function to make "2D or 3D view" of a 1D atmsophere. * src/m_rte.cc (RteEmissionStd): The order of some lines were wrong. Fixed that bug for 2D and 3D, and cleaned the code slightly. 2003-01-09 Oliver Lemke * arts-1-1-369 * src/xml_io.cc: Moved xml class declarations to xml_io_private.h. Reimplemented String and SpeciesTag reading routines to improve error and whitespace handling. * src/xml_io_private.h: Moved xml class declarations here. 2003-01-09 Claudia Emde * arts-1-1-368 * src/m_scatrte.cc (i_fieldUpdate3D): Added this function to calculte 3D radiative transfer inside the cloudbox. To test this function and also the 3D ppath functions I have to create 3D test scenarions. (i_fieldIterate): Included 3D case. * src/methods.cc: Added (i_fieldUpdate3D). 2003-01-09 Oliver Lemke * arts-1-1-367 * src/xml_io.cc: Improved parsing of String and SpeciesTag. IMPORTANT: Strings in ARTS XML file !!!MUST!!! be put inside quotes "". I think nobody wrote strings to xml files before but if so, you have to edit your xml files and add the quotes manually. 2003-01-08 Patrick Eriksson * arts-1-1-366 * src/m_ppath.cc (ppathCalc): This is now only a getaway function to ppath_calc, with agenda_verb = 0. For internal functions ppath_calc shall be called instead of this function. * src/m_rte.cc (RteCalc): Introduced a variable to get a more nice verbosity of the different agendas called. * src/ppath.cc (ppath_calc): Copied everything from old ppathCalc to this function and added a new input argument to control verbosity of ppath_step_agenda. 2003-01-08 Oliver Lemke * arts-1-1-365 * src/xml_io.cc, src/xml_io_private.h: Added reading/writing routines for Ppath, GridPos and ArrayOfGridPos. 2003-01-07 Patrick Eriksson * arts-1-1-364 * src/special_interp.h: Fixed typo. * src/m_rte.cc (RteEmissionStd): Modified the code added by Claudia to be a bit more efficient and to make use of some special interpolation functions. PLEASE NOTE: As it is the log of the pressure that is assumed vary linearly with altitude, the ordinary interpolation functions can't be used directly. The function *itw2p* is a special function for interpolating pressure, but this should be done in very few places. Untabified the file. 2003-01-07 Claudia Emde * arts-1-1-363 * src/m_optproperties.cc (ext_matInit), (abs_vecInit): Modified these functions. The scattering calculations are monochromatic. So the frequency dimension of these two variables has to be 1. *f_index* can be used for determine, whether the initialisaition is done in a clearsky calculation or in a cloudbox calculation. If f_index > 0 it is done in a cloudbox calculation. * src/m_rte.cc (RteEmissionStd): Rewritten this function. Now absorption is calculated for all ppath points using *scalar_gas_abs_agenda*. * src/m_scatrte.cc (i_fieldUpdate1D): Executing the finished *scalar_gas_absorption_agenda* required some modifications and additional variables. * src/methods.cc: Modified interfaces of (RteEmissionStd), (i_fieldUpdate1D), (ext_matInit) and (abs_vecInit). * src/rte.cc (rte_clearsky_with_emission): Removed. The general RT function (rte_step) can handle this special case and is used everywhere, now. * src/test_linalg.cc: Removed unused variables. 2003-01-07 Patrick Eriksson * arts-1-1-362 * src/ppath.cc (do_gridcell_3d): A start point, with a radius equal to the ground radius, could result in an intersection with the ground even if the zenith angle is upwards. Fixed (hopefully). * src/m_ppath.cc (sensor_posAddGeoidWGS84): Changed the code for 2D and 3D as the old version did not work when the latitudes are not sorted. * src/m_basic_types.cc (VectorSetElement): Created this WSM. (MatrixSetElement): Created this WSM. (MatrixSetTakingSizeFromMatrix): Created this WSM. 2003-01-07 Oliver Lemke * arts-1-1-361 * src/matpackI.{h,cc}: Commented out assignment operators for Vector with parameter type Array. If we want to split matpack from arts it should not depend on Array which belongs to arts, not to matpack. * src/parser.cc (parse_numvector): Use loop to copy Array to Vector because assignment operator is not longer present. * src/test_matpack.cc: Commented out test16 (Test for Array -> Vector assignment). 2003-01-07 Stefan Buehler * arts-1-1-360 * doc/index.html.in: Fixed link to pdf version of Uguide. * doc/uguide/development.tex: Updated documentation about using assertions with gdb. * src/arts.h: Updated GNU license information. 2003-01-06 Patrick Eriksson * arts-1-1-359 * It should now be possible to produce clear sky 3D spectra. However, no practical tests performed. * src/rte.cc (ground_specular_los): 3D activated, but ground tilt is not yet included. I wrote some codeto consider the ground tilt but I will look for a better and general solution, and the code is not active. * src/m_rte.cc (RteCalc): Included check that the atmosphere is 3D when a 2D antenna is selected. 2003-01-06 Oliver Lemke * arts-1-1-358 * src/array.h: Define all Arrays and ArraysOfArray here. NOTE: Only the typedefs are located here. If you want to use e.g. ArrayOfTensor3, it is not enough to include array.h, you also have to include matpackIII.h. * src/matpack*.h: Removed typedefs for Arrays. * src/arts.h: Removed typedefs for ArrayOfIndex and ArrayOfNumeric. 2003-01-05 Patrick Eriksson * arts-1-1-357 * src/ppath.cc: Several things fixed to make path along the end longitudes to work. Longitudes can now be in the range [-360,360], as described in AUG. I have tested a number of waht should be nasty cases and everything worked. It seems that 3D geometrical paths are now working. 2003-01-03 Patrick Eriksson * arts-1-1-356 * Paths above the pole are now basically working, except along lon +-180 degrees. Numerical inaccuracy is especially tricky around the poles (with the equations I have derived at least) and I don't think I will manage to solve all problems. Right now I consider to take back my decision to restrict lon_grid to [-180,180], which would be better for the usage and paths exectly at the border of the atmosphere could be avoided. But I want to document the present solution. * src/ppath.cc: Fixes in several functions to make things work for paths passing the poles. The fixes are needed as the longitude is undefined at the poles and as the azimuth angle is defined in other way at the poles. * src/m_ppath.cc (ppathCalc): Some fixes for the same reasons as above. 2003-01-01 Patrick Eriksson * arts-1-1-355 * 3D geometrical paths are not finished, but it is not too far away. Path passing exactly above the poles are not OK, but no other known bugs. Path passing longitude +-180 are working. Definition of accepted longitudes is changed. Longitudes must now be inside [-180,180]. To cover the whole globe, lowest and highest longitude must be -180 and 180, respectively. (AUG not updated on this point). I have done quite some cleaning, both for 2D and 3D. So 2D must be checked carefully later. My plan now is to finish all dimensions, with and without refraction, and make a careful, parallell check of all cases later. * src/ppath.cc: Fixed uncountable bugs, such as dividing with a trigonometric function becoming 0, lat index for longituide grids and pure logical mistakes. And ... * src/interpolation.h: Added declaration of functions for "red interpolation". The functions existed in interpolation.cc, but where not visible to the outside world. (Stefan, any reason for this that I have missed? I hope not, because I use now the red interpolation in many places.) * src/interpolation.cc (gridpos): Created a second version where a GridPos is created, instead of ArrayOfGridPos. 2002-12-30 Patrick Eriksson * arts-1-1-354 * src/ppath.cc: Code for 3D geometrical path steps compiles but so far no tests, beside for do_gridcell_3d and sub-functions. A number of new functions: poslos2cart cart2poslos gridcell_crossing_3d rsurf_at_latlon psurface_slope_3d psurface_crossing_3d ppath_start_3d ppath_end_3d 2002-12-25 Patrick Eriksson * arts-1-1-353 * src/ppath.cc (do_gridcell_3d): Started on this function. So far empty. (sph2cart): Created. * src/methods.cc: Created WSM DoGridCell3D. * src/ppath.cc (psurface_slope_2d): Created a second version of this function, not taking vectors as input. * src/rte.cc (ground_specular_los): Changed call of do_gridcell_2d. * src/m_ppath.cc (DoGridcell2D): Changed call of do_gridcell_2d. * src/ppath.cc (ppath_start_2d) - (do_gridcell_2d): Removed c2 and c4 as output of ppath_start_2d, and the transfer of these variables down to do_gridcell_2d, where the variables now are calculated internally. 2002-12-21 Patrick Eriksson * arts-1-1-352 * src/m_ppath.cc (DoGridcell2D): Added this WSM. This WSM should normally not be used. It is intended for test of the function do_gridcell_2d, and to make figures for AUG. This function can be called from Atmlab. 2002-12-21 Oliver Lemke * arts-1-1-351 * ami: Removed. * configure.in: Removed ami Makefiles. * Makefile.am: Removed ami directory. * src/m_optproperties.cc: Include cmath instead of math.h. 2002-12-20 Patrick Eriksson * arts-1-1-350 * src/m_optproperties.cc: Added #include because acos was not found. * src/ppath.cc (geompath_from_r1_to_r2): Improved a comment 2002-12-20 Stefan Buehler * arts-1-1-349 Two big changes in this version: 1. A first version of the gas absorption lookup table is ready and tested. I implemented a field variable for gas absorption, and a method to calculate absorption for all points in the field, in order to be able to do some testing. It is as yet unclear whether this could be useful also in other places. 2. Changed copy semantics for Array, Vector, and Tensors. Now the output argument is resized automatically. This was necessary to ensure that structures containing these objects are copied correctly. User code in ARTS is not affected, you should continue to use these data types exactly as you have done so far. In particular, views still have to match exactly, of course. Detailed changes: * src/gas_abs_lookup.cc: Some bug fixes and some cosmetic changes. * src/workspace.cc (define_wsv_data): Added abs_scalar_gas_field. It contains the scalar gas absorption for all species as a function of f_grid, p_grid, lat_grid, and lon_grid. This is mainly for testing and plotting gas absorption. For RT calculations, gas absorption is calculated or extracted locally, therefore there is no need to store a global field. But this variable is handy for easy plotting of absorption vs. pressure, for example. * src/m_absorption.cc (abs_scalar_gas_fieldCalc): Added. Calculates scalar gas absorption for all points in the atmosphere. An agenda is used to obtain absorption for one point at a time. * src/methods.cc (define_md_data_raw): Added abs_scalar_gas_fieldCalc. * src/agendas.cc (define_agenda_data): Added input parameters and documentation to scalar_gas_absorption_agenda. * src/check_input.cc (chk_atm_field): Added a version of this function for vmr_field (which is a Tensor4, not a Tensor3 like the other fields). * src/check_input.h: Updated. * src/array.h: Changed copy semantics. Operator= now adjusts dimension of target automatically. * src/matpackI.cc: Changed copy semantics for Vector and Matrix (not for VectorView and MatrixView!). Operator= now adjusts dimension of target automatically. * src/matpackIII.cc: Dito for Tensor3. * src/matpackIV.cc: Dito for Tensor4. * src/matpackV.cc: Dito for Tensor5. * src/matpackVI.cc: Dito for Tensor6. * src/matpackVII.cc: Dito for Tensor7. * src/matpackI.h: Only changes in comments. * src/test_matpack.cc (test35): A test for the new copy semantics. Only tested for Vector! Hope it works also for the higher order tensors... * doc/uguide/matrix_vector.tex: Updated text about copy semantics. 2002-12-19 Nikolay Koulev * arts-1-1-348 * src/test_complex.cc: Minor changes. 2002-12-20 Oliver Lemke * arts-1-1-347 * src/Makefile.am: Removed explicit definition of arts_DEPENDENCIES and redefinition of target arts. Seems to work exactly the same way if the definitions are omitted. 2002-12-19 Claudia Emde * arts-1-1-346 * src/agendas.cc (opt_prop_gas_agenda): Removed *f_index* from input variables list. * src/m_cloudbox.cc (CloudboxGetIncoming): Added the 3D version. * src/m_ppath.cc (ppathCalc): Inserted an assertion for number of points in ppath. * src/ppath.cc: Bug fixed according to Patrick's suggestion. Assure that 'n = Index( ceil( fabs( l2 - l1 ) / lmax ) )' does not become 0. * src/m_scatrte.cc: Minor modifications and included output messages. * src/methods.cc: Removed *abs_vec* from input list to function *abs_vecInit*. 2002-12-19 Oliver Lemke * arts-1-1-345 * src/complex.{h,cc}: Removed Complex class implementation and replaced it with a typedef complex Complex. If there is any need to implement functionality for complex numbers not covered by the STL class, add them here. * src/test_complex.cc: Adapted for new complex class. 2002-12-19 Sreerekha T.R. * arts-1-1-344 * src/m_optproperties.cc: The method *amp_matCalc* is modified to include the case of macroscopically symmetric and isotropic particles. Removed the argument *stokes_dim* from the methods calculating scattering properties. Modified accordingly when they are called in m_scatrte.cc. Also did some cosmetic changes so that they look better in doxygen. * src/methods.cc: Removed the input stokes_dim from the methods calculating scattering properties. * src/scattproperties.cc: Cosmetic changes so that they look better in doxygen. 2002-12-19 Oliver Lemke * arts-1-1-343 * src/xml_io.cc: Bug fix in reading of SpeciesTag. Did not work when opening tag was not followed by whitespace. 2002-12-19 Stefan Buehler * src/absorption.cc (SpeciesTag): Added white space removal to constructor from string for SpeciesTag. * src/m_absorption.cc (gas_speciesSet): Moved white space removal to SpeciesTag constuctor. * src/xml_io.cc: Work in progress (together with Oliver). 2002-12-18 Oliver Lemke * arts-1-1-342 * src/xml_io.cc: Added GasAbsLookup.gal.nonlinear_species to reading and writing routine for GasAbsLookup table. * src/Makefile.am: Added partition_function_data.cc to test_xml_SOURCES. 2002-12-18 Oliver Lemke * arts-1-1-341 * src/xml_io.cc: Implemented reading/writing of SpeciesTag. * src/Makefile.am: Added absorption.* and species_data.cc to test_xml_SOURCES. 2002-12-17 Nikolay Koulev * arts-1-1-340 * src/complex.h: Added functions for absolute value and phase of complex numbers. * src/test_complex.cc: Minor changes. 2002-12-17 Oliver Lemke * arts-1-1-339 * src/Makefile.am: Merged changes from arts-1-0 branch. Reintroduced BUILT_SOURCES to fix bug discovered by Christian, removed special targets and explicit dependencies for make_auto*. * src/logic.cc: Include algorithm for max function. Include cmath instead of math.h 2002-12-17 Stefan Buehler * arts-1-1-338 * src/complex.h: Untabified. (I was the bad guy.) * src/complex.cc: Untabified. (I was the bad guy.) 2002-12-16 Nikolay Koulev * arts-1-1-337 * src/complex.h: Implemented basic arithmetic operations with complex numbers. But absolute value and phase still to be added. * src/test_complex.cc: Added some new test examples on complex numbers. 2002-12-16 Mattias Ekström * arts-1-1-336 * configure.in: Just a demonstration commit to show Mattias how CVS works. 2002-12-16 Stefan Buehler * arts-1-1-335 * src/complex.h: Complex numbers for ARTS. This is a quick implementation of complex numbers. I think most of the basic features are there. The operators += and + are already implemented as examples for the other operators. Have I forgotten anything important? Documentation for AUG must still be written! * src/complex.cc: Source file for complex numbers. At the moment only the output operator is here, all member function implementations are in the class declaration in complex.h. * src/test_complex.cc: Test complex numbers. * src/Makefile.am: Added new target test_complex. 2002-12-12 Stefan Buehler * arts-1-1-334 * src/gas_abs_lookup.cc (Extract): Cosmetic changes to Doxygen header. 2002-12-12 Stefan Buehler * arts-1-1-333 * I think all methods for using gas lookup tables are there now, although not all cases are implemented inside the methods. NOTHING IS TESTED YET, THOUGH. * src/workspace.cc (define_wsv_data): Updated documentation of: abs_scalar_gas, Added WSV gas_abs_lookup_is_adapted, a flag indicating that the lookup table has been adapted to the current calculation. * src/methods.cc (define_md_data_raw): Added the new methods: abs_scalar_gasExtractFromLookup, gas_abs_lookupAdapt. Updated the methods: ext_matInit, ext_matAddGas, abs_vecInit, abs_vecAddGas. Removed unnecessary arguments and cleaned up the documentation. * src/m_scatrte.cc: The variable abs_scalar_gas is a Matrix, not a Vector. The dimensions are [f_grid,gas_species]. We are not taking the sum of the gas absorption for the different species here, the sum is taken inside ext_matAddGas and abs_vecAddGas. The helper variable scalar_gas_array, which is used in some places, is now also a matrix, because it has to store the absorption for the different gas species separately. * src/m_optproperties.cc: Removed unnecessary #includes. (ext_matInit): Added. (ext_matAddGas): Rewritten. (abs_vecInit): Added. (abs_vecAddGas): Rewritten. Note that in all these methods there is no need for a distinction between the cases inside and outside the scattering box. Only the leading dimensions of the arguments are different. The methods are now quite simple. * src/m_absorption.cc (gas_abs_lookupAdapt): Added. (abs_scalar_gasExtractFromLookup): Added. * src/gas_abs_lookup.h: Updated. * src/gas_abs_lookup.cc: Mostly cosmetic changes here. 2002-12-11 Stefan Buehler * arts-1-1-332 * src/interpolation.cc: Allow a little bit of extrapolation. To be precise, we require that the new grid is no more than half a grid spacing away on either side of the old grid. Extrapolation to such a short distance should be safe. The main reason for this modification is that it solves the numerical problems that used to occur if the new grid was practically the same as the old grid. (In these cases the edge values of the new grid numerically sometimes happened to fall just outside the old grid.) This has the important consequence, that fractional distances can be <0 and >1 for points outside the original grid range. The new condition is that -.5 <= fd <= 1.5. The sum of all weights still is one, of course. (All functions:) Modified the assertion that compared the sum of all weights to 1 to use the new "fuzzy" comparison function (see below). This was necessary because numerical noise led to spurious failures of the original sharp assertion statement. * src/logic.cc (is_same_within_epsilon): Added. This function implements comparison of two numbers as recommended by Oliver. Both the two numbers and the comparison epsilon have to be specified. I recommend to always use this function for this task in future, so that we have some consistency. It is applicable in cases where there is no physical justification to require a certain absolute agreement. Instead, it checks that the two numbers agree to a certain number of digits. * src/logic.h: Updated. * src/test_interpolation.cc (test06): Added this test for the new extrapolation feature. * src/Makefile.am: Added make_vector to sources for test_interpolation. 2002-12-10 Claudia Emde * arts-1-1-331 * src/m_atmosphere.cc (AtmFieldsCalc): Small modifications. This method is now tested and is working. * src/m_io.cc (AtmFieldsFromAscii2Xml): Included this method. It converts atmospheric data from ascii to xml and writes the atmospheric fields (temperature, altitude, vmr) as gridded fields, which can be read using (AtmRawRead). * src/methods.cc: Included (AtmFieldsFromAscii2Xml). 2002-12-06 Stefan Buehler * arts-1-1-330 * src/methods.cc (define_md_data_raw): Fixed typo bug in documentation of ppath_stepGeometric (removed backslash). (define_md_data_raw): Added method gas_speciesSet. This is basically the same method that used to be called tgsDefine in ARTS-1-0, except for the new feature of specifying "nl" instead of the isotope. * src/workspace.cc (define_wsv_data): Fixed documentation of gas_species. * src/old_absorption.cc: Moved define_species_map to absorption.cc. * src/absorption.cc (define_species_map): Moved over this function from old_absorption.cc * src/absorption.h: Updated. * src/m_abs.cc: Removed tgsDefine. * src/m_absorption.cc (gas_speciesSet): Added (from old tgsDefine). * src/main.cc: Initialize species_data and species_map. * doc/examples/absorption_lookup_example.arts.in: Added gas_speciesSet. * src/mystring.h: Added a find function. But then I thought better of it and decided that for string we should continue to use string.find(). So, the new function is commented out. 2002-12-06 Stefan Buehler * arts-1-1-329 *.cc, *.c, *.h: Untabified everything. 2002-12-03 Patrick Eriksson * arts-1-1-328 * src/ppath.cc: There are now fewer WSM, only ppath_stepGeometric and ppath_stepRefractionEuler. The different options are now selected by keywords. I found this easier than having a lot of WSMs. Especially as I decided to add another option for the refraction method. There is now an option for how the refractive index shall be determined, always calculated from scratch or interpolated from grid cell boundaries. See the on-line help for info. The special 1D option is not active for the moment. I have done this now in several ways and the results is always the same. If the tangent point is forced to be (very) exact, then the results do not converge when decreasing the ray tracing length. On the other hand, if the ray tracing is free to find its own tangent altitude, the results converge (and a very close to perfect tangent altitude is found). It must be the case that rounding errors balance each other in the second case. 2002-12-02 Stefan Buehler * arts-1-1-327 * Fixed bug reported by Patrick. It took a while to find this. The problem was that agendas were not copied correctly. Tracked the problem down to the copying of MRecords, which are a part of Agenda. The problem is that STRUCTURES CONTAINING ARRAYS ALWAYS MUST DEFINE THE ASSIGNMENT OPERATOR. Otherwise copying the structure will trigger an assertion unless all arrays have the same size in original and target structure. That is of course not what we want, normally. * src/agenda_class.cc: (MRecord::operator=): Added. This is the bug fix. Also added output operator for MRecord and Agenda for debugging purposes. The implementation resides in .print() member functions for both classes. (Agenda::print): Added. (MRecord::print): Added. Output operators and print functions are not tested! * src/agenda_class.h: Updated. * src/token.cc (operator<<): Fixed output format to look like the tokens are given in the controlfile. (Not tested, needed only for debugging.) * src/continua.cc (MPM93_N2_continuum): Commented out one line to remove unused variable warning. (PWR98H2OAbsModel): Commented out one line to remove unused variable warning. 2002-12-02 Patrick Eriksson * arts-1-1-326 * src/ppath.cc: Things have been moved around a bit. A pure Euler approach has been implemented for 1D (used in Euler/EulerWithLmax). The 1D and 2D versions give basically identical results. The results converge when making the step lengtn smaller. The special 1D version that gives a symmetric path around tangent points is moved to be part of a new WSM ppath_stepRefraction1D. The results for this version do not converge when making the ray tracing step length shorter (and I can't find out why this is the case). * src/m_atmosphere.cc (r_geoidSpherical): New WSM. 2002-12-02 Oliver Lemke * arts-1-1-325 * src/array.h (find_all): pos has to be a reference. * src/absorption.cc (SpeciesTag::SpeciesTag): Use Stefan's find_first instead of the STL version. * src/xml_io.cc (xml_read_header_from_stream): Slighty improved error message for invalid xml header. 2002-12-01 Patrick Eriksson * arts-1-1-324 * src/ppath.cc (ppath_step_refr_2d): Appears to be ready. In contrast to the 1D function, the results converge when making the ray tracing step length smaller. However, the algorithms differ slightly and I will copy the 2D algorithm to 1D to get 1D versions. Fixed several bugs in the functions of the file. 2002-11-29 Stefan Buehler * arts-1-1-323 * src/agenda_class.cc Untabified. (execute): Implemented reporting level 4 to override silent agenda execution. * src/main.cc Untabified. (set_reporting_level): Implemented reporting level 4 to override silent agenda execution. * src/check_input.h: Untabified. (chk_size): Added. (chk_contains): Added. Checks if an array contains a certain value. Has to be here in the .h file, because it is a template function that works for any kind of array. * src/check_input.cc: Untabified. (chk_size): Added these functions for Vector up to Tensor7. They are similar to the is_size functions, but throw runtime errors with appropriate messages if the size does not match. Could be convenient for others as well, please use. * src/workspace.cc: Untabified. (define_wsv_data): Moved variable abs_scalar_gas to the right place and added documentation. * src/methods.cc: Untabified. (define_md_data_raw): Put in stub for gas_abs_lookupAdapt method (still commented out). * src/parser.cc: Untabified. Removed unused variables. (Detected thanks to the great new warnings of Oliver.) * src/old_absorption.cc: Moved some stuff to absorption.cc. * src/absorption.cc: Untabified. Added some Functions for SpeciesTag. (Moved over from old_absorption.cc and updated.) * src/absorption.h: Ditto. * src/gas_abs_lookup.h: Updated. * src/gas_abs_lookup.cc (find_new_grid_in_old_grid): Added. (Adapt): Worked mainly on this function. It is now more or less complete, but not tested. * src/array.h: Untabified. (find_first): Added. (find_all): Added. 2002-11-29 Claudia Emde * arts-1-1-322 * src/m_atmosphere.cc: (AtmRawRead): Added this method to read atmospheric scenarios. (AtmFieldsCalc): Added. Interpolates atmospheric fields on the atmospheric grids for the RT calculation. * src/methods.cc: Added methods above. * src/workspace.cc: Included WSVs for methods above: t_field_raw, z_field_raw, vmr_field_raw, vmr_field * src/m_cloudbox.cc: Removed some unused variables. 2002-11-29 Patrick Eriksson * arts-1-1-321 * src/ppath.cc (ppath_step_refr_2d): Finished this function. * src/ppath.cc (raytrace_2d_linear_euler): Created this function. Basically works but there are bugs to be removed. * src/ppath.cc (psurface_crossing_2d): Fixed a bug for cases with presssure surfaces without any slope. 2002-11-28 Patrick Eriksson * arts-1-1-320 * src/ppath.cc (ppath_step_geom_2d): Moved parts of this function to seperate functions, to be used by the corresponding functions for refraction. 2002-11-28 Oliver Lemke * arts-1-1-319 * ami/xml/xmlReadTensor*.m: Bug fix in indexing. The indexing is now the same as in arts. Example: t = xmlLoad('tensor5.xml'); % Read tensor5 t(1,1,1,1,:) % Print first row of tensor t(:,1,1,1,1) % Print first element of each shelf Array are treat as cells: a = xmlLoad('arrmatrix.xml'); % Read array of matrix a{1}(1,1) % Print first element of first matrix a{2}{1,:) % Print first row of second matrix a{2} % Print second matrix * ami/xml/xmlReadTag.m: Added. Splitted tag parsing routine from xmlLoad. * ami/xml/xmlLoad.m: Moved parsing of tags to xmlReadTag.m. * ami/xml/xmlReadArray.m: Simplified by using xmlReadTag. * ami/xml/xmlReadGasAbsLookup.m: Added. 2002-11-28 Oliver Lemke * arts-1-1-318 * configure.in: Added -Wconversion flag to warnings. Don't use -Wno-unused but -Wno-unused-parameter instead. Because we don't want to be harassed with unused function parameters but with unused variable we do. (gcc3 only) Changed the behaviour for the warning flags: By default -W -Wall -Wconversion are active. All warnings produced with this settings SHOULD BE FIXED!!! In certain cases it could be useful to turn on even more warnings by using --enable-more-warnings. But be warned, with this setting gcc becomes really rebellious. :-) Pass --enable-more-warnings to autogen.sh or configure. You may get a lot of false alarms depending on your compiler version. -enable-more-warnings activates -Wshadow -Wunreachable-code (and more to come) * src/ppath.cc (ppath_start_stepping): np was defined twice as local variable. Second declaration shadows first one. Number of pressure levels does not change -> removed second variable. * src/parser.cc (read_integer) and (read_numeric): Ony dummy variable shadows another. Renamed second dummy variable to chtmp to make the code easier to understand. (parse_method): Same with iterator i. * src/mystring.h (my_basic_string): Renamed parameter npos to numpos to avoid shadowing of member attribute of same name. * src/make_wsv_pointers_cc.cc (main): Renamed parameter wsv_pointers in function define_wsv_pointers to ref_wsv_pointers to avoid shadowing of global wsv_pointers variable. * src/m_physics.cc (MatrixToTbByRJ): Removed unnecessary re-definition of irep, ii and icol from else block. * src/matpackI.h,cc (Range::Range): Renamed joker param in constructors to j to avoid shadowing of global joker object. * src/agenda_class.{h,cc} (Agenda::set_name): Renamed parameter name to nname to avoid shadowing of member function Agenda::name(). 2002-11-28 Claudia Emde * arts-1-1-317 * src/logic.{cc,h} (is_singular), (is_diagonal): Implemented these functions to check whether a matrix is singular or diagonal. * src/agendas.cc (scat_mono_agenda): Modified input and documentation. The method *amp_matCalc* has to be part of the agenda as *amp_mat* stores the amplitude matrix for one frequency. Before we calculated amp_mat outside the agenda but this can not work for more frequencies. * src/rte.cc (rte_step): Used is_diagonal. * src/scatrte.cc (ScatteringMain): Included a switch: If the frequency grid holds only 2 frequencys the radiation field inside the cloudbox is only calculated for the first frequency. (i_fieldUpdate1D): Used is_singular. Executing all agendas silently now. * src/m_ppath.cc (ppathCalc): Ppath_step angenda is here executed silently now (exept when it is called for the first time). * src/m_cloudbox.cc: Removed some "couts" which were only used for debugging. * src/m_optproperties.cc (ext_matAddGas), (abs_vecAddGas): Minor modifications. 2002-11-28 Sreerekha T.R. * arts-1-1-316 * src/m_scatrte.cc (i_fieldUpdate1D_PlaneParallel): This method is added. The method is similar to i_fieldUpdate1D except that it takes that inside the cloudbox the atmosphere is planeparallel. * src/methods.cc : Added the above method. 2002-11-27 Patrick Eriksson * arts-1-1-315 * src/ppath.cc: No functionality changed, despite some small steps forward for 2D refraction, but the code has been restructured to make the code more compact and simplify the implementation of other ray tracing schemes. 2002-11-27 Claudia Emde * arts-1-1-314 * src/lin_alg.cc (norm_inf): Fixed a bug due to missing initialization. * src/m_cloudbox.cc (scat_iPut): Bug fixed. * src/m_scatrte.cc (i_fieldUpdate1D): Minor changes. 2002-11-27 Oliver Lemke * arts-1-1-313 * src/make_auto_wsv_groups_h.cc (main): Don't put comma at end of enumerator list in auto_wsv_groups.h. * src/methods.cc: Commented out UpdatePlaneParallel. @rekha: Please have a look. 2002-11-26 Sreerekha T.R. * arts-1-1-312 * src/scatproperties.cc: Fixed the warnings due to uninitialised varibles. 2002-11-26 Patrick Eriksson * arts-1-1-311 * src/ppath.cc: A short report on quite a lot of work. I have been working on a basic function for 1D ppath steps with refraction. I was not happy with the result for the first algorith so I tried several improvements. Now I understand that there are inherent problems and I finally selected an algorithm that can be extended to 2D and 3D. This would help to check the implementation for the different dimensions. The WSM is now called ppath_stepRefractionEuler as the method used is basically an Euler solution of the differential problem. I will write this down sometime in AUG, but I take it shortly here. Unfortunately, the path calculations do not converge to some result when making the ray tracing steps smaller. It seems to converge when going down to step length of maybe 100 m, but then the results start to move away again. I can't find any bugs in my calculations (the result when setting the refractive index to 1 is perfect). It must be the case that when making the ray tracing step very small, rounding errors start to be noticed, making the final result to slide away. Several improvements are possible, but I will take that later. I will now implement the same approach for 2D, as a reference case for later, more elaborated, schemes. 2002-11-26 Claudia Emde * arts-1-1-310 * src/methods.cc (i_fieldUpdate1D) and (i_fieldIterate): Included *abs_scalar_gas* in interface. * src/rte.cc (rte_step): Bug fixed. Assertion in check, if matrix is diagonal had to be outside the loop. * src/m_scatrte.cc (i_fieldUpdate1D): Modified. * src/agendas.cc (scalar_gas_absorption_agenda): Removed f_index from input list for testing purposes. * src/m_optproperties.cc (abs_vecAddGas): Bug fixed. Now scattering calculations can be performed again for an example absorption, which can be defined in the control file by setting the variable *abs_scalar_gas* in scalar_gas_absorption_agenda. 2002-11-26 Oliver Lemke * arts-1-1-309 * src/getopt.c: Moved comment after include to separate line. * src/Makefile.am: Added constants.cc to test_interpolation_SOURCES. * configure.in: Use a more sophisticated way to determine whether we are using a GNU compiler. 2002-11-25 Oliver Lemke * arts-1-1-308 * src/gas_abs_lookup.h (class GasAbsLookup): Don't use qualified names in member function definition. * src/matpack*.{cc,h}: Reverted to version 1-1-303. "using" statement in class definition is not supported in gcc < 3.x. :-( Moved back iterator stuff into header after reverting. Moved all operators returning Numeric elements also to header files for performance reasons. * configure.in: Add "-ansi -pedantic" to compiler flags when gcc is in charge. 2002-11-25 Claudia Emde * arts-1-1-307 * src/m_scatrte.cc (i_fieldUpdate1D): Included arguments to agendas to suppress output. * src/agendas.cc (opt_prop_gas_agenda) and (opt_prop_part_agenda): Corrected input and output of these agendas again. * src/linalg.cc (ludcmp): Bug fix to avoid possible use of uninitialized index. 2002-11-25 Oliver Lemke * arts-1-1-306 * src/matpackI.h (class VectorView): Don't use qualified names in member function definition. * configure.in: Moved -DNDEBUG from compiler flags to preprocessor flags. 2002-11-25 Stefan Buehler * arts-1-1-305 * src/agenda_class.h: Changed declaration of Agenda. * src/agenda_class.cc: Implemented an optional argument for Agenda::execute. If the argument is true, the agenda is executed silently, i.e., all output, except level 0 (error messages) is suppressed. If you call Agenda::execute() in a loop, you should call it without argument for the first time, then call it with argument true for the remaining iterations. * src/arts.h: Removed the line about NDEBUG. This is set by configure --enable-debug or --disable-debug. Hence, it must not be set explicitly in the code. Moved include for cassert to another position. * src/m_hdf.cc: Removed inclusion of config.h. (This is included by arts.h.) * src/methods.cc: Removed inclusion of config.h. (This is included by arts.h.) * src/main.cc: Removed inclusion of config.h. (This is included by arts.h.) 2002-11-25 Oliver Lemke * arts-1-1-304 * src/matpack*.{h,cc}: Moved implementation of iterator stuff into class definitions to get them inlined because we need maximum performance here. Removed reimplementation of 'operater() const' from the view classes and replaced them with a single 'using ConstXXXView::operator()'. This forces the compiler to call the correct const function for the non-const View classes. All in all, 254 function implementations removed from matpack. * src/matpackI.h: Fixed copy/paste error in last version. * src/xml_io.cc: Bug fixes to avoid possible use of uninitialized variables in try-catch-blocks. 2002-11-25 Claudia Emde * arts-1-1-303 * src/m_optproperties.cc: Renamed (m_scatproperties.cc) as this file now contains all workspace methods for calculating optical properties, not only the scattering properties. * src/agendas.cc (opt_prop_gas_agenda): Corrected input and output of this agenda. 2002-11-22 Claudia Emde * arts-1-1-302 * src/rte.cc/.h (rte_step): Created the general radiative transfer step function. The diagonal case I have taken from Patricks function (rte_step_clearsky_with_emission). Shifted (stokes_vecGeneral) from scat_rte.cc to this file. * src/scat_rte.cc/.h: Removed these files. All radiative transfer functions are now in rte.cc. * src/Makefile.am: Removed files above. * src/m_scatrte.cc: Modified (i_fieldUpdate1D), it uses the general RT function, now. 2002-11-22 Oliver Lemke * arts-1-1-301 * configure.in: Fixed messed up CFLAGS/CXXFLAGS. Introduced new variable DEBUG_FLAGS. 2002-11-22 Oliver Lemke * arts-1-1-300 * src/matpack*.{h,cc}, src/Makefile.am: Added cc files for matpack and moved implementation part. Otherwise, a compiler ignoring the inline keyword gets multiple defined symbols. NOTE: At the moment compilation is twice as fast as before. BUT there are some drawbacks in calculation speed because some frequently called functions (iterator stuff) have to be moved back to the header file to be inlined again. * configure.in: Increased template depth to 40 to get non-debug compiles working. Use CFLAGS/CXXFLAGS from environment variable also in debug mode. For basic optimizations set CFLAGS and CXXFLAGS to something like: export CFLAGS="-O2 -march=i686" export CXXFLAGS="$CFLAGS" Rerun autogen.sh afterwards. For maximum performance try something like: export CFLAGS=" -O2 -march=i686 -fforce-addr -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -fomit-frame-pointer -fexpensive-optimizations" export CXXFLAGS="$CFLAGS" * ChangeLog: Removed arts-0-x-x history. * ChangeLog-0.x: Added. Moved pre-1.0 changelog entries here. 2002-11-22 Stefan Buehler * arts-1-1-299 * src/workspace.cc (define_wsv_data): Added the variables a_pressure, a_temperature, and a_vmr_list, which can hold the local pressure, temperature, and list of VMRs, respectively. They are intended for communication with agendas and methods calculating absorption coefficients. Also replaced gas_tgs by gas_species. 2002-11-21 Claudia Emde * arts-1-1-298 * src/workspace.cc: Removed *scat_rte_agenda*. * src/agendas.cc: Removed *scat_rte_agenda*. * src/m_scatrte.cc: Modified functions which uses scat_rte_agenda - (i_fieldIterate) and (i_fieldUpdate1D). Included more checks and initialized all variables for the scattering calculations in the beginning of (i_fieldIterate), where they appear first. * src/methods.cc: Changed interface of methods above. * src/m_cloudbox.cc: Included more checks. 2002-11-21 Claudia Emde * arts-1-1-297 * src/workspace.cc: Included variable for scalar gas absorption *abs_scalar_gas* and frequency index *f_index*. Modified WSVs *ext_mat* and *abs_vec*. Removed *ext_mat_gas*, *ext_mat_part*, *abs_vec_gas*, abs_vec_part*. Removed also *scat_f_index*. This variable is replaced by *f_index*. Included and removed entries for agendas (see agenda.cc). * src/methods.cc: Added: - ext_matAddGas - ext_matAddPart - abs_vecAddGas - abs_vecAddPart Removed: - ext_mat_partCalc - abs_vec_partCalc - ext_mat_gasCalc - abs_vec_gasCalc - ext_mat_partScat - ext_mat_gasExample // Commented out the examples, may be we - abs_vec_gasExample // can use them again. * src/agendas.cc: Added: - scalar_gas_absorption_agenda - opt_prop_gas_agenda - opt_prop_part_agenda Removed: - ext_mat_agenda - abs_vec_agenda * src/m_scatrte.cc: Modified the (i_fieldIterate) and (i_fieldUpdate1D) according to the new variable definitions and new agenda definitions. Moved (stokes_vecGeneral) and (stokes_vecScalar) to the new file scat.rte.cc. These methods are ordinary functions now. *scat_rte_agenda* which can use only these functions, will be removed. Replaced *scat_f_index* by *f_index*. * src/m_cloudbox.cc: Replaced *scat_f_index* by f_index*. * src/m_scatproperties.cc: Added: - ext_matAddGas - abs_vecAddGas These methods are only dummy functions, as the method scalar_gas_absExtractFromLookup is not yet implemented. - ext_matAddPart - abs_vecAddPart These are only slightly modified versions of the former methods *ext_mat_partCalc* and *abs_vec_partCalc*. Removed: - ext_mat_partCalc - abs_vec_partCalc - ext_mat_gasCalc - abs_vec_gasCalc These methods are replaced by the new method. - ext_mat_partScat This method was only used for the convergence test. I think we do not need it anymore. It does not work with the modified variables, so I commented it out. - ext_mat_gasExample - abs_vec_gasExample Commented out the Examples. They also have to be modified if they should work with the new variables. * src/scat_rte.cc/h: This file contains now the functions for a radiative step calculation with scattering integral term. * src/Makefile.am: Included scat_rte.cc/h. * src/rte.cc: Included "scat_rte.h". 2002-11-20 Oliver Lemke * arts-1-1-296 * src/Makefile.am: Fixed typos gridded_field.h -> gridded_fields.h Removed no longer existent los.h. * doc/uguide/Figs/Makefile.am: Added fm_definitions, interpolation, polarization, ppath and scattering to SUBDIRS. * doc/uguide/Figs/{polarization,interpolation,scattering}/Makefile.am: Added missing Makefiles needed to build dist. * doc/uguide/Figs/{polarization,interpolation,scattering}/.cvsignore: Added. * configure.in: WARNING_FLAGS and -ftemplate-depth- are gcc specific. Therefore, they are now only set if gcc/g++ is in use, otherwise we break compilation with non-gnu compilers (e.g. HP/NEC). Added missing Makefiles needed to build dist. 2002-11-20 Stefan Buehler * arts-1-1-295 * src/gas_abs_lookup.cc: Continued work on the lookup table. I have now a first implementation for the simple case without temperature interpolation. The next step is to test this. * src/gas_abs_lookup.h: Updated. * src/m_absorption.cc: Added. This should hold workspace methods related to the general calculation of absorption coefficients. * src/workspace.cc (define_wsv_data): Added gas_abs_lookup. * src/methods.cc (define_md_data_raw): Added gas_abs_lookupInit. * src/make_auto_wsv_h.cc: Updated. * src/make_auto_wsv_groups_h.cc: Updated. * src/m_clonesize.cc: Updated. * src/groups.cc (define_wsv_group_names): Added group GasAbsLookup. * doc/examples/absorption_lookup_example.arts.in: Added. * configure.in: Added new example file. * src/Makefile.am: Updated. 2002-11-19 Patrick Eriksson * arts-1-1-294 * src/special_interp.cc (z_at_lat_2d): Created this function. * src/ppath.cc (ppath_step_refr_std_2d): Started on this function. (get_refr_index_2d): Created this function. 2002-11-18 Patrick Eriksson * arts-1-1-293 * src/ppath.cc (refraction_gradient_2d): Created this function. (ppath_step_refr_std_1d): Some improved comments. (ppath_start_2d): Moved some code from ppath_geom_2d and created this function as this code will be common with functions for refraction. 2002-11-17 Oliver Lemke * arts-1-1-292 * src/test_scatproperties.cc: Include cmath. Required on some systems (like marvin). * src/special_interp.cc: Include iostream for cout (GCC3). * doc/uguide/arts_methods_to_latex.sh: Workaround to get it working on marvin. * doc/doxygen/Makefile.am: File 'doxyfied' is now removed with make clean in maintainer-mode. ---------- Fixes for upcoming release 1.3 of doxygen. We have to care more about the format and tags we use in our comments because it contains now a validating parser instead of a lexical scanner. * src/parser.cc (eat_whitespace): @exceptions no longer exists, it is now called @exception. * src/old_absorption.cc (get_tagindex_for_Strings): Use

        instead of verbatim environment.

        * src/partition_function_data.cc (spec): Use 
.
        Inserted missing end tags.

        * src/species_data.cc: Inserted missing end tags.

2002-11-15  Patrick Eriksson  

        * arts-1-1-291

        * src/special_interp.cc/h: Created these files and moved atmospheric
        interpolation functions to these files from interpolation.cc/h.

        * src/ppath.cc (ppath_step_refr_std_1d): It seems that this function
        now works. So 1D with refaction should be finished. 
        This function is better than the corresponding function in arts-1.
        The tangent altitude is found with a better accuracy. The accuracy
        can be controled by a variable inside the function, which is now set
        to 0.1 m. The determination of the tangent altitude is not determined
        by the ray tracing step. 
        The maximum length of the ray tracing steps is now set by giving a 
        length. Small lengths can be used. I have tested steps down to 100m
        and it is very fast (as long as the calculation of refractive index is
        fast). However, some simple tests showed that step lengths below 1 km
        should not be needed (changing the ray tracing steps from 1 km to
        100m moved the tangent point about 250 m horisontally (for a tangent
        altitude close to ground), which should be compared to a total path
        length of many hundreds of km).

        (get_refr_index_1d): A temporary solution to get refractive index.
        The core function is taken from arts-1.

2002-11-15  Stefan Buehler  

        * arts-1-1-290

        * src/gas_abs_lookup.h: Continued to work on the structure of the table.

        * src/gas_abs_lookup.cc: Continued to work on the extraction function.

        * src/xml_io.cc: Adaptations to changed lookup table structure.

2002-11-15  Claudia Emde  

        * arts-1-1-289

        * src/m_scatrte.cc (convergence_flagAbs): Modified iteration counter.
        After the scattering calculation for the first frequency has converged 
        it is set to 100. This number indicates then that the iterations 
        should no longer be printed in (Tensor6WriteIteration).

        * src/m_cloudbox.cc (i_fieldSetClearsky): Initialization of i_field was
        missing.

        * src/m_scatproperties.cc

        I removed or commented the "cout"s, which we had included for 
        debugging.

2002-11-14  Patrick Eriksson  

        * arts-1-1-288

        * src/interpolation.cc (itw2p): Created this function to convert
        altitudes to pressures.
        
        (interp_atmsurface_XXXX and interp_atmfield_XXXX): Changed the name
        of the special functions to interpolate atmospheric fields and 
        surfaces, and changed the strategy somewhat. The following functions
        exist now (use them!):

           void interp_atm_field_gp2itw
           void interp_atmfield_by_itw
           void interp_atmfield_by_gp
           Numeric interp_atmfield_by_gp
           void interp_atmsurface_gp2itw
           void interp_atmsurface_by_itw
           void interp_atmsurface_by_gp
           Numeric interp_atmsurface_by_gp

        * src/m_ppath.cc (ppath_stepRefractionStd): The WSM to be used in the
        future for path calculations with refraction, using a basic/standard
        calculation approach.

        * src/ppath.cc (ppath_step_refr_std_1d): Started on this core function 
        for 1D path calculations with refraction.

2002-11-14  Oliver Lemke  

        * arts-1-1-287

        * ami/xml/xmlReadVector.m: Attribute is called nelem not nrows.

2002-11-14  Oliver Lemke  

        * arts-1-1-286

        * ami/xml/xmlReadVector.m: Added.

2002-11-14  Oliver Lemke  

        * arts-1-1-285

        * ami/xml/xmlReadTensor6.xml: Quick hack for Sreerekha. Exchanged
        order of col/rows.

2002-11-13  Claudia Emde  

        * arts-1-1-284

        * src/m_scatproperties.cc (pha_matCalc): Bug fixed in this function. 
        The off-diagonal elements were calculated wrongly, now the whole phase 
        matrix is calculated correctly.

        * src/m_scatrte.cc: Only documentation.

2002-11-11  Oliver Lemke  

        * arts-1-1-283

        * doc/doc++/Makefile.am, doc/doc++/html/Makefile.am,
        doc/doc++/tex/Makefile.am, doc/doc++/tex/docxx.sty: Removed.

        * doc/uguide/Makefile.am: Remove uguide.ind after generating dvi/pdf
        to avoid conflict between latex and pdflatex.

2002-11-11  Oliver Lemke  

        * arts-1-1-282

        * doc/uguide/uguide.tex: Use ifthen package to determine whether
        we are using pdflatex or vanilla latex. So, we don't need any
        longer the separate uguide_pdf.tex file.

        * doc/uguide/uguide_pdf.tex: Removed after merging into uguide.tex.

        * doc/uguide/Makefile.am: Adapted to create both ps and pdf file 
        from uguide.tex.

        Moved several files from MAINTAINERCLEANFILES to CLEANFILES.
        Everything except uguide.{ps,pdf,dvi} and automatically
        generated tex files can be removed.

        Remove uguide.toc after creation of ps/pdf file because latex and
        pdflatex use different formats for this file.

        Use -o option for dvips instead of output redirection.

        * doc/uguide/.cvsignore: Cleanup.

        * src/Makefile.am: $(EXEEXT) was still missing in some places.

2002-11-10  Oliver Lemke  

        * arts-1-1-281

        * configure.in: Version number correction.

2002-11-08  Claudia Emde  

        * arts-1-1-280

        * doc/uguide/scattering.tex: Restructured this chapter. Also 
        included some functions which have not been documented so far.

        * src/m_cloudbox.cc: Documentation.

        * src/m_scatrte.cc: Documentation.

2002-11-08  Oliver Lemke  

        * arts-1-1-279

        * src/Makefile.am: Append $(EXEEXT) to overridden targets. This
        prevents automake 1.5/1.6 from outputting errors but leads to
        warnings emitted by automake 1.4. But hey, a warning is better than
        an error, right? ;-) And it has the advantage that 'make' stops on
        errors but continues on warnings. automake 1.7 also just works fine.

2002-11-08  Oliver Lemke  

        * arts-1-1-278

        * configure.in: Use AM_MAINTAINER_MODE macro from automake instead
        of our homemade stuff. If --enable-maintainer-mode is used,
        additional dependencies are included in the generated Makefiles.
        E.g. when configure.in or any Makefile.am are changed the
        Makefiles are rebuild automatically with the next make. This
        is not necessary for end-users. --enable-maintainer-mode is
        passed by default to configure when you call autogen.sh.

        IMPORTANT NOTE: Dependency check on configure.in is only performed
        in top level directory. This means: After an update or modifying
        configure.in you *MUST* run make in the top level directory.

        Debugging is activated in maintainer-mode by default and disabled
        in end-user mode. This could be overridden by passing --enable-debug
        or --disable-debug to configure.

        Removed setting of arts-data path on smiles pcs to lookup2. Moved to
        autogen.sh because configure should not contain such special
        treatments.

        Cleanup. Removed some unused macros.

        * autogen.sh: Inserted hostname check and pass
        --with-arts-data=/pool/lookup2/arts-data to configure if we
        are on a smiles pc.

        * doc/uguide/Makefile.am, doc/doxygen/Makefile.am: Use
        MAINTAINER_MODE in conditional.

        * .cvsignore: Added autom4te.cache. Sorted.

2002-11-07  Oliver Lemke  

        * arts-1-1-277

        * src/xml_io.cc (ArtsXMLTag::read_from_stream): Skip
         blocks. Comments are only allowed to be put
        directly after the  tag or in front of the  tag.

2002-11-06  Oliver Lemke  

        * arts-1-1-276

        * src/xml_io.cc: Added io routines for SpeciesTag, ArrayOfSpeciesTag,
        ArrayOfArrayOfSpeciesTag.
        Reading/writing of SpeciesTag writes only the empty tags because the
        implementation part of SpeciesTag is not yet done.
        Moved function declarations and template instantations to
        xml_io_private.h.

        * src/absorption.h: Added type ArrayOfSpeciesTag. At the moment, this
        type is only used to define ArrayOfArrayOfSpeciesType to keep
        consistency with the way ArraysOfArrays are defined in arts.

        * src/xml_io_private.h: Added. Separated function declarations and
        template instantiations from implementation part.

        * src/Makefile.am: Added xml_io_private.h in several places.

2002-11-05  Oliver Lemke  

        * arts-1-1-275

        * autogen.sh: Cleanup. Added --gnu option to automake.

        * configure.in: Added AM_MAINTAINER_MODE.

        * absorption.h, m_abs.cc, old_absorption.cc, workspace.cc, xml_io.cc:
        Renamed OneTag to SpeciesTag.

        * absorption.h, gas_abs_lookup.h, groups.cc, m_abs.cc,
        m_clonesize.cc, old_absorption.cc, workspace.cc, xml_io.cc:
        Renamed TagGroups to ArrayOfArrayOfSpeciesTag.

        * src/m_xml.h, src/xml_io.h: Cleanup.

        * src/xml_io.cc: Started to add io routines for GasAbsLookup.

2002-11-05  Claudia Emde  

        * arts-1-1-274

        * doc/uguide/scattering.tex: Updated the description of the iterative
        method.

        * doc/uguide/sybol_defs: New sybols for the fields (radiation field and
        scattered field).

        * doc/uguide/references.bib: Added a new reference (Sreerekhas paper).

        * doc/uguide/Figs/scattering: Added this directory. Included also 
        figures for scattering part here.

2002-10-31  Patrick Eriksson  

        * arts-1-1-273

        * doc/uguide/fm_definitions.tex: Wrote some new text for RT and ground
        reflections. 

        * doc/uguide/ppath.tex: Revised old text and wrote new text, especially
        a section on finding path crossings of pressure surfaces.

        * src/ppath.cc (psurface_crossing_2d): Modified this function to also
        handle a quadratic slope term.

2002-10-31  Sreerekha T.R.  
        
        * arts-1-1-272
        
        * src/scatproperties.cc (amp2abs): Fixed a bug here for
        calculating the absorption vector for 2nd,3rd and 4th components.
        
2002-10-22  Nikolay Koulev  

        * arts-1-1-271

        * src/m_lineshapes.cc (elsVoigt_Kuntz6, elsVoigt_Drayson): Added
        these new lineshapes, the Voigt-Kuntz approximation with relative
        accuracy better than 2*10^-6 and the Voigt-Drayson one.

        * src/methods.cc: Added the respective descriptions for these 
        lineshapes.
        
2002-10-22  Patrick Eriksson  

        * arts-1-1-270

        * src/ppath.cc (ppath_step_geom_1d): Added a call of
        gridpos_force_end_fd for path steps ending on a pressure surface.
        The function was not working without this call.

        * src/interpolation.cc: Reverted to version before version 1-1-264.

2002-10-19  Oliver Lemke  

        * arts-1-1-269

        * ami/xml/xmlReadTensor[56].m: Bug fixed. Where to put books without
        shelves? :-)

        * src/main.c: Beautified output of arts -v.

2002-10-21  Claudia Emde  

        * arts-1-1-268

        * src/lin_alg.cc: Fixed a bug in (norm_inf). This function is used in 
        the matrix exponential function. 

        * src/m_cloudbox.cc: Small bug fix.

2002-10-18  Christian Melsheimer  

        * arts-1-1-267

        * doc/uguide/scattering.tex: some small corrections.

        * doc/uguide/polarization.tex: some small corrections.

2002-10-18  Oliver Lemke  

        * arts-1-1-266

        * ami/xml/xmlLoad.m: Removed debug output.

        * ami/xml/xmlReadArray: Bug fixes.

        * ami/xml/xmlReadTensor[3-5]: Added.

        * ami/xml/xmlCheckSize: Added. Checks whether the number of read data
        item corresponds to the intended number.

        * ami/xml/xmlReadTensor6, ami/xml/xmlReadMatrix: Corrected permutation
        of input vector.

        NOTE: The function name which is called for reading a data type from
        an XML file is put together in xmlLoad.m. So, for every new data type
        only a file called xmlRead.m has to be put into the
        directory.  Array and ArrayOfArray are working automatically
        (hopefully).
        
        WARNING: All implemented reading routines work as long as the input
        file is correct. There is currently nearly no error checking. All
        kinds of strange things may happen.

2002-10-17  Sreerekha T.R.  

        * arts-1-1-265
        
        * src/m_cloudbox.cc (scat_iPut): The size of scat_i_p was resized
        to the 1D case.  

2002-10-17  Claudia Emde  

        * arts-1-1-264
        
        * src/interpolation.cc (is_gridpos_at_index_i) and (gridpos2gridrange):
        Fixed bugs here. Interpolation weights which are Numeric were 
        compared to Index which caused serious errors in the ppath_step 
        calculations. Patrick, I have included comments were I made 
        modifications.

        * src/m_cloudbox.cc (CloudboxGetIncoming): Some modifictions. This
        method seems to work now!!!!

        * src/m_scatrte.cc (ScatteringMain): Modified according to the change
        in (CloudboxGetIncoming).

2002-10-16  Claudia Emde  

        * arts-1-1-263
        
        * src/m_cloudbox.cc (CloudboxGetIncoming): Modified. The function 
        calculates the initial field at the whole cloudbox boundary. Before 
        it only doing one boundary at a time.

        * src/m_scatrte.cc (ScatteringMain): Modfied according to the change
        in (CloudboxGetIncoming).
        
        * src/methods.cc: Modified the inputs and outputs to the above
        mentioned methods.
        
2002-10-15  Patrick Eriksson  

        * arts-1-1-262

        * doc/uguide/fm_definitions.tex: Just removed a small out-dated 
        comment.

2002-10-14  Oliver Lemke  

        * arts-1-1-261
        
        * configure.in: Call init with autogen.sh instead of reconf.

        * Makefile.am (EXTRA_DIST): Include autogen.sh instead of reconf.

        * reconf: Purged.

2002-10-14  Sreerekha T.R.  
        
        * arts-1-1-260
        
        * src/m_cloudbox.cc: The method CloudboxGetIncoming is modified
        for using the method RteCalc.  The inputs and outputs of this
        method has to be changed quite lot.
        
        * src/m_scatrte.cc: The method ScatteringMain also had to be
        modified as it calls CloudboxGetIncoming.

        * src/methods.cc: Modified the inputs and outputs to the above
        mentioned methods.
        
2002-10-14  Oliver Lemke  

        * arts-1-1-259
        
        * doc/uguide/arts_methods_to_latex.sh: Use typewriter font instead
        of verbatim environment to allow automatic linebreaks.

        * doc/uguide/Makefile.am (uguide_pdf.pdf): Added dependency from
        autotexfiles.
        Don't redirect output to /dev/null.

2002-10-14  Oliver Lemke  

        * arts-1-1-258
        
        * doc/uguide/arts_methods_to_latex.sh: Added missing backslash in
        front of levelb.

2002-10-14  Oliver Lemke  

        * arts-1-1-257
        
        * autogen.sh: Renamed reconf for GNU compliance.

2002-10-10  Christian Melsheimer  

        * arts-1-1-256

        * doc/uguide/references.bib: added a reference (chandrasekhar:60)
        
        * doc/uguide/polarization.tex: Some minor corrections, and added
        the correct proof for the inequality I^2 >= Q^2 + U^2 + V^2. It is
        quite lengthy and maybe not really interesting for the uguide, but
        I wanted to write it down somewhere. 

        * doc/uguide/Figs/polarization: created this directory, moved
        figures for polarization.tex here

2002-10-10  Claudia Emde  

        * arts-1-1-255

        * src/agendas.cc: Included scat_mono_agenda.

        * src/m_scatrte.cc: Renamed (scat_mainCalc) Now it is called 
        (ScatteringMain). Included scat_mono_agenda in this method.

        * src/methods.cc: Modified entry for the method above.
                
        * src/workspace.cc: Included scat_mono_agenda.
        
2002-10-09  Sreerekha T.R.  
        
        * arts-1-1-254
        
        * src/m_cloudbox.cc: The method CloudboxGetIncoming is
        implemented. Only the 1D case is implemented
        
        * src/m_scatrte.cc: Added the method scat_mainCalc which
        gives the interface variables and the frequency inded.
        Both these methods are to be tested to fix bugs.

        * src/methods.cc : Added these two methods.
        
2002-10-08  Patrick Eriksson  

        * arts-1-1-253

        * doc/uguide/ppath.tex: Included a new figure.

        * doc/uguide/fm_definitions.tex: Revised some text and wrote some
        new text on RT. Included a new figure. More work to be done.

        * doc/uguide/introduction.tex: Removed some old text. Added a to do
        list.

2002-10-08  Christian Melsheimer  

        * arts-1-1-252

        * doc/uguide/polarization.tex: extended the subsection on partial
        polarization, some minor additions to the rest
        

2002-10-01  Christian Melsheimer  

        * arts-1-1-251

        * doc/uguide/polarization.tex: some small corrections

2002-09-26  Patrick Eriksson  

        * arts-1-1-250

        * doc/uguide/fm_definitions.tex: Revised this chapter to the start of
        Section 3.5. Main changes connected to that blackbody_ground is
        removed.

2002-09-25  Oliver Lemke  

        * arts-1-1-249
        
        * ami/xml/xmlGetAttrValue.m, ami/xml/xmlReadArray.m,
        ami/xml/xmlReadMatrix.m, ami/xml/xmlLoad.m,
        ami/xml/xmlReadAttributes.m, ami/xml/xmlReadTensor6.m:
        Added. Intermediate commit. Parsing of tags and attributes
        basically working. Parsing of data TBD.

        * configure.in: Added ami/xml/Makefile.

        * ami/xml/.cvsignore: Added.
        
        * ami/xml/Makefile.am: Added.

        * ami/xml: Created.

2002-09-25  Sreerekha T.R.  
        
        * arts-1-1-248
        
        * src/workspace.cc : Removed the variable name i_field_Tb and
        introduced tensor6_1. 
        
2002-09-25  Oliver Lemke  

        * arts-1-1-247
        
        * configure.in: Removed ami subdirs.

        * ami/: Purged.
        
        * ami/Makefile.am: Removed subdirs.

        * ami/init.m: Removed subdirs.

2002-09-22  Patrick Eriksson  

        * arts-1-1-246

        * src/interpolation.cc (interp_atmsurface): Created this function in
        two versions.

        (interp_atmsurface): Created a version of this function for a single
        position.

        * src/ppath.cc: Removed two functions to calculate the specular angle
        for ground reflections.

        * src/rte.cc (ground_specular_los): Created this function, partly
        based on code from ppath.cc.

        * src/m_atmosphere.cc (GroundNoScatteringSingleEmissivity): Created
        this function. 

        (GroundTreatAsBlackbody): Smaller changes in this function due to
        new interpolation functions.

        * src/workspace.cc: Wrote text, or extended text, for several 
        variables.

        * src/agendas.cc: Wrote text for ground_refl_agenda. Added r_geoid
        and z_ground as input to the agenda.

2002-09-20  Stefan Buehler  

        * arts-1-1-245

        * src/matpackI.h: Added Constructors to make a ConstVectorView and
        VectorView of a scalar. The conversion of a Vector to a 1-column
        matrix was already implemented.

        * src/matpackIII.h: Added Constructors to make a Tensor3View from
        a MatrixView. (Also constant versions.)

        * src/matpackIV.h: Added Constructors to make a Tensor4View from
        a Tensor3View. (Also constant versions.)

        * src/matpackV.h: Added Constructors to make a Tensor5View from
        a Tensor4View. (Also constant versions.)

        * src/matpackVI.h: Added Constructors to make a Tensor6View from
        a Tensor5View. (Also constant versions.)

        * src/matpackVII.h: Added Constructors to make a Tensor7View from
        a Tensor6View. (Also constant versions.)

        * doc/uguide/matrix_vector.tex: Put in documentation for the new
        matpack feature to make things appear of larger dimension than they
        are.

        * src/test_matpack.cc (test33): Added this test for the new
        capability to make things look bigger than they are.

        * src/gas_abs_lookup.cc (Extract): Continued to work on this
        function.  

        * src/gas_abs_lookup.h: Changed argument type of extract to allow
        vectors of pressure and temperature.

2002-09-19  Stefan Buehler  

        * arts-1-1-244

        * src/Makefile.am (arts_SOURCES): Added gas_abs_lookup.h
        and gas_abs_lookup.cc.

        * src/gas_abs_lookup.h: Started this file. It contains the
        declaration of the gas absorption lookup table.

        * src/gas_abs_lookup.cc: Started this file. It contains the
        implementation of gas absorption lookup member functions.

        * src/old_absorption.cc: Old stuff, should be removed eventually.

        * doc/uguide/old_absorption.tex: Old stuff, should be removed
        eventually. 

        * doc/examples/old_absorption_example.arts.in: Old stuff, should
        be removed eventually. 

        * src/agenda_record.cc: Corrected file name in doxygen header.

        * ami/path/.cvsignore: Created this file. Added Makefile and
        Makefile.in. 

2002-09-17  Patrick Eriksson  

        * arts-1-1-243

        * There have been rather big changes for the clear sky RTE part.
        Some comments are given below. However, as I am the only one working
        with this part I am saving the energy to later to describe the RTE
        part in a good way in AUG and the online documentation.

        The problems I encountered for the ground reflections made me think
        in somewhat new ways, and voila, I found a new and better structure
        for the calculations. So right now I am happy.

        The RTE part is now rather complete, but I have only done practical
        tests for a few simple cases. So much bug checking is to be done.
        
        * src/m_rte.cc (RteEmissionStd) and (RteCalc): The functions are to a
        large extent restructured. Several tasks have been lifted from 
        rte_agenda functions (where RteEmissionStd is the only existing one so
        far) which is an advantage. The task of rte_agenda methods is now much
        clearer. 
        The restructuring made it possible to call RteCalc in a recursive way.
        This was needed to handle ground reflections following the new
        approach. In fact, the appraoch for ground reflections could be 
        followed to make scattering calculations in another way (which however
        would require changes to the ppath calculations). It is my hope
        that this approach will allow calculation of weighting functions 
        without to much problems (the first task will be to fix WFs with
        a scattering ground).

        * src/rte.cc (get_radiative_background): The old function 
        set_to_radiative_background has been renamed and to large parts been
        rewritten. All cases execpt when the path starts inside the cloud box
        are now handled (but not tested).
        
        (rte_step_clearsky_with_emission): This function was created before
        last commit but I forgot to mention it. This function makes an 
        automatic switch to the best way to calculate the matrix exponential.
        Shall a simialr function be made for the cloud box?
        That is, there is no agenda for this for the clear sky part.

        * src/m_atmosphere.cc (GroundTreatAsBlackbody): Created this function.
        This is the first function implemented for ground_refl_agenda.

        * src/interpolation.cc (gridpos_copy): Created this function to copy
        a GridPos.

        * src/m_cloudbox.cc (CloudboxOff): The function now also sets 
        scat_i_p, scat_i_lat, scat_i_lon, scat_za_grid and scat_aa_grid to be
        empty. This is needed as the variables must be input to RteCalc.

        (CloudboxGetOutgoing): Added to cloudbox_on is input to check that the
        cloud box is actually turned on. Added also a check that scat_za_grid
        not is empty, which would be the case if CloudboxOff is called and
        later cloudbox_on is set to 1 but no cloud box calculations have been
        performed. 
        
        Claudia, should some more safety checks be added? The header of the
        file is not updated since the re-naming of the function.

2002-09-16  Patrick Eriksson  

        * arts-1-1-242

        * src/***: The WSV blackbody_ground is removed. It caused many and
        problematic dependencies between WSVs. Ground reflections will also
        be handled in a different way and there is no longer a big need for
        blackbody_ground.
        This means that there is no constrain now for placing the cloud box.
        It is up to the user to decide if it is OK to have a gap between the
        ground and the cloud box.

        * src/m_ppath and ppath: The fields ground, i_ground, symmetry and 
        i_symmetry are removed from the Ppath structure. 
        The calculation of a propagation path now stops at all intersections
        with the ground. 
        
        * src/workspace.cc: Removed the WSV t_ground and e_ground, and the
        corresponding agendas.
        Introduced new variables for handling ground reflections: 
        ground_refl_agenda, ground_emission, ground_los and ground_refl_coeffs.

        * src/m_rte and rte: Removed old ground variables and started to
        incorporate the new ones. 

2002-09-16  Claudia Emde  

        * arts-1-1-241

        * src/methods.cc: Included stokes_vec also as input to the methods
        (stokes_vecScalar) and (stokes_vecGeneral).

        * src/m_scatrte.cc: (stokes_vecScalar) and (stokes_vecGeneral): 
        Assertion for stokes_vec added.

2002-09-16  Claudia Emde  

        * arts-1-1-240

        * src/m_cloudbox.cc (CloudboxGetOutgoing): Changed the name of the 
        method. Earlier it was (y_scatCalc). Changed the interface of the
        function. *cloudbox_los* and *cloudbox_los* are removed, instead of
        these variables there are the gridpositions *a_gp_p*, *a_gp_lat*,
        *a_gp_lon* and *a_los* for the direction. The 3D part is still 
        missing.

        * src/workspace.cc: Removed WSVs *y_scat*, *cloudbox_pos* and 
        *cloudbox_los*. Added WSVs *a_gp_p*, *a_gp_lat* and *a_gp_lon*.

        * src/methods.cc: Changed (y_scatCalc) to (CloudboxGetOutgoing).

        * src/groups.cc: Included GridPos as a new group.

        * src/xml.io.cc: Added IO function dummies for GridPos.

        * src/m_clonesize.cc: Added clonesize dummy for GridPos.

2002-09-13  Stefan Buehler  

        * arts-1-1-239

        * src/xml_io.cc: Added IO function dummies for TagGroups.

        * src/workspace.cc (define_wsv_data): Added WSV gas_tgs.

        * src/groups.cc (define_wsv_group_names): Added group TagGroups.

2002-09-10  Claudia Emde  

        * arts-1-1-238

        * src/m_cloudbox.cc (y_scatCalc): Created this function (for 1D). It 
        returns the spectrum after a scattering calculation on the cloudbox
        boundary for given position and direction.
        (i_fieldSetConst): Generalized this method. Now you can specify 
        differnt values for each Stokes component of i_field inside 
        the cloudbox.

        * src/workspace.cc: Included the variables *y_scat*, *cloudbox_pos*
        and *cloudbox_los* for the method *y_scatCalc*.

        * src/methods.cc: Added *y_scatCalc*.

2002-09-10  Oliver Lemke  

        * arts-1-1-237
        
        * src/xml_io.cc: Output the element that failed while reading for
        all ArrayOf and ArrayOfArray data types.
        
2002-09-10  Sreerekha T.R.  
        
        * arts-1-1-236
        
        * src/m_scatrte.cc (scat_fieldCalc): Sorry that the last version
        didn't compile. I have fixed it now.   
        
2002-09-10  Oliver Lemke  

        * arts-1-1-235
        
        * src/xml_io.cc: Improved error output if reading fails. Added
        output of column, row, page... of the erroneous element.
        
2002-09-10  Sreerekha T.R.  
        
        * arts-1-1-234
        
        * src/m_scatproperties.cc : Included stokes_dim as input to
        methods calculating scattering properties.  Earlier stokes_dim was
        taken from inputs themselves. Now more checks are also included.  

        * src/methods.cc : Adapted all the methods calculating scattering
        properties to include stokes_dima as input.   

        * src/agendas.cc : Changed the online documentation for
        ext_mat_agenda and abs_vec_agenda.  Earlier there was a
        misunderstanding because they were not looking like examples.
        Patrick had pointed out this some time back.

2002-09-09  Claudia Emde  

        * arts-1-1-233

        * src/m_scatrte.cc (i_fieldUpdate1D): Changed the calculation of the 
        planck function for one layer. Now the mean of the temperature is
        calculated first and afterwards the planck function.

        * src/m_cloudbox.cc (scat_iPut): Included this method. It puts the 
        scattered radiation field into the interface variables between 
        cloudbox and clearsky calculations.
        (i_fieldSetClearsky), (i_fieldSetConst): Shifted these methods here, 
        because they have nothing to do with scattering properties.

        * src/m_scatproperties.cc: Shifted the two methods above.

        * src/methods.cc: Included entry for scat_iPut.

2002-09-06  Claudia Emde  

        * arts-1-1-232

        * src/m_scatrte.cc (scat_fieldCalc): Bug fixed. The scattering
        intergral was only calculated for 180° zenith angle, because 
        because *pha_mat_spt* was not calculated in this function.
        (i_fieldUpdate1D): Fixed another bug here. Insted of I_0 on the 
        gridpoints layer mean values were taken.

        * src/methods.cc: Modified interface for (scat_fieldCalc).

2002-09-06  Christian Melsheimer  

        * arts-1-1-231

        * doc/uguide/Figs/pol_ellipse_arbitrary.fig
        * doc/uguide/Figs/pol_ellipse_arbitrary.eps
        * doc/uguide/Figs/pol_ellipse_arbitrary.pdf: corrected, now zeta
        has the correct sign...

2002-09-05  Christian Melsheimer  

        * arts-1-1-230

        * doc/uguide/polarization.tex: inserted one more figure

        * doc/uguide/Figs/pol_e45.fig  
        * doc/uguide/Figs/pol_e45.eps
        * doc/uguide/Figs/pol_e45.pdf: added these files.

2002-09-03  Christian Melsheimer  

        * arts-1-1-229

        * doc/uguide/Figs/pol_ellipse_aligned.fig
        * doc/uguide/Figs/pol_ellipse_aligned.eps
        * doc/uguide/Figs/pol_ellipse_aligned.pdf
        * doc/uguide/Figs/pol_ellipse_aligned.fig
        * doc/uguide/Figs/pol_ellipse_arbitrary.eps
        * doc/uguide/Figs/pol_ellipse_arbitrary.pdf: added these files.
        * doc/uguide/polarization.tex: Small corrections, and inserted 2
        figures
        

2002-09-03  Claudia Emde  

        * arts-1-1-228  
                
        * agendas.cc (spt_calc_agenda): MAde this agenda for calculating 
        the properties for single particle types. Using this agenda it is 
/       easy to do the convergence test, which seems to be very important to 
        make sure, that the model delivers correct results.

        * workspace.cc: Icluded spt_calc_agenda.
        
        * m_scatproperties.cc (ext_mat_sptScat) (ext_mat_partScat): Created
        these methods to calculate the particle extinction due to scattering 
        (without absorption). These methods can be used for doing a
        convergence test.

        * methods.cc: Included the methods above.

        * m_scat_rte: Use *spt_calc_agenda* in (i_fieldUpdate1D).

2002-08-30  Nikolay Koulev  

        * arts-1-1-227

        * /: Increased ChangeLog number.
        
2002-08-30  Nikolay Koulev  

        * arts-1-1-226

        * src/methods.cc: Added the Doppler line-shape entry.
        
2002-08-29  Claudia Emde  

        * arts-1-1-225

        * src/m_scatproperties.cc: Removed *psh_mat_conv_sptCalc*. This was 
        only needed for testing.

2002-08-29  Sreerekha T.R.  

        * arts-1-1-224
        
        * doc/examples/clearsky_field.xml : This is modified and
        corresponds to midlatitude summer case.  

        * src/m_scatproperties.cc : Modified the method
        abs_vec_gasExample.  The example absorption now corresponds to
        midlatitude summer case.

2002-08-29  Oliver Lemke  

        * arts-1-1-223
        
        * configure.in: Removed ami/path from AC_OUTPUT.

        * ami/Makefile.am (SUBDIRS): Removed path.
        
2002-08-29  Oliver Lemke  

        * arts-1-1-222
        
        * ami/path: Started to remove old ami files. Tried this one to see
        if cvs handles removing of empty directory.

2002-08-28  Claudia Emde  

        * arts-1-1-221

        * src/m_scatrte.cc (i_fieldUpdate1D): Bug Fixed. The absorption 
        vector was only calculated for one direction. Before 
        abs_vec_sptCalc we have to call pha_mat_sptCalc in the same loop. 
        So I also had to modify the interface of the function, pha_mat_spt
        must not be declared as constant.

        * src/m_scatrte.cc (Tensor6WriteIteration), (convergence_flagAbs): 
        Moved the iteration counter to convergence_flagAbs. Now it should 
        be posible to print out scat_field and i_field at the same time.

        * src/methods.cc: Modified entry for i_fieldUpdate1D.
        

2002-08-28  Sreerekha T.R.  
        
        * arts-1-1-220
        
        * src/m_scatrte.cc (scat_fieldCalc): The method is modified so
        that it can handle 3D cases also more efficiently than before.  
        
2002-08-26  Claudia Emde  

        * arts-1-1-219

        * doc/example/i_field_arts.in: Included the new methods into the 
        example.

2002-08-26  Claudia Emde  

        * arts-1-1-218

        * src/m_scatproperties.cc (i_fieldSetConst): Created this function
        to define a constant initial field inside the cloudbox.
        Renamed *i_fieldSet*. Now this method is called *i_fieldSetClearsky*.

        * src/m_scatrte.cc (Tensor6WriteIteration): This function counts the
        number of iterations and prints the iterated fields to files. 

        * src/methods.cc: Included the methods above.

        * src/workspace.cc: Added the variable *iteration_counter* which holds 
        the actual number of iterations. 

        
2002-08-26  Oliver Lemke  

        * arts-1-1-217
        
        * src/physics_funcs.cc (invrayjean): Merged bug fix from arts-1-0.

2002-08-26  Sreerekha T.R.  
        
        * arts-1-1-216
        
        * src/m_scatrte.cc (scat_fieldCalc): Fixed a bug in this
        method. Earlier it was giving same field for all viewing angles of
        a particular pressure level.  
        
2002-08-23  Sreerekha T.R.  

        * arts-1-1-215
        
        * doc/uguide/integration.tex: Added this documentation for
        integration. 

        * doc/uguide/main.tex, doc/uguide/Makefile.am : Added
        integration.tex.

        * doc/uguide/scattering.tex : Improved the documentation for the
        method i_fieldSet.

2002-08-22  Oliver Lemke  

        * arts-1-1-214
        
        * src/m_scatrte.cc: Use ostringstream instead of sprintf.

2002-08-22  Claudia Emde  

        * arts-1-1-213

        * src/m_scatrte.cc (i_fieldUpdate1D): Modified this function to get
        boundary conditions right. Some loops are rearranged so that the 
        function is more efficient. The values of the zenith angles are taken 
        as criterion for upward or downward propagation.
        The special case (zenith angle a bit higher than 90°) is still not 
        included. Here the first intersection point is at the same altitude
        as the initial point.
        
2002-08-22  Oliver Lemke  

        * arts-1-1-212

        * src/Makefile.am (test_interpolation_SOURCES): Copy list of
        sources from arts_SOURCES (Without main.cc on second try :-))
        because we nearly need everything here.

        * src/test_interpolation.cc (test01): Don't define joker class.

2002-08-21  Patrick Eriksson  

        * arts-1-1-211

        * src/m_scatrte.cc: Added #include  to nmake sprintf known.

        * src/m_physics.cc: Added this file and moved methods for conversion
        to Tb to this file.

        * src/check_input.cc (chk_not_empty): Added this function to give
        an error if an agenda is empty (that should never be alowed, or?).
        This function is now called in "my parts" before an agenda is used.

        The inclusion of agendas in check_input has made that 
        test_interpolation cannot now be linked. I started to add files to
        the sources for test_interpolation, but I just needed to add more.

        What to do? Can test interpolation be removed?

        * src/rte.cc: Added header to the functions in the file. Note 
        especially the function ground_reflection_with_emission that is
        intended as a general function to call to consider ground reflections
        with emission.

        * src/m_rte.cc (RteEmissionStd): The function now uses *t_field*
        to determine the temperature along the propagation path.

        * src/m_rte.cc (RteCalc): The function has been slightly modified as
        a preperation to include Hb. 

        * doc/uguide/fm_definitions.tex: The existing text, beside part on
        ground reflections, has been revised and adapted to changes in the
        source code.

2002-08-20  Sreerekha T.R.  
        
        * arts-1-1-210
        
        * src/m_scatrte.cc: Added the method *Tensor6ToTbByPlanck* and
        removed the method i_fieldtoTb.  This
        is a Generic method following yesterday's discussion.  But the
        frequency grid is taken as specific input.  This is because,
        inside cloudbox we have only one frequency which is specified by
        the variable scat_f_index.  And mostly intensity fields inside the
        cloudbox only are Tensor6. 

        * src/methods.cc : Added the method Tensor6ToTbByPlanck and
        removed the method i_fieldtoTb.

        * doc/examples/i_field_example.i_field_Tb.xml : Removed this
        output file following ARTS convention of not including the output
        files. 

        * doc//examples/i_field_example.arts.in : Usage of Generic method
        Tensor6ToTbByPlanck instead of i_fieldtoTb.

2002-08-20  Claudia Emde  

        * arts-1-1-209

        * src/scat_rte.cc (convergence_flagAbs): Included a counter for the 
        number of iterations. Each iteration field is written to a file. This
        modification is only made for testing the convergence behaviour and 
        will be removed later.

2002-08-19  Claudia Emde  

        * arts-1-1-208

        * src/scat_rte.cc (i_fieldUpdate1D): Fixed some bugs related to the
        boundary conditions. 

2002-08-19  Sreerekha T.R.  

        * arts-1-1-207
        
        * src/m_scatrte.cc (i_fieldtoTb): This method converts the i_field
        in radiance units to Planck brightness temperature.  This uses the
        function *invplanck* in physics_funcs.cc 

        * src/methods.cc : Added the method i_fieldtoTb.

        * src/workspace.cc : Added the workspace variable i_field_Tb.

        * doc/examples/clearskyfield.xml : This is an example file added
        to give realistic input to the interface at cloudbox boundaries.
        This is created from ARTS.1.0.  The boundaries in pressure
        altitudes are 360 hPa and 280 hPa.

        * doc/examples/i_field_example.arts.in : The cloudbox boundary is
        changed to 360 hPa and 280 hPa. The example can now read the
        interface field from the above file.  The pnd_field is changed
        from 1 to a more realistic value 1297m^(-3).  The example file was
        giving a decent output until the last update.  After the last
        update the i_field is giving 0 and nan at some places because of
        which I cannot run this example.  But for having a look at the
        initial result I have a copy of the result in my smiles_local
        which I can add to the repositary which can be removed later.  

        * doc/examples/i_field_example.i_field_Tb.xml : This is the
        i_field in brightness temperature unit for 4 pressure grids(2 at
        cloudbox boundary and 2 inside the cloud box) inside
        the cloudbox. 

2002-08-19  Claudia Emde  

        * arts-1-1-206  
                
        * src/m_scatrte.cc (i_fieldUpdate1D): Included cloudbox boundary 
                conditions. Radiation travelling out of the cloudbox is 
                defined to be 0 as it is not needed for the iterations.
                
        * src/m_scatrte.cc (stokes_vecGeneral): Bug fixed.

        * src/test_linalg.cc (test_lusolve1D): Added this function to see
                if the LU decomposition also works for scalar equations.
        
2002-08-16  Sreerekha T.R.  

        * arts-1-1-205          
                
        * configure.in: While checking in last time, I edited  cd .. in
        this file by mistake.  

        * doc/examples/i_field_example.arts.in : Forgot to add this file to
        the repository.

        * doc/examples/Makefile.am : Forgot to add this in the list
        arts_examples 

2002-08-15  Sreerekha T.R.  

        * arts-1-1-204

        * src/m_scatproperties.cc (abs_vec_gasExample): Added this
        method.  This method is implemented for test purposes.  It is
        necessary to have some realistic values of absorption coefficents
        for radiative transfer calculations. The absorption coefficients
        calculated using ARTS.1.0 are used in this method and they are
        interpolated onto the pressure grid used for RT calculations.

        * src/m_scatproperties.cc (ext_mat_gasExample): This method is
        also for facilitating test calculations.  This gives extinction
        matrix for gaseous species.  The diagonal elements are the
        absorption coefficients calculated from abs_vec_gasExample and the
        off-diagonal elements are zero.  

        * src/methods.cc : Added the above two methods with minimum
        documentations. 
        
        * doc/examples/i_field_example.arts : This is an example control
        file which can be used to test the scattering RT calculation.
        
2002-08-14  Patrick Eriksson  

        * arts-1-1-203

        * src/m_rte.cc (RteEmissionStd): Pieces of this function have been 
        lifted out to be functions in rte.cc. This to make it easier to make
        other verions of methods for rte_agenda.

        * src/workspace.cc: The variable *e_ground* is now a matrix to allow
        more elaborated treatments of ground reflections later.

        * To summerize. The ground is now included in the RTE part. Spectra
        can be produced, but only for dummy atmospheric temperature and 
        absorption. No connection with the cloud box yet.

2002-08-11  Patrick Eriksson  

        * arts-1-1-202

        * src/workspace.cc: New WSV is mblock_index. The usage of a_pos and 
        a_los has been extended.

        * src/agendas.cc: New agenda is i_space_agenda.

        * src/methods.cc: New WSM are VectorToTbByRJ, VectorToTbByPlanck,
        MatrixToTbByRJ and MatrixToTbByPlanck.

        * src/m_rte.cc (RteEmissionStd): Adopted to i_space_agenda.

        * src/math_funcs.cc (integer_div): New function.

        * src/logic.cc (is_multiple): New function.

2002-08-09  Sreerekha T.R.  

        * arts-1-1-201
        
        * src/m_scatrte.cc (i_fieldUpdate1D): The changes made here are
        mainly with reference to the size of i_field and scat_field.  This
        comes in all methods which use these variables.  For example, In
        the previous version the size of i_field was 
        i_field( N_p, N_lat, N_lon, N_za, N_aa, N_i ) whereas now it is
        changed to i_field( cloudbox_limits[1] - cloudbox_limits[0]) +1,
                        ( cloudbox_limits[3] - cloudbox_limits[2]) +1,
                        ( cloudbox_limits[5] - cloudbox_limits[4]) +1,
                         N_za, N_aa, N_i ).
        The code doesn't look very clean now because i have commented some
        parts of the code for Claudia to have a look at the changes i have
        made because she has written them.

        I had quite lot of problem at cloudbox boundaries while taking the
        average of *i_field* and *scat_field*.  That part has to be for
        sure rewritten.  But at present I retain them and comments on it
        will be really helpful.  

        * src/m_scatrte.cc (i_fieldIterate):There is some change in the
        input to *i_fieldIterate* which I forgot to enter in the Changelog
        file earlier.  The new input added to this method is scat_aa_grid.

        * src/m_scatrte.cc (scat_fieldCalc): Some bugs are fixed, as usual.

        * src/methods.cc : Changed inputs to i_fieldIterate.

        * src/workspace.cc : Changed the dimensions of i_field,
        i_field_old and scat_field.  Change the usage of amp_mat as output
        from amp_matCalc

2002-08-09  Patrick Eriksson  

        * arts-1-1-200

        * src/m_rte.cc (RteCalc): This function should now be ready. 

        * src/m_rte.cc (RteEmissionStd): The first attempt to create a
        method for rte_agenda.
        
        * src/m_rte.cc (VectorToTbByRJ): Started on this function. Not yet 
        ready.

        * src/m_rte.cc (yNoPolarisation): Created this function.

        * Polished on descriptions for included agendas, variables and methods.

        * The rather frequent commits depend on that I work both on the desktop
        and the laptop.

2002-08-08  Patrick Eriksson  

        * arts-1-1-199

        * src/m_rte.cc (RteCalc): Introduced some new variables and agendas
        around this function. Everything very preliminary so far.

2002-08-08  Oliver Lemke  

        * arts-1-1-198
        
        * src/check_input.cc: Bug fix.

2002-08-05  Nikolay Koulev   

        * arts-1-1-197
        
        * src/m_lineshapes.cc (elsDoppler): Added the Doppler line shape .
        
2002-08-08  Patrick Eriksson  

        * arts-1-1-196

        * src/m_rte.cc (RteCalc): Modified the input arguments and moved check
        of input to this function from ppathCalc. A first step to finish this
        function.

2002-08-05  Oliver Lemke  

        * arts-1-1-195
        
        * src/parser.cc (is_whitespace, eat_whitespace): Added backslash r
        as whitespace. Fixes bug which crashed arts when reading dos style
        control files under unix.
        
2002-08-01  Sreerekha T.R.  

        * arts-1-1-194

        * src/math_funcs.cc (AngIntegrate_trapezoid): Fixed bugs in this
        routine. 

        * scatproperties.cc : Again, fixed some bugs, mainly related to
        units of amplitude matrix, phase matrix and cross-sections. Tested
        the routines by reading in real values from the data base and it
        seems now that the calculation of scattering properties is
        correct.  I verified it with our old calculations when stokes_dim
        is equal to 1.  

2002-07-26  Sreerekha T.R.  
        
        * arts-1-1-193
        
        * src/m_scatproperties.cc (i_fieldSet): This methods interpolates
        the radiation field on all grid points inside the cloud box from
        the clear sky field.    This is the first guess for the iterative
        solution method.  The method is successfully tested for a 1-D case
        and hope that it works for 3-D too. 
        
        * src/methods.cc : Included the method i_fieldSet.
        
        * src/workspace.cc : Some minor corrections in the description of 
        scat_i_p and scat_i_lon.  
        
        * doc/examples : In the control file i_field.arts, added the path
        name for amplitude matrix data file.  But this data file cannot be
        used, as it has only one frequency and interpolation cannot be
        done if the old grid has only one point.  I made a new data file
        with more than one frequency and I am presently working with it
        for testing the scattering routines.  That data file is not at
        present in the package arts-data.  
        
2002-07-18  Patrick Eriksson  

        * arts-1-1-192

        * src/ppath.cc (ppath_step_geom_1d): Made a new version of this 
        function, using the same approach as in the same function for 2D. The
        code of the function is now much shorter and easier to understand.
        
        * src/ppath.cc (ppath_step_geom_2d): Fixed one bug. 

        * The 1D and 2D functions give the same result, for cases when this 
        shall be the case. The both functions are now hopefully finished.

2002-07-18  Claudia Emde  

        * arts-1-1-191

        * src/interpolation.cc: Included iostream.

2002-07-17  Claudia Emde  

        * arts-1-1-190

        * doc/uguide/scattering.tex: Some corrections according to
        suggestions by Sreerekha. 

2002-07-17  Patrick Eriksson  

        * arts-1-1-189

        * src/ppath.cc (ppath_step_geom_2d): 2D geometrical propagation path
        steps seem now to work, but no heavy bug checks (mainly a backup
        commit).

2002-07-15  Claudia Emde  

        * arts-1-1-188

        * doc/uguide/scattering.tex: Rewritten the explanation of the
        iteration scheme. More detailed now.

        * doc/uguide/main.tex: Renamed part III. Now it is "Mathematical
        functions" instead of "Linear algebra functions". 
        Added a new part "Theoretical background". Included chapter about
        polarization there. 

2002-07-05  Patrick Eriksson  

        * arts-1-1-187

        * src/ppath.cc: The story continues. Things work much better now. A 
        number of problems fixed. There is code for all parts, but there are 
        still some wormholes for more rare cases that must be fixed.

2002-07-04  Patrick Eriksson  

        * arts-1-1-186

        * src/ppath.cc: More work on 2D geom paths. A number of bugs fixed.
        Not all cases yet tested. Getting there slowly.
        (Mainly a commit to transfer changes to the laptop).

2002-07-04  Oliver Lemke  

        * arts-1-1-185
        
        * src/matpackVI.h (Tensor6), src/matpackVII (Tensor7): Replaced
        ',' in member element initialization list in constructors by
        '*'. This was the reason for random segfaults while copying
        Tensor6 and Tensor7.

2002-07-04  Patrick Eriksson  

        * arts-1-1-184

        * src/ppath.cc: More work on 2D geoemtrical propagation paths. 
        A first version ready, but all bugs must be fixed and probelms with
        numerical inaccuracies must be handled (tricky, tricky).
        New functions:
           geompath_from_r1_to_r2
           za_geom2other_point
           psurface_r_at_lat_2d
           ppath_copy
           ppath_append
           ppath_fill_2d
        
2002-07-03  Patrick Eriksson  

        * arts-1-1-183

        * src/ppath.cc: Work to get 2D geometrical propagation paths to work.
        Not yet ready. This is mainly a backup commit.

        * src/m_ppath.cc: As above, but the work in this is hopefully ready.

        * src/interpolation.cc (ArrayOfGridPosPrint): Created this function.

        * src/math_funcs.cc (sign): Created this function.

2002-07-03  Christian Melsheimer  

        * arts-1-1-182

        * doc/uguide/Makefile.am (texfiles): Added entries
        polarization.tex and scattering.tex 

2002-07-03  Sreerekha T.R.  
        
        * arts-1-1-181
                
        * doc/uguide/scattering.tex: Added documentation for the method
        *amp_matCalc*

2002-07-02  Claudia Emde  

        * arts-1-1-180

        * doc/uguide/scattering.tex: Added description for the scattering 
        database and the reading routines. Furthermore the documentation
        for the convergence test.

        * doc/uguide/references.bib: Added references for Mishchenko code.

        * src/workspace.cc: Fixed documentation for *amp_mat_raw*.

2002-07-02  Sreerekha T.R.  
        
        * arts-1-1-179
        
        * src/m_scatproperties.cc (amp_matCalc): Added the method
        amp_matCalc which calculates the workspace variable
        amp_mat from amp_mat_raw.  amp_mat_raw is in this
        method an ArrayOfArrayOfTensor6.

        * src/methods.cc : Added this method.

        * src/m_scatrte.cc : Fixed some bugs in the method 
        scat_fieldCalc.

2002-07-02  Christian Melsheimer  

        * arts-1-1-178

        * doc/uguide/polarization.tex: Added more details, especially on
        how to measure the Stokes parameters.

2002-07-01  Claudia Emde  

        * arts-1-1-177

        * src/m_cloudbox.cc (ParticleTypeAdd), (ParticleTypeInit): Modified
        the methods. Now, it is avoided to copy tensors so that the
        methods are more efficient.

        * src/workspace.cc: Modified entries for the methods above.
                
        * src/groups.cc, m_clonesize.cc, matpackIII.h, matpackVI.h,
        xml_io.cc,groups.cc: Included ArrayOfArrayOfTensor3 and
        ArrayOfArrayOfTensor6 everywhere. These datatypes are needed to be
        able to use the gridded fields efficiently.

2002-06-29  Stefan Buehler  

        * arts-1-1-176

        * src/m_abs.cc (xsec_per_tgAddLines): Suppressed output of all
        transitions to do to out3. This takes longer than the calculation
        itself, if you calculate with the entire HITRAN database!

2002-06-28  Stefan Buehler  

        * arts-1-1-175

        * src/interpolation.cc (interpweights): Added "red" interpweights
        functions for dimensions 1 to 6.
        (interp): Added "red" interp functions for dimensions 1 to 6.
        Red interpolation means interpolation to a scalar. This is not yet
        tested at all.

2002-06-28  Oliver Lemke  

        * arts-1-1-174
        
        * src/m_cloudbox.cc (ParticleTypeAdd): Bugfix - endl not working
        in out2, replaced by newline.
        
2002-06-28  Oliver Lemke  

        * arts-1-1-173
        
        * src/gridded_fields.cc: Include iostream.
        
        * src/scatproperties.h: Removed non-used headers from includes.
        
        * src/scatproperties.cc: Moved include logic.h from header file.

        * src/test_tensor.cc, src/ppath.cc, src/poly_roots.cc,
        src/physics_funcs.cc, src/m_scatrte.cc, src/m_scatproperties.cc,
        src/m_ppath.cc, src/m_io.cc, src/m_hdf.cc, src/m_atmosphere.cc,
        src/math_funcs.cc, src/m_abs.cc, src/lineshapes.cc,
        src/lin_alg.cc, src/interpolation.cc, src/file.cc,
        src/continua.cc, src/cloudbox.cc: Include c++ header cmath instead
        of math.h.

        * src/arts.h: Removed commented list of non-included standard
        headers.

        * src/main.cc (main): Output precision with -v.

        * src/test_matpack.cc: Include cmath to compile properly on HP-UX.

2002-06-27  Claudia Emde  

        * arts-1-1-172
                
        * src/workspace.cc: Modified the documentation for *amp_mat_raw*
        and *pnd_field_raw*. We decided that these variables are gridded 
        fields.

        * src/gridded_fields.cc: Included error messages, runtime errors 
        instead of 'cout'.
        
2002-06-19  Stefan Buehler  

        * arts-1-1-171

        * doc/uguide/app_groups.tex: Replaced "WSV" by "workspace variable".

2002-06-27  Claudia Emde  

        * arts-1-1-170

        * src/gridded_fields.cc/h: Added. Reading routines for gridded
        fields which use Olivers gridded tensor validation routines.

        * src/Makefile.am: Added gridded_fields.cc/h.

        * src/m_cloudbox.cc: Added new methods (ParticleTypeInit) and
        (ParticleTypeAdd) to read from the scattering database and construct
        *amp_mat_raw*. 

        * src/methods.cc: Included the methods above.
                
        * src/m_scatrte.cc: Modified (i_fieldIterate), the scattering
        integral function is now included. 
                
2002-06-26  Oliver Lemke  

        * arts-1-1-169

        * src/test_griddedtensorcheck.cc: Added. Optimized gridded tensor
        validation routines. Temporarily added for testing, could be
        removed in the near future when everything works as expected.

        * src/Makefile.am: Added target test_griddedtensorcheck.

        * src/xml_io.cc (xml_read_from_stream): Added better error output
        when data reading fails (Only for tensor6 at the moment).

2002-06-26  Christian Melsheimer  

        * arts-1-1-168

        * doc/uguide/main.tex (paragraph{#1}}): Added \include{polarization}.

        * doc/uguide/scattering.tex: Moved section "Polarization and
        Stokes Parameters" to new file and chapter.

        * doc/uguide/polarization.tex: Created new file and moved the
        section "Polarization and Stokes Parameters" (was in
        scattering.tex, see arts-1-1-166) here, it is now a chapter.

2002-06-26  Oliver Lemke  

        * arts-1-1-167
        
        * doc/uguide/arts_groups_to_latex.sh: Replaced remaining echos
        with cat.

2002-06-26  Christian Melsheimer  

        * arts-1-1-166

        * doc/uguide/scattering.tex: Recommitted changes (see
        arts-1-1-164), probably I forgot to save before committing
        1-1-164·...

2002-06-25  Sreerekha T.R.  

        * arts-1-1-165

        * doc/uguide/scattering.tex : Some modifications in the part
        regarding the calculation of scattering properties.  Added the
        section about calculating the scattering integral.
        
        * src/m_scatproperties.cc, m_scatrte.cc, workspace.cc, methods.cc:
        Renamed workspace variable pha_mat_part to pha_mat.

        * src/m_scatproperties.cc, m_scatrte.cc, workspace.cc, methods.cc:
        Renamed workspace method pha_mat_partCalc to pha_matCalc.

        * src/m_scatrte.cc, methods.cc: Renamed workspace method 
        scat_integralCalc to scat_fieldCalc to be consistent with the
        naming scheme in ARTS.
        
2002-06-25  Christian Melsheimer  

        * arts-1-1-164

        * doc/uguide/fm_definitions.tex: Americanized spelling

        * doc/uguide/symbol_defs: Redefined \Re and \Im (real and imaginary
        part (now: non-italic "Re" and "Im", like function names)

        * doc/uguide/ppath.tex: Americanized spelling.

        * doc/uguide/scattering.tex: Added section "Polarization and
        Stokes Parameters", did spell check and americanized spelling.

2002-06-25  Oliver Lemke  

        * arts-1-1-163
        
        * src/xml_io.cc (read_from_stream): Fixed bug when more data is
        available inside tag than expected.

        * doc/uguide/arts_groups_to_latex.sh: Use cat instead of echo to
        avoid misinterpretation of escape chars.

        * doc/uguide/arts_methods_to_latex.sh: Rewritten. Use case instead
        of if/grep combinations -> speedup by factor 10.
        
        Use cat instead of echo to avoid misenterpretation of escape chars.

        * doc/uguide/app_methods.tex: Modified text.

2002-06-25  Sreerekha T.R.  
        
        * arts-1-1-162
        
        * doc/examples/scatproperties_example.arts.in: I
        forgot to add this file while checking in last time.
                
2002-06-25  Sreerekha T.R.  
        
        * arts-1-1-161
        
        * src/m_scatrte.cc: The method scat_integralCalc is 
        extended for 3-d case.  

        * src/m_scatproperties.cc : Added more comments and 
        checks.

        * doc/examples/scatproperties_example.arts.in : I used 
        this control file to check the methods used for 
        calculating single scattering properties.

2002-06-24  Sreerekha T.R.  

        * arts-1-1-160

        * src/m_scatrte.cc (scat_integralCalc): Added the workspace
        variables pha_mat_spt and pnd_field as input to this method.
        Earlier pha_mat_part was directly given as input, but now we
        calculate pha_mat_part inside the method from pha_mat_spt 
        and pnd_field.  

        * src/methods.cc: The inputs are changed here also. The 
        documentation is also modified.
                
2002-06-21  Claudia Emde  
        
        * arts-1-1-159

        * m/scatrte.cc (i_fieldUpdate1D) and (i_fieldIterate): Some
        modifications to include the scattering integral. 
        Calculation of optical properties modified.

        * src/methods.cc: Changed interfaces for the methods above.
        
2002-06-21  Sreerekha T.R.  

        * arts-1-1-158
        
        * src/m_scatrte.cc : Added the method scat_integralCalc which
        computes the scattering integral.

        * src/methods.cc : Added the method scat_integralCalc.
        
2002-06-21  Sreerekha T.R.  

        * arts-1-1-157
        
        * src/m_scatproperties.cc (abs_vec_partCalc): Changed the inputs
        to methods abs_vec_partCalc, ext_mat_partCalc, pha_mat_partCalc.

        * src/methods.cc : Changed the inputs for the above methods.

2002-06-20  Claudia Emde  

        * arts-1-1-156

        * src/m_rtescat.cc (i_fieldUpdate1D) and (i_fieldIterate):
        Included the functions and agendas for calculating the optical
        properties. Modified the interfaces of the functions.
        (convergence_flagAbs): Limiting values for the convergence test
        are now keywords, which can be specified in the control file.
        
        * src/methods.cc: Adapted interfaces according to the changes
        above.

        * doc/i_field.arts: Added agenda definitions for the calculations
        of optical properties.

2002-06-20  Claudia Emde  

        * arts-1-1-155
                
        * src/m_scatproperties.cc: Fixed and marked some bugs.

        * src/workspace.cc: Added variables *scat_p_index*, 
        *scat_lat_index*, *scat_lon_index*.

2002-06-19  Claudia Emde  

        * arts-1-1-154
                
        * src/workspace.cc: Added variables *amp_mat_raw* and
        *pnd_field_raw*.
                
        * src/groups.cc: Included ArrayOfTensor3 and ArrayOfTensor6 to be
        able to include the variables above.

        * src/xml_io.cc: Added reading and writing routines for
        ArrayOfTensor3 and ArrayOfTensor6.

        * src/m_clonesize.cc: Included ArrayOfTensor3 and ArrayOfTensor6.

        * src/m_scatrte.cc: Included this file. It should contain all
        functions concerning the radiative transfer inside the scattering
        box. 
        Worked on (i_fieldUpdate1D). Tried to put in Sreerekhas functions.
        This is not finished yet.

        * src/methods.cc: Modifications of the interfaces of
        (i_fieldUpdate1D) and (i_fieldIterate).
        
        * src/Makefile.am: Included m_scatrte.cc.

        * src/m_cloudbox.cc: Shifted a lot of functions to m_scatrte.cc.

        * src/agendas.cc: Only small modifications in the documentation.

2002-06-19  Sreerekha T.R.  

        * arts-1-1-153

        * src/agendas.cc: Added the agendas ext_mat_agenda
        and abs_vec_agenda.

        * src/m_scatproperties.cc : The dimension of pnd field
        is changed from pnd_field ( p_grid, lat_grid, long_grid, 
        part_types) to  pnd_field ( part_types, p_grid, lat_grid,
        long_grid)
        
2002-06-18  Stefan Buehler  

        * arts-1-1-152

        * src/methods.cc: Added supergeneric ReadXML and WriteXML
        methods. Removed other XML IO methods.

        * src/m_xml.h: Added. Contains the template functions for
        supergeneric XML IO. This is the original template function from
        Oliver Lemke, I've just moved it here.

        * src/m_xml.cc: Removed.

        * src/xml_io.cc: Added dummy functions for groups for XML IO is
        not yet implemented.

        * src/make_auto_md_cc.cc: Added #include for m_xml.h.

        * doc/examples/absorption_example.arts.in: Example now uses
        supergeneric WriteXML.

        * src/groups.cc: Commented out groups TagGroups,
        ArrayOfLineRecord, and ArrayOfArrayOfLineRecord.

2002-06-18  Sreerekha T.R.  

        * arts-1-1-151
        
        * src/m_scatproperties.cc (abs_vecCalc): The methods
        abs_vecCalc and ext_matCalc are implemented. The method
        abs_vecCalc sums up the particle absorption vector and 
        gaseous absorption vector (abs_vec_part + abs_vec_gas) 
        and the method ext_matCalc sums up the particle extinction
        matrix and gaseous extinction matrix (ext_mat_part + ext_mat_gas).

        * src/math_funcs.cc : moved the integration routine 
        AngIntegrate_trapezoid from scatproperties.cc to here. 

        * src/methods.cc : added the methods abs_vecCalc and 
        ext_matCalc

        * src/workspace.cc : added the variables ext_mat_gas 
        and abs_vec_gas.  The documentation for this is at present
        bit clumsy.

2002-06-18  Stefan Buehler  

        * arts-1-1-150

        * src/parser.cc: Fixed handling of supergeneric methods. 

        * src/methods_aux.cc: Fixed handling of supergeneric methods. 

        * src/methods.h: Fixed handling of supergeneric methods. 

        * src/make_auto_md_h.cc: Fixed handling of supergeneric methods. 

        * src/make_auto_md_cc.cc: Fixed handling of supergeneric methods. 

        * src/methods.h: Added field mactual_group and function
        ActualGroup to MdRecord.

        * src/m_clonesize.cc: Name no longer contains group.

        * src/methods.cc: Added Ignore.

        * src/m_ignore.h: Added. Implementation of supergeneric Ignore
        method. 

        * src/m_copy.cc: Removed.

        * src/m_copy.h: Added. Implementation of supergeneric Copy method
        is now a template function here.

        * src/Makefile.am: Added m_copy.h, m_ignore.h, remove m_copy.cc.

        * doc/examples/absorption_example.arts.in: Example uses now
        CloneSize and Ignore.

2002-06-18  Oliver Lemke  

        * arts-1-1-149
        
        * doc/uguide/app_methods.tex: Added.

        * doc/uguide/main.tex: Include app_methods.tex.

        * doc/uguide/.cvsignore: Added auto_methods.tex.

        * doc/uguide/Makefile.am: Added auto_methods.

        * doc/uguide/arts_methods_to_latex.sh: Added. Converts online
        documentation to latex.

        * src/methods.cc: Removed "backslash a"-typo from descriptions.

2002-06-18  Sreerekha T.R.  

        * arts-1-1-148

        * src/m_scatproperties.cc (pha_mat_partCalc): Added this method
        which calculates the phase matrix.  

        * src/workspace.cc : added variables pha_mat_part

        * src/methods.cc : added the method pha_mat_partCalc.

2002-06-18  Oliver Lemke  

        * arts-1-1-147

        * src/methods_aux.cc: Removed default argument which is already
        given in declaration.
        
2002-06-18  Oliver Lemke  

        * arts-1-1-146

        * src/methods.cc: Changed all md_data. to md_data_raw.

2002-06-17  Sreerekha T.R.  

        * arts-1-1-145

        * src/m_scatproperties.cc (abs_vec_partCalc): Added the methods
        abs_vec_partCalc and ext_mat_partCalc.  These methods sums up 
        the absorption as well as extinction matrices for single particle
        types weighted with the particle number density.

        * src/workspace.cc : added variables ext_mat_part, abs_vec_part
        and pnd_field.

        * src/methods.cc : added the method abs_vec_partCalc and 
        ext_mat_partCalc.

2002-06-17  Stefan Buehler  

        * arts-1-1-144

        * General: First implementation of supergeneric methods. Not quite
        finished yet, there are some things I want to modify in the next
        version. But basically it works.

        * src/supergeneric.h: Added.

        * src/m_copy.cc: Added.

        * src/m_clonesize.cc: Added.

        * src/groups.cc: Added group Any_.

        * src/methods.cc: Added supergeneric methods CloneSize and Copy.

        * src/parser.h: Put in supergeneric methods.

        * src/parser.cc: Put in supergeneric methods.

        * src/methods_aux.cc: Put in supergeneric methods.

        * src/methods.h: Put in supergeneric methods.

        * src/make_auto_wsv_groups_h.cc: Put in supergeneric methods.

        * src/make_auto_md_h.cc: Put in supergeneric methods.

        * src/make_auto_md_cc.cc: Put in supergeneric methods.

        * src/main.cc: Put in supergeneric methods.

        * src/globals_2.cc: Put in supergeneric methods.

        * src/Makefile.am: Added new source files.

        * src/matpackI.h (Matrix& Matrix::operator=(const Matrix& m)): 
        Added comment to doxygen header about deprecated resizing for
        empty target.
        (Vector& Vector::operator=(const Vector& v)): Implemented resizing for
        empty target, to allow ArrayOfVector (should we ever need
        this). Added comment to doxygen header about deprecated use of
        this feature in user code.

2002-06-17  Claudia Emde  

        * arts-1-1-143

        * src/m_cloudbox.cc (convergence_flagAbs): Added this function. It
        performs a convergence test checking the maximal absolute
        difference for all components of the radiation field.

        * src/workspace.cc: Added variables *convergence_flag* and
        *i_field_dim* (for a 1D atmosphere the radiation field can be 2D
        or 3D!)
                
        * src/methods.cc: Added method *convergence_flagAbs*.

        * src/agendas.cc (convergence_test_agenda): Added the agenda for
        the convergence test.

2002-06-17  Oliver Lemke  

        * arts-1-1-142
        
        * doc/uguide/arts_groups_to_latex.sh: Fixed doc header to use
        $ARTS and only use the first line from arts -v output.

2002-06-15  Sreerekha T.R.  
        
        * arts-1-1-141
        
        * src/m_scatproperties.cc (abs_vec_sptCalc): modified this method.
        Added *scat_za_grid* and *scat_aa_grid* as inputs to this method
        since this is required for integration of the phase matrix.  

        * src/methods.cc : added  *scat_za_grid* and *scat_aa_grid* as 
                input to the method abs_vec_sptCalc.
        
2002-06-14  Sreerekha T.R.  

        * arts-1-1-140
        
        * src/scatproperties.cc,
          m_scatproperties.cc : a quick modification on the 
                coding style following Oliver's suggestions.
        
2002-06-14  Oliver Lemke  

        * arts-1-1-139
        
        Merged changes from ARTS-1-0 branch.
        
        * src/main.cc (main): Output os info with -v.
        
        * src/getopt.h: Use getopt_long prototyping for GNU C, HP-UX and
        SunOS.

        * configure.in: Determine operating system name and version. Name
        is defined in OS_NAME, version in OS_VERSION.

2002-06-14  Claudia Emde  

        * arts-1-1-138
                
        * doc/uguide/scattering.tex: Modified documentation according to
        the methods in (scatproperties.cc) and (m_cloudbox.cc). 

2002-06-14  Sreerekha T.R.  

        * arts-1-1-137
        
        * src/scatproperties.cc : completed the functions amp2ext,
        amp2pha,amp2abs called by ext_mat_sptCalc, pha_mat_sptCalc
        and abs_vec_sptCalc respectively.  Added more documentation
        in the comment.  Also the new routine for solid angle integration
        of Matrix is included here. I think it is better to shift this
        function to math_funcs.cc or so.   

2002-06-14  Claudia Emde  

        * arts-1-1-136

        * src/methods.cc: Included methods for RT with scattering:
        (stokes_vecGeneral) General computaion of the RTE, works for all 
        Stokes dimensions.
        (stokes_vecScalar) Special function which is more efficient for 
        computing the scalar RTE.

        * src/agendas.cc (scat_rte_agenda): Agenda to compute the RT inside
        the cloudbox.

        * src/workspace.cc: Included workspace variables for the methods
        above:
        - stokes_vec
        - l_step
        - planck_function
        - ext_mat
        - abs_vec
        - sca_vec

        * src/m_cloudbox.cc: (stokes_vecGeneral) and (stokes_vecScalar)
        added. (i_fieldIterate) and (i_fieldUpdate1D) modified so that
        (scat_rte_agenda) can be executed.

        * doc/examples/i_field.arts: This example executes now
        *ppath_step_agenda* and *scat_rte_agenda*).

        * src/cloudbox.cc/h: No functions are left here at the moment.

        * src/Makefile.am: Removed cloudbox.cc/h from arts_SOURCES.
        
2002-06-13  Stefan Buehler  

        * arts-1-1-135

        * doc/uguide/agendas.tex: Continued.

        * doc/uguide/concept.tex: Started to work on this again.

        * doc/uguide/main.tex: Changed "on" to "of" in \startsymbols.

        * doc/uguide/scattering.tex: Removed some TeX warnings, together
        with Claudia.

2002-06-12  Stefan Buehler  

        * arts-1-1-134
        
        * configure.in: Updated copyright notice.

        * doc/uguide/agendas.tex: Put in Section about WSVs. Started
        Section about WSMs. Agenda WSMs and Section on Agendas still
        missing. 

        * src/workspace.cc: Only cosmetic changes.

        * src/methods.cc: Only cosmetic changes in elsLorentz.

2002-06-12  Claudia Emde  

        * arts-1-1-133

        * src/cloudbox.cc,
         src/cloudbox.h,
         src/lin_alg.cc,
         src/lin_alg.h,
         src/m_cloudbox.cc,
         src/test_linalg.cc: Formatted the files according to Olivers
         remarks on coding style.

2002-06-12  Oliver Lemke  

        * arts-1-1-132
        
        * configure.in: Corrected definition of ac_arts_data.

        * src/scatproperties.cc,
        src/agenda_record.h,
        src/agenda_record.cc,
        src/m_cloudbox.cc: Include iostream for cout.

2002-06-11  Stefan Buehler  

        * arts-1-1-131

        * General: Implemented automatic Input/Output checking for
        agendas. That means, you no longer have to check in the calling
        function that the agenda does what it is supposed to do. There is
        now a special lookup table for agendas in file agendas.cc. Data
        records for new agendas have to be added in both workspace.cc and
        agendas.cc, however, the DESCRIPTION in workspace.cc should just
        be a reference to agendas.cc. Only the DESCRIPTION in agendas.cc
        is used by arts -d etc..
        
        * src/agendas.cc: Added. This contains the lookup data for
        agendas. You have to edit this everytime you add an agenda. But
        nevertheless, you also have to add an entry in
        workspace.cc. Documentation for the agenda must be in agendas.cc,
        not in workspace.cc.

        * src/agenda_record.h: Added.

        * src/agenda_record.cc: Added.

        * src/agenda_class.h: Added.

        * src/agenda_class.cc: Added.

        * src/agenda.h: Moved to agenda_class.h.

        * src/agenda.cc: Moved to agenda_class.cc.

        * src/Makefile.am: Added the new source files.

        * src/workspace_aux.cc: Moved output operator of WsvRecord to
        agenda_record.cc for technical reasons.

        * src/workspace.cc: Moved agenda DESCRIPTIONS to agendas.cc for
        all agendas that have been defined so far.

        * src/parser.h: Changed name of agenda header file to agenda_class.h.

        * src/methods.cc: Updated copyright notice, updated documentation
        for AgendaSet.

        * src/make_auto_wsv_h.cc: Changed name of agenda header file to agenda_class.h.

        * src/main.cc: Made command line switches work for agendas.

        * src/m_agenda.cc: Made AgendaSet check the input and output parameters.

        * src/globals_2.cc: Added AgendaMap.

2002-06-11  Claudia Emde  

        * arts-1-1-130

        * src/m_cloudboc.cc (i_fieldUpdate1D): Extended the function such
        that it adapts automatically to the scalar case if *stokes_dim* is
        set to 1.

        * src/cloudbox.cc (sto_vec1DCalc): Added this function to do the
        scalar radiative transfer calculation.

        * doc/uguide/scattering.tex: Included the scalar RTE as a special
        case. 
        
2002-06-10  Claudia Emde  

        * arts-1-1-129

        * doc/uguide/scattering.tex: Rewritten the part for radiative
        transfer inside the cloudbox to document the already existing
        functions. 

        * doc/uguide/lin_alg.tex: Replaced \verb by \artsstyle.

2002-06-10  Sreerekha T.R.  

        * arts-1-1-128

        * src/m_scatproperties.cc: Added this file.  This has so far the
        workspace methods ext_mat_sptCalc,pha_mat_sptCalc and 
        abs_vec_sptCalc.  Some changes are for sure expected in these
        methods.  

        * src/methods.cc: Added the methods ext_mat_sptCalc,
        pha_mat_sptCalc and abs_vec_sptCalc. 

        * src/Makefile.am : included in the source file list
        m_scatproperties.cc,scatproperties.cc and scatproperties.h
        
2002-06-10  Sreerekha T.R.  

        * arts-1-1-127

        * src/workspace.cc : Added the workspace variables scat_za_index
        and scat_aa_index necessary for the methods used for calculating
        scattering properties of particles.

2002-06-08  Stefan Buehler  

        * arts-1-1-126

        * src/workspace.cc: Added some #defines (NAME, DESCRIPTION,
        GROUP), so that this file is now formated similar to methods.cc. The
        main reason why I did this is because I wanted to add fields
        OUTPUT and INPUT to list output and input WSVs for
        agendas. However, it turns out that this problem cannot be solved
        so easily. The problem is this: The enum type for the different
        WSVs (ls_, f_grid_, etc.) is defined in auto_wsv.h, which is
        generated from workspace.cc. So, using the enum inside
        workspace.cc would generate a circular dependency. I played around
        with some tricks to solve this, but they all made things very
        complicated. So, my preferred solution at the moment is to add an
        extra file agendas.cc, which will contain agenda lookup
        data. Agendas will then have to be registered in two files, both
        workspace.cc and agendas.cc.

        * src/methods.h: Moved the #defines for OUTPUT, etc., to methods.cc.

        * src/methods.cc: Moved the #defines for OUTPUT, etc., here from
        methods.h. 

2002-06-08  Patrick Eriksson  

        * arts-1-1-125

        * src/ppath.cc (psurface_crossing_2d): Adapted the Matlab function
        psurface_crossing in AMI to create this function. I had to handle
        the case c=0 especially due to a limitation of poly_root_solve
        compared to the Matlab function roots. 
        Tests performed of the function and it looked OK.

2002-06-07  Stefan Buehler  

        * arts-1-1-124

        * doc/uguide/main.tex: Changed header for \typeindex from "data
        structures" to "data types". Added \include for app_groups.tex.

        * doc/uguide/matrix_vector.tex: Replaced \verb by \artsstyle. Added
        some index commands.

        * doc/uguide/development.tex: Replaced \verb by \artsstyle. Added
        some index commands.

        * doc/uguide/app_groups.tex: Added this file. It lists all WSV
        groups. 

        * doc/uguide/arts_groups_to_latex.sh: Added this script (written
        by Oliver), which puts the output of arts -g into LaTeX commands.

        * doc/uguide/Makefile.am: Added target auto_groups.tex, which is
        generated by the arts_groups_to_latex.sh script. Added variable
        $(autotexfiles), which now holds only auto_groups.tex.
        NOTE: If you try to build in doc/uguide with a pristine ARTS
        package (after make maintainer-clean at toplevel), you will now
        get an error message, because the arts executable is needed to
        generate auto_groups.tex. If you say make at toplevel, src is
        built first, so there is no problem.

        * doc/uguide/.cvsignore: Added auto_groups.tex.

        * src/main.cc (main): Changed output stream for --help and
        --version options from cerr to cout. Also, removed "This is" from
        --version output.

        * src/.cvsignore: Added test_scatproperties.

2002-06-07  Claudia Emde  

        * arts-1-1-123

        * src/methods.cc (i_fieldUpdate1D): Included this method to update
        the intensity field during the iteration. Performs RT calculation 
        with fixed scattered field.

        * src/m_cloudbox.cc (i_fieldUpdate1D): This function was in
        cloudbox.cc before. Now it uses the *ppath_step_agenda*, for this
        reason it is a workspace method now. 

        * src/cloudbox.cc (i_field_update1D): Removed this function.

        * src/workspace.cc: Included WSV *scat_field* and *i_field_old*.

        * doc/examples/i_field_arts: Example to test the cloudbox functions.
        
2002-06-07  Patrick Eriksson  

        * arts-1-1-122

        * src/ppath.cc (ppath_start_stepping): Some more work in getting 2D to
        work. Some results are now printed on the screen.

        * src/m_ppath.cc (ppathCalc): Sensor position and LOS printed as out2.

2002-06-06  Sreerekha T.R.  

        * arts-1-1-121  

        * src/test_scatproperties.cc: Renamed
        src/test_opt_properties.cc to test_scatproperties.cc to be 
        consistent.

        * src/workspace.cc: corrected the dimension of pha_mat_spt.

2002-06-06  Claudia Emde  

        * arts-1-1-120

        * src/workspace.cc: Included workspace variable amp_mat_raw.
                
        * src/physics_funcs.cc: Modified functions again, so that they 
        return numeric values. 

        * src/m_rte.cc and cloudbox.cc: Adjusted to the new Planck
        function.

2002-06-06  Sreerekha T.R.  

        * arts-1-1-119

        * src/scatproperties.cc : Added this file.  This contains some
        auxiliary functions like amp2ext,amp2pha,amp2abs which is called 
        by the workspace methods like ext_mat_sptCalc,pha_mat_sptCalc and
        abs_vec_sptCalc( Adding these methods is my immediate task.)

        * src/scatproperties.h : Added this file
        
        * src/test_opt_properties.cc (main): I added this file mainly 
        to test the scattering routines in scatproperties.cc

2002-06-05  Stefan Buehler  

        * arts-1-1-118

        * doc/uguide/agendas.tex: Continued to work on this.

        * doc/uguide/development.tex: Added references to the WSV, WSM,
        and agendas chapter in howtos.

        * src/agenda.h: Added set_name() and name() member functions to
        class Agenda, also added private member mname.

        * src/agenda.cc: Added implementation of set_name() and name().

        * src/main.cc: Set name for Main agenda.

        * src/parser.cc (parse_method): Removed duplicate level 3
        output. Cleaned up agenda output.

        * src/workspace.cc (define_wsv_data): Replace "function" by "method".

        * src/m_method_list.cc: Removed.

        * src/method_list.h: Removed.

2002-06-05  Sreerekha T.R.  
        
        * arts-1-1-117
        
        * src/workspace.cc: Added workspace variables, ext_mat_spt,
        pha_mat_spt, and abs_vec_spt.  

2002-06-05  Stefan Buehler  

        * arts-1-1-116

        * doc/uguide/agendas.tex: Started this file. It contains
        documentations about WSVs, WSMs, and particularly agendas. By
        doing this I noticed that WSM are sometimes called "workspace
        methods" and sometimes "workspace functions". But names should be
        consistent within AUG. Method is the older and more established
        term (that's for example why WSM files are called
        m_something.cc). So, I tried to enforce "method"
        everywhere. Please use the name "method" in future.

        * doc/uguide/main.tex: Renamed \structindex to \typeindex, as
        suggested by Sreerekha/Patrick. Replaced "workspace functions" by
        "workspace methods". Replaced \wsfindex by \wsmindex.

        * doc/uguide/scattering.tex: Replaced \wsfindex by \wsmindex.
        Replaced \wsmindex by \wsvindex for agendas, since agendas are
        WSVs, not WSMs. Replaced \wsmindex by \funcindex for matrix_exp,
        since this is a normal function, not a WSM. I suspect there are
        more functions marked by \wsmindex that really should be marked by
        \funcindex.

        * doc/uguide/lin_alg.tex: Replaced \wsfindex by \wsmindex.

        * doc/uguide/fm_definitions.tex: Replaced "workspace functions" by
        "workspace methods". Replaced \wsfindex by \wsmindex.

        * doc/uguide/concept.tex: Replaced "functions" by "methods".

        * doc/uguide/ppath.tex: Renamed \structindex to \typeindex, as
        suggested by Sreerekha/Patrick. Replaced "workspace functions" by
        "workspace methods". Replaced \wsfindex by \wsmindex.

        * doc/uguide/interpolation.tex: Renamed \structindex to \typeindex, as
        suggested by Sreerekha/Patrick.

2002-06-04  Patrick Eriksson  

        * arts-1-1-115

        * src/ppath.cc: Just some small steps forward for 2D. Status basically
        as for last commit from me.

        * doc/uguide/fm_definitions.tex: Polished the text. I happen to do this
        on the same time as Christian did his changes below and this caused
        a number of conflicts when updating. I hope that I managed to keep your
        changes Christian. 

        * doc/uguide/ppath.tex: Polished the text. Conflicts as above.

2002-06-04  Christian Melsheimer  

        * arts-1-1-114

        * doc/uguide/ppath.tex:  Fixed minor spelling/grammar errors.

        * doc/uguide/formalism.tex: Fixed minor spelling/grammar errors.

        * doc/uguide/fm_definitions.tex: Fixed minor spelling/grammar errors.

        * doc/uguide/introduction.tex: Fixed minor spelling/grammar error.

2002-06-04  Stefan Buehler  

        * arts-1-1-113

        * doc/examples/absorption_example.arts.in: The first agenda
        example works! Method lsWithCutoffAdd uses agenda els_agenda to
        compute the elementary lineshape.

        * src/methods.cc: Modified IO parameters of elsLorentz and
        lsWithCutoffAdd. 

        * src/workspace.cc (define_wsv_data): Introduced els, the WSV to
        hold the output of the els_agenda.

        * src/m_lineshapes.cc: Finished lsWithCutoffAdd.

        * src/interpolation.cc (interp): Added to all interp functions an
        assert that makes sure that the sum of all weights for the first
        interpolated value is 1. This condition should be fulfilled for
        all the weights, of course, but we check only the first set of
        weights.

2002-06-04 Claudia Emde  

        * arts-1-1-112

        * src/m_cloudbox.cc (i_field_itCalc): The method can be compiled and 
        tested using dummy variables for the scattering coefficients. But so
        far it only performs the update of the i_field for the 
        1D case.

        * src/workspace.cc: Changed amp_mat from Tensor7 to Tensor6. The 
        frequency dimension is taken out.
        
        * src/methods.cc: Changed amp_mat as input variable for  
        (i_field_itCalc).
        
        * src/physics_funcs.cc (planck): Fixed a bug here.

        * doc/uguide/scattering.tex: Started to write about 1D scattering 
        calculations.

2002-06-03  Patrick Eriksson  

        * arts-1-1-111

        * src/ppath.cc (ppath_start_stepping): Worked on this function for 2D.
        Finished for sensor positions inside the model atmosphere. More
        to do for other starting points.
        New internal functions:
           psurface_slope_2D
           psurface_tilt_2D
           is_los_downwards_2D
           angle_after_ground_2D

        * src/m_ppath.cc: Two now WSF:
           a_posAddRgeoid
           sensor_posAddRgeoid

2002-05-31  Stefan Buehler  

        * arts-1-1-110

        * Uff. I had some trouble resolving conflicts in workspace.cc. I
        seems that resorting this file (and methods.cc) was not such a
        great idea, since it leads to a lot of conflicts.
        
        * Started to work out agenda examples for lineshapes. Ran into a
        lot of problems (not so much related to the agendas, more to the
        lineshapes themselves). Nothing's working yet.

        * src/m_lineshapes.cc: Added.

        * src/workspace.cc: Added some lineshape variables.

        * src/methods.cc: Added some lineshape related methods. 
        (define_md_data): Removed abs_ from RteCalc input, following
        advice by Patrick. 
        (define_md_data): Replace "Global" by "Generic" everywhere.

        * src/groups.cc (define_wsv_group_names): Removed ArrayOfLineshapeSpec.

        * src/absorption.h: Removed all lineshape stuff.

        * src/absorption.cc: Removed all contents to old_absorption.cc.

        * src/Makefile.am: Added new source files.

        * doc/examples/absorption_example.arts.in: My playing field for
        agenda based absorption routines.

        * src/m_rte.cc (RteCalc): Removed abs input, following advice by
        Patrick. 

2002-05-31  Patrick Eriksson  

        * arts-1-1-109

        * src/methods.cc: Two new functions, a_posSet and a_losSet.

        * src/ppath.cc (ppath_start_stepping): Started to include 2D cases.

        * doc/uguide/ppath.tex: Polished old text and wrote some pages of new 
        text. The chapter is now up to date with what has been implemented. 

        * doc/uguide: Made new versions of figures created by Latex commands.
        The new figures are made in xfig. So there should now not be any errors
        due to this when making uguide_pdf.

2002-05-31  Sreerekha T.R.  

        * arts-1-1-108
        
        * doc/uguide/interpolation.tex: introduced the index commands which
        make reference at the indexpage of the AUG. Changed  all \verb
        commands to \artsstyle.

2002-05-31 Claudia Emde  

        * arts-1-1-107

        * src/methods.cc: Added TensorXSet methods for all dimensions (Tensor3
        to Tensor7). Added workspace function (i_field_itCalc).
                
        * src/m_basic_types.cc: Added TensorXSet functions for all dimensions.

        * src/m_cloudbox.cc (i_field_itCalc): Added this function which 
        will calculate the radiative transfer in the cloudbox with scattering
        using the iterative method.
        
        * src/workspace.cc: Modified description for *amp_mat*.

2002-05-30 Claudia Emde  

        * arts-1-1-106

        * src/workspace.cc: Added more workspace variables for scattering.

        * src/linalg.cc (ludcp): Modified documentation of the function. 

2002-05-30  Oliver Lemke  

        * arts-1-1-105

        * src/workspace.cc (define_wsv_data): Added workspace variable
        xml_output_type. Type is Index: 0 means Ascii, 1 binary output.

        * src/m_ppath.cc: Include iostream.

        * src/test_xml.cc (main): Added exception handler.

2002-05-30  Patrick Eriksson  

        * arts-1-1-104

        * Things fixed for this commit, or in 1-1-99:
        
        * Some workspace functions have been renamed. 
          - The PrintXxx functions now ends with Pring, e.g. NumericPrint.
          - The functions to set the atmospheric dimensionality are now called
            AtmosphereSet1D etc.
        This to follow our naming scheme better.
        
        * New workspace functions:
           FlagOn
           FlagOff
           i_spaceCBR
           e_groundSet
           AntennaSet1D
           AntennaSet2D

        * Improved the out-messages from some functions, especially in 
        m_basic_types, but there is more to do here.

        * Started on the RTE part, but found it hard before the agendas are
        ready. So I leave this for the moment.

2002-05-30 Claudia Emde  

        * arts-1-1-103

        * src/cloudbox.cc/.h: Added these files for internal calculations 
        concerning scattering.
        (i_field_update1D): Added. Updates i_field on all points inside 
        the cloudbox.
        (rte_scat_vecCalc): Added. Performs 1D radiative 
        transfer calculation with fixed scattering vector.      

        * src/linalg.cc/.h: (id_mat) Changed name of the function which 
        returns the identity matrix, as there was a conflict with another
        internal function named identity.

2002-05-29  Stefan Buehler  

        * arts-1-1-102

        * src/agenda.cc
        (nelem): Added.
        (is_input): Added.
        (is_output): Added.
        
        * src/agenda.h: Added declarations for new Agenda member functions.

        * src/m_agenda.cc (AgendaSet): Renamed from
        AgendaDefine. Implemented function body.

        * src/methods.cc (define_md_data): Renamed AgendaDefine to
        AgendaSet. Fixed documentation string. Moved to the right place in
        the alphabetical order. Also moved Main to the right place.

2002-05-29  Stefan Buehler  

        * arts-1-1-101

        * doc/uguide/interpolation.tex: Tried to make interpolation tensor
        clearer, following comment by Claudia.

2002-05-28 Claudia Emde  

        * arts-1-1-100 

        * src/workspace.cc: Introduced workspace variables for the scattering
        calculations.

        * doc/uguide/scattering.tex: Adjusted the text according to the 
        decision that there will be no special grids inside the cloudbox.

        * doc/uguide/symboldefs: Removed symbols for scattering grids.
        
2002-05-29  Patrick Eriksson  

        * arts-1-1-99

        * Sorry, but there will be no description right now. I must rush and
        want to make a commit to get a back-up of my work (if anything will
        happen). I will write a description ASAP.

2002-05-28  Stefan Buehler  

        * arts-1-1-98

        * doc/uguide/myepstopdf: Added. Use this script to convert eps
        files to pdf.

        * doc/uguide/interpolation.tex: Finished first version of
        documentation for interpolation functions.

        * doc/uguide/Figs/interpolation/: Added interpolation chapter
        figures here.

        * doc/uguide/main.tex: Added include for interpolation.

        * src/interpolation.cc: Added \author and \date tags to my functions.

        * src/.cvsignore: Added test_xml and string.xml.

2002-05-28 Claudia Emde  

        * arts-1-1-97 

        * src/physics_funcs.cc/h: Changed the interfaces of the functions. 
        Input and Output variables are now for all physical functions 
        (Planck function, number density, ...) of type Numeric.

        * doc/uguide/lin_alg.tex: Fixed some undefined references.
        
2002-05-28  Patrick Eriksson  

        * arts-1-1-96

        * doc/uguide/fm_definitions.tex: Updated the text to follow some 
        changes regarding definitions and the name of variables. The parts
        on sensor variables and RTE calculations not yet ready.

        * src/m_ppath.cc and src/methods.cc: Added the functions:
           ppath_stepGeometric
           ppath_stepGeometricWithLmax

        * src/workspace.cc: The variable ppath_partial is re-named to 
        ppath_step.

2002-05-27  Patrick Eriksson  

        * arts-1-1-95

        * src/m_ppath.cc and src/ppath.cc: One 1D geometrical propagation paths
        now work. 

        * src/workspace.cc: Polished the text for some variables. 

        * src/m_atmosphere.cc (SetBlackbodyGround): Added this function.

        * doc/uguide/fm_definitions.tex: Started top revise this chapter
        after some changes of definitions.

2002-05-23  Patrick Eriksson  

        * arts-1-1-94

        * 1D geometrical propagation path calculations seem to work (but
        cloud box is not yet tested).
        
        * src/ppath.h: Added the fileds refraction, method and constant to
        the Ppath structure.

        * src/ppath.cc (ppath_step_1d_geom): Fixed several bugs. Adapted to
        new Ppath fields.

        * src/m_ppath.cc (ppathCalc): Fixed several bugs. Adapted to
        new Ppath fields. 

2002-05-22  Oliver Lemke  

        * arts-1-1-93
        
        * src/mystring.h (class my_basic_string): Make size_t of type
        Index.

        * src/xml_io.cc: Added documentation.
        (read_from_stream): Casting of String::npos no longer needed.

2002-05-22  Patrick Eriksson  

        * arts-1-1-92

        * Further work on propagation path calculations. Fixed numerous bugs.
        A simple upward 1D case works now at least. But more bugs to find.

        The biggest problem was to catch when the limited numerical precsion
        causes the fractional distance to be just below 0 or just above 1.

2002-05-21  Patrick Eriksson  

        * arts-1-1-91
        
        * Worked on doxygen headers and comments in the following files:
           check_input.cc
           check_input.h
           m_atmosphere.cc
           m_basic_types.cc
           m_cloudbox.cc
           m_general.cc
           m_ppath.cc
           m_rte.cc
           math_funcs.cc
           math_funcs.h
           physics_funcs.cc
           physics_funcs.h
           ppath.cc
           ppath.h 

2002-05-21  Oliver Lemke  

        * arts-1-1-90
        
        * src/xml_io.cc (xml_read_header_from_stream): Improved
        verification of xml header.

        Replaced most of endls with '\n' to avoid unnecessary flushings of
        output stream.
        
        * .cvsignore: Added depcomp, autom4te-2.5x.cache and stamp-h1
        generated by automake >= 1.6.

2002-05-21  Patrick Eriksson  

        * arts-1-1-89

        * Calculation of 1D geometrical path coded, but all bugs must be found.
        
        * src/ppath.cc: Added the functions:
           geompath_l_at_r
           geompath_r_at_l
        Changed also some of the geompath functions to take the tangent radius
        as input.
        
        * src/ppath.cc (ppath_step_1d_geom): This function is coded, but no
        test runs yet. There are bugs, for sure.

        * src/m_ppath.cc (ppathCalc): Put in a call to the function discussed
        above.

2002-05-20  Patrick Eriksson  

        * arts-1-1-88

        * src/m_ppath.cc (ppathCalc): The function should now be ready, but
        no bigger test runs yet. Tests for 2D cannot be made before a
        *ppath_step* function covering 2D exists.

        * src/ppath.cc (ppath_step_1d_geom): Started on this function.

2002-05-19  Patrick Eriksson  

        * arts-1-1-87

        * src/m_ppath.cc: Further work on the function. The structure of the
        function is now there, but many details are missing.

        * src/ppath.cc: Created the functions:
           geometrical_tangent_radius
           geompath_za_at_r
           geompath_lat_at_za
           angle_after_ground_1D
           ppath_init_structure
           ppath_set_background
           ppath_what_background
           ppath_start_stepping
        
        * src/Makefile.am (arts_SOURCES): Added interpolation.{h,cc}.

        * src/m_general.cc: Added the WSFs:
           PrintArrayOfIndex
           PrintArrayOfString
           PrintIndex
           PrintNumeric
           PrintString

        * src/workspace.cc: Improved the text for some variables.

2002-05-16  Stefan Buehler  

        * arts-1-1-86

        * src/interpolation.cc: Finished interpweights and interp
        functions for Tensor 3 to 6. That means, all interpolation
        functions are ready!

        * src/interpolation.h: Added headers for new functions.

        * doc/uguide/interpolation.tex: Added this file. Nothing there yet.

        * doc/uguide/matrix_vector.tex: Added tensors.

        * src/main.cc (main): Added error handler for the case that the
        given controlfile name does not have extension ".arts", or no
        extension at all. (So far the program just crashed in this
        case.)

2002-05-16  Claudia Emde  

        * arts-1-1-85

        * doc/uguide/scattering.tex: Updated the text. 

2002-05-16  Patrick Eriksson  

        * arts-1-1-84

        * src/workspace.cc: Added the WSV:
           azimuth_angle_1d
           latitude_1d
           sensor_pos  (not finsihed)

        * src/m_atmosphere.cc: Created this file to hold functions to
        set up the model atmosphere. Added the WSF:
           r_geoidWGS84 

        * src/m_ppath.cc: Added the WSFs:
           a_posAddGeoidWGS84 
           sensor_posAddGeoidWGS84 

        * src/m_general.cc: Added the WSFs:
           SetAtmosphere1D
           SetAtmosphere2D
           SetAtmosphere3D
           PrintMatrix
           PrintVector
        The function series PrintXxx is not ready. I will make more functions 
        later, but only for basic types (up to Tensor3?).
        
2002-05-15  Oliver Lemke  

        * arts-1-1-83
        
        *** ASCII XML reading/writing ready for bug hunting :-) ***
        
        * src/groups.cc (define_wsv_group_names): Added Tensor4-7.

        * src/methods.cc (define_md_data): Added reading/writing methods
        for Tensor3-7.

        * src/xml_io.{h,cc}: Moved all xml_read_from_stream function
        prototypes to cc file because there are not needed externally.

        Send debug output to out2 instead of cout.

        ArrayOfIndex, ArrayOfMatrix, ArrayOfString, ArrayOfVector, Index,
        Numeric, Matrix, String, Tensor3-7, Vector reading and writing
        works now.

        * src/m_xml.cc: Removed dummy output from remaining functions.

        Added read/write functions for Tensor3 - Tensor7.

        * src/Makefile.am: Added target test_xml.

        * src/test_xml.cc: Added.

2002-05-15  Oliver Lemke  

        * arts-1-1-82
        
        * doc/examples/xml.arts: Small conversion example.

        * src/xml_io.{h,cc}: Header/footer functions renamed.
        
        (class ArtsXMLTag): Renamed member functions to match ARTS style.

        Implemented Vector, Matrix, ArrayOfMatrix writing functions.

        * src/m_xml.cc: Use generic read/write functions for all data
        types.
        
        Removed dummy from Vector, Matrix, ArrayOfMatrix functions.

        *** Still under development *** Reading only works for Numeric and
        Index at the moment. *** Documentation still missing in most
        parts.

2002-05-15  Oliver Lemke  

        * arts-1-1-81
        
        * src/xml_io.{h,cc}: Implemented XML parser.

        To read the XML header I implemented a template function. Which
        reduces the number of needed read_from_file functions from n
        (n = Number of data types) to 1. From there the overloaded
        function read_from_stream is called to do the data type specific
        part.

        Currently there's only Index and Numeric ASCII read support. ASCII
        write support will follow, binary later.

        * src/methods.cc (define_md_data): Corrected indentation of XML
        functions.

        * src/m_xml.cc: Throw runtime error when unimplemented function is
        called.

        Implemented IndexReadXML and NumericReadXML.

        * src/file.cc (open_input_file): Documentation changed.

2002-05-15  Claudia Emde  

        * arts-1-1-80

        * src/test_linalg.cc (test_matrix_exp3D): Added this
        function. Restructured the other tests.

        * src/test_linalg.cc (norm_inf): Added some comments.
        
        * doc/uguide/scattering.tex: Added the symboltable.

2002-05-15  Patrick Eriksson  

        * arts-1-1-79

        * I had by mistake put a & after ConstVectorView in some places.
        Now fixed.

        * src/workspace.cc: Added two general vector variables vector1 and
        vector2.

        * src/m_basic_types.cc: Added the WSF MatrixFillWithVector and 
        Tensor3FillWithVector. Note that the vector can be put in along any
        dimension (in contrast to the old MatrixFillWithVector).

        * src/m_ppath.cc (ppathCalc): Added input checks for sensor position
        and los.

2002-05-14  Claudia Emde  

        * arts-1-1-78
                
        * src/lin_alg.cc/.h Modified function norm_inf and changed
        interface of exp_matrix.

        * doc/uguide/scattering.tex: Added this file to document the
        scattering part.

        * doc/uguide/references.bib: Added some references for the linear
        algebra part. 

2002-05-14  Patrick Eriksson  

        * arts-1-1-77
        
        * src/check_input.cc (chk_cloudbox): Added this function.

        * src/m_ppath.cc (ppathCalc): Worked a bit on this function.

        * src/m_general.cc (SetAtmosphericDimensionality): Added this WSF.

        * src/m_cloudbox.cc (NoCloudbox): Added this WSF.

        * src/m_rte.cc: Added this file.

2002-05-13  Oliver Lemke  

        * arts-1-1-76
        
        * src/methods.cc (define_md_data): Moved XML functions into
        alphabetical order.

2002-05-13  Oliver Lemke  

        * arts-1-1-75
        
        * src/mystring.h: Include system sstream if available otherwise use our
        own.
        
        * src/arts.h: Include sstream moved to mystring.h.

        * configure.in: Added check for sstream header file. If it is not
        found, we use our own sstream.h.

        * src/make_auto_wsv_groups_h.cc (main): Include iostream in
        auto_wsv_groups.h.

        * src/make_auto_wsv_h.cc: Include iostream.

2002-05-13  Oliver Lemke  

        * arts-1-1-74
        
        * src/test_linalg.cc: Include iostream.

        * src/file.cc (open_input_file): Only set badbit for input stream
        otherwise eof throws exception as well and that is not what we
        want.

        * src/methods.cc (define_md_data): Added xml workspace methods.

        * src/m_xml.cc: New file. XML io workspace methods. Only dummys at
        the moment.
        
        * src/xml_io.{h,cc}: New files. XML io functions. Only dummys at
        the moment.

        * src/Makefile.am (arts_SOURCES): Added xml_io.h, xml_io.cc and
        m_xml.cc.

2002-05-13  Patrick Eriksson  

        * arts-1-1-73

        * Cleaned up a bit regarding included .h files in ppath, check_input,
        math_funcs and ???.
        
        * src/interpolation.cc: Had to include some more .h files (which, don't
        remember now).

        * src/m_ppath.cc (ppathCalc): Started on this function.

        * src/check_input.cc: Changed alpha_grid and beta_grid to lat_grid and
        lon_grid. Removed all assert functions.

2002-05-12  Patrick Eriksson  

        * arts-1-1-72

        * I could not compile this version, but this could be due to local 
        settings.

        * src/atm_funcs.cc/h: These files do not exist any more. Moved some 
        functions to physics_func and deleted others.

        * src/physics_funcs.cc/h: Added these files.
        
2002-05-10  Claudia Emde  

        * arts-1-1-71

        * src/lin_alg.cc/h: Removed function lu_solve and added some
        assertions. Added some new functions:
                - exp_mat: Computing the exponential of a matrix.
                - norm_inf: Norm infinity of a matrix.
                - identity: Returns the identity matrix.

        * src/test_linalg.cc: Adapted the tests to the changes.


        * doc/uguide/lin_alg.tex: Added documentation for linear algebra
                functions.

        * doc/uguide/main.tex: Included lin_alg.tex. 

2002-05-09  Oliver Lemke  

        * arts-1-1-70
        
        * doc/doxygen/html/.cvsignore: Added *.png.

2002-05-09  Oliver Lemke  
        
        * arts-1-1-69

        * Lots of fixes to compile arts with gcc-3.1.
        
        * src/interpolation.cc (LOOPIT): Removed overflues ## in macro
        definition before '.'  Otherwise it does not expand into a valid
        preprocessor token.

        * src/arts.h: Added 'using namespace std' to fix compile errors
        with newer, more ansi-compliant gccs (3.1).

        Include sstream instead of sstream.h for the same reason.

        * src/matpackI.h (Range): Default arguments for parameters are
        only allowed to be declared once. Removed from implementation
        part.

        * src/methods_aux.cc (PrintTemplate): Removed default for second
        parameter from implementation part.
        
        * src/mystring.h: Include climits.

        * src/main.cc,
        src/m_abs.cc,
        src/absorption.cc: Include algorithm.

        * src/test_interpolation.cc,
        src/test_linalg.cc,
        src/test_tensor.cc,
        src/test_poly.cc,
        src/test_matpack.cc,
        src/methods.h,
        src/poly_roots.cc,
        src/parameters.cc,
        src/make_auto_wsv_groups_h.cc,
        src/messages.h: Include iostream, otherwise cerr and cout are
        undeclared.

        * src/exceptions.h (ParseError): Added dummy virtual destructor
        including missing throw().

        * src/messages.cc: Rename global variable basename to out_basename
        to avoid a conflict with the basename function from the new string
        standard include file.

        * src/m_hdf.cc (filename_bin),
        src/main.cc (main),
        src/m_abs.cc (linesWriteAscii),
        src/m_abs.cc (lines_per_tgWriteAsci),
        src/file.cc (filename_ascii): Renamed basename to out_basename.

        * src/mystring.h (my_basic_string),
        src/array.h: Added keyword typename to several definitions
        (e.g. typename Array::const_iterator xi;)

2002-05-08  Stefan Buehler  

        * arts-1-1-68

        * src/interpolation.cc: 2D Green interpolation works.

        * src/interpolation.h: Added headers for new functions.

        * src/test_interpolation.cc: Test case for this.

        * src/logic.cc: Added is_size functions for tensors up to rank 7.

        * src/logic.h: Added headers for new functions.

2002-05-08  Patrick Eriksson  

        * arts-1-1-67

        * src/m_basic_types.cc: Created this file and moved the relevant 
        functions from m_io.cc. The revision of the functions is not 
        finished. Several functions are already removed. 

        * src/m_general.cc: Created this file and moved Exit and Test to the 
        file.

        * src/m_cloudbox.cc: Created this file. No functions in the file yet.
        
        * src/m_ppath.cc: Created this file. No functions in the file yet.


2002-05-08  Stefan Buehler  

        * arts-1-1-66

        * doc/uguide/development.tex: Fixed typo that lead to LaTeX fail.

        * src/methods.cc (define_md_data): Small change in comment block.

2002-05-08  Patrick Eriksson  

        * arts-1-1-65

        * src/workspace.cc: Started to sort the variables in alphebetical 
        order. See note in the file. Placed all old functions below a line 
        with the idea to revise the functions before they are moved back.

        Introduced and wrote about: 
          - atmosphere_dim
          - a_los
          - a_pos
          - blackbody_ground
          - cloudbox_on
          - cloudbox_limits
          - e_ground
          - lat_grid
          - lon_grid
          - p_grid
          - ppath
          - ppath_partial
          - ppath_step
          - r_geoid
          - t_field
          - t_ground
          - z_field
          - z_ground

        Removed a lot of old WSV.
        
        * src/methods.cc: Started to sort the methods in alphebetical order.
        See note in the file. Placed all old functions below a line with the
        idea to revise the functions before they are moved back.

        Removed WSF hseXxxx, refrXxx

2002-05-07  Stefan Buehler  

        * arts-1-1-64

        * src/interpolation.cc: Finished all blue interpolation functions
        (interpweights and interp functions).

        * src/interpolation.h: Added headers for the new functions.

        * src/test_interpolation.cc: Some testing for the blue
        interpolation functions. They are fast! Turning assertions off
        gives a significant further speed increase, so the default for
        "real" calculations should be -O2 optimization and disabled
        assertions. (The speed impact of assertions is mainly due to the
        assertions inside the index operators, which are called a lot if
        tensor dimensions are looped.)

        * absorption.cc,
        atm_funcs.cc,
        continua.cc,
        file.cc,
        lineshapes.cc,
        m_abs.cc,
        m_hdf.cc,
        math_funcs.cc,
        matpackI.h,
        matpackIII.h,
        matpackIV.h,
        matpackV.h,
        matpackVI.h,
        matpackVII.h,
        ppath.cc: Changed "\retval x" to "\param x Output:". The use of
        retval for output parameters was a misunderstanding on my side and
        lead to spurious doxygen warning messages. Output parameters
        should be documented like this:
        \param A Output: Describe A here.

        * doc/uguide/development.tex: Updated instructions for Doxygen
        headers. 

2002-05-06  Stefan Buehler  

        * arts-1-1-63

        * src/interpolation.cc: Finished gridpos. Implemented 1D
        interpweights and 2D blue interpweights. If fd and 1-fd are stored
        in an array, one can use nested for loops to compute the
        weights. Great! 

        * src/test_matpack.cc (test32): Test case for mult.

        * src/matpackI.h: Made documentation of mult functions more clear:
        The input and output matrix must not be the same!

        * src/logic.cc: Made Index input arguments const Index&.

2002-05-06  Patrick Eriksson  

        * arts-1-1-62

        * src/species_data.cc: Included  JPL tags for HOBr.

2002-05-06  Claudia Emde  

        * arts-1-1-61
                
        * src/lin_alg.cc/h: Modified interfaces for LU- functions and
        added routine for the matrix exponential function.

        * src/test_linalg.cc: Test adapted to the new functions.

2002-05-06  Oliver Lemke  

        * arts-1-1-60
        
        * src/lin_alg.cc: Include math.h for gcc>=2.96.

        * src/test_tensor.cc: Include math.h for gcc>=2.96.

2002-05-05  Patrick Eriksson  

        * arts-1-1-59

        * src/workspace.cc: Started to introduce new workspace variables.

        * src/los.cc/h: Removed these files. Made corresponding changes
        throughout the files, e.g:

        * src/Makefile.am: Removed los.cc and los.h. 

        * src/groups.cc: Removed Los, added Ppath and Tensor3.

2002-05-03  Stefan Buehler  

        * arts-1-1-58

        * src/logic.cc: Added Matrix version of is_size.

        * src/logic.h: Added header for Matrix version of is_size.

        * doc/Makefile.am (SUBDIRS): Removed emacs directory.

2002-05-03  Stefan Buehler  

        * arts-1-1-57

        * src/logic.cc: New file. Contains all logical functions, i.e.,
        function called is_something that return bool. 
        These functions are intended to be used either inside "if"
        statements or inside "assert" statements.
        The condition should have a simple and intuitive meaning!

        * src/logic.h: New file, headers for logic.cc.

        * src/check_input.cc: Now includes logic.h.

        * src/ppath.cc: Now includes logic.h.

        * src/math_funcs.h: Removed is_something function headers.

        * src/math_funcs.cc: Moved is_something functions to logic.cc.

        * src/interpolation.cc: New file: Interpolation routines. 
        (grid_pos): I just started with this, it is not yet complete. Will
        probably continue tomorrow.

        * src/interpolation.h: New file: Header file for interpolation.cc.

        * src/test_interpolation.cc: Test program for interpolation
        functions. 

        * src/Makefile.am: Added test_interpolation.

        * doc/index.html.in: Removed the paragraph about the old Emacs
        doxygen macros, since they are no longer there.

        * configure.in: Removed output target doc/emacs/Makefile.

2002-05-02  Claudia Emde  

        * arts-1-1-56

        * src/lin_alg.cc/h: Created this file for the linear algebra
        functions we need for the radiative transfer
        calculations. Implemented functions to solve linear equation
        systems using the LU decomposition method.

        * src/test_linalg.cc: test the functions in lin_alg.cc

2002-04-25  Stefan Buehler  

        * arts-1-1-55

        * doc/uguide/development.tex: Updated this file. Some small
        changes. Most significant are the new recommendations for
        documentation headers.

        * doc/uguide/main.tex: Put development.tex back in.

        * src/workspace.cc (define_wsv_data): Added template for
        documentation strings.

        * doc/emacs/: Removed everything in this directory. There is now a
        better Doxygen package for Emacs:
        Doxymacs (http://doxymacs.sourceforge.net/). 

        * doc/examples/fantasy2.arts: Added this file, which contains more
        thinking about agendas.

2002-04-17  Patrick Eriksson  

        * arts-1-1-54

        * src/m_los.cc,m_wfs.cc,m_batch.cc: Removed these files as everything
        will be rewritten anyhow. I think it is a good idea to remove as much 
        as possible. It is no big danger to remove things as they still exist
        in arts-1 and can be copied back. So, PLEASE DO SOME CLEANING.
        
        * src/atm_funcs.cc: Removed obselete functions.

        * src/ppath.cc: Works now for 1D and no refraction. As soon as it is
        clear how refraction will be calculated (there should be an agenda
        as for absorption), it should be a rather quick thing to put in 1D
        with refraction.

2002-04-16  Patrick Eriksson  

        * arts-1-1-53

        * src/check_input.cc/h: Started this file. The intention of this file
        is to hold functions that help us to check the input to functions.
        By doing general functions, more careful checks can be done and better
        error messages can be given. If you have to type everything for each
        function, you tend to become sloppy. There are two series of functions:
        assert_xxx and chk_xx. Have a look in the file and you will understand.

        SO USE THESE FUNCTIONS, and ADD NEW ONES WHEN NEEDED.

        * src/math_funcs.cc: Started to revise this file. The existing 
        functions are moved down and my idea is that when we found that a 
        function really is needed, it can be moved up, and then be polished.
        I think there is some old junk in the file.

        * src/ppath.cc: Added this file. The file will include functions to
        determine propagation paths. Started to move things from los.cc
        (ppath.cc replaces los.cc). Changes are needed as the definition of
        the Ppath structure is changed. Quite some work, but nothing works
        yet.

        * src/ppath.h: Added this file to hold the declaration of the Ppath 
        structure and functions in ppath.cc.
        
2002-04-14  Stefan Buehler  

        * arts-1-1-52

        * doc/examples/fantasy.arts: Added this file to play around
        in. I'm not happy with the absorption part. Everything is so
        complicated and not user-friendly. But how to make it both modular
        and user friendly?

2002-04-12  Patrick Eriksson  

        * arts-1-1-51

        * doc/uguide/ppath.tex: Finished text for general 1D and 2D geometrical
        expressions. 

2002-04-12  Patrick Eriksson  

        * arts-1-1-50

        * doc/uguide/ppath.tex: Started some writing but not got time to finish
        it. I will continue at home.

2002-04-11  Patrick Eriksson  

        * arts-1-1-49

        * doc/uguide/main.tex: Added the commands \artsstyle, \textindex,
        \wsfindex, \wsvindex, \fileindex, \funcindex and \structindex.
        The command replaces the old \qindex. 

        ARTS workspace methods, variables etc. are no longer written using the
        \verb environment. Use now the \artsstyle command. This command will
        write the text with style \texttt. I made the change as verbatim
        cannot be used inside commands, figure text etc., which has been a 
        problem for me several times. The drawback of using \texttt is that
        underscores must be proceeded with a backslash (e.g. \_).

        The other commands, ending with "index", writes the text and makes
        on the same time a index mark. The commands beside \textindex are 
        releated to ARTS and writes the text by using \artsstyle and puts
        the reference as a subentry to an appropiate text string. For example,
        \wsvindex is the command to use when defining a ARTS workspace 
        variable. See the index page for the result.

        I hope that these indexes will help us to link AUG and ARTS better.
        The old AUG did very few direct references to ARTS. I am trying now
        to improve this by stating which function that does a special
        calculation etc. This can work the other way around, when writing the
        header of a function it should now be easier to make a reference to
        AUG if the function is indexed in AUG. Before you did not know in
        what section a description ended up (the section could be moved 
        around). We can now refer to the index page to find where a function
        is discussed.

        * doc/uguide: Included the new commands in the files that are presently
        included. You have to adapt the other files when they are included.

2002-04-11  Patrick Eriksson  

        * arts-1-1-48

        * doc/uguide/ppath.tex: Description of the propagation path structure,
        Ppath. Started on general geometric expressions for calculating the
        path.

2002-04-08  Oliver Lemke  

        * arts-1-1-47

        * configure.in: Added doc/uguide/Figs/ppath/Makefile.am

2002-04-05  Patrick Eriksson  

        * arts-1-1-46

        * doc/uguide/ppath.tex: Completed the part about geodetic issues.

2002-04-04  Patrick Eriksson  

        * arts-1-1-45

        * doc/uguide/ppath.tex: Some text about geoid ellipsoids etc. Made some
        figures.

        * doc/uguide/Figs/ppath: Added this folder and some figure files.

2002-04-04  Oliver Lemke  

        * arts-1-1-44

        * doc/uguide/Makefile.am: Added makeindex commands.

2002-04-02  Oliver Lemke  

        * arts-1-1-43

        * aii/Makefile.am, ami/arts/Makefile.am, ami/file/Makefile.am,
        ami/general/Makefile.am, ami/hmatrix/Makefile.am,
        ami/math/Makefile.am, ami/path/Makefile.am, ami/physics/Makefile.am,
        ami/plot/Makefile.am, ami/retrieval/Makefile.am,
        doc/uguide/Figs/Makefile.am: Use wildcards for EXTRA_DIST so we
        don't have to add each new file to Makefile.am.

2002-04-01  Patrick Eriksson  

        * arts-1-1-42

        * Please read, comment and/or correct what I have written in
        Chapter 2 of AUG.

        * doc/uguide/main.tex: Included the epic and eepic packages for drawing
        figures inside LaTex. Are these the best packages for this? These seem
        at least to be standard packages. But do you have any better sugestion?

        * doc/uguide/fm_definitions.tex: New figure for LOS angles and
        some new text. Corrected and polished existing text slightly. I am
        now ready with what I will write in this chapter this time. So,
        please read it.  I am sure that there are many language
        errors. Please fix what you find.

        * doc/uguide/ppath.tex: Added section headings and made a figure for
        geocentric and geodetic latitudes.

2002-03-28  Patrick Eriksson  

        * arts-1-1-41

        * AUG: Note that figures now shall be placed in sub-folders to
        Figs/ (as suggested by Stefan).  When the revision of AUG is
        ready, all figures in Figs/ will be removed. This has been done
        for fm_definitions (see below).
        
        * doc/uguide: Added style files for the algorithm and algorithmic
        packages. See fm_definitions for example on how to use these
        packages. I have a manaul (ps-file) that I can send you if you are
        interested.
        
        * doc/uguide/fm_definitions.tex: More writing. Mainly on the clear sky
        RTE part. Added two figures. Added an algorith over the RTE part.

        * doc/uguide/Figs/fm_definitions: Created this folder and moved
        the figures (and associated Matlab scripts) to this folder.
        
        * doc/uguide/Figs/fm_definitions/mkfigs_ppath_cases.m: Created this
        function to illustrate propagation paths.

2002-03-27  Patrick Eriksson  

        * arts-1-1-40

        * doc/uguide/fm_definitions.tex: Writing on the sensor section and
        started on the clear sky RTE section. 

2002-03-26  Stefan Buehler  

        * arts-1-1-39

        * src/test_tensor.cc (test8): Added a cute little test that checks
        all 128 const index functions.
        (test9): And another cute tests that checks the non-const index
        functions. 
        Result: Everything seems to work fine!

2002-03-25  Patrick Eriksson  

        * arts-1-1-38

        * When including the bug fixes from arts1 for temperature WFs, I missed
        a change in methods.cc so the program did not compile. Sorry, for that.
        
        * doc/uguide/fm_definitions.tex: Fixed some problems in the existing
        text. Did dome more writing on the compulsory sensor variables and
        changed text to follow the definition of the cloud box.
        Stefan, there are some comments for you inside the file at the end.

        * doc/uguide/Figs/mkfigs_atm_dims.m: The figures are now converted to
        PDF with epstopdf. Adapted to new cloud box definition.

2002-03-22  Stefan Buehler  

        * arts-1-1-37

        * src/matpackVII.h: First implementation of Tensor7 finished. This
        seems to push my present concept to the limit, since I had to
        manually edit the 128 different index functions. Higher order
        tensors are only feasible with some kind of automatic code
        generation system. 

        * src/matpackI.h, src/matpackIII.h, src/matpackIV.h,
        src/matpackV.h, src/matpackVI.h: Adjusted for Tensor7. (Mainly
        added friend declarations.)

        * src/test_tensor.cc: Added simple test for Tensor7. There should
        be some more thorough and systematic testing...

2002-03-22  Patrick Eriksson  

        * arts-1-1-36

        * Included changes made for arts1:

        * src/m_wfs.cc (k_temp_nohydro): Code changed according to the bug
        in the equation discussed below. Temperature WFs without HSE seems now
        to be OK. Checks have ben performed with text_Kt.m.

        To summerize, all temperature WFs have been looked at and everything
        seem to be OK. There were bugs for all three versions before. Sorry
        for that.

        * doc/uguide/wfuns_atm.tex: A mistake in the equation giving the
        temperature derivative of the Planck function found.

2002-03-20  Stefan Buehler  

        * arts-1-1-35

        * src/matpackVI.h: Added. Implementation of Tensor6. A first
        version of this is complete. 

        * src/matpackVII.h: Added. Implementation of Tensor7. This is
        still under construction.

        * src/Makefile.am: Added matpackVI and VII to test_tensor sources.

        * src/test_tensor.cc: Added some tests for Tensor6.

        * doc/uguide/references.bib: Added Mishchenko book.

        * doc/uguide/fm_definitions.tex: Started to write on the clear sky
        RT section.

2002-03-20  Oliver Lemke  

        * arts-1-1-34

        * src/matpackI.h: Changed order of parameters for poly_root_solve.

2002-03-20  Oliver Lemke  

        * arts-1-1-33

        * src/poly_roots.{h,cc}: Changed order of parameter.

2002-03-20  Oliver Lemke  

        * arts-1-1-32

        * src/poly_roots.{h,cc}: Changed interface of poly_root_solve to make
        it arts-compliant. The solution matrix is passed by reference to the
        function and must have the correct size.

        * src/poly_roots.cc: Use the pointer to coeffs.mdata and roots.mdate
        instead of copying all elements (if Numeric is not double we still
        have to copy them).

        * src/matpack1.h: Made poly_root_solve a friend function of
        ConstVectorView and ConstMatrixView to access mdata.

2002-03-18  Oliver Lemke  

        * arts-1-1-31

        * reconf: Removed --enable-more-warnings. This is now part of
        configure.in.

        * configure.in: Enable warnings in maintainer mode by default. Could
        still be turned off with ./reconf --disable-more-warnings.

2002-03-19  Patrick Eriksson  

        * arts-1-1-30

        * doc/uguide/fm_definitions.tex: Fixed and changed according to
        comments and discission input from Stefan.

        The main thing is that we decided that the most basic variable is
        put in as the outermost index in matrices and tensors. That is,
        reversed order compared to before.

2002-03-18  Stefan Buehler  

        * arts-1-1-29

        * doc/examples/*.arts.in: The outermost method must now simply be
        called Main. To use DefineAgenda was unlogical, since defining an
        agenda and executing an agenda are quite different things.

        * src/parser.cc: Adapted to new controlfile structure. Cleaned up
        output to out3.

        * src/array.h: Changed output operator for ConstVectorView to
        put all elements in one row.

        * src/matpackI.h: Changed output operator for ConstVectorView to
        put all elements in one row.

        * reconf: Added --enable-more-warnings switch to configure call. 

2002-03-18  Stefan Buehler  

        * arts-1-1-28

        * doc/uguide/fm_definitions.tex: Fixed some typos. Added some
        comments, marked by SAB.

        * doc/uguide/.cvsignore: Added uguide_pdf.idx.

2002-03-18  Patrick Eriksson  

        * arts-1-1-27

        * doc/uguide/fm_definitions.tex: More text written. Started on sensor 
        description.

        * doc/uguide/ppath.tex: Added this file to hold description of
        propagation paths.

2002-03-15  Stefan Buehler  

        * arts-1-1-26

        * configure.in: Added a switch to enable-more-warnings that turns
        off the checking of unused parameters. This, because dummy
        parameters are used as a trick to select functions, for example
        the joker in the matpack functions. Also the getaway functions for
        the engine have sometimes unused parameters. We don't want to
        issue a warning for that.

        * src/matpackV.h: Bug fix: Added missing return statements for
        const index functions. I discoverd this bug because of the enabled
        warnings, so warnings are clearly useful!

        * src/m_agenda.cc: Added this file, containing workspace methods
        for Agenda.

        * src/: Modified the parser and the overall control structure to
        accept agendas.

        * doc/examples: Removed old example files starting with auto_.
        Adapted all examples to work with the new controlfile
        syntax. (Added a surrounding AgendaDefine(main_agenda).)

2002-03-15  Patrick Eriksson  

        * arts-1-1-25

        * doc/uguide/main.tex: I have introduced index into AUG. The idea
        is not to make a complete index register, that is to ambitious.  I
        think it is sufficient, and a good help for the readers, just to
        make a reference to the page where a term is defined or
        introduced.  Is this a good idea? I have put in some test indexes
        in fm_definitions.  Note the macro \qindex, defined in main.tex,
        that makes it easier to put in an index. I don't think we shall
        have index of several levels, if the term consists of several words
        (normally not more than 2), refer to the words as one unit to make
        things simple.

        If anybody knows how to change the title for the index page from
        "Index" to "Definition of terms", please go ahead.

        To update the index list, you have to run "makeindex uguide"
        
        * doc/uguide/fm_definitions.tex: Started to write in this chapter.
        Please read the introduction part (present Chapter 1-2) and give
        comments, both on layout and content.

        * doc/uguide/symbol_defs: Moved symbol macros to this file. An idea
        with this is that it should be possible to use this macro file for
        other documents. The old macro names are changed and changes will
        be needed when re-introducing the chapters. Sorry for this, but as
        the old macro names were just a mess, I made this change. If it is a
        comfort, I will be the one that will have to most of the changes.
        I have tried to come up with a consistent naming scheme so it should
        be possible to remember, or figure out, the name of the macros.
        Note especially the aXxx macros which are handy and would help us
        to have a uniform style without making a macro for each subscript
        to a variable.

2002-03-14  Stefan Buehler  

        * arts-1-1-24

        * General: Started to work on agendas (what we used to call method
        lists).

        * src/agenda.h: Added.
        An agenda is a list of workspace methods (including keyword data) to
        be executed. There are workspace variables of class agenda that can
        contain a list of methods to execute for a particular purpose, for
        example to compute the lineshape in an absorption calculation. The
        controlfile contains a list of agenda definitions, including the
        agenda `main', which is then executed. Overall, this concept is in
        analogy to a C program that consists of various functions and one
        function main.

        * src/agenda.cc: Added. Contains functions for Agenda.

        * src/main.cc: Removed executor and give_up. Instead, there is now
        a member function execute of Agenda.

        * src/make_auto_wsv_h.cc: Made the occupation list (which WSVs are
        occupied) a part of the WorkSpace. Added member functions to check
        and modify occupation.

        * src/wsv_aux.cc: Added. Contains implementation of member
        functions of WorkSpace.

        * src/parser.h: Adapted to use of Agenda. 

        * src/parser.cc: Adapted to use of Agenda. 
        
        * src/Makefile.am: Added the new files.

        * doc/doxygen/Makefile.am: Added generation of tags for
        doxymacs. The tags are stored in file arts.tag.

2002-03-12  Wolfram Haas  

        * arts-1-1-23

        * src/matpackV.h: Added three index functions with 2 Range and 3 Index.

2002-03-11  Patrick Eriksson  

        * arts-1-1-22

        * doc/uguide: Restart of the user guide for the new version.
        First of all, I have commented out most of the chapters (done in 
        main.tex). The idea is to enforce that the user guide only contains 
        stuff that is consistent with the new version. So before a chapter is 
        re-introduced, all its content shall be checked and the text shall be 
        changed where needed. Please, remember to also check the figure folder
        and to remove figures not used any longer. 

        Two new introduction chapters added. See notes in introduction.tex.
        Some text written and two figures included.

2002-03-11  Stefan Buehler  

        * arts-1-1-21

        * src/test_tensor.cc: Added Wolfram to copyright notice.

        * src/matpackIV.h: Changed author to Wolfram.

        * src/matpackV.h: Changed author to Wolfram.

2002-03-08  Wolfram Haas  

        * arts-1-1-20

        * src/matpackV.h: Added new file for tensor 5.

        * src/matpackIV.h: Added four friend class declarations.

        * src/matpackIII.h: Added two friend class declarations.

        * src/matpackI.h: Added nine friend class declarations.

        * src/test_tensor.cc: Added some tests for tensor 4 and tensor 5.

        * doc/uguide/utilities.tex: Corrected explanation for error message
        "There is some garbage at the end of the file." of the IDL reading
        routine 'read_datafile.pro'.
        
2002-03-08  Oliver Lemke  

        * arts-1-1-19

        * src/poly_roots.cc: Changed order of coefficients. Removed debug
        output.

        * src/test_poly.cc: Tweaked the example a little bit.

2002-03-07  Oliver Lemke  

        * arts-1-1-18

        * src/poly_roots.{h,cc}: Added functions to determine roots of
        polynomials. Taken from gsl and still some porting to be done.

        * src/test_poly.cc: Small prog to test poly_roots.

        * src/Makefile.am: Added poly_roots.{c,hh} to arts_SOURCES. Added
        target to create test_poly.

2002-03-05  Patrick Eriksson  

        * arts-1-1-17

        * src/los.cc: Cloud box - 1D paths ready. The sensor must now be above
        the ground and cannot be on the ground.

2002-03-03  Patrick Eriksson  

        * arts-1-1-16

        * src/los.cc: Started to include a cloud box in the propagation path
        calculations. In fact it is there, but no test runs have been 
        performed.

2002-02-28  Patrick Eriksson  

        * arts-1-1-15

        * Just some minor changes in los.cc to be backed up.

2002-02-24  Patrick Eriksson  

        * arts-1-1-14

        * src/los.cc: Further work on the propagation path calculations. No
        comments here, it will be described in AUG. 

        * Started on 2D but that code exists only so far as matlab functions 
        not included here.

2002-02-22  Stefan Buehler  

        * arts-1-1-13

        * src/matpackIV.h Iterator4D Tensor4View::begin(): Bug fix,
        removed const at end of line.
        Iterator4D Tensor4View::end(): Same.
        Recursive ConstTensor4View constructor: Bug fix, fixed typing
        error. 

        * src/matpackIII.h: Added some friend declarations.

        * src/matpackI.h: Added some friend declarations.

        * src/test_tensor.cc: Added definition of joker object. Added a
        test for selecting a book and a test for selecting the first
        letter of every page of every book.

2002-02-21  Wolfram Haas  

        * arts-1-1-12

        * src/matpackIV.h: Draft of an implementation of tensors of rank 4.

        * src/matpackIII.h: Made "friend class" entries in classes
        ConstTensor3View and Tensor3View.
        
        * src/matpackI.h: Made "friend class" entries in classes
        Range, ConstVectorView, VectorView, ConstMatrixView and MatrixView.

        * src/test_tensor.cc: Started first test for tensors of rank 4.
        
2002-02-18  Nikolay Koulev  

        * arts-1-1-11

        * src/absorption.h: Changes on the comments concerning the 
        different line intensity units in the catalogs.
        
2002-02-18  Nikolay Koulev  

        * arts-1-1-10

        * src/absorption.h: Fixed the wrong line intensity units
        from m^2/Hz to m^2*Hz.
        
2002-02-18  Nikolay Koulev  

        * arts-1-1-9

        * doc/uguide/absorption.tex: One more fix.
        
2002-02-18  Nikolay Koulev  

        * arts-1-1-8

        * doc/uguide/absorption.tex: Fixed the wrong line intensity units
        from m^2/Hz to m^2*Hz.  
        
2002-02-08  Patrick Eriksson  

        * arts-1-1-7

        * src/los.cc: 1D interpolation of an absorption Tensor3
        fixed. Note that is a temporary solution until we have more general
        ways to obtain the absorption at an arbitrary point.
        
        * src/los.cc: Wrote an outline describing my present ideas about how
        to fix the interpolations.
        
2002-02-08  Patrick Eriksson  

        * arts-1-1-6

        * src/los.cc: Started to work on interpolation and assert functions. 
        We should make set of functions for making asserts and size checks 
        simpler (as started by the check_xx functions ion arts1).

2002-02-07  Oliver Lemke  

        * arts-1-1-5
        
        * src/Makefile.am (test_tensor_SOURCES): Added target for
        test_tensor.

        * src/test_tensor.cc: Test program for matpackIV. Copied from
        test_matpack.cc.

        * src/matpackIV.h: Added empty file for tensor 4.

2002-02-05  Patrick Eriksson  

        * arts-1-1-4

        * SOME INFORMATION: I will not give any deatils here about my work
        to save time. The plan is to finish LOS/RTE calculations for 1D
        and 2D without refraction (i.e. including interpolation of
        absorption etc. and evaluation of the radiative transfer equation
        along the LOS) and then describe the approach taken in AUG.

        However, I should mention that I want to replace existing math
        functions and to remove the ones not used. For this reason, I put
        new math functions (or copies of existing ones, renamed by adding
        the number 2) in los.cc. This includes a new set of interpolation
        routines taking index positions as input. For example, the index
        position 6.5 means that a position is exactly between the points
        with index 6 and 7, index position 5 is exactly at the point with
        index 5 etc. As these index positions easily can be calculated
        when determining the LOS, this should save a lot of time for the
        interpolation. In addition, as the LOS points now mainly are placed
        at grid boundaries, for most points an interpolation is not needed and
        the index positions can be used to avoid unnecessary interpolation.
        
        * src/los.cc: Finished the LOS calculations for 1D and no refraction.
        As usual it is downwards observations from inside the atmosphere that
        makes everything complicated. 

2002-02-05  Patrick Eriksson  

        * arts-1-1-3

        * src/los.cc: Added this file for starting on the new implementation
        of the LOS calculations. Started on a function for 1D and no 
        refraction.

2002-01-25  Stefan Buehler  

        * arts-1-1-2
        
        * src/m_batch.cc (ybatchFromRadiosondeGlobal): Added message which
        profile is being processed.

        * src/m_batch.cc (ybatchFromRadiosonde): Added message which
        profile is being processed.

2002-01-22  Oliver Lemke  

        * arts-1-1-1
        
        * src/m_batch.cc: Moved #ifdef HDF_SUPPORT / #endif block to
        support radiosonde functions even without HDF compiled in.

2002-01-18  Oliver Lemke  

        * arts-1-1-0

        * This is the new development version of ARTS after the release
        All new features should go in here.

2002-01-18  Oliver Lemke  

        * arts-1-0-0
        
        * No problems occured in rc1 so we go for the release.
        
2002-01-18  Oliver Lemke  

        * arts-1-0-0-rc1

        * OK, this is release candidate 1. Just tagged this as a final
        version for testing. Hope next version will be the final release.

2002-01-18  Patrick Eriksson  

        * arts-1-0-0-pre10

        * src/m_wfs.cc: Improved check of input frequency limits for kContabs.
        There was in fact several bugs.
        Added length unit (m and km) for kContabs.

2002-01-17  Nikolay Koulev 

        * arts-1-0-0-pre9

        * doc/uguide/absorption.tex: Erased the strange artefacts after
        committing the pre8 version.
        
2002-01-17  Nikolay Koulev 

        * arts-1-0-0-pre8

        * doc/uguide/absorption.tex: Erased the strange artefacts after
        committing the pre7 version.
        
2002-01-17  Nikolay Koulev  

        * arts-1-0-0-pre7

        * doc/uguide/main.tex: Increased caption size for long tables.

        * doc/uguide/references.bib: Added two entries.

        * doc/uguide/wfuns_sensor.tex: Replaced main by uguide for xemacs.

2002-01-17  Nikolay Koulev 

        * arts-1-0-0-pre6

        * doc/examples/fullmodels.arts.in: Merged in changes from Thomas.

2002-01-17  Nikolay Koulev 

        * arts-1-0-0-pre5

        * doc/uguide/absorption.tex: Final edition and the species
        related tables now in. Resolving the referencies and warnings.
        
2002-01-16  Patrick Eriksson  

        * arts-1-0-0-pre4

        * uguide: Removed a reference to the sensor WFs section that is 
        commented out. There is almost nothing in this section and the little
        content is not in sync with ARTS, so no idea to include it.

2002-01-16  Patrick Eriksson  

        * arts-1-0-0-pre3

        * ami: Improved the README file slightly (I had forgotten that there 
        was one). Updated the Makefile.am files. Removed rand_test, that 
        existed in two folders.

2002-01-15  Patrick Eriksson  

        * arts-1-0-0-pre2

        * Sorry Oliver, but I have stuff that must be commited now.

        * ami/arts/tag2mo.m: The function now works for tag string with more