2012-02-22 Oliver Lemke * PyARTS-2-0-0 * Sync major and minor version number with arts. 2012-02-17 Gerrit Holl * PyARTS-1-2-27 * PyARTS/io.py (get_f_grid): - Bugfix, arts-path can have more than one entry * PyARTS/arts_file_components.py: many old fixes... * PyARTS/physics.py: old stuff... * PyARTS/arts_math.py (linreg_with_error): added - Calculate linear regression with y-error in the input, get error in slope and cutoff in the result 2011-11-11 Gerrit Holl * PyARTS-1-2-26 * PyARTS/arts_file_components.py: - Raise exception if unrecognised option is passed 2011-11-10 Gerrit Holl * PyARTS-1-2-25 * PyARTS/helpers.py: (read_result_file_multi): Allow for range not starting at 0 * PyARTS/arts_file_components.py: Fix bug with part_species 2011-10-14 Gerrit Holl * PyARTS-1-2-24 * PyARTS/io.py (get_species_from_arrayofmatrixfile): - More robust way to get species * PyARTS/arts_file_components.py: (setup_scattering_properties): Add option to specify size range (atmosphere_from_batch): Add option to set massdensity_treshhold 2011-09-23 Gerrit Holl * PyARTS-1-2-23 * PyARTS/helpers.py: - Added function to read 1 result file * PyARTS/constants.py: - Added 2 and relocated 3 constants * PyARTS/arts_file_components.py: - Write comments only if verbose * PyARTS/physics.py: - Moved constants - Added functions to convert to and from mixingratio * PyARTS/arts_math.py: - Added function calculate "almost top" quantity 2011-09-08 Gerrit Holl * PyARTS-1-2-22 * PyARTS/arts_file_components.py: - Don't write long vectors (e.g. selection, reflectivities) in control-file, write them to external ArtsXML-files instead. 2011-09-07 Gerrit Holl * PyARTS-1-2-21 * PyARTS/constants.py: - Added hash with nicam fields, files * PyARTS/physics.py: (mixingratio2density): Convert mixing ratio to density, using the ideal gas law * PyARTS/arts_math.py: (integrate_with_height): Like integrate_quantity but more flexible * PyARTS/helpers.py: - Add support for nicam * PyARTS/io.py: - Add support for nicam * PyARTS/general.py: - Add support for nicam 2011-08-31 Gerrit Holl * PyARTS-1-2-20 * PyARTS/helpers.py: (defaults_batch): Attach aossd/aosmd, not just ...[0]. (get_result_file): Don't use glob, use no instead. -1 is last one. (read_result_file_multi): Added; reads combination of result-files. * PyARTS/arts_math.py(get_equal_content_bins): Added Do exactly what the name says. For statistics (medians, quantiles) per iwp-bin. 2011-08-26 Gerrit Holl * PyARTS-1-2-19 * PyARTS/clouds.py: (Droplet.aosmd): Bugfix - Should be "Water", not "liquid". * PyARTS/helpers.py: (get_result_file): Fix - When multiple hits, return last not first. * PyARTS/arts_file_components.py: (verbose): Added decorator to turn on verbosity around a WSM (ArtsFileComponents.toControlFile): Also pickle settings-dict (ArtsFileComponents.setup_scattering_properties): Expanded, can now also be files already there and can also be ArrayOf already. 2011-08-25 Gerrit Holl * PyARTS-1-2-18 * PyARTS/clouds.py(Droplet): Adapted - Add properties to get aossd/aosmd objects * PyARTS/artsXML.py: Adapted - If object has a .save() method (as all ArtsXML-objects do), use this directly, so that also ArtsXML-objects can be saved. * PyARTS/plotting.py: Minor changes - import from constants not arts_file_components * PyARTS/helpers.py: Expanded (defaults_batch): Add option to include liquid (default True) (get_chev_selections_tropical_all_suffix): Added, returns suffix for this. (get_chev_selections_tropical_all): Added, returns selections. (read_chev_selections_tropical_all): Added, reads multiple chevs and concatenates them then returns them. * PyARTS/io.py(get_f_grid): Added - Returns f_grid for sat/sensor * PyARTS/constants.py: Expanded - Add constant for relevant chevalier thingies * PyARTS/arts_file_components.py: Expanded - Started writing a framework to write certain objects to files and read them in, rather than all as literals. Some cannot be passed as literals and for some it's impractical (e.g. 10,000 emmisivities). - Added code to generate code to add single ssd/smd to aossd/aosmd * PyARTS/arts_math.py: Expanded (get_value_at_cloud_top): Get values such as CTH, CTT, etc. from Chev. (get_cth): CTH from Chev. * PyARTS/arts_scat.py: Bugfix params no longer an attribute 2011-08-17 Gerrit Holl * PyARTS-1-2-17 * PyARTS/helpers.py: Adapted - Can now add suffix - Two new functions: get_selections and get_result_file * PyARTS/io.py: Adapted - Added functions: get_chevalier_orig_file, read_chevalier_orig * PyARTS/arts_file_components.py: Adapted - Reflectivity can now be a vector, for batch cases - Can add multiple chevalier sets, will be appended 2011-08-03 Gerrit Holl * PyARTS-1-2-16 * PyARTS/helpers.py: Adapted - Can do suffix to filename of generated ARTS-controfile - Reduced default reflectivity 2011-07-29 Gerrit Holl * PyARTS-1-2-15 * PyARTS/helpers.py: Adapted - Now can do two sensors, also AVHRR * PyARTS/constants.py: Expanded - Added AVHRR fast setup * PyARTS/arts_file_components.py: Expanded - Added AVHRR fast setup 2011-07-21 Gerrit Holl * PyARTS-1-2-14 * example_config: Adapted - Changed category to "main" - Added more fields with paths and so * PyARTS/helpers.py: Added - Added new function with higher level functions, to get started more quickly. * PyARTS/io.py: (get_garand_file): Added - Return path to Garand data (get_species_from_arrayofmatrixfile): Added - Reads the start of Chevalier, Garand etc. to see (from the comment) what species are contained. (get_scattering_file): Implementation changes - Use new configuration function * PyARTS/arts.py: Removed some commented out code * PyARTS/constants.py: Expanded - Added several constants: garand dir, avhrr_reference include file, column ranges per sensor, sensor channels, species per dataset * PyARTS/general.py: Expanded (Configurator), (get_config): - Read configuration variable. File is actually read on first use and cached using a Configurator object. * PyARTS/arts_file_components: Expanded - Removed some old comments and cleaned up a bit (ArtsCodeGenerator.setup_general): - Add option to write out full spectrum for every batch case (ArtsCodeGenerator.setup_gas_abs): - Fix bug when using sensor to subsequently calculate lookup table - Add option to write out lookup table (ArtsCodeGenerator.setup_sensor_*): - Added AVHRR - Moved common IR to common method (ArtsCodeGenerator.setup_batch_atmosphere_from_chevalier): - Automatically determine what species need to be added; can now also be used for Garand and possibly others. 2011-07-20 Gerrit Holl * PyARTS-1-2-13 * PyARTS/arts_types.py: (ArrayOf.__repr__): - Actually overload list.__repr__ so it doesn't look like an ordinary list. (GriddedField._load_from_artsXML_object): Added * PyARTS/physics.py: (frequency2wavelength): Added. Helper function. (frequency2wavenumber): Added. Helper function. 2011-07-12 Gerrit Holl * PyARTS-1-2-12 Added support to write sensor responses, to use HIRS with lookup table, and adapted to recent ARTS changes. * example_config: Added - Copy to ~/.PyARTSrc and adapt if needed * PyARTS/arts_types.py: (GriddedField1): Added (ArrayOfGriddedField1): Added - Empty helpers for writing sensor response. * PyARTS/io.py: (get_scattering_file): Added - Finds path for scattering ArtsXML data * PyARTS/arts_file_components.py: (commenter): Also supports keyword arguments (runonce): Also supports keyword arguments (ArtsCodeGenerator.toFile): - Also write settings used to generate code. (ArtsCodeGenerator.setup_gas_abs): - If abs_species from sensor, might will want to read an abs_lookup table (ArtsCodeGenerator.setup_sensor_...): - More flexible approach in adding sensors, e.g. more than one way to add HIRS (ArtsCodeGenerator.setup_hirs_init): - Enable support for abs_lookup reading (ArtsCodeGenerator.simulate_clearsky): - Apparently, cloudbox_checkedCalc still needs to be called if cloudbox is off (ArtsCodeGenerator.do_batch_montecarlo): - Write out number of photons (but lacking multiplication between Index) * PyARTS/physics.py: (wavenumber2frequency): Added - Convert wavenumber to frequency; SI units. * README: - Document ARTS_XMLDATA_PATH and ~/.PyARTSrc 2011-07-08 Gerrit Holl * PyARTS-1-2-11 * PyARTS/artsXML.py (XMLFile._addString), (text_to_xml): Bugfix - Escape characters * PyARTS/arts_types.py (ArrayOf.__getitem__): Added - Returns array of items from all contained objects * PyARTS/io (ReadChevalier): Documentation bugfix - Remove documented but non-existing argument * PyARTS/arts.py (ArtsRun): Expanded - If catch_stdout is false, will not catch stdout but write it to the screen (e.g. os.system) - Detailed ARTS-flags can be passed with the 'flags' keyword * PyARTS/arts_file_components.py: (commenter): Write method docstring to controlfile (ArtsCodeGenerator.__doc__): Remove unused fields (ArtsCodeGenerator.setup_geoid): Break this apart (ArtsCodeGenerator.setup_ground): Break apart geoid (ArtsCodeGenerator.setup_batch_atmosphere_extra): - Only do batch_atm_fields_compactAddSpecies if cloudy (ArtsCodeGenerator.setup_montecarlo): Cleanup (ArtsCodeGenerator.setup_mc_ycalc): Added (ArtsCodeGenerator.setup_expand_matrix): Added (ArtsCodeGenerator.setup_hack_1D3D_mcir): Added (ArtsCodeGenerator.simulate_clearsky): atm_checkedCalc -> new methods (ArtsCodeGenerator.simulate_montecarlo): atm_checkedCalc -> new methods (ArtsCodeGenerator.simulate_doit): atm_checkedCalc -> new methods (ArtsCodeGenerator.simulate_mc_ycalc_hack): Added (ArtsCodeGenerator.simulate_mc_ycalc): Added (ArtsCodeGenerator.do_batch_montecarlo): Added 2011-06-09 Gerrit Holl * PyARTS-1-2-10 * PyARTS/arts_types.py: (SingleScatteringData): Adapted - Fix bug in slicing with ndarrays - Fix bug for divide-by-zero (ArrayOfSingleScatteringData): Expanded - Added .integrate() method, will integrate all - Added .sub member that slices the elements (rather than the array) 2011-06-08 Gerrit Holl * PyARTS-1-2-9 * test/test_batch_doit.py: Adapted - Try with tighter grid and solids * PyARTS/artsXML.py: Adapted (Tensor): Use setter for data access, check shape (Handler): Fix bug for empty tensors * PyARTS/arts_types.py: Adapted (SingleScatteringData): - Use attributed rather than hash - Add more info in repr() - Implement [a, b, c, d]-style subslicing - Add methods to integrate and normalise - Check the size (ArrayOfSingleScatteringData): - Add methods to normalise * PyARTS/constants.py: Adapted - Add consntants for ptypes 2011-05-25 Gerrit Holl * PyARTS-1-2-8 * PyARTS/training_data_generator.py: Bugfix - Fix reshaping if array is non-contiguous * PyARTS/constants.py: Expanded - Add names of shapes in Yong, Hang. 2011-05-20 Gerrit Holl * PyARTS-1-2-7 * test/testall.py: Expanded - Started test for read hong/yang * PyARTS/io.py: Minor changes - Fixed typo in doctsrings * PyARTS/arts_math.py: Expanded - Added function to integrate the phase matrix. So far, uses trapezoidal integration. 2011-05-19 Gerrit Holl * PyARTS-1-2-6 * PyARTS/clouds.py: Updated - subsubsubsection in docstring underlined with ~~~ - commented out GasAbsLookup, this is not needed anymore? * PyARTS/io.py: Cosmetic - Update docstring to include in userguide * PyARTS/arts.py: Cosmetics - subsubsubsection in docstring underlined with ~~~ * doc/desc_func.py: Updated - Don't use eval, eval is evil. Use inspect to get function signature and docstring. * doc/docstring.py: Updated - Also import io * doc/userguide.rst: Updated - Include io - Change convention for levels of sections * doc/docstringlist.txt, doc/funcdesclist.txt: Updated - Remove GasAbsLookup - Add io 2011-05-19 Gerrit Holl * PyARTS-1-2-5 * PyARTS/clouds.py, PyARTS/artsXML.py, PyARTS/arts_types.py, PyARTS/arts.py: Cosmetics - Docstrings now in RST format for userguide * doc/makefile_gen.py: Updated - Use installation rather than source * PyARTS/io.py: Bugfix - First line should not be empty but contain coding * doc/userguide.rst: Updated - Started updating userguide. Got rid of a lot of stuff. * README.txt: Updated - Added cautionary note on installation, got rid of description of examples (hard to maintain). 2011-05-18 Gerrit Holl * PyARTS-1-2-4 * test/cloudstest.py: Updated - Adapted to changed implementation * test/generaltest.py: Cosmetics - Fixed indentation * test/arts_mathtest.py: Adapted - Don't rely on several levels deep "from x import *" * test/arts_scattest.py: - Fixed indentation * test/arts_geometrytest.py: - Removed test that won't work * PyARTS/clouds.py: Adapted - Fixed some typo's - Adapted to changed implementation - Removed non-working cloudbox property * PyARTS/arts_types.py: Bugfix - Fixed bug for ArrayOfSingleScatteringData - Added properties to get and set grids * PyARTS/arts.py: Bugfix - Fixed bugs * PyARTS/training_data_generator.py: Bugfix - Adapted to new implementations * PyARTS/general.py: Bugfix - Fixed bug, now use asarray * PyARTS/arts_file_components.py: Bugfix - Some parts always, some only generic case - added rte_doppler ignore - got rid of crazy "cloud must be set" - added many missing calls in alternate constructors * PyARTS/arts_math.py: Adapted - Fixed some bugs - Adapted to changed implementanio * doc/makefile_gen.py: Fixes - DON'T ASSUME . IS IN THE PATH!!!! * doc/userguide.rst: Small changes - Started to update this * doc/funcdesclist.txt,docstringlist.txt: Fixed - Updated reflecting recent PyARTS changes * setup.py: Expanded - Automatically determine version number * scat_file_batch: Adapted - Refrelc tcahengs * README.txt: Expanded - Describe docutils dependency * examples/arts_run_collection.py, examples/mc_incoming_gen.py, examples/training_data_gen.py, examples/IWP_opt_pathCalc.py, examples/MCwith3Dboxcloud.py, examples/raindrops_clouddrops_crystals.py, examples/get_atm_fields.py: Adapted - Commented out what won't work - Fixed what might work 2011-05-17 Gerrit Holl * PyARTS-1-2-3 * PyARTS/{io,constants.general}.py: Bugfix - Don't fail if ARTSXML_DATA_PATH is not set; only raise an error when this is not set and actually needed. 2011-05-17 Gerrit Holl * PyARTS-1-2-2 * test/test_batch_doit.py: Expanded - Include IR * PyARTS/clouds.py: Updated - Get rid of "from ... import *" * PyARTS/artsXML.py: Updated - Work with fps as well as paths * PyARTS/arts_types.py: Expanded - Added method to read Yang2005 data * PyARTS/io.py: Expanded - Fix bug in reading Yang data * PyARTS/constants.py: Expanded - Added required species per sensor * PyARTS/general.py: Expanded - Got rid of "from ... import *" - Added functions to locate fascod * PyARTS/arts_file_components.py: Expanded - Updated docs - Generate tempvar names - emissivity -> reflectivity - can do monochromatic IR - Set up extra atmospheric fields * PyARTS/arts_math.py, PyARTS/physics.py: Bugfix - Fix some stupid typos 2011-05-06 Gerrit Holl * PyARTS-1-2-1 * PyARTS/arts_types.py: Expanded - Griddedfields now have a .interpolate() method that returns a new GriddedField, the original interpolated upon a set of new axes. * PyARTS/arts_math.py: Expanded - Got rid of 'from scipy import *'; this is dangerous, e.g. a local function interp() shadowed numpy's one. Updated code accordingly. Also OO-ified a bit. - Added function combine_axes to create all combinations. Like the one I added to Matlab™ a while back. 2011-05-06 Gerrit Holl * PyARTS-1-2-0 * Decided to bump minor version number, a lot of incompatible changes recently, otoh a lot of cleaning up to be done still, oh well. * PyARTS/artsXML.py: Changed behaviour - Enable suppression of header (e.g. useful for Arrays) - Fix bug in saving tensor - Enable suppression of closing (e.g. useful for StringIOs) * PyARTS/arts_types.py: Expanded - More places where files can be passed rather than strings - Added GriddedField.toXML * PyARTS/arts_file_components.py: Expanded - Should really be able to use ArtsCodeGenerator more flexibly, e.g. for very small snippets of ARTS code (useful for testing individual WSMs) 2011-04-29 Gerrit Holl * PyARTS-1-1-147 * test/test_batch_doit.py: Rearranged - Split into functions * PyARTS/constants.py: Expanded - Added orders here, but realised this is not enough (see ticket 48 for ARTS) * PyARTS/arts_file_components.py: Expanded - Make ArrayOfIndex behave similarly to Vector 2011-04-19 Gerrit Holl * PyARTS-1-1-146 * PyARTS/io.py: Bugfix - Don't multiply with the area twice :( 2011-04-18 Gerrit Holl * PyARTS-1-1-145 * test/test_batch_doit.py: Expanded - Read Chevalier, select 25 most cloudy atmospheres, and show difference between clearsky and cloudy simulations (microwave) * PyARTS/io.py: Improved - Seperate out the code to get the filename of the particular Chevalier data; this facilitates passing the path on to ARTS. * PyARTS/arts.py: Bugfix - Where did that +-sign go?! * PyARTS/arts_file_components.py: Expanded - Add do_batch_clear method - Bugfix, don't add strings (or other spurious data) to Agenda. * PyARTS/arts_math.py: Expanded - Add method to integrate quantity (e.g. IWP). To be verified. 2011-04-15 Gerrit Holl * PyARTS-1-1-144 * PyARTS/arts.py: Changed - Don't catch exception A and throw exception B, just let it be - Run arts with -r 000. - Also read .gz output files. * test/test_batch_doit.py: Added - Test batch DOIT case for AMSU-B setup. * PyARTS/constants.py: Bugfix - Fix typo in name for amsub * PyARTS/arts_file_components.py: - If sensor provided, need limb config explicitly - Can call write_outputs more than once - Don't recreate surface_emissivity, just pass it as a literal, safer - Improve some documentation - Finalise special sensor setup - Fix some bugs - Use {}.setdefault in do_batch_doit - Enable writing in each batch-case 2011-04-15 Gerrit Holl * PyARTS-1-1-143 * PyARTS/{io,arts_types}.py: Expanded - Added functionality to read new, Yang2005 data. 2011-04-14 Gerrit Holl * PyARTS-1-1-142 * PyARTS/arts_types.py: Small changes - Fixed bug in SingleScatteringData.__repr__ - Represent ArrayOfSingleSCatteringData as well - Fix typo in loader * PyARTS/io.py: Small changes - Use float64 rather than float32 - Rename "Z" to "scattering_phase_function" * PyARTS/general.py: Expanded - Added function to represent list-of-strings as Arts literal. * PyARTS/arts_file_components.py: Expanded - Added doit-batch-case. This is implemented by a contextmanager ArtsCodeGeneraton.batch. If this is entered (with self.batch:), subsequent methods are added to the batch-case rather than the workspace directly. - Added interface to Daniels work. - Moved around some things: - Split ground into ground behaviour that doesn't change in a batch and ground properties that do. - Split cloud into scattering properties that don't change in a batch and pnd (or calculation thereof) that do. - Fixed calculation of abs lookup table - Removed some superfluous settings (commented out for now) * PyARTS/arts_scat.py: Shrinked - Removed bug-causing import statement * TODO.txt: Expanded - Binary ARTS files? But in any case Daniels work. 2011-04-08 Gerrit Holl * PyARTS-1-1-41 * test/arts_scattest.py: Bugfix - Direct passing of a string to the constructor of SingleScatteringData is no longer supported; use SingleScatteringData.load(...) instead. * PyARTS/arts_types.py: Bugfixes - Use XMLfile-class to write XML, so that header and footer are properly written and the XML-file becomes well-formed. - Fix typo, p_type -> ptype - Don't forget to return the object in the method-turned-classmethod SingleScatteringData._load_from_artsXML_object. * PyARTS/arts_scat.py: Bugfixes - Forgot to import c - Don't try to write non-existing description - aspect_ratio is passed on, not inferred - fixed typo, nt -> nT - fixed reshaping; .reshape(...) does not change the object in-place, whereas spam.shape = (a, b, c) does. 2011-04-07 Gerrit Holl * PyARTS-1-1-40 * PyARTS/arts_types.py: Expanded, behaviour changes - Move SingleScatteringData here, but without the calculations wARNING: untested, so I'll probably fix this soon - DROPPED SUPPORT for direct passing of string to SingleScatteringData; use classmethod .load(...) instead. - Add class for ScatteringMetaData - Add class for ArrayOfSingleScatteringData; this also contains ArrayOfScatteringMetaData. This class has two methods to read from Hong or Yang data, respectively. - Move saving functionality to ArtsType baseclass - New class ArrayOf, generic container; thus grossly simplified ArrayOfGriddedField3 - Started method to get extent of data, but not implemented yet - Reorganise imports * PyARTS/arts_scat.py: Behaviour changes - Moved SingleScatteringData out of here, but kept calculations wARNING: untested, so I'll probably fix this soon - Reorganised imports - some layout changes * PyARTS/clouds.py: small and documentation changes - Expand documentation - Instead of GriddedField3 use LatLotGriddedField3 (class too specialised to be GriddedField3) - Get rid of illegal "from ... import ..." statement. - Add property to get cloudbox, but not implemented yet - Change old-style into new-style classes * PyARTS/artsXML.py: Implementation changes - Improve implementation of writing tensor to text (use numpy's native functionality) - Fix bug with attribute-generation - Change old-style into new-style classes * PyARTS/io.py: Expand - Added functions readYang, readYang_raw, readHong, readHong_raw. * PyARTS/general.py: Cosmetic changes - Tiny changes in layout. * PyARTS/{arts,arts_file_components}.py: Removed executable flag * TODO.txt: Expanded - Added some items * ChangeLog: Expanded - Documented my changes 2011-03-22 Gerrit Holl * PyARTS-1-1-39 * PyARTS/clouds.py: Documentation changes - .pnd_field_gen(...) actually calculates pnd_field_raw, not pnd_field! * PyARTS/arts_types.py: Expanded - Fixed bug in GriddedField - Added AbsSpecies class to hold exactly that * PyARTS/arts_file_components.py: Behaviour changes - Moved quotify to general - Fixed bug in atmospheric reading - Removed wrong automated selection of frequencies to read from catalogue, user should indicate this instead - Make clear scat_data_file is a list of files, not a single file. The former may reappear later. - Some implementation changes - Documentation improvements * PyARTS/general.py: Expanded - Moved quotify here * PyARTS/sli.py: Bugfix - Fix recursive import * TODO.txt: Expanded - Added item on scattering stuff * ChangeLog: Expanded - Documented my changes 2011-03-18 Gerrit Holl * PyARTS-1-1-38 * PyARTS/artsXML.py: Implementation changes - Modernised code - Use OrderedDict so order in XML-file is not lost * PyARTS/arts_types.py: Expanded - Add n-dimensional GriddedField * PyARTS/io.py: Changed - Follow nomenclature for Cheval. dtype * PyARTS/constants.py: Expanded - Added mapping for well-mixed species * PyARTS/general.py: Expanded - Added function to merge record arrays - Added OrderedDict class for Python < 2.7 * PyARTS/arts_file_components.py: Implementation changes - Use set rather than hash in runonce - Moved species_str definition * TODO.txt: Expanded * ChangeLog: Document my changes 2011-03-16 Gerrit Holl * PyARTS-1-1-37 * PyARTS/artsXML.py: Implementation changes - Don't call external gzip, use Gzip module instead - Use context managers to ensure files are closed - Change old-style into new-style classes * PyARTS/io.py: Added - Added function to read Chevalier data. Will add more. * PyARTS/constants.py: Added - For constants used through the library * PyARTS/arts_file_components.py: Significant changes Introduced a lot of bugs in yesterdays work-in-progress commit. - Calculation "am I in limb?" now works - Started work on using sensors (amsu, hirs, ...) - Finished DOIT implementation. This now works (?) - Rearranged some code * PyARTS/arts_geometry.py: Small changes - Got rid of "from x import *" - Fixed bug in islimb() 2011-03-15 Gerrit Holl * PyARTS-1-1-36 * PyARTS/arts_file_components.py: Work-in-progress - Started working on DOIT - Added .add() method to AgendaSet object * PyARTS/arts_geometry.py: Expanded - New function to calculate Earth angular diameter for distance - New function to determine whether geometry is limb or not 2011-03-14 Gerrit Holl * PyARTS-1-1-35 * PyARTS/arts_file_components.py: Small changes - Re-arrange grid-setting - Set geoid 2011-03-11 Gerrit Holl * PyARTS-1-1-34 * PyARTS/arts.py: Behaviour changes - Got rid of arts_..._var_... dictionaries, do this in arts_file_types instead (so stuff is centralised) - Don't call the shell to remove files. Dangerous (e.g. what is filename end in a / due to some bug?) - Removed ArtsRunCollection class; no need to run multiple ARTS at the same time. - Some layout/spelling changes. * PyARTS/arts_file_components.py: Behaviour changes - Changed names of methods - Raise error if essential config is missing, on second thought I prefer LBYL over EAFP here. - Re-arrange and re-order stuff. - Expand stuff. - Removed MCIPA. * PyARTS/arts_scat.py: Small changes - Give info on wavelength when refice fails. * PyARTS/sli.py: Bugfix - "from x import *" is invalid inside a function * TODO.txt: Add some more items * Changelog: Document my changes 2011-03-10 Gerrit Holl * PyARTS-1-1-33 * TODO.txt: Removed svn:executable property * PyARTS/arts.py: Behaviour changes - Got rid of defaults mapping, this is accurately done by including general.arts. - Got rid of template file, no longer needed. - Fixed some docstrings. * PyARTS/arts_file_components.py: Behaviour changes - Get rid of defaults mapping - Simplified VectorSet implementation - Get rid of outdated documentation - Use functools.wraps to preserve name, docstring etc. for methods wrapped through decorators - Added decorator to ensure ArtsCodeGenerator methods are run only once per object (@runonce) - Always generate general settings - Do some checks in ArtsCodeGenerator.__init__ - Add date to header - Comment out or remove stuff I now think to be redundant. Now it not only works, I also understand what I'm doing, at least for the clear-sky pencil-beam monochromatic case. - Fix rte_pos/sensor_pos thingy. * PyARTS/general.py: Expanded - Added namedtuple 'grid' to be used for grid definitions - Added array2arts that creates a string literal from a n-dimensional numpy array * TODO.txt: Expanded - Added items related to sensors, antennas, gas absorption, docstrings * Changelog: Expanded - Document by changes. Bump version number. * data/.cvsignore, .cvsignore, examples/.cvsignore: Removed - Lost in time. 2011-03-08 Gerrit Holl * PyARTS-1-1-32 * PyARTS/arts.py: Implementation changes - Replace os.popen* by subprocess.Popen (preferred method) - simplified implementation of get_arts_version() * PyARTS/training_data_generator.py: Bugfix - io.read_array is now spelt numpy.loadtxt * PyARTS/arts_scat.py: Small changes - Add more info to warning messages - Fix some calls that depended on "from x import *" * examples/IWP_opt_pathCalc.py, examples/MCwith3Dboxcloud.py: Bugfix - show that rte_pos already includes Earth i.e. don't add Earth radius (corrected: True) * TODO.txt: - Added note on multiprocessing 2011-03-07 Gerrit Holl * PyARTS-1-1-31 * PyARTS/clouds.py: Small changes - Created a __repr__ method for the cloud (will expand later) to provide some useful information on interactive use. * PyARTS/__init__.py: Documentation changes - Adapted docstring to new behaviour. Runs fine in doctest except for the last cases. Monte Carlo simulations still have different results, even though the seed is the same?! * PyARTS/arts.py: Small changes - Fixed bugs introduced by getting rid of "from x import *" - More information in exception messages - Added __repr__ method to ArtsRun objects (will provide more info later) * PyARTS/arts_file_components.py: Significant changes - Added significant amounts of documentation (runs in doctest)\ - Added a commenter-decorator around all ArtsCodeGenerator methods generating code, to ease debugging of automatically generated arts control-files. - Prevent ArtsCode objects from being instantiated - Write spaces rather than tabs (to be honest, to shut up doctest...) - Added toString method to ArtsCodeGenerator class - grids want nelem, not n - Set default interpolation order to 1. - Changed behaviour of Comment objects - Resorted MC stuff lost in wrong method - Added clearsky-sim-commands (ycalc & friends; what about this ycalc agenda?) * PyARTS/arts_scat.py: Minor changes - Made ArrayOfSingleScatteringData an object - don't raise RuntimeError, raise PyARTSError instead - use 21st century Python code (no more .has_key(...)) * PyARTS/sli.py: Bugfixes - Added two import statements needed because of scipy changes * TODO.txt: Expanded - Added some items to the TODO-list * examples/arts_run_collection.py: Minor change - Runs on 4 cores rather than 2 now * examples/mc_incoming_gen.py: Minor change - Have pressure-grid up to 101300 rather than 107000 to shut up ARTS complaining about too far extrapolation * examples/MCwith3Dboxcloud.py: Minor change - Have pressure grid up to 101300 rather than 100000 to shut up ARTS complaining about too little interpolation (?) * ChangeLog: Documented my changes 2011-03-04 Gerrit Holl * PyARTS-1-1-39 * Generally: Upgrading to ARTS-2 syntax. Refactoring. Work in progress. Still incomplete. Will continue after the weekend. Remaining errors appear to be hard to solve, e.g. [arts]/src/matpackI.h:314: Numeric ConstVectorView::operator[](Index) const: Assertion `n * PyARTS-1-1-38 * PyARTS/clouds.py: Adapted - Fix typo in docstring - Make Cloud an object and use "is not None" rather than testing for equality (testing for equality against None is dangerous, because objects can override the equals-operator) * PyARTS/arts_types.py: Adapted - Make GriddedField3 an object * PyARTS/__init__.py: Adapted - Fix some errors in documentation. saveTensor should be save, gas_species should be abs_species and gas_abs_lookup should be abs_lookup. * PyARTS/arts.py, PyARTS/general.py: Adapted - Replace Float by 'float32' as is standard in newer numpy versions * PyARTS/arts_file_components.py: Adapted - montecarlo_sim_commands = mcgeneral_sim_commands? There are several calls to the former, but only mcgeneral_sim_commands and mcipa_sim_commands are defined. * examples/raindrops_clouddrops_crystals.py: Adapted - Added 'special' to explicitly imported modules 2011-02-25 Gerrit Holl * PyARTS-1-1-37 * PyARTS/{clouds,arts_types,arts,arts_file_components,general,arts_math,arts_scat}.py: - Use more specific exceptions. All PyARTS-specific exceptions now derive from PyARTSError, which in turn derives from Exception. 2011-02-24 Gerrit Holl * PyARTS-1-1-36 * PyARTS/physics.py: Adapted - Added units to constants (in comments) - Added function to convert wavelength to frequency * PyARTS/arts_scat.py: Adapted - SingleScatteringData is now a new-style class - If NP=None, particles are not spheroids (and calc(...)) will throw an exception. This is to enable the use of this class for more generic ice particles. - Make it possible to use keyword arguments - Only use the default description if no description is passed. * README.txt: Adapted - Rewritten this a bit. Now needs Python 2.6 (released October 2008). - Removed notice on uptodate source distribution at Cory Davis' website, because this is not factually correct. - Some other small changes here. 2010-12-23 Cory Davis * PyARTS-1-1-35 * removed laheybuild.sh on the assumption that nobody uses it. 2010-10-29 Gerrit Holl * PyARTS-1-1-34 * (generic comments): (–: hope nobody minds my boldness here :–) - In any file I edited, I changed the indentation style from a mixture of tabs and spaces to spaces only. Mixing tabs and spaces is a bad idea because different people have different tabstops. Indenting with four spaces follows PEP-0008 @ http://www.python.org/dev/peps/pep-0008/ - I changed string exceptions to class exceptions. Class exceptions have been the preferred method ever since 1997 and string exceptions have been deprecated for a long time, and were finally removed in Python 2.6. This affects PyARTS/{arts_file_components,arts_math,arts,arts_scat,arts_types,coulds,general}.py - Only 2 errors in the unittest remain and both are due to "arts1 not supported". * test/cloudstest.py: Adapted - Added "from scipy import integrate", this is apparently not in scipy.__all__ anymore * PyARTS/clouds.py: Adapted - Added "from scipy import special", this is apparently not in __all__ anymore * PyARTS/arts.py, PyARTS/arts_scat.py: Adapted - Use subprocess module, popen is deprecated. Not consistently, only to shut up the unittests. * PyARTS/plotting.py: Adapted - Import numy instead of numerix, the latter is deprecated and the former compatible. 2009-06-01 Cory * PyARTS-1-1-33 * PyARTS/training_data_generator.py (TrainingDataGenerator._extract_nonzero_iwc_T): fix cloudbox limits for profiles with only one non-zero IWC. (TrainingDataGenerator.run): fixed print statement. 2009-05-31 Cory Davis * PyARTS-1-1-32 * PyARTS/share/AMSUcloudyBatch.arts.tmplt: updated to Arts 2 format and use fast AMSUB stuff. * PyARTS/training_data_generator.py (TrainingDataGenerator.run): move existing ybatch.xml out of the way 2009-05-29 Cory Davis * PyARTS-1-1-31 * PyARTS/training_data_generator.py: for some reason from scipy import * does not import io or special. 2008-06-20 Cory Davis * PyARTS-1-1-30 * examples/training_data_gen.py: This example script now works, but takes a long time. Included a plot of the output radiances. 2008-06-18 Cory Davis * PyARTS-1-1-29 * PyARTS/training_data_generator.py: Now works and is somewhat documented. 2008-06-17 Cory Davis * PyARTS/artsXML.py (save): use gzip -f 2008-06-17 Cory Davis * PyARTS/training_data_generator.py (TrainingDataGenerator): More work on this commiting to work on a faster machine. 2008-06-16 Cory Davis * PyARTS/training_data_generator.py (TrainingDataGenerator): Began work on this class. 2008-06-15 Cory Davis * PyARTS/artsXML.py (tensor_to_xml): use reshape instead of changing shape directly (not sure why this matters) 2008-06-13 Cory Davis * PyARTS-1-1-28 * PyARTS/artsXML.py (save): enabled saving of gzipped files. Also added numpy.int32 to mapping dictionary. (has no effect for now, see below) (get_arts_type): Nasty catch because for some reason type(_a_numpy_int)==numpy.int32 returns False. * PyARTS/artsXML.py (load): enabled loading of gzipped files. 2008-05-28 Cory Davis * PyARTS-1-1-27 * PyARTS/artsXML.py: A big refactor of this module. The ARTS data type to save is now determined automatically from the python type. This mapping is specified by the dictionary artsXML.mapping. Basically it goes ListType=>Array, numpy.ndarray=>Vector/Tensor, IntType=>Index, FloatType=>Numeric. For instance, [[1,2,3],[4,5,6]] would be saved as an ArrayOfArrayOfIndex, whereas [array([1,2,3]),array([4,5,6])] would be saved as an ArrayOfVector. This has allowed the deletion of several type specific XMLfile.add* methods and save* functions. There is now only one save function and one XMLFile.add method. I think this code looks very nice now. These changes necessitated lots of changes to artsXML calls elsewhere in PyARTS. 2008-05-28 Cory Davis * PyARTS-1-1-26 * PyARTS/arts_file_components.py: changed the setting of lmax in ppath calculations - this was broken after patricks recent ARTS changes. * examples/arts_run_collection.py: fixed for older numpy versions (where the numpy.nonzero return value is different) 2008-04-29 Cory Davis * PyARTS-1-1-25 * Upgrading to numpy 1.04 required quite a few changes (mainly Float to float) and a change to the return of the nonzero function. 2008-04-23 Cory * PyARTS-1-1-24 * All tests now pass after many modifications due to recent arts changes. 2008-04-12 Cory Davis * PyARTS/arts_file_components.py (clear_sky_sim_commands):Included setting of y_unit. 2008-02-10 Cory * PyARTS-1-1-24 * PyARTS/arts.py (ArtsRunCollection.__init__): generally fixing this up. * PyARTS/clouds.py (Gamma.__init__): fixed particle_masses field. 2008-02-07 Oliver Lemke * PyARTS-1-1-23 * PyARTS/arts_file_components.py: mc_unit is now y_unit. 2008-02-05 Oliver Lemke * PyARTS-1-1-22 * PyARTS/arts.py: Up required version to 1207 for change of Main agenda name to Arts. Refine the check whether the current arts version is newer than the required version. (Take minor version increments into account) * PyARTS/arts_file_components.py: Change Main agenda name to Arts for controlfile generation. abs_speciesSet is now replaced by SpeciesSet. VectorToTbByRJ is now VectorToRJBT. 2007-03-23 Cory Davis * PyARTS-1-1-21 * examples/arts_run_collection.py: Added, but not yet finished!!. This is going to be a comprehensive and hopefully instructive example on how to do a large number of cloudy simulations with PyARTS. 2007-03-20 Cory Davis * PyARTS-1-1-20 * PyARTS/arts.py (ArtsRunCollection): Added. The ArtsRunCollection class allows you to perform a list of ARTS calculations , which can be done in a parallel multi-threaded manner. Example coming soon. 2007-03-19 Cory Davis * PyARTS-1-1-19 * doc/userguide.rst: changed email address and included acknowledgments section * PyARTS/__init__.py: Updated info on where to get ARTS * README.txt: Updated info on where to get PyARTS, and supported versions of numpy and scipy. 2007-03-18 Cory Davis * PyARTS-1-1-18 Since numpy is now 1.something I thought I would upgrade. This has necessitated a few changes to PyARTS. I have also upgraded to scipy 0.5.2. * PyARTS/arts_scat.py, PyARTS/arts_geometry.py, PyARTS/arts_math.py, PyARTS/clouds.py, test/arts_scattest.py, test/arts_mathtest.py: Made several changes brought about by the upgrade to numpy-1.01 2006-09-21 Cory Davis * PyARTS-1-1-17 * PyARTS/arts_scat.py (SingleScatteringData._load_from_artsXML_object): Added. part of reorgainsing load code. (SingleScatteringData.load): call new function above. (ArrayOfSingleScatteringData.load): Added. (ArrayOfSingleScatteringData.__len__): Added. (ArrayOfSingleScatteringData.__getitem__): Added. 2006-09-20 Cory Davis * PyARTS-1-1-16 * test/examplestest.py (ExamplesTest.testExamplesRunWithNoErrors): Now use os.system to run each example - execfile was a bad idea resulting in a single messy namespace. * examples/raindrops_clouddrops_crystals.py: Added. 2006-08-03 Cory Davis * PyARTS/arts_types.py (ArrayOfGriddedField3.load): was broken, now fixed. 2006-07-13 Cory Davis * PyARTS-1-1-15 * doc/userguide.rst: added description of arts.IWP_cloud_opt_pathCalc * doc/funcdesclist.txt: added arts.IWP_cloud_opt_pathCalc * PyARTS/__init__.py: Included descriptions of more modules in the docstring (which also ends up in the userguide). * README.txt: Updated to account for PyARTS cvs being back up and running. * PyARTS-1-1-14 * examples/mc_incoming_gen.py: updated for all the vriable name changes. * examples/MCwith3Dboxcloud.py (arts_params): updated for all the vriable name changes. * PyARTS/arts_file_components.py (ground_setup): updated for Patricks surface changes. (rad_trans_setup): updated for Patricks iy_space_agenda changes. * PyARTS/arts.py (required_arts_version): updated to 1-1-1118 * examples/get_atm_fields.py (Q): fixed for recent absorption name changes * PyARTS/arts_file_components.py (gas_abs_setup): fixed for recent absorption name changes 2006-07-11 Cory Davis * PyARTS/arts.py (ArtsRun.process_out_stream): when there as an error retrieving an output variable, print out the succesful output to ease debugging. 2006-06-19 Cory Davis * PyARTS-1-1-13 * PyARTS/clouds.py (Droplet.__init__): calculate particle_masses attribute (Crystal.__init__): ditto (MonoCrystal.__init__): ditto (Gamma.__init__): ditto * examples/IWP_opt_pathCalc.py: Added. 2006-06-16 Cory Davis * PyARTS-1-1-12 * PyARTS/arts_file_components.py (arts_iwp_tau_file): Added * PyARTS/arts.py (arts_cfile_funcs): added entry for iwp_tau runs (arts_output_vars): "" (arts_output_var_types): added new arts WSVs (arts_output_var_desc): added new arts WSVs (ArtsRun.__retrieve_var): allow retrieval of float variables from arts stdout (IWP_cloud_opt_pathCalc): Added. 2006-06-09 Cory Davis * PyARTS-1-1-11 * successfully tested with latest scipy(0.4.9), numpy(0.9.8) and arts(1.1.1108) * PyARTS/arts_file_components.py (montecarlo_sim_commands): fixed for recent ARTS changes. 2006-06-08 Cory Davis * PyARTS/arts_file_components.py (ground_setup): fixed for recent changes in arts. (montecarlo_sim_commands): fixed for recent changes in arts. * examples/MCwith3Dboxcloud.py (arts_params): fixed for changes in arts_file_components.sensor_setup. * test/arts_geometrytest.py (two_points2LOSTest.testAccuracy): fixed for changes in arts_geometry. 2006-06-06 Oliver Lemke * PyARTS-1-1-10 * Merge with Cory's subversion repository. This includes all changes made after version 1.1.5. 2006-05-17 Cory Davis * PyARTS/arts.py (pnd_fieldCalc): included the output of cloudbox_limits 2006-05-15 Cory Davis * PyARTS/arts_file_components.py (sensor_setup): remove rte_posAddRgeoid call. therefore the position now has to be specified by r! 2006-05-09 Cory Davis * PyARTS/artsXML.py (tensor_to_xml): avoid copying array. (XMLfile.addTensor): don't call tensor_to_xml, write directly to file. 2006-05-08 Cory Davis * PyARTS/arts_math.py (interp2d): bug-fix 2006-05-05 Cory Davis * PyARTS-1.1.9 * README.txt: Updated documentation explaining the new scipy/numpy dependence and the inactivity of the Bremen CVS repository. 2006-04-21 Cory Davis * PyARTS-1.1.8 * setup.py (version_no): updated to 1.1.8 and made new dist. 2006-04-18 Cory Davis * PyARTS/__init__.py (__all__): added arts_geometry. 2006-04-11 Cory Davis * PyARTS/arts_math.py (interp2d): shape checking for input arguments. 2006-03-01 Cory Davis * PyARTS/arts_types.py (GriddedField3.subset): Several fixes. 2006-04-16 Cory Davis * PyARTS-1.1.7 * test/arts_geometrytest.py: Added. * PyARTS/arts_geometry.py: Added. 2006-02-21 Cory Davis * PyARTS-1.1.6 * PyARTS/sli.py: swapped plotting and scipy imports. There is an annoying numpy/numarray conflict that will hopefully go away soon. 2006-02-16 Cory Davis * PyARTS/sli.py (morepoints): fix for new array packages. 2006-02-17 Cory Davis * PyARTS/clouds.py (scat_data_raw_calc): bug fix. 2006-02-15 Cory Davis * PyARTS/arts_file_components.py (mcgeneral_sim_commands): removed unwanted RJBT conversion. * PyARTS/physics.py (psychrometer): added. gives relative humidity from wet and dy bulb temperatures. 2006-02-14 Cory Davis * PyARTS/arts_file_components.py (sensor_setup): Added support for gaussian antenna response functions. 2006-02-13 Cory Davis * PyARTS/clouds.py (scat_data_raw_calc): Added. 2006-02-11 Cory Davis * PyARTS/clouds.py (Crystal.pnd_calc): use mh97_vect. (mh97_vect): Added. Vectorised version of mh97. Much faster!! 2005-12-13 Cory Davis * PyARTS-1.1.5 * doc/SingleScatteringData.png: Added. Insightful diagram of arts_scat.SingleScatteringData class. * doc/clouds.png: Added. Insightful diagram of clouds.Cloud class. * doc/userguide.rst: Added two figures 2005-11-24 Cory Davis * PyARTS-1.1.4 * doc/stylesheet.tex: include fancyhdr. * doc/makefile_gen.py: Included version.rst. * doc/version.py: Added. includes PyARTS version information in user guide. * doc/userguide.rst: More tidying. 2005-11-23 Cory Davis * PyARTS-1.1.3 * doc/userguide.rst: Lots of changes. * README.txt: updated, included stuff from INSTALL.txt, which has now been deleted.. * PyARTS-1.1.2 (Warning, this is an untested commit. The work was done on my new 64 bit machine, that hasn't been completely set up yet) * PyARTS/arts_math.py (gosper): Removed. Use scipy.special.gamma * PyARTS/clouds.py (mh97): Here and elsewhere improved docstrings. * PyARTS/clouds.py (nioku): replaced call to arts_math.gosper with scipy.special.gamma 2005-11-21 Cory Davis * PyARTS-1.1.1 * doc/userguide.rst: More text. * doc/funcdesclist.txt: added a few. 2005-11-03 Cory Davis * PyARTS-1.1.0 * README.txt: updated * INSTALL.txt: updated * setup.py (version_no): incremented subversion number for fun. * doc/userguide.rst: Added. reStructered text source of the user guide. * doc/title_levels.rst: Added. Reminder about sectioning format. * doc/stylesheet.tex: Added. Latex preamble stuff. * doc/sli.jpg: Added. figure for user guide. png would be nice. * doc/userguide.pdf: Added. The user guide!! * doc/geometry.pdf, doc/phasLaguerre: Added. Two figures for the user guide. I would prefer to use png files but pdftex and libpng aren't playing nice. * doc/docstringlist.txt, doc/funcdesclist.txt: Lists of the PyARTS docstrings and function descriptions required by the user guide. * doc/makefile_gen.py: Added. generates the user guide makefile. * doc/docstring.py: Added. Retrieves PyARTS docstrings for inclusion in the user guide. * doc/desc_func.py: Added. Retrieves function descriptions from PyARTS and formats them for inclusion in the user guide. * doc/makelatex.sh, doc/makehtml.sh: removed. * doc/arts_scat.*: removed. * PyARTS/plotting.py (mySubplot): improved docstring. 2005-11-02 Cory Davis * PyARTS/plotting.py (SentinelMap): fixed docstring * PyARTS/arts.py (ArtsRun.start): fixed docstring * PyARTS/arts_scat.py (SingleScatteringData.__init__): fixed docstring * examples/plot_refr_ind.py: Tidied up the plot a bit. * PyARTS/arts_scat.py (extmat): improved docstring. 2005-11-01 Cory Davis * PyARTS/arts_scat.py (SingleScatteringData.file_gen): removed. Was deprecated by save. 2005-10-31 Cory Davis * PyARTS-1.0.127 * PyARTS/arts.py (ppathCalc): Added. Returns a 3D propagation path given a dictionary of arts settings. 2005-10-25 Cory Davis * PyARTS-1.0.126 * PyARTS/arts_file_components.py (ground_setup): let z_surface be specied by file 2005-10-24 Cory Davis * PyARTS-1.0.125 * PyARTS/arts_file_components.py (montecarlo_sim_commands): included default arguments for incoming_lookup and z_field_is_1D 2005-10-21 Cory Davis * PyARTS-1.0.124 * PyARTS/arts_types.py (GasAbsLookup.load): bugfix - was using old artsXML.load API. 2005-10-17 Cory Davis * PyARTS-1.0.123 * PyARTS/plotting.py (SentinelNorm):See SentinelMap (SentinelMap): SentinelMap is a matplotlib colormap that deals with data points that you want to distinguish from the rest of the data. For example if bad data is stored as -999, these values are plotted a specified rgb color, and the rest of the colormap (cmap) is unchanged. This needs to be used with the SentinelNorm class. e.g. "cmap = SentinelMap(cm.jet, -999, (0,0,0)),norm = SentinelNorm(-999),pcolor(x,y,z,norm=norm,cmap=cmap)" will plot the data with the usual jet colormap but with bad data values (-999) black. 2005-09-20 Cory Davis * PyARTS-1.0.122 * PyARTS/arts_file_components.py (montecarlo_sim_commands): disable RJBT conversion of mc_error for case with multple sensor_los/pos * PyARTS/arts_file_components.py (ground_setup): allow for specification of surface_emissivity_field and tidied up a bit. (arts_mcgeneral_file): tidied. * PyARTS/arts.py (xml_binary_to_ascii): Added. Does the obvious. * PyARTS/arts.py (xml_ascii_to_binary): Added. Uses arts to convert ascii XML files to binary. (scat_data_monoCalc): Added: uses arts to calculate scat_data_mono (pnd_fieldCalc): Added: uses arts to calculate pnd_field 2005-08-22 Cory Davis * PyARTS-1.0.121 * PyARTS/arts_file_components.py (safe_latlon_limits): This was giving the wrong answer for high latitudes. (safe_latlon_grids): removed. * PyARTS/arts_file_components.py (atmosphere[13]D_settings): Removed annoying screen output. 2005-08-18 Cory Davis * PyARTS-1.0.120 * PyARTS/arts_scat.py (SingleScatteringData.load): updated for change to artsXML.load * examples/MCwith3Dboxcloud.py: updated for change to artsXML.load * PyARTS/arts.py (artsGetAtmFields): updated for change to artsXML.load * PyARTS/arts_types.py (GriddedField3.load): updated for change to artsXML.load * PyARTS/plotting.py (drawPpath): updated for change to artsXML.load * PyARTS/artsXML.py (load): If there is only one object in the structure, then that single object is returned. instead of a dictionary with a single key * test/artsXMLtest.py (NewHandlerTest.testLoadedIsSameAsSaved): updated for change to artsXML.load. * PyARTS/arts_types.py (GriddedField3.__call__): bug fix. 2005-08-17 Cory Davis * PyARTS-1.0.119 * PyARTS/arts.py (ArtsRun.file_gen): tidied. (ArtsRun.__init__): input check for run_type. (ArtsRun.process_out_stream): much nicer now. * PyARTS/arts_file_components.py (mcgeneral_sim_commands): Added. (arts_mcgeneral_file): Added. * PyARTS/arts_types.py (GriddedField3.__call__): bug fix. * PyARTS/arts_file_components.py (safe_latlon_limits): forgot to change GriddedField3 statements 2005-08-16 Cory Davis * PyARTS-1.0.118 * PyARTS/arts_types.py (GriddedField3.__call__): Added. This returns the field interpolated on new grids p_grid,lat_grid,lon_grid (GriddedField3.__init__): Decided that using dictionaries for input and storage was not very nice. Now have p_grid, lat_grid, lon_grid, and data members. This prompted changes in lots of places (mainly clouds module) * PyARTS/arts_file_components.py (safe_latlon_limits): Added.Returns safe lat and lon limits for given cloudbox parameters and z_field. This can be needed for scattering simulations so that no incoming rays can enter the modelled atmosphere at a longitudinal or latitudinal face. Input cloud_box: dictionary with keys ['p1','p2','lat1','lat2','lon1','lon2']; z_field: arts_types.GriddedField3 object; Output: lat_min,lat_max,lon_min,lon_max 2005-08-11 Cory Davis * PyARTS-1.0.117 * PyARTS/arts_scat.py (phase_mat_fortran): deleted. (phase_mat_python): deleted. 2005-08-02 Cory Davis * PyARTS-1.0.116 * PyARTS/arts.py (ArtsRun.process_out_stream): modified for recent arts changes (mc_seed) (required_arts_version): updated * PyARTS/arts_file_components.py (montecarlo_sim_commands): modified for recent arts changes (mc_seed) 2005-07-27 Cory Davis * PyARTS-1.0.115 * PyARTS/arts_types.py (GasAbsLookup.load): changed call to artsXML.load to use use_names=False * PyARTS/artsXML.py (newHandler.__init__): added use_names argument, which determines whether any present "name" attributes are used as keys for each loaded object. (load): added use_names argument (default=True) (newLoad): deleted - was already deprecated. * PyARTS/clouds.py (Droplet): Improved the docstring documentation by adding suggested size distribution parameters for Stratus and Cumulus Congestus (Droplet.__init__): made Stratus size distribution parameters the default. 2005-07-26 Cory Davis * PyARTS-1.0.114 * PyARTS/arts_types.py (GasAbsLookup.__call__): Added. Interpolate the lookup table to return a vector containing the contribution of each species to the scalar gas absorption coefficient. Before this can be called the method set_slidata must be called (only once). This is analagous to GasAbsLookup::Extract in ARTS (GasAbsLookup.set_slidata): Makes a bunch of sli.SLIData2 objects , which enable the lookup of absorption coefficients using sequential linear interpolation. (GasAbsLookup.calc): Fixed bug - temperature perturbation was not being included in the number density calculation. Now we have *exact* agreement with a lookup table provided by Patrick. It appears that this problem may also have been in Stefan's create_lookup.m. It might be an idea to check any old absorption lookup tables!!!! Also raise error if ARTS1_EXEC is not defined * PyARTS/sli.py (SLIData2.interp): raise ValueError if x1,x2 out of range 2005-07-21 Cory Davis * PyARTS-1.0.113 * PyARTS/arts_types.py (GasAbsLookup.load): Added. loads gas abs lookup table from an ARTS1.1. XML file * PyARTS/artsXML.py (arts_text_names): Added "SpeciesTag" so that the load function can deal with GasAbsLookup files * PyARTS/arts_math.py (interp1DFieldByZkm): moved import arts_types to inside function to avoid circular import problem. 2005-07-13 Cory Davis * PyARTS-1.0.112 * PyARTS/arts1.py (abs_file): the last species tag group was being added twice. * PyARTS/arts_types.py (GasAbsLookup.save): forgot closing GasAbsLookup tag. * PyARTS/__init__.py: updated documentation. GasAbsLookup generation is no longer missing! 2005-07-12 Cory Davis * PyARTS-1.0.111 * PyARTS/arts_scat.py (batch_generate): work around for annoying stdout when importing scipy (numerix Numeric 23.1) * PyARTS/arts_types.py (GasAbsLookup): Now working!! This class enables the calculation of GasAbsLookup tables for arts 1.1.* using the stable branch arts 1.0.*. An example of using this class will be provided in the ARTS Wiki. * PyARTS/arts1.py: Added. This module deals with control file creation and data input/output for the stable arts 1 package. This is used only for the creation of GasAbsLookup tables 2005-07-08 Cory Davis * PyARTS-1.0.110 * PyARTS/clouds.py (Gamma.scat_calc): and others. changed calls to SingleScatterinData.file_gen * PyARTS/arts_scat.py (SingleScatteringData.calc): Now it is possible to specify the complex refractive index (instead of relying on Warren etc.) just supply them in the initialisation dictionary with the keys 'mrr' and 'mri' the values for these keys must be arrays with shape (len(f_grid), len(T_grid)). (SingleScatteringData.file_gen): renamed 'save' to make consistent with other stuff. 'file_gen' still works but gives DeprecationWarning * PyARTS-1.0.109 * PyARTS/__init__.py (__all__): Added this line which means that you can now use "from PyARTS import *", which will import the high level modules ['arts_scat','arts','artsXML','arts_math','arts_types', 'clouds','general','physics','plotting']. 2005-07-07 Oliver Lemke * PyARTS-1.0.108 * PyARTS/arts.py: If ARTS_PATH is defined use it, otherwise assume that 'arts' is in default path. Furthermore, ARTS_PATH must now contain the full path including the executable name. Raise an ARTSRunError if arts was not found instead of a warning. Same if the version requirement is not met. 2005-07-07 Oliver Lemke * PyARTS-1.0.107 * test/arts_scattest.py: Removed obsolete tists CompressTest and Expand1DpndTest. 2005-07-07 Oliver Lemke * PyARTS-1.0.106 * .cvsignore, data/.cvsignore, examples/.cvsignore, test/.cvsignore: Added. 2005-07-04 Oliver Lemke * PyARTS-1.0.105 * test/cloudstest.py: Fixed typo. Output extinction coefficient accuracy if assert fails. 2005-07-04 Oliver Lemke * PyARTS-1.0.104 * PyARTS/arts_scat.py: Don't import no longer existent refr_ind. 2005-06-17 Cory Davis * PyARTS-1.0.103 matplotlib-0.82 now a prerequirisite. * PyARTS/sli.py (SLIData2.plot): removed call to ScalarFormatterScientific * PyARTS/plotting.py (ScalarFormatterScientific):removed - this is now properly handled by matplotlib. * examples/plot_refr_ind.py: removed call to ScalarFormatterScientific * PyARTS/plotting.py (myPcolor): With the matplotlib pcolor you actually lose the last row and column of data. This function addresses this, and produces a pcolor plot where the patches are centred on the x and y values 2005-06-08 Cory Davis * PyARTS-1.0.102 * PyARTS/arts_scat.py: Improved docstring --included an example. 2005-05-24 Cory Davis * PyARTS-1.0.101 * PyARTS/physics.py (rjbt): Added. Returns the Rayleigh Jeans brightness temperature for a given radiances and frequency(Hz) * PyARTS/artsXML.py (newHandler.startElement): Added fix for case when there is more than one ArrayOfSomething in a file. i.e. SLIData2 files. * PyARTS/sli.py (SLIData2.__init__): Added default values for initialisation arguments (SLIData2.load): Added. reads SLIData2 object from an XML file (SLIData2.interp): Added. interpolate SLIData2 at x1 and x2 (single numeric values only) 2005-05-16 Cory Davis * PyARTS-1.0.100 * data/ppath[09].ppath.xml: Added. ppath xml files needed by examples/geometry.py * examples/geometry.py: Added. This example uses the plotting module to draw a cloudbox and some propagation paths. * PyARTS/arts_file_components.py (arts_ppathCalc3D_file): Removed unnecessary commands * PyARTS/plotting.py (drawPpath): fixed bug 2005-04-21 Cory Davis * PyARTS-1.0.99 * PyARTS/arts_scat.py (refice): Allowed temperature extrapolation. * src/refr_ind.f: Removed. * PyARTS/arts_scat.py (tmat_rnd,tmat_fxd): Added check that mri is positive. (refice_bond): Removed. (SingleScatteringData.calc): Removed calls to refice_bond. (ReficeTError):deleted. now a warning is given instead and extrapolation is allowed. * examples/plot_refr_ind.py: Added. This example uses arts_scat.refice, and the plotting module to plot the real and imaginary components of the refractive index of ice for a range of temperatures at 5 EOS-MLS frequencies. 2005-04-19 Cory Davis * PyARTS-1.0.98 * INSTALL.txt: Removed LAPACK from the prerequisites list. * PyARTS/arts_file_components.py (cloud_box_setup): removed references to za_grid_size, which has been removed from ARTS and was anyhow not needed by MC. 2005-04-13 Cory Davis * src/lpd.f: Added. This is a lapack fragment, provided by Michael Mishchenko, that performs the job that ampld2.f used to - i.e. LU factorisation and matrix inversion, that when used by the T-matrix code, greatly increases the convergent range of size parameters and aspect ratios. So now PyARTS includes this enhanced code, and we no longer need the extra NAG code and the HAVE_NAG environment variable. 2005-03-16 Cory Davis * PyARTS-1.0.97 * README.txt: updated and removed redundancies. * INSTALL.txt: Added. This stuff was formerly in README.txt. * PyARTS/sli.py: changed import statements - for some reason they were breaking pydoc. * PyARTS/__init__.py: improved docstring. 2005-03-14 Cory Davis * PyARTS-1.0.96 * PyARTS/arts.py (get_arts_version): Added. Also added code that uses this function to check that arts is present and that the version is compatible with the PyARTS.arts module 2005-03-10 Cory Davis * PyARTS/arts.py (artsGetAtmFields): Fixed bug found by Uli. 2005-03-09 Cory Davis * PyARTS-1.0.94 * src/tmd_NAG.f,src/tmatrix_NAG.f: removed. * PyARTS/__init__.py: improved docstring. * PyARTS/test/tmat_limits.py,tmatlimplot.py,print_tmat_limits.py: scripts which calculate, print, and plot the t_matrix convergence limits shown in http://www.sat.uni-bremen.de/arts/wiki/TmatrixConvergence 2005-03-08 Cory Davis * PyARTS-1.0.93 * setup.py: Disabled all HAVE_NAG and HAVE_QUAD switches. I have discovered that the T-matrix performance with the NAG subroutines can be reproduced using the freely available LAPACK library. So LAPACK is now a PyARTS prerequisite. This tidys things up quite a bit. Now I don't need all the different versions of the T-matrix code, along with the messy process of giving you the extra code if you tell me you have a NAG license. Does anyone actually use PyARTS with HAVE_QUAD=1? I have disabled it because I don't use it, and I don't know how well it works. Also LAPACK does not have the quad precision routines required. * src/tmd.f,src/tmatrix.f: Changed to ICHOICE=1 and replaced calls to f07*** to zget** (lapack subroutines) 2005-03-07 Cory Davis * PyARTS/arts.py (ArtsRun.process_out_stream): Removed some dependence on defaults. * PyARTS-1.0.92 * PyARTS/arts_file_components.py (defaults): removed more defaults. * src/:deleted a bunch of unneeded GSL related files. * PyARTS/arts_math.py (erf): removed. use scipy.special.erf instead. * PyARTS/clouds.py: Replaced all calls to Laguerre.py (and arts_math.erf) with scipy calls. * PyARTS/Laguerre.py: removed. All of this stuff can be done quicker with scipy. * PyARTS/clouds.py (Gamma.pnd_calc): improved docstring. 2005-03-06 Cory Davis * PyARTS-1.0.91 * examples/MCwith3Dboxcloud.py (arts_params): updated this example to use the incoming_lookup option. * examples/mc_incoming_gen.py: removed me-specific file references and replaced with files existing in the PyARTS distribution. * PyARTS/arts_file_components.py (montecarlo_sim_commands): updated for recent changes in ARTS. 2005-03-04 Cory Davis * PyARTS-1.0.90 * PyARTS/clouds.py (Gamma.__init__): moved scipy to the top of the file * examples/mc_incoming_gen.py: Added. This example script creates and saves an SLIData2 object suitable for use in ARTS as the "mc_incoming" WSV. * PyARTS/sli.py: Added. includes a python SLIData2 class. This allows the creation of optimized grids for 2D sequential linear interpolation * PyARTS/arts.py (create_incoming_lookup): Added. This function initialises an SLIData2 object suitable for the generation of the ARTS WSV mc_incoming. See examples/mc_incoming_gen.py * PyARTS/plotting.py: Added. General purpose plotting functions using the matplotlib package. EXPLANATION TO FOLLOW... 2005-02-25 Cory Davis * PyARTS-1.0.89 * PyARTS/arts_file_components.py (tan_z2sensor_poslos): changed an annoying print statement. 2005-02-24 Cory Davis * PyARTS/arts_file_components.py (sensor_setup): Can now supply either rte_pos/rte_los for a single line of sight or filenames for sensor_pos/sensor_los Matrices. Removed more default parameters. 2005-02-08 Cory Davis * PyARTS-1.0.88 * PyARTS/arts.py (ArtsRun.refine): Improve the accuracy an already completed ArtsRun (montecarlo only) by adding more photons. * PyARTS/arts_file_components.py (defaults): removed some default parameters. * PyARTS/arts.py (ArtsRun.process_out_stream): extract mc_iteration_count from ARTS-MC output. fixed bug in y extraction. 2005-01-26 Cory Davis * PyARTS-1.0.87 * PyARTS/arts_scat.py (SingleScatteringData.filename_gen): Added to extra characters to the part of the filename describing the aspect ratio. People may have had problems doing simulations with aspect ratios that differ after the 1st decimal place. If like me you have a big collection of scat data files should either delete them all and start collecting them again or after updating and installing run the script http://www.met.ed.ac.uk/~cory/outgoing/filenamefix in your $DATA_PATH/scat directory. (SingleScatteringData.load): Added an optional parse_params argument (Default = False). This will extract the params dictionary that was printed in the description field when the file was created This will only work with a file that was created with the arts_scat module. 2004-11-19 Cory Davis * PyARTS-1.0.86 * README.txt: More polishing. 2004-11-18 Cory Davis * PyARTS-1.0.85 * README.txt: Added an example and fixed some mistakes. 2004-11-15 Cory Davis * PyARTS-1.0.84 * PyARTS/clouds.py (Gamma.scat_calc): Fixed file naming for Gamma single scattering data files. * PyARTS/general.py (quickpickle): add -f argument to gzip call. 2004-11-13 Cory Davis * PyARTS-1.0.83 * PyARTS/clouds.py (Gamma): some bugfixes. * test/cloudstest.py (GammaTest):Added. Tests both the Gamma class and the gamma_dist function. * PyARTS/clouds.py (gamma_dist): Added. Just the function for a gamma size distribution. This is not actually used in he Gamma class mentioned previously, but might be generally useful, and is used in test/cloudstest.py. Again, this requires scipy. 2004-11-12 Cory Davis * PyARTS-1.0.82 * PyARTS/clouds.py (Gamma): Another hydrometeor class. Gamma distribution of either liquid or ice particles. Unfortunately this class requires scipy (I am considering making scipy a prerequisite for PyARTS; this would tidy things up a bit - much of arts_math would become redundant and I could lose some of the c extension modules. If anyone has an opinion on this I would like to hear it). So far Gamma is untested. 2004-11-11 Cory Davis * PyARTS-1.0.81 * test/arts_scattest.py (MishchenkoBenchTest.testCylinder): Added. tests against the scattering amplitude matrix benchmark calculations published in Mishchenko,2000. (MishchenkoBenchTest.testSpheroid): Added. These should give us some confidence in the PyARTS single scattering properties. 2004-11-09 Cory Davis * PyARTS-1.0.80 * PyARTS/general.py (quickunpickle): can now deal with gzipped pickle files. Just specify a filename ending with '.gz' (quickpickle): can now create gzipped pickle files. Just specify a filename ending with '.gz' 2004-11-05 Cory Davis * PyARTS-1.0.79 * PyARTS/arts_file_components.py (arts_ppathCalc3D_file): Fixed. Now it works. * Changelog: fixed previous entry. 2004-11-04 Cory Davis * PyARTS-1.0.78 * PyARTS/arts.py: Improved docstring. * test/testdocs.py: Added. This checks that all the command line examples given in the docstrings actually work. * PyARTS/__init__.py: Improved docstring. 2004-11-02 Cory Davis * PyARTS/arts_file_components.py (arts_ppathCalc3D_file): Added. * PyARTS-1.0.77 * README.txt: Finished this for now. * PyARTS/general.py: Moved all of the tests to test/generaltest.py * PyARTS/arts_math.py: Moved all of the tests to test/arts_mathtest.py 2004-11-01 Cory Davis * PyARTS-1.0.76 * README.txt : Improved introduction. Much of this has now been copied to the ARTS Wiki. * PyARTS/PyARTS.py: renamed arts.py. This was confusing. * examples/get_atm_fields.py (Q): changed reference to PyARTS module. * examples/MCwith3Dboxcloud.py (my_run): changed reference to PyARTS module. 2004-10-26 Cory Davis * PyARTS-1.0.75 * PyARTS/clouds.py (Droplet.__init__): Fixed a problem reported by Sreerekha. It looks like I had been distracted at a crucial moment when originally writing this. The expression that determines the pnd_field was only half finished. The Droplet test mentioned below verifies that this is now fixed. * PyARTS/Laguerre.py (laggausdata): Improved docstring. * test/cloudstest.py (DropletTest): Tests the accuracy of the pnd_fields and scattering properties produced by the Droplet class. * PyARTS/artsXML.py (load): raise IOError if file not found 2004-10-15 Cory Davis * PyARTS-1.0.74 * examples/MCwith3Dboxcloud.py:changed for recent arts changes. * PyARTS/PyARTS.py (artsGetAtmFields):changed artsXML.newLoad to artsXML.load. (ArtsRun.process_out_stream): changed for recent arts changes. This is still very ugly, and should be changed to something like the baby ArtsRun class in arts/tests/testall.py * PyARTS/arts_types.py (ArrayOfGriddedField3.load): changed artsXML.newLoad to artsXML.load. * PyARTS/arts_file_components.py (get_z_max): changed artsXML.newLoad to artsXML.load. (montecarlo_sim_commands): updated for recent arts changes. * test/artsXMLtest.py: Added. * PyARTS/artsXML.py (newHandlerTest): removed. (newLoad): renamed load. newLoad now raises a DeprecationWarning and calls load. Improved module docstring. (Handler.__init__): Added DeprecationWarning (NewHandlerTest): Moved to test/artsXMLtest.py 2004-10-11 Cory Davis * PyARTS-1.0.73 * PyARTS/PyARTS.py (artsGetAtmFields): made silent and improved error handling. Improved docstring. * PyARTS/arts_file_components.py (gas_species_setup): Fixed for special case gas_species==[]. 2004-10-08 Claudia Emde * PyARTS-1.0.72 * PyARTS/clouds.py (Cloud.boxcloud_1D): Added. Can be used to generate 1D box clouds. 2004-10-07 Cory Davis * PyARTS-1.0.71 * PyARTS/clouds.py (MonoCrystal):Added this class. Represents a monodispersion of ice particles. Used in exactly the same way as Crystals and Droplets. (i.e added to Cloud objects using the addHydrometeor method). Shifted old testcase to test/cloudtest.py 2004-10-04 Cory Davis * PyARTS-1.0.70 * PyARTS/arts_file_components.py: Innumerable changes provoked by recent arts changes. All tests now work. * PyARTS/PyARTS.py: Innumerable changes provoked by recent arts changes. * PyARTS/arts_scat.py (tmat_fxd,tmat_rnd): An upgrade to f2py or gcc caused the these functions to produce spurious errors. The errmsg variable that is passed from the fortran extension modules now contains some whitespace characters even when there is no actual convergence failure. This has been resolved for now with the error check being "if (len(errmsg.strip())>0):" instead of "if (len(errmsg)>0):". One day I should look for a better way of dealing with errors in the fortran modules. 2004-10-03 Cory Davis * PyARTS-1.0.69 * PyARTS/arts_types.py (GasAbsLookup.calcFromArts1): Began work on this - I want to be able to calculate gas_abs lookup tables with python. Nowhere near finished yet. * PyARTS/PyARTS.py (artsGetAtmFields): Needed this for the above. * examples/get_atm_fields.py: Added. 2004-09-28 Cory Davis * test/examplestest.py (ExamplesTest.testExamplesRunWithNoErrors): Added this file. This checks that all of the example scripts in /examples run without error. * PyARTS/PyARTS.py (ArtsRun): renamed arts_run ArtsRun, to make naming scheme consistent (initial caps for classes, lc for functions) * examples/: Added * examples/MCwith3Dboxcloud.py: Added. Simple example of 3D box cloud generation and MC radiative transfer * test/testall.py: typing 'python testall.py -v' will run all of the unit tests. This is a compulsory step before committing any changes to PyArts. * test/arts_mathtest.py: removed Cory specific file references. * data/: Added. Holds data required for testcases and examples * data/tropical.*.xml: Added. Also added files necessary for examples/MCwith3Dboxcloud.py * test/cloudstest.py: removed Cory specific file references. * setup.py (include_dirs): removed reference to $HOME/include/python. This was originally there to locate the Numeric header files, but this location is somewhat user specific. People who have numpy installed in the standard place will not notice this difference. Others, like me, will need to use the --include-dirs command line argument. Installing PyARTS will then involve: 'python setup.py build_src build_ext --include-dirs=/include/python install --home=~' 2004-09-27 Cory Davis * PyARTS-1.0.67 * PyARTS/arts_file_components.py: deleted alot of cory specific stuff * PyARTS/clouds.py (Droplet): Improved documentation * PyARTS/__init__.py: Added README.txt documentation * PyARTS/PyARTS.py: Improved docstring 2004-09-16 Cory Davis * PyARTS-1.0.66 * PyARTS/arts_scat.py(tmat_fxd,tmat_rnd): fixed bug that only occurs when T-matrix code does not converge. Removed tests from this module and put them in tests/arts_scattest.py * test/arts_scattest.py:Added, and included a test for proper behaviour with T-matrix convergence failures. 2004-09-16 Cory Davis * PyARTS-1.0.65 * MANIFEST.in: Fixed problem in source distribution generation reported by Patrick. 2004-09-15 Cory Davis * PyARTS-1.0.64 * doc/arts_scat.txt: Added. This is a reStructured text document for use with the docutils package. This will be the format for the User Guide, Algorithm Description and Theoretical Basis Document. This will allow the straighforward inclusion of docstrings, and output to latex/pdf and html. * doc/makehtml.sh: Added * doc/makelatex.sh: Added. 2004-09-16 Cory Davis * PyARTS-1.0.63 Made PyARTS into a package in the true python sense. This involved moving all of the modules from the base directory to a new PyARTS subdirectory, creating an __init__.py file, modifying setup.py, the test files, and scat_file_batch. This has tidied up the installation and pydoc documentation. The PyARTS modules are now installed to ~/lib/python/PyARTS (instead of ~/lib/python/ -you should delete the old files). This tidies things if you have a lot of other python stuff or if you have done the default install as root. The only difference for usage now is that in your scripts, instead of "import arts_scat", it is now "from PyARTS import arts_scat"; or instead of "from general import *", it is now "from PyARTS.general import *". For people new to python I think this makes it clearer now in scripts what stuff is from PyARTS, and what is from the rest of the python library. This change has been tested with all available tests on my laptop. 2004-09-14 Cory Davis * PyARTS-1.0.62 * arts_file_components.py (atmosphere3D_settings): Added "3Dfields" keyword, which signifys whether to call AtmFieldsCalc or AtmFieldsCalcExpand1D. * arts_types.py (GriddedField3.expandTo3D): Added. 2004-09-10 Cory Davis * PyARTS-1.0.61 * arts_math.py (interp1DFieldByZkm): Added. * test/arts_mathtest.py: Added. * clouds.py (Cloud.pnd_field_gen): stores the pnd filename as self.pnd_file for future reference 2004-09-09 Cory Davis * PyARTS-1.0.60 * test/cloudstest.py: Added. from now on tests will go in this directory, with the filename test.py. To run the test go python cloudstest.py -v. Other tests will gradually moved from the modules to here. * clouds.py (boxcloud): added. Returns a box shaped Cloud object with specified dimensions and constant IWC. * arts_math.py (interp): made to work also for lists and arrays(1-D). 2004-09-08 Cory Davis * PyARTS-1.0.59 * arts_types.py (GriddedField3.load): use artsXML.NewLoad instead of artsXML.load. The next step will be to rename artsXML.newLoad... * arts_scat.py (SingleScatteringData.load): use artsXML.NewLoad instead of artsXML.load. Also fixed test cases. * PyARTS.py (arts_run.process_out_xml): use artsXML.NewLoad instead of artsXML.load. * artsXML.py (load): removed. Also fixed test cases. 2004-09-08 Cory Davis * PyARTS-1.0.58 * clouds.py (mh97): fixed problem with low IWC values reported by Sreerekha. 2004-09-08 Claas Teichmann * PyARTS-1.0.57 * artsXML.py (saveString): Added. Writes an array of String or just a String to a file in the ARTS-format. (XMLfile.addArrayOfString): Added. Used by saveString. (XMLfile.addString): Added. used by saveString or addArrayOfString 2004-08-30 Cory Davis * PyARTS-1.0.56 * arts_scat.py (QuadRandomTest,QuadFixedTest): Fixed * src/tmq[_NAG].f: Fixed output. 2004-08-29 Cory Davis * PyARTS-1.0.55 * arts_scat.py (tmat_fxd): Added. This is a simplified interface to the tmatrix.tmatrix[q] functions. Elsewhere, finished implementation of quad precision T matrix code, including the addition of two test cases, *QuadRandomTest* and *QuadFixedTest*. Allowed input of temperatures below the refractive index function limits, to enable ARTS-safe temperature grids. 2004-08-25 Cory Davis * PyARTS-1.0.54 * arts_scat.py (tmat_rnd): Added. This is a simplified interface to the tmd.tm[dq] functions. Also began work on a testcase QuadRandomTest. 2004-08-24 Cory Davis * PyARTS-1.0.53 * physics.py (vapour_P_ice): Fixed. There was an error in the documentation from which I obtained this function. 2004-08-24 Cory Davis * PyARTS-1.0.52 * physics.py (vapour_P_ice): Added. 2004-08-13 Cory Davis (rsh) * PyARTS-1.0.51 * arts_scat.py (BatchTest): Updated * src/tmatrixq.f, src/tmq.f, src/tmatrixq_NAG.f, src/tmq_NAG.f, src/tmq.par.f, laheybuild.sh: Added quad precision code, which has been successfully installed with the lahey lf95 compiler. The laheybuild.sh script builds the package using lf95. To enable a quad precision build set the HAVE_QUAD environment variable to 1. If you have a NAG license you should also obtain the file ampld2q.f from me (I cant really include this in the cvs for licensing reasons) * src/tmd.f, src/tmd_NAG.f (tmd): fixed an optimization dependent problem in the original tmatrix code that could occur with the parameter nkmax=-1. * setup.py: Added code for including quad stuff. 2004-08-09 Cory Davis (rsh) * PyARTS-1.0.50 * clouds.py (Droplet.scat_calc): Changed the output scattering data file name generation. 2004-08-05 Cory Davis (rsh) * PyARTS-1.0.49 * clouds.py: made T_grid a property of the hydrometeor classes and removed from scat_file_gen and scat_calc calls. This is because ice and liquid will require different T_grids. * arts_scat.py (SingleSCatteringData): moved refractive index calculation from __init__ to calc 2004-08-03 Cory Davis (rsh) * PyARTS-1.0.48 * clouds.py: Removed stuff that is now obsolete thanks to the change in ARTS. We have now only three classes: Cloud, Droplet, and Crystal. Improved docstrings. 2004-07-30 Cory Davis (rsh) * PyARTS-1.0.47 * clouds.py (NewCloud,Droplet,Crystal): Added new classes to reorganise the way cloud fields and scattering properties are generated. Eventually these will make much of the existing clouds module obsolete, but old classes (eg Cloud, Hydrometeor) will remain in the meantime * Laguerre.py: Added. This module performs several flavours of Gaussian quadrature (including Laguerre Gauss). This is useful for handling particle size distributions. At some point this module may be merged with arts_math. * arts_types.py (GriddedField3.__setitem__,GriddedField3.pad): Added. 2004-07-22 Cory Davis (rsh) * PyARTS-1.0.46 * clouds.py (mh97): Because we want the output n to be in m^-3micron(radius)^-1) it needed to be multiplied by 2. 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.