2000-04-30 Stefan Buehler * arts-0-0-17 * Added the command line parameter --reporting (-r). This should be a two digit integer. The first digit specifies the output level for stdout (stderr for error messages), the second digit the output level for the report file. The levels can reach from 0 (show only error messages) to 3 (show everything). Example: 03 = only errors to the screen, everything to the file. * Added some other cool command line parameters. However, currently they only produce a message that the implementation is still lacking. These are: string methods: If this is given the argument `all', it simply prints a list of all methods. If it is given the name of a variable, it prints all methods that produce this variable as output. string workspacevariables: If this is given the argument `all', it simply prints a list of all workspace variables. If it is given the name of a method, it prints all variables needed by that method. string describe: Print the description string of the given workspace variable or method. 2000-04-29 Stefan Buehler * arts-0-0-16 * vecmat.h: Small changes to the text defining the allowed matrix/vector operations. (In one instance it said `MATRIX' where it probably should say `VECTOR'.) * file.h: Fixed a strange bug: When the last line of a textfile was not terminated by a newline character, it was read twice by read_text_from_stream. Learned the following: If the end of stream s is reached, first s.eof() becomes true, but s is still false. Only if one tries to read past the end does s become true. * Implemented ARRAYofMATRIX and ARRAYofVECTOR as standard types. In particular, these are also now types of workspace variables. Implemented IO functions for these: Output: ArrayOfMatrixWriteToFile, ArrayOfMatrixWriteToNamedFile, ArrayOfVectorWriteToFile, ArrayOfVectorWriteToNamedFile, Input: ArrayOfMatrixReadFromFile, ArrayOfVectorReadFromFile, The file format is now always that of ArrayOfMatrix. All other variables are treated as special cases with apropriate dimensions set to 1. Only a single real output and only a single real input function are used (that for ArrayOfMatrix). This means that other types have to be converted to this type before writing or after reading. This is not terribly efficient. Should there be performance or memory problems later on, then we have to write dedicated IO functions. The amount of code is probably about the same, just to me the real IO seemed more difficult than the conversions, hence I did it the way I did it. 2000-04-12 Patrick Eriksson * arts-0-0-15 * This version can produce spectra (without refraction). General functions to determine the LOS, to get transmission and the source function along the LOS and to solving the RTE along LOS are ready. * A first list on vector and matrix functionality written. It is found in vecmat.h. Some functions changed and added to match the stated functionality. * Some workspace variables added and some renamed. The variables are now VECTOR p_abs; VECTOR t_abs; VECTOR z_abs; VECTOR f_abs; MATRIX abs; VECTOR view1; Numeric z_plat; Numeric l_step; int refr; Numeric l_step_refr; VECTOR refr_index; Numeric z_ground; Numeric t_ground; VECTOR e_ground; Los los; MATARRAY source; MATARRAY trans; VECTOR y_space; VECTOR y; * Example on new method calls: y_spaceStd{1} y_spacePlanck{300} losBasic{} sourceBasic{} transBasic{} yGeneral{} 2000-04-10 Stefan Buehler * arts-0-0-14 * token.cc: Fixed small bug in definition of TokValTypeName. * reconf: Remove links before trying to re-configure. * arts-0-0-13 * Renamed token types to enum TokValType { string_t, int_t, Numeric_t, ARRAY_string_t, ARRAY_int_t, ARRAY_Numeric_t, undefined_t }; This is now consistent with the token type names in token.cc. * Removed Integer type, since it is no longer necessary. * notes.txt: Updated with respect to global constants. * notes.txt: Added howto about switching off optimization. * Everywhere: Changed const extern to extern const. This is just for nicety, the two are the same thing. * vecmat.h: Moved Patricks vector/scalar operations here from tnt/vec.h. * Compiling without optimization is really much much faster. I wish I had realized this before! 2000-04-06 Patrick Eriksson * arts-0-0-12 * Some methods are commented out due to compilation problems * Changed definitions of constant to e.g. extern const Numeric EARTH_RADIUS = 6.378e6; To use the constant, type extern const Numeric EARTH_RADIUS; I had to add extern also at the definition to get it to work. Stefan, is the text in notes.txt really correct? * Added doc++ text and file header to constants.cc and math_funcs.cc * Workspace types added (as temporary solution): Integer * Workspace variables added (or renamed): VECTOR z_abs; VECTOR view1; Numeric z_plat; Numeric l_step; Integer refr; Numeric l_step_refr; Integer cbgr; Numeric z_ground; Numeric t_ground; VECTOR e_ground; Los los; * Methods added: IntSet VectorSet VectorLinSpace VectorNLinSpace VectorNLogSpace losGeneral * Files included: m_los.cc atm_funcs.cc atm_funcs.h 2000-04-05 Stefan Buehler * arts-0-0-11 * Fixed the bugs reported by Patrick. This is not a running version of the program, because the file src/m_los.cc is missing! * parser.cc: Fixed bugs 1: The case with the optionally missing keyword for one parameter methods was not handled correctly. Now the current character is used to recognize this case. THIS MEANS THAT KEYWORD NAMES STARTING WITH A NUMBER WILL BREAK THE PARSER! I don't know a better solution without look-ahead. * parser.cc: Fixed bugs 2: The last method was executed twice in some cases, due to incorrect flagging of Eof in function SourceText::AdvanceChar. 2000-04-04 Patrick Eriksson * arts-0.0.10 * Set the ground to include los1d. Included the file m_los.cc. Introduced the workspace variables plat_z and view1 for test purposes. There will be more variables connected to los. Some bugs mailed to Stefan. 2000-04-04 Stefan Buehler * arts-0.0.9 * Added method losTest just to see if we can access los. This does not initialize los, just change the value. For a real method, this would be very bad style, it should re-set los completely, unless los is also specified as INPUT variable in methods.cc. * arts-0.0.8 * Added workspace variable group Los and workspace variable los on Patrick's request. The declaration of Los is now in file workspace.h, but it could be moved somewhere else in the future. * arts-0.0.7 * parser.cc: In void read_name(string& name, SourceText& text): Changed isalpha to isalnum, so that names may now also include numbers. This was a request of Patrick. I don't remember if I had a good reason to allow only alphabetic characters and underscores. Let's just see if we get any problems with this. * arts-0.0.6 * Quickly implemented NumericSet for Patrick * workspace.h: - Added Numeric_ in WsvGroup - Changed N_WSV_GROUPS to 3 - Added Numeric dummy to class WorkSpace - Added virtual operator Numeric*() { safety(); return NULL; }; in class WsvP * notes.txt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The last point above was missing in notes.txt. I have added it now. Sorry for that. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * workspace.cc: - Added: wsv_group_names.push_back("Numeric"); - Added: { static WsvPointer p(&workspace.dummy); wsv_data.push_back (WsvRecord ("dummy", "This is just to test Numeric WSVs.", Numeric_, &p)); } * methods.cc: - Added: md_data.push_back ( MdRecord ( NAME("NumericSet"), DESCRIPTION("Sets a workspace variable of type Numeric to a value."), OUTPUT(), INPUT(), GOUTPUT(Numeric_), GINPUT(), KEYWORDS("value"), TYPES(num_))); * m_io.cc: - Added the implementation of NumericSet 2000-03-30 Stefan Buehler * arts-0.0.5 * ARTS has now the following methods: AllAbsExample VectorWriteToFile MatrixWriteToFile VectorWriteToNamedFile MatrixWriteToNamedFile VectorReadFromFile MatrixReadFromFile which all do the obvious. Parsing and executing of methods seems to work, but yet has to be tested for a wider variety of methods. Also, the executor already checks if all input workspace data is present, before it executes a method. * Added some more HowTos in file src/notes.txt 2000-03-29 Stefan Buehler * arts-0.0.4 * Now we can parse and execute specific and generic methods. However, I want to re-structure the method lookup data (add explicit fields for generic I/O, so that a method can have both generic and specific I/O). So this commit is mainly to save the state of the work before I start with this complicated task. 2000-03-24 Stefan Buehler * arts-0.0.3. * Arts can now parse specific (i.e., not generic) methods. There so far is only a single method, AllAbsExample, which sets the absorption parameters. * arts-0.0.2. * make_md_h.cc: Added. * math_funcs.h: Added. * math_funcs.cc: Added. * absorption.cc: Added. 2000-03-14 Stefan Buehler * This file contains SAB 14.03.2000. * arts-0.0.1. * .cvsignore files added everywhere. * Started this file, the Arts history. ALWAYS add a note to this file, no matter how small your change. Also, always update the running version number. Newest change log entries first! You can very easily add an entry with emacs by typing either M-x add-change-log-entry or C-x 4 a. Remark about version numbers: Arts has a 3 digit version number, like for example Arts 1.2.3. For user releases the third digit is zero. The first two digits are set in configure.in. Update these only when you cut a user release. In that case you also have to set the third digit to zero. The third digit is set in src/version.cc. Always update this, no matter how small your change!