2004-07-12 Cory Davis (rsh) * PyARTS-1.0.45 * arts_math.py (lag_gauss): Added. 2004-07-07 Cory Davis * PyARTS-1.0.44 * arts_math.py: added constant LagGaussData for Laguerre-Gauss quadrature 2004-07-07 Cory Davis (rsh) * PyARTS-1.0.43 * arts_file_components.py (arts_clear3D_file): Added. * PyARTS.py (arts_run): Added 'clear3d' run type. 2004-07-06 Cory Davis (rsh) * PyARTS-1.0.42 * PyARTS.py (arts_run): Temporarily disabled the feature the previous change. Same old problem with popen and threading. * clouds.py (Cloud3D.pnd_field_gen): Fixed bug 2004-07-02 Cory Davis (rsh) * PyARTS-1.0.41 * arts_scat.py (refice_bond): Added (wrapper to refr_ind). Also fixed test_suite. * arts_file_components.py: Made fixes necessitated by Patricks recent changes. * PyARTS.py (arts_run): now deal with arts errors by opening stderr pipe (using popen3) and raising an exception if anything comes down it. 2004-07-01 Cory Davis (rsh) * PyARTS-1.0.40 * arts_scat.py (SingleScatteringData) __init__(), calc(), file_name_gen(): Modified to allow non-singleton T_grids * src/refr_ind.f: re-added to cope with temperatures outside range allowed by REFICE * clouds.py (Cloud3D): Added. Generates arts files for given 3D IWC and/or LWC fields! * setup.py: re-added refr_ind module. 2004-06-28 Cory Davis (rsh) * PyARTS-1.0.39 * doc/arts_scat.tex: Added Algorithm Description and Theoretical Basis section. 2004-06-26 Cory Davis * PyARTS-1.0.38 * arts_scat.py (batch_generate): Fixed small bug - num_proc was not begin passed to multi_thread2 * clouds.py (Cloud1D): created this class for Sreerekha 2004-06-11 Cory Davis (rsh) * PyARTS-1.0.37 * arts_scat.py (SingleScatteringData.__init__): Added input check for 'phase' keyword. Now use the Gauss legendre integration for ptype=30 for numerical integration over orientations and for calculation of Kabs. This is a huge improvement - reduces the time taken in the test_suite by a factor of 20 AND significantly improves the accuracy. * arts_math.py (gaus_leg,multi_gaus_leg): Gauss Legendre quadrature, and a multi dimensional version. I wish I had done this earlier. 2004-06-10 Cory Davis (rsh) * PyARTS-1.0.36 * arts_scat.py (SingleScatteringData): Added an optional precision argument for the *calc* and *generate* methods. This determines the precision of the tmatrix and tmd, T-matrix functions, and all of the numerical integration involved (for ptype=30). The default (and RECOMMENDED) value is 0.001. SingleScatteringData objects can now be initialised with the keyword 'phase', with valid values: 'ice' or 'liquid'. * src/tmatrix.f, src/tmatrix_NAG.f, tmatrix.pyf (tmatrix): Added DDELT as an input argument to allow the *precision* argument mentioned above. * clouds.py: Changed all phase argument references from 'water' to 'liquid'. * doc/arts_scat.{tex,pdf}: Updated. 2004-06-08 Cory Davis * PyARTS-1.0.35 * arts_math.py (vanilla_mc,multi_qromb): Added. Two multi dimensional integration functions * arts_scat.py (SingleScatteringData.calc). Implemented arts_math.multi_qromb for calculation of K_abs. This has fixed the inaccuracy ini this calculation (at a cost). arts_scat.test_suite runs through perfectly now. 2004-06-04 Cory Davis (rsh) * PyARTS-1.0.34 * scat_file_gen: more fiddling with pipes * clouds.py: After some tests, made some bug fixes. Added usage example in docstring. 2004-06-03 Cory Davis (rsh) * PyARTS-1.0.33 * general.py (multi_thread2): Removed try - except. * clouds.py (Cloud.scat_data_combine): debugged. Seems to work OK now. 2004-06-02 Cory Davis (rsh) * PyARTS-1.0.32 * general.py (multi_thread2): Added. Much more elegent version of multi_thread. Will replace multi_thread eventually. 2004-06-02 Cory Davis * PyARTS-1.0.31 * general.py (multi_thread): minor changes to hopefully deal with Cloud.scat_file_gen problem. 2004-06-01 Cory Davis (rsh) * PyARTS-1.0.30 * clouds.py: Documentation. * BUGS.txt: Added. * scat_file_batch: Played about with this because Clouds.scat_file_gen is hanging. Same for arts_scat.batch_generate 2004-05-31 Cory Davis (rsh) * PyARTS-1.0.29 * clouds.py (Clouds.scat_file_combine): small change so that we don't try to combine empty lists of scattering data. And added some documentation. 2004-05-28 Cory Davis (rsh) * PyARTS-1.0.28 * arts_math.py (locate): fixed bug * clouds.py (Clouds.scat_file_combine): implemented condensing of scattering data for mixed phase and different ptypes 2004-05-12 Cory Davis (rsh) * PyARTS-1.0.27 * clouds.py (Clouds): Began a major overhaul, which will enable the efficient representation of mixed phase clouds with multiple habits. Renamed *Habit* class *Hydrometeor* and added the data member phase ('ice' or 'water') * arts_scat.py (SingleScatteringData.__init__): Added type check for aspect ratio parameter. Also added 'return self' to several methods. 2004-05-11 Cory Davis (rsh) * PyARTS-1.0.26 * clouds.py (nioku): Fixed normalisation of particle number density function. (nioku_int): Fixed bug in last size bin limits. 2004-05-10 Cory Davis (rsh) * PyARTS-1.0.25 * clouds.py (nioku_int):Added. provides a binned cloud water distribution by integrating *nioku* over each size bin. There seems to be some inconsistency in the normalisation of the nioku function 2004-05-09 Cory Davis * PyARTS-1.0.24 * arts_math (gosper):Added. This is a good cheap approximation to the gamma function * clouds (nioku):Added. This is a particle size distribution for water droplets in clouds. 2004-05-04 Cory Davis (rsh) * PyARTS-1.0.23 * arts_scat.py (refliquid): Added. Calculates the refractive index for liquid water, as per the EOS-MLS code. 2004-04-22 Cory Davis (rsh) * PyARTS-1.0.22 * phys_const.py: Moved to physics.py and added function vapour_P. Changed all references to phys_const module. * arts_file_components: Reduce memory use by a factor of four in montecarlo simulations by setting scat_za_grid and scat_aa_grid to zero length vectors (these were causing ScatteringInit to create giant i_field and scat_field tensors, which Monte Carlo simulations don't actually use 2004-04-21 Cory Davis (rsh) * PyARTS-1.0.21 * clouds.py (Cloud.set_T_grid): Removed code that changed the temperature field if temperature is below the REFICE input limits. This issue is now dealt with in Cloud.scat_file_gen. 2004-04-21 Cory Davis * PyARTS-1.0.20 * clouds.py (Cloud): Added class. Made Cumulonimbus, Anvil, and Tower subclasses * PyARTS.py: Added global constants ARTS_PATH, which is determined by an environment variable with the same name (HOME/arts is default), and ARTS_EXEC(=ARTS_PATH/src/arts) * general.py (arrayfromascii): Added headlines (default= 0) argument to deal with text headers 2004-04-15 Cory Davis * PyARTS-1.0.19 * clouds.py (Cumulonimbus.clearHabits): Added. Function obvious. * artsXML.py (newLoad): Removed annoying prepending of DATA_PATH 2004-04-14 Cory Davis * PyARTS-1.0.18 * PyARTS.py (p20_p30SphereCompTestCase): Removed because it relies on an external file * arts_scat.py (BatchTest): Fixed bug that occurs if you dont have a DATA_PATH/scat directory 2004-04-08 Cory Davis * PyARTS-1.0.17 * clouds.py (Cumulonimbus.pnd_field_gen): Modified to account for annoying feature in ARTS (pnd_field covering whole atmosphere) * PyARTS.py (arts_run.run_parallel): Added return self 2004-04-07 Cory Davis * PyARTS-1.0.16 * clouds.py (Habit): Added this class which simplifies the implementation of microphysics in 3D cloud scenarios. (Cumulonimbus) Added methods *addHabit*, *scat_file_combine*, *pnd_field_gen*. Modified *scat_file_gen* to account for the Habit class. (mh97) changed arguments to be more ARTS friendly * arts_scat.py (SingleScatteringData.load): Added return self. 2004-04-06 Cory Davis * PyARTS-1.0.15 * clouds.py (mh97):Added. This returns the McFarquhar and Heymsfield particle size distribution for a given IWC, temperature, and array of particle diameters * src/erfc.c, src/check.h, src/cheb_eval.c, src/chebyshev.h , src/eval.h, src/error.c, src/stream.c, src/erfc_wrap.c src/gsl/*: A whole bunch of GSL files needed to make the erfc extension required by clouds.mh97 * arts_math.py (erf): added. Matlab equivalent. 2004-04-05 Cory Davis * PyARTS-1.0.14 * scat_file_batch: Fixed bug * arts_scat.py (batch_generate): Use multi_thread instead of multi_proc. * general.py (multi_proc): Removed. Realised that the same can be achieved, with more flexibility, by using multi_thread. 2004-04-05 Cory Davis * PyARTS-1.0.13 * refice.pyf, arts_scat.py: renamed refice extension module REFICE and added a python wrapper function for the refice function, which includes python exceptions for input range errors and uses frequency instead of wavelength as an input variable. * general.py (multi_proc): prepend 'nice ' to the command. * scat_file_batch: the scattering data file is now only generated if one by the same name does not already exist * tmatrix.pyf, tmatrix.f, tmatrix_NAG.f, arts_scat.py: Added errmsg output variable to the tmatrix function to signal convergence problems. (This has already been done for tmd) 2004-04-02 Cory Davis * PyARTS-1.0.12 * scat_file_batch: changed output command to cPickle.dump(a.filename,sys.stdout) 2004-03-31 Cory Davis * PyARTS-1.0.11 * general.py (multi_proc,multi_thread, test_suite, multi_thread_test): Implemented is_empty Event for job queues (much better than while not queue.empty() pass). Added test_suite with multi_test_thread. 2004-03-31 Cory Davis * PyARTS-1.0.10 * general.py (multi_proc): Fixed bug. * src/REFICE.f, src/refice.pyf: Added. The refice extension incorporates the refractive index calculation of Warren, Gao, and Wiscombe * src/refr_ind.f: Removed. * setup.py: Added refice extension and removed refr_ind * arts_scat.py (batch_generate): try - except to catch invalid scat_file_batch output. 2004-03-30 Cory Davis * PyARTS-1.0.9 * arts_scat.py (SingleScatteringData.calc): included code to append scattering parameters to file when a T-matrix conversion error occurs. This information will be used to define the range of applicablility of the double precision code. * src/tmd.f, src/tmd_NAG.f: removing babble with the QUIET argument. 2004-03-30 Cory Davis * PyARTS-1.0.8 * arts_scat.py (SingleScatteringData.filename_gen): Modified this function so that SingleScatteringData files go in the directory $DATA_PATH/scat * clouds.py (Cumulonimbus): Added member functions *scat_file_gen* * general.py (multi_proc): Added input variable logging which works in the same way as in the multi_thread function * src/tmd.f, src/tmd.pyf (tmd): Added *quiet* input variable to eliminate babble. 2004-03-29 Cory Davis * PyARTS-1.0.7 * clouds.py (Cumulonimbus): Added member functions *set_p_grid*, *set_T_grid*, *set_IWC_grid*, which will be used to generate single scattering properties and pnd files for ARTS simulations. These functions take a filename argument which points to a GriddedField3 file. 2004-03-26 Cory Davis * PyARTS-1.0.6 * clouds.py (Anvil,Tower,Cumulonimbus):Added member functions *get_extent*, *save*, *autogrid*. 2004-03-25 Cory Davis * PyARTS-1.0.5 * clouds.py: Added. This module includes classes representing 3D clouds and their components. So far we have a Cumulonimbus class which comprises an Anvil object and a Tower object. The *discretize* method returns a gridded field (of ones and zeros) representing the shape of the cloud, for given lat_grid, lon_grid and z_grid. From here it shouldn't be too hard to create pnd fields for ARTS simulations. 2004-03-24 Cory Davis * PyARTS-1.0.4 * arts_scat.py (SingleScatteringData.calc): incorporated analytic orientation averaging for the extinction matrix in the ptype=30 case for prolate particles. 2004-03-23 Cory Davis * PyARTS-1.0.3: Added avg_tmatrix.f as source for tmatrix extension module. This performs analytic orientation averaging of the T-matrix as described by Mishchenko(1991). This can be used to give an exact orientationally averaged extinction matrix. Modified setup.py accordingly * src/tmd.f: Bug fix. 2004-03-23 Cory Davis * PyARTS-1.0.2: Added README.txt. renamed ampld.par.f -> tmatrix.par.f and changed include statements in tmatrix.f tmatrix_NAG.f. 2004-03-21 Cory Davis * PyARTS-1.0.1: Added this file, also made separate T matrix source files for NAG and non-NAG distributions. Modified setup.py so that the environment variable HAVE_NAG (0 or 1) determines which source files to use.