2007-11-16 00:41 Andrej Prša * libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: Function phoebe_parameter_add () did not properly register default values to non-arrays; fixed. A new function, phoebe_restore_default_parameters (), introduced to restore the defaults. This function should be used when "New" button is clicked. 2007-11-15 17:20 Andrej Prša * libphoebe/phoebe_data.c, libphoebe/phoebe_data.h: Function phoebe_passband_lookup_by_id () added for Olivera's coding pleasures. 2007-11-15 17:01 Andrej Prša * libphoebe/phoebe_parameters.c: Comment for phoebe_parameter_get_value () gtkdoc-ized. 2007-11-13 16:58 Andrej Prša * libphoebe/phoebe_calculations.c: Function phoebe_curve_alias () was segfaulting if curve was NULL; fixed. 2007-11-10 18:10 Andrej Prša * libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_nms.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Computation of passband luminosities with NMS restored and enhanced. The method now derives the scaling factor with least squares rather than with differences, so it is now in perfect sync with the rest of the code. Computing HLAs is still not supported by DC and there seems to be no ready way how to do that elegantly. Computing gamma velocity has also been rewritten to use least squares, but its actual application is pending on simultaneous RV1 and RV2 readouts from WD; it has thus been disabled. Parameters that switch the computation on/off are phoebe_compute_hla_switch and phoebe_compute_vga_switch. NMS fields that relate to these switches renamed from CALCHLA and CALCVGA to autolevels and autogamma. During the process, another vector manipulation function introduced: phoebe_vector_offset (). 2007-11-09 15:18 Andrej Prša * libphoebe/phoebe_parameters.c: Added a test against NULL for strings and string arrays in the phoebe_parameter_set_value () function. If the string is NULL, it assigns "Undefined" to that string. This commit partially solves bug #1827922. PHOEBE still segfaults if the filename of the data-set is invalid - this exception should be caught by the GUI and the user should we warned with a nice notification window. 2007-11-06 15:16 Andrej Prša * libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h: Potential calculating functions renamed to phoebe_calculate_pot1 () and phoebe_calculate_pot2 (). Both functions, and phoebe_calculate_critical_potentials (), have been documented. 2007-11-06 04:49 Andrej Prša * devel/phoebe-gui/configure, devel/phoebe-gui/configure.ac, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, libwd/dc.sub.f, libwd/wd.h, devel/phoebe-scripter/Makefile.in, devel/phoebe-scripter/configure, devel/phoebe-scripter/src/phoebe_scripter_io.c: Correlation matrix computation implemented. Minimizer feedback now features a new field, cormat, that is PHOEBE_matrix that holds the correlation matrix. The scripter has been updated and now prints the correlation matrix along with other minimizer results. To use, simply do: feedback->cormat->val[i][j] where i runs over columns and j runs over rows. See the scripter code for examples. 2007-11-03 14:43 Andrej Prša * Makefile.am, Makefile.in, configure, configure.ac: Version changed to 0.30rc2, this now appears in the tarball name as well. 2007-11-03 14:32 Andrej Prša * ACKNOWLEDGEMENTS, WD_CAVEATS: Temperature statement removed from WD_CAVEATS; ACKNOWLEDGEMENTS moved to top-level distribution. 2007-11-03 14:29 Andrej Prša * TODO: Reference to PHOEBE homepage provided instead of copying the whole list. 2007-11-03 14:08 Andrej Prša * NEWS, README, SPECS: The obsolete SPECS file removed; README and NEWS updated for RC2. 2007-11-02 13:16 Andrej Prša * autoconfig/ylwrap: Added missing yacc/lex autowrapper. 2007-11-01 16:18 Andrej Prša * Makefile.am, Makefile.in, configure, configure.ac, libphoebe/Makefile.am, libphoebe/Makefile.in: Tarball name changed from phoebe-0.30 to phoebe-lib-0.30. At the same time the obsolete autogen.sh has been removed. 2007-11-01 15:01 Andrej Prša * configure, configure.ac: Notice is now displayed for missing bison. 2007-11-01 14:58 Andrej Prša * configure, configure.ac: Old flex/bison files were still given in configure test; fixed. Version bumped to RC2. 2007-11-01 07:15 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.grm.y, libphoebe/phoebe_constraints.lex, libphoebe/phoebe_constraints.lng.l: Flex part of automake doesn't work as expected - autogeneration of header files is not yet implemented. I thus had to make a workaround, having to rename the flex input file to .lng.l (automake and ylwrap trigger on .l but not on .lex). The build from a clean tree now works nicely. 2007-11-01 05:43 Andrej Prša * Makefile.in, configure, configure.ac, docs/reference/Makefile.in, libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_constraints.grm.y, libphoebe/phoebe_constraints.lex, libphoebe/phoebe_constraints.y, libwd/Makefile.am, libwd/Makefile.in, ptf/Makefile.in, wd/Makefile.in: This is a heavy commit. Let's see if I can think of everything: 1) Hard dependencies on flex and bison dropped. 2) Circular bison dependency in libphoebe/ resolved. 3) Bison -y now produces C code properly, which means we are fully portable (yacc-compliant). 4) make clean and make distclean now leaves f2c'd, flexed and bisoned sources alone. 5) make dist in phoebe-lib now includes all sources, including the built ones. 2007-11-01 04:13 Andrej Prša * configure, configure.ac, libwd/Makefile.am, libwd/Makefile.in: Endline markers in configure.ac escaped so that Makefile doesn't have problems with the shell definition. 2007-11-01 04:05 Andrej Prša * configure, configure.ac: A notice added to configure output in case f2c is not found, but the built sources are present, informing users that PHOEBE will fail to build if FORTRAN sources in libwd/ directory are changed. 2007-11-01 03:57 Andrej Prša * Makefile.in, configure, configure.ac, docs/reference/Makefile.in, libphoebe/Makefile.in, libwd/Makefile.in, ptf/Makefile.in, wd/Makefile.in: Explicit test for built WD sources with f2c added to configure. 2007-10-30 15:02 Andrej Prša * Makefile.in, configure, configure.ac, docs/reference/Makefile.am, docs/reference/Makefile.in, libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_build_config.h.in, libwd/Makefile.in, ptf/Makefile.in, wd/Makefile.in: Build system for the library updated: 1) Fortran dependency dropped. 2) AM_INIT_AUTOMAKE() modernized by dropping obsolete arguments and spawning errors on all warnings caused by automake. 3) INCLUDES replaced by AM_CPPFLAGS. 4) Maintainer mode explicitely stated in the configuration summary. 2007-10-30 04:14 Andrej Prša * devel/phoebe-gui/Makefile.in, devel/phoebe-gui/configure, devel/phoebe-gui/configure.ac, devel/phoebe-gui/glade/Makefile.in, devel/phoebe-gui/pixmaps/Makefile.in, devel/phoebe-gui/src/Makefile.in, devel/phoebe-gui/src/phoebe_gui_accessories.c, libphoebe/phoebe_spectra.c, libphoebe/phoebe_spectra.h, devel/phoebe-scripter/src/phoebe_scripter_commands.c: The obsolete function query_spectra_repository () removed; printf statements changed to phoebe_debug statements. Also GTK+ dependency stepped down to 2.4 and gtk_window_set_deleteable commented out; this is a semi-accidental commit but it might motivate us to get it fixed sooner. ;) 2007-10-30 04:02 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_spectra.c, libphoebe/phoebe_spectra.h: Spectra are now read in if PHOEBE_KURUCZ_SWITCH is set to 1 at startup and freed at quit. 2007-10-24 05:24 Andrej Prša * libphoebe/phoebe_parameters.c: Missing commas in phoebe_lc_id and phoebe_rv_id were messing up parameter definitions; fixed. 2007-10-22 02:12 Andrej Prša * devel/phoebe-gui/glade/phoebe_load_lc.glade, libphoebe/phoebe_parameters.c: Two new parameters added: phoebe_lc_id and phoebe_rv_id. Both are string arrays and are meant to hold the common name of the light/RV curve that is used for identification. Instead of passband name the curves will be identified by their IDs. These values should be user-defineable; to demonstrate this, I added an entry to phoebe_load_lc glade file, but this entry is not connected with anything at the moment. Next to this I think it would be useful to have a toggle button in the configuration window that would enforce the usage of passbands as identifiers (to offer the old way of referring to curves); in that case the entry would be grayed out and the passband name automatically copied once it's set. Or we could forget about this and have the users set the name to whatever they like. GUI masters, please hook up a widget to phoebe_lc_id and phoebe_rv_id and change the tree models in combo boxes to refer to IDs rather than passband names. This closes bug #1812435. 2007-10-18 02:55 Andrej Prša * AUTHORS, NEWS, configure.ac, libwd/Makefile.am, libwd/Makefile.in: Switch -Nn802 added to f2c. It is the default on newer f2c versions, but needed for dc.sub.f on older f2c versions. 2007-10-16 02:54 Andrej Prša * devel/phoebe-gui/src/phoebe_gui_plotting.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, devel/phoebe-scripter/src/phoebe_scripter_commands.c: Function alias_phase_points () renamed to phoebe_curve_alias (). The arguments to this function have been changed to accept PHOEBE_curve instead of PHOEBE_vectors; error handling has also been improved significantly. All drivers have been updated. 2007-10-16 01:51 Andrej Prša * devel/phoebe-gui/src/phoebe_gui_accessories.c, libphoebe/phoebe_accessories.c, libphoebe/phoebe_base.c, devel/phoebe-scripter/src/phoebe_scripter_configuration.c: Default configuration directory changed from ~/.phoebe2 to ~/.phoebe-VERSION, i.e. ~/.phoebe-0.30 etc. All drivers updated accordingly. 2007-10-11 20:24 Andrej Prša * libphoebe/phoebe_fortran_interface.c: Memory corruption in DC fixed as well! Hopefully this resolves the spots bug completely! Please test and report any issues you might have. 2007-10-11 19:36 Andrej Prša * libphoebe/phoebe_types.c: Removed debug printf() statements. 2007-10-11 19:35 Andrej Prša * libphoebe/phoebe_fortran_interface.c: Fixed a memory corruption bug in the spots section. 2007-10-11 19:13 Andrej Prša * libphoebe/phoebe_accessories.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_types.c: Several other instances of errors changed to warnings. 2007-10-11 18:53 Andrej Prša * libphoebe/phoebe_parameters.c: If a qualifier is not recognized, a warning is now issued instead of a lib error. 2007-10-09 04:00 Andrej Prša * libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Function phoebe_array_new_from_column () implemented. This function can automatically determine the type of data contained in the given column (it parses the first element and infers the type of the whole column from its type). Function phoebe_vector_new_from_array () implemented. This function simply transforms numeric arrays (TYPE_INT_ARRAY and TYPE_DOUBLE_ARRAY) to vectors. 2007-10-03 07:27 Andrej Prša * libphoebe/phoebe_spectra.c: Fixed a typo in the for loop that caused repository query to segfault if there were more logg values than metallicities. 2007-10-03 07:03 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h, libphoebe/phoebe_spectra.c, libphoebe/phoebe_spectra.h, libphoebe/phoebe_types.c: Backend for accessing the repository of stellar spectra completely reworked. When I say completly, I really mean it ;) - PHOEBE now supports Munari et al. (2005) spectra. Function query_spectra_repository is obsolete and replaced by phoebe_spectra_set_repository (). This function accesses the directory given as argument and recursively builds a table of all spectra that is stored in a global PHOEBE_spectra_repository variable. I think the logic of creating a grid table is nifty, so I briefly explain it here: 1) The directory is read recursively and all filenames are parsed. The ones that enter the repository (no rotational velocity and no alpha/Fe) are added to the array of spectra in order of appearance. We omit rotational velocities because there is a dedicated function in PHOEBE to do just that. Alpha enhancement may enter some time later, but I'm not sure yet how realistic it is. 2) During the parsing stage, all unique T/log(g)/[M/H] are stored, each in a separate array within the PHOEBE_spectra_repository structure (these arrays are called Teffnodes, loggnodes, and metnodes). 3) Once the directory tree is traversed, we build a 3D grid based on the nodes obtained in step 2. All elements of this grid will be pointers to spectra found and stored in step 1. 4) We do a second pass over all found spectra and, knowing the geometry of the table, we link each table element to the corresponding spectrum. Once all that is done, there is PHOEBE_spectra_repository.table field that holds the pointers to all spectra in tabular form. The file of the spectrum, when needed, is accessed by getting the indices i, j, k, and opening PHOEBE_spectra_repository.table[i][j][k]->filename. That's all there's to it, but the change is substantial. Multi-D interpolation has not been updated, that's next. 2007-10-02 07:03 Andrej Prša * libphoebe/phoebe_types.c: All reallocation functions revised to allow size 0; in those cases the contents of the arrays are freed and array pointers are set to NULL. This solves the problem of setting the modifiers (lcno, rvno, spots_no, ...) to 0 and getting a series of invalid reallocations. 2007-09-29 21:03 Andrej Prša * libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_spectra.c, libphoebe/phoebe_types.h, libwd/lc.sub.f, libwd/wd.h: 1) Rudimentary image plotting implemented. Use the function: call_wd_to_get_pos_coordinates ( PHOEBE_vector *poscoy, PHOEBE_vector *poscoz, double phase) to read in the values of the plane-of-sky (pos) coordinates at the given phase. To see it in action, use plot_eb_using_gnuplot (phase) command in the scripter, and phoebe_scripter_commands.c sources as an example of a working implementation. There are several problems, though: a) the number of data points vary with phase and cannot be reliably predicted without computing the whole model. The eclipsed parts of the image will thus show the (0,0) point (center of mass) although that point shouldn't be visible; b) when there are spots in the system, the vectors may get overflown. I haven't yet tried this, but I'm pretty sure it will segfault; c) the aspect ratio in the plotting window is messed up because of the automatic scaling of axes. I will work on solving these problems, but this should get you from square 1 in implementing the plotting capability in the GUI. 2) The default resampling mode changed from PHOEBE_HIST_CONSERVE_DENSITY to PHOEBE_HIST_CONSERVE_VALUES. 3) When multiplying two spectra, resampling is now done over the whole range of the resultant spectrum rather than on the range of each separate spectrum. 2007-09-27 02:40 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_base.h, libphoebe/phoebe_configuration.c, libphoebe/phoebe_configuration.h, libphoebe/phoebe_ld.c: phoebe_init_config_entries () renamed to phoebe_config_populate (); phoebe_free_config_entries () renamed to phoebe_config_free (); PHOEBE configuration optimized. The phoebe_init () function has been split into phoebe_init () and phoebe_configure (); the first function initializes all config-independent variables, and the second initializes and populates all config-dependent variables including parameters (parameters depend on the supported passband transmission functions, that is why they are declared in the configuration stage). This change has been made so that the drivers (the scripter and the GUI) can add their own configuration between the two calls. For example, one could do: phoebe_init (); scripter_config_populate (); phoebe_configure (); where scripter_config_populate () is the analog to phoebe_config_populate () that adds scripter config entries. Please make sure phoebe_configure () is called before any tables are accessed, as they won't be defined otherwise. 2007-09-25 15:48 Andrej Prša * libphoebe/phoebe_types.c: Added a non-NULL curve check to phoebe_curve_transform (). 2007-09-23 04:44 Andrej Prša * Makefile.in, libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h: Script ylwrap added to autoconfig/ directory for lex/yacc compatibility. At the same time function calculate_critical_potentials () renamed to phoebe_calculate_critical_potentials (). 2007-09-22 21:58 Andrej Prša * libwd/Makefile.am, libwd/Makefile.in: Added a rule to Makefile.am that regenerates all .c files whenever a .f file is modified. 2007-09-20 07:50 Andrej Prša * libphoebe/phoebe_fortran_interface.c: Casting from C to Fortran types in DCI structure readout done for all types except doubles (which should be cast to doublereal, but this is not really urgent because doublereal is typedeffed to double anyway). There is a #warning directive to remind me that this still needs to be done. 2007-09-19 02:47 Andrej Prša * devel/phoebe-gui/src/phoebe_gui_plotting.c, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: A triplet of spot parameters, _min, _max, and _step, added to the parameter table. PHOEBE->WD spot conversion function updated. While at it, functions: phoebe_parameter_[gs]et_upper_limit phoebe_parameter_[gs]et_lower_limit renamed to: phoebe_parameter_[gs]et_max phoebe_parameter_[gs]et_min Finally, a one-liner to allow primitive data aliasing for LC curves added to phoebe_gui_plotting. This should be fixed soon. 2007-09-18 17:23 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_parameters.c: Option "No level-dependent weighting" renamed to "None". 2007-09-18 04:51 Andrej Prša * libphoebe/phoebe_parameters.c: Parameter phoebe_el3 was missing a phoebe_lcno dependency. Fixed. 2007-09-17 17:57 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_types.c, libwd/dc.sub.f, libwd/lc.sub.f, libwd/wd.h: Third light handling fully functional. The handler for 3rd light that is passed as the percentage of 3rd luminosity, namely x=L3/(L1+L2+L3), has been implemented in WD natively and will be proposed to upstream for incorporation in future WD versions. A new switch L3perc, passed in the argument list to lc.sub.f and dc.sub.f, has been added that selects the mode (flux = 0 and percentage = 1). All functions have been updated and the implementation tested to a reasonable extent. 2007-09-15 09:22 Olivera Latković * devel/phoebe-gui/src/phoebe_gui_types.c, phoebe-lib.cbp: Added a missing break statement to a switch in gui_get_value_from_widget(). *All* the warnings in w<->p should be gone now. 2007-09-15 00:01 Andrej Prša * configure, configure.ac: Configure script changed to support "flex-new" in addition to "flex" as a possible flex executable contained in the $LEX variable. This applies to all Redhat distributions and perhaps Fedora as well. 2007-09-14 23:52 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_fortran_interface.h, libphoebe/phoebe_parameters.c, devel/phoebe-scripter/src/phoebe_scripter_directives.c: Spot handling fully functional. The following parameters have been defined: phoebe_spots_colatitude_tba phoebe_spots_longitude_tba phoebe_spots_radius_tba phoebe_spots_tempfactor_tba These are all boolean arrays and expect 1 or 0 (TRUE or FALSE) for each spot separately. The newly implemented function wd_spots_parameters_get () is a wrapper that transfers the data from PHOEBE spots parameters phoebe_spots_* to WD spots parameters wd_spots_*. This is done to temporarily (until we implement our version of DC) support up to two adjustable spots in DC *and/or* NMS. To recap: if you want to adjust, say, radius of the third spot and colatitude on the fourth spot, you would set: phoebe_parameter_set_value (phoebe_spots_radius_tba, 1, 3); phoebe_parameter_set_value (phoebe_spots_colatitude_tba, 1, 4); Note that the source star for these spots is defined by the 3rd and 4th element of the phoebe_spots_source parameter. 2007-09-14 00:08 Olivera Latković * devel/phoebe-gui/glade/phoebe.glade, devel/phoebe-gui/src/phoebe_gui_callbacks.c, devel/phoebe-gui/src/phoebe_gui_callbacks.h, devel/phoebe-gui/src/phoebe_gui_global.h, devel/phoebe-gui/src/phoebe_gui_treeviews.c, devel/phoebe-gui/src/phoebe_gui_treeviews.h, devel/phoebe-gui/src/phoebe_gui_types.c, libphoebe/phoebe_parameters.c: Attached the spots treeview to the new library parameters. The only change in the library itself is the uncommented line defining the tba parameter for a spot. I had to make a lot of small changes to GUI sources to get this through, and not everything is behaving; if you save a parameter file with some spots, chances are Phoebe will segfault when you later open it. I also added a flag to show or not to show all the columns in the spots treeview, so if we decide the users should be able to expand it, we can let them. In the meantime, I fixed the detach button images, which now display properly. Two or three libglade warnings remain, though. 2007-09-12 05:33 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_fortran_interface.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_spots.c, libphoebe/phoebe_spots.h: Sigh... After implementing everything in phoebe_spots.c, I realized it is not a good way to go because it deviates from the rest of the code too much. As consequence I ditched the structures and introduced some additional spot parameters instead. The layout is now the following: 1) Hook up tree-view spot parameters to: phoebe_spots_no phoebe_spots_active_switch phoebe_spots_source phoebe_spots_colatitude phoebe_spots_longitude phoebe_spots_radius phoebe_spots_tempfactor 2) Adjustable widgets below the tree-view pertain to: wd_spots_lat1 wd_spots_long1 wd_spots_rad1 wd_spots_temp1 wd_spots_lat2 wd_spots_long2 wd_spots_rad2 wd_spots_temp2 However, the correspondence is not 1:1 because there can be many spots on either star. The "trick" is to use phoebe_spots_tba_switch, which is defined in phoebe_parameters.c but currently commented out. If you want to use it, just uncomment it. I commented it out because I wanted to give it a bit more thought as to what would be optimal. The changes to the code to reflect these changes in organization are close to complete. It's up to the driving program to assign values to wd_spots_* properly, but this might be better in the library. I have to think about this a little bit more. While changing everything, qualifiers phoebe_spots_move1 and phoebe_spots_move2 renamed to phoebe_spots_corotate1 and phoebe_spots_corotate2. I suggest a similar renaming of the corresponding check-buttons in the GUI. 2007-09-11 11:13 Olivera Latković * devel/phoebe-gui/glade/phoebe.glade, devel/phoebe-gui/src/phoebe_gui_callbacks.c, devel/phoebe-gui/src/phoebe_gui_treeviews.c, devel/phoebe-gui/src/phoebe_gui_treeviews.h, devel/phoebe-gui/src/phoebe_gui_types.c, phoebe-lib.cbp: I made many changes, sorry to put them all in one commit. The most important is the handler for the "Calculate" button on the fitting tab, that now calls DC minimizer. To make this work, I also had to change the way the filters are stored in LC an RV treeviews, and while at that, I moved the add and remove handlers for those treeviews to phoebe_gui_treeviews.c. Then I went on to erase all the empty signal handlers from phoebe_gui_callbacks.c, and to remove them from the glade file as well. I removed the uber "adjustible_spots_model" from phoebe_gui_types.c, but left the other spot-related stuff untouched: I still need to think about the effects the new library functions will have on the current layout and functionality. Last, but not least, I added a return statement to if(!widget->par) block in gui_set/get_values functions, so the "I got where I'm not supposed to get!" warnings are gone. 2007-09-10 04:38 Andrej Prša * libphoebe/phoebe_spots.c, libphoebe/phoebe_spots.h: Prototypes for spot handling functions have been defined. Please review and comment. In brief: PHOEBE_spot is a new typedef'fed structure that holds all the info on a given spot. All spots are added consequentially to a global linked list table PHOEBE_spots. Two spots that are adjustable by DC are passed by the phoebe_spot_pass_to_wd () function; it takes two arguments, a pointer to the spot and the adjustable spot number, which can be 1 or 2. All other info on a given spot is in the structure, so no need to pass it again. Step sizes, mins and maxes are independent parameters that are exclusive to DC and apply to all spots equally, that's why they don't appear in the structure. These are only the prototypes, functions have not been written yet. I hope to do most of it tomorrow afternoon, so please comment ASAP if you can think of anything that can be done better. 2007-09-10 02:56 Andrej Prša * libphoebe/phoebe_fortran_interface.c: The remaining incompatibilities between PHOEBE types and WD types have been resolved. 2007-09-06 20:12 Andrej Prša * libwd/Makefile.am, libwd/Makefile.in, libwd/wrlci.f: Added -R -A flags to f2c; -R instructs f2c to use float or double precision arithmetics as is necessary (instead of forcing double always) and -A invokes ANSI compliance of the produced code. At the same time some extra spaces have been removed from wrlci. After 2 days of witchhunt, I finally isolated the f_open() problem: it's a 64bit bug in Debian and has nothing to do with PHOEBE! The bug has already been reported. 2007-09-06 20:09 Andrej Prša * libphoebe/phoebe_calculations.c: Arguments to wd_lc () changed from int to integer. 2007-09-06 14:10 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_allocations.h, libphoebe/phoebe_calculations.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_fortran_interface.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, libwd/wd.h, devel/phoebe-scripter/src/phoebe_scripter_commands.c, devel/phoebe-scripter/src/phoebe_scripter_configuration.c, devel/phoebe-scripter/src/phoebe_scripter_grammar.y, devel/phoebe-scripter/src/phoebe_scripter_io.c: During the test build under Debian a very serious problem emerged with the C-to-Fortran bridge: typedeffed variables integer and doublereal were erroneausly assumed to correspond to int and double, whereas they /currently/ correspond to long int and double. To accomodate for this, a whole range of changes had to be introduced: 1) the fields in the WD_LCI_parameters and WD_DCI_parameters have been changed from int, bool and double to integer and doublereal, 2) f2c.h has been included explicitly (there seems to be no other way, sorry), 3) Fortran related sources have been moved from phoebe_allocations to phoebe_fortran_interface, 4) Function read_in_wd_lci_parameters () has been renamed to wd_lci_parameters_get (), and all the values of parameters obtained therein have been casted to (integer) or (doublereal). This commit should also fix the missing min() and max() definition in phoebe_sources.h reported by Gal. 2007-09-06 05:50 Andrej Prša * libphoebe/phoebe_spectra.c: Redundant min() and max() definitions removed. 2007-09-06 05:32 Andrej Prša * libphoebe/phoebe_types.c: The definitions of min() and max() function #ifndef'fed to avoid multiple definitions when including f2c.h or a similar header that defines these two macros. 2007-09-06 02:24 Andrej Prša * Makefile.in, configure, configure.ac, docs/reference/Makefile.in, libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe.h, libphoebe/phoebe_build_config.h.in, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_plotting.c, libphoebe/phoebe_plotting.h, libphoebe/phoebe_types.c, libwd/Makefile.in, ptf/Makefile.in, wd/Makefile.in, devel/phoebe-scripter/Makefile.in, devel/phoebe-scripter/configure, devel/phoebe-scripter/configure.ac, devel/phoebe-scripter/help/Makefile.in, devel/phoebe-scripter/src/Makefile.am, devel/phoebe-scripter/src/Makefile.in, devel/phoebe-scripter/src/phoebe_scripter_build_config.h.in, devel/phoebe-scripter/src/phoebe_scripter_commands.c, devel/phoebe-scripter/src/phoebe_scripter_plotting.c, devel/phoebe-scripter/src/phoebe_scripter_plotting.h: 1) Function phoebe_parameter_option_get_index () implemented. It has been fool-proofed, but not thoroughly tested. Please report any problems. 2) Gnuplot check moved from the library to the scripter. 3) Plotting moved from the library to the scripter. 2007-09-05 16:14 Andrej Prša * libphoebe/Makefile.in, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c: Beautification of phoebe_parameters.h due to anytype -> PHOEBE_value change has been done. Fool-proofing of phoebe_curve_new_from_pars () has been done. 2007-09-04 04:57 Andrej Prša * libphoebe/phoebe_configuration.c, libphoebe/phoebe_configuration.h: Function phoebe_config_check () is not required and its prototype has been removed. 2007-09-04 04:52 Andrej Prša * libphoebe/phoebe_configuration.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, devel/phoebe-scripter/src/phoebe_scripter_ast.h: Library type "anytype" renamed to "PHOEBE_value". This change has been propagated to the scripter and the GUI as well. 2007-09-04 04:45 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_configuration.c, libphoebe/phoebe_configuration.h, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h: Configuration handling is now complete. PHOEBE first tries to find an up-to-specs config file in ~/.phoebe2 directory; if it fails, it tries to find a legacy config file in the same directory; it then tries to find either in ~/.phoebe directory. If all fails, it falls back to using defaults. A simple overwrite of the config file does the trick for avoiding the legacy file warning; just be sure to use ~/.phoebe2 directory instead of ~/.phoebe, otherwise there will be a conflict between pre-0.30 and 0.30 versions. See phoebe_base.c on how the above checks are performed. 2007-09-04 01:05 Andrej Prša * docs/reference/Makefile.am, docs/reference/Makefile.in, libphoebe/phoebe_base.c, libphoebe/phoebe_configuration.c, libphoebe/phoebe_configuration.h, devel/phoebe-scripter/src/phoebe_scripter_configuration.c: Build file docs/reference/Makefile.am tweaked to produce phoebe-sections file after every source change. This means that the functions finally auto-update, and new function automagically appear in the docs. phoebe_configuration sources have been documented *completely*. Please review and comment if anything is not clear. Scripter configuration function scripter_create_config_file () now sets Kurucz's model atmospheres switch and directory as well. To try it out, run phoebe_scripter with the -c switch. 2007-09-03 17:34 Andrej Prša * devel/phoebe-gui/src/phoebe_gui_plotting.c, libphoebe/phoebe_base.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_configuration.c, libphoebe/phoebe_configuration.h, libphoebe/phoebe_data.c, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_global.h, libphoebe/phoebe_plotting.c, libphoebe/phoebe_spectra.c, devel/phoebe-scripter/src/Makefile.am, devel/phoebe-scripter/src/Makefile.in, devel/phoebe-scripter/src/main.c, devel/phoebe-scripter/src/phoebe_scripter_commands.c, devel/phoebe-scripter/src/phoebe_scripter_directives.c: Configuration handling changed. Instead of having a bunch of global variables laying around, there is now a proper way (TM) implemented. In order to add a new configuration entry, use: phoebe_config_entry_add (type, keyword, defval); where: type is PHOEBE_type (TYPE_INT, ..., TYPE_STRING) keyword is a string (i.e. "PHOEBE_BASE_DIR") defval is the default value (i.e. "/usr/local/share/phoebe") To set or get the value of the configuration entry, use: phoebe_config_entry_set (keyword, value); phoebe_config_entry_get (keyword, &value); Please take a look at phoebe_configuration.c to see the complete implementation. All necessary changes in the scripter and the GUI have been incorporated as well. The options get loaded and saved automatically by using: phoebe_config_load (char *filename); phoebe_config_save (char *filename); The only thing that still remains to be done is legacy support. 2007-09-02 20:40 Andrej Prša * libphoebe/phoebe_parameters.c: There was a memory leak in phoebe_parameter_free () for PHOEBE_DOUBLE_ARRAY types that has now been fixed. 2007-08-23 23:21 Andrej Prša * libphoebe/phoebe_allocations.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, devel/phoebe-scripter/src/phoebe_scripter_commands.c: Function read_in_synthetic_data () renamed to phoebe_curve_compute () and moved from phoebe_allocations.c to phoebe_types.c. All calls to this functions in the scripter have been renamed. 2007-08-23 19:02 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h: GSL dependency dropped from the sources, but the check is still in the auto* tools. The reason for that is that some yet un-implemented spectra handlers depend on it and I don't know yet if it is better to keep GSL dependency or to modify the sources. But that will wait till 0.3x, x != 0. ;) 2007-08-23 18:58 Andrej Prša * libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, devel/phoebe-scripter/src/phoebe_scripter_ast.c, devel/phoebe-scripter/src/phoebe_scripter_commands.c, devel/phoebe-scripter/src/phoebe_scripter_commands.h: The obsolete function kick_parameters () removed from the sources. 2007-08-23 17:30 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, devel/phoebe-scripter/src/phoebe_scripter_ast.c, devel/phoebe-scripter/src/phoebe_scripter_io.c: Obsolete PHOEBE_curve fields removed and everything adapted to the new KIND_COMPUTED parameters, both in the library and the scripter. Another small issue has been resolved: a passband field was not set automatically by read_in_synthetic_data (). Fixed. 2007-08-22 03:36 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_build_config.h.in, libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, devel/phoebe-scripter/src/Makefile.am, devel/phoebe-scripter/src/Makefile.in, devel/phoebe-scripter/src/phoebe_scripter_commands.c: Computed parameters (passband luminosities, masses, radii, surface gravities, bolometric magnitudes and polar surface brightnesses) added to the library and the scripter. The following parameters have been declared: phoebe_mass1 phoebe_mass2 phoebe_radius1 phoebe_radius2 phoebe_logg1 phoebe_logg2 phoebe_mbol1 phoebe_mbol2 phoebe_sbr1 phoebe_sbr2 These are all of KIND_COMPUTED parameter kind that is added to the enum. Their values are set by call_wd_to_get_* functions. They should be considered read-only, although fool-proofing hasn't been done yet. To get their values, use them as any other parameter, thus something like: double value; phoebe_parameter_get_value ( phoebe_parameter_lookup ("phoebe_mass1"), &value); 2007-08-22 02:54 Andrej Prša * libwd/ChangeLog.PHOEBE, libwd/lc.sub.f, libwd/wrhead.f: A slight formatting change and the x-ray bugfix incorporated from upstream, resyncing WD with the official 2007-08-15 release. 2007-08-22 02:48 Andrej Prša * configure.ac: Changed a last modified date to today. 2007-08-22 02:42 Andrej Prša * libwd/Makefile.am, libwd/Makefile.in: Explicit -lg2c flag removed from libwd/Makefile.am. 2007-08-22 02:29 Andrej Prša * configure, configure.ac: Explicit check added for libg2c to configure.ac. 2007-08-22 02:01 Andrej Prša * configure, configure.ac: Another tiny change introduced to configure.ac that greatly improves the experience using ./configure. If the name of the flex executable is different than flex (i.e. flex-new under SciLinux), it's as easy as issuing: ./configure LEX=flex-new That's all there is! :) 2007-08-22 01:49 Andrej Prša * configure, configure.ac: Flex options used for constraints are not lex-compatible. That is why we explicitly require flex 2.5.33 or later during configure stage for the SVN version. The distribution tarball should not depend on flex or bison or gtk-doc; that should still be fixed. 2007-08-20 14:14 Andrej Prša * libphoebe/phoebe_error_handling.c, libphoebe/phoebe_parameters.c: Exception handler in phoebe_error () improved to print out the error code that caused the exception handler to be invoked. The function phoebe_parameter_get_value () was using array instead of vector dimension to verify the index validity; fixed. 2007-08-17 15:55 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_constraints.lex, libphoebe/phoebe_data.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_ld.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_radiation.c, libphoebe/phoebe_spectra.c, libphoebe/phoebe_types.c: Most compiler warnings have been taken into account. Some remain that are not trivial to remove, but all are completely benign. 2007-08-07 13:36 Olivera Latković * devel/phoebe-gui/glade/phoebe.glade, devel/phoebe-gui/phoebe-gui.cbp, devel/phoebe-gui/src/phoebe_gui_callbacks.c, devel/phoebe-gui/src/phoebe_gui_treeviews.c, devel/phoebe-gui/src/phoebe_gui_types.c, phoebe-lib.cbp: Added a block to gui_get_value_from_widget to handle the TreeViewColumn "widgets". To do this, I had to decorate every column with a set of additional data fields, one being a pointer to its parent TreeView, and the other its column number (these are the changes to phoebe_gui_treeviews.c). To try and test this a bit, I added another toolbutton to the toolbar of the main window, which calls gui_get_values_from_widgets. Right now this call causes a segfault; by commenting pieces of gui_get_value_from_widget I found that the problem is inside the CheckButton and SpinButton blocks, but I don't know what the problem is. 2007-08-04 00:22 Andrej Prša * ptf/Makefile.am, ptf/Makefile.in: New passbands added to the install target. 2007-08-04 00:14 Andrej Prša * ptf/johnson.J, ptf/johnson.K, ptf/johnson.L, ptf/johnson.M, ptf/johnson.N, ptf/johnson.R: Infrared Johnson passbands added. 2007-08-03 22:36 Olivera Latković * devel/phoebe-gui/phoebe-gui.cbp, phoebe-lib.cbp: I added my CodeBlocks projects to the library and the GUI. 2007-08-03 18:54 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_allocations.h, libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_fortran_interface.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_types.c: The standard deviations of the passband (phoebe_lc_sigma) were not transformed to flux when magnitude->flux conversion was done. That caused wrong weights of individual passbands to be passed to the cost function. This has now been fixed. Next, function create_lci_file () was taking a whole WD_LCI_parameters structure as argument; this has been changed to only a pointer to that structure. The function calculate_chi2 () has been renamed to phoebe_cf_compute (). It now adheres to the specifications and, since it computes different cost functions, not only chi2, its name is more appropriate. Also, the function now takes standard deviations instead of weights as argument. Speaking of cost functions, a new cost function has been added: PHOEBE_CF_EXPECTATION_CHI2. This cost function is defined as: cfval = \sum_i (x_calc-x_obs)^2 / x_calc Continuing with phoebe_parameters: parameter phoebe_extinction was not properly defined - it depends on phoebe_lcno but it was set to NULL dependency. This has been fixed. Finally, there's a bug that prevented the library from building in phoebe_curve_realloc (). My sincere apologies to all! O:-) 2007-08-02 20:04 Andrej Prša * libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Handler phoebe_curve_realloc () added to the source. Some minor typos in the comments have also been fixed. 2007-08-02 19:37 Andrej Prša * libphoebe/phoebe_accessories.c: Suggested parentheses by -Wall added. 2007-08-01 15:57 Andrej Prša * libwd/dc.sub.f: The maximum number of data points in DC increased to 50000. 2007-07-30 18:00 Andrej Prša * libphoebe/phoebe_calculations.c, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, libwd/lc.sub.f: Obtaining the radii from LC run is now implemented. 2007-07-29 19:35 Andrej Prša * libphoebe/phoebe_constraints.c, libphoebe/phoebe_parameters.c: Setting parameter values now satisfies constraints as well. 2007-07-29 19:10 Andrej Prša * libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.y, libphoebe/phoebe_fitting.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Parameter constraining is now fully supported! :) A new function, phoebe_minimizer_feedback_accept (), copies the converged values to the currently active parameter table and satisfies all the constraints. While at it, there was a non-void function, pcerror (), in .y source that was returning void; that has been fixed. 2007-07-29 04:55 Andrej Prša * libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.lex, libphoebe/phoebe_constraints.y, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_nms.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: The work on constraints is nearing completion; the implementation is now tested and fully functional for NMS. One thing that remains to be done is the evaluation of constraints when adopt_parameter_results () is run. This function needs to be moved from the scripter to the library anyway, so that it can be used by the GUI as well. This commit is a substantial change to the tree, so many files are affected. 2007-07-27 14:32 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_calculations.c: Compiler warnings in libphoebe changed from three particular ones to all (i.e. -Wall flag is now being used). Two possibly uninitialized uses of variables in interstellar extinction handling have been fixed. 2007-07-27 14:26 Andrej Prša * libphoebe/phoebe_fitting.c: Another incompatibility among distributions seems to be passing a pointer to the function or passing its address; the former has been replaced by the latter. 2007-07-27 13:35 Andrej Prša * libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h: Function intern_chi2_cost_function () renamed to phoebe_chi2_cost_function () because some compilers can't dereference a locally declared function (namely, this issue arises under RedHat and SciLinux). The renamed function is now prototyped in the header file. 2007-07-26 22:14 Andrej Prša * libphoebe/phoebe_fitting.c: DC minimizer updated to the new qualifier naming strategy in the feedback structure. 2007-07-24 13:10 Andrej Prša * ptf/johnson.I: Johnson I passband transmission function added. 2007-07-24 13:09 Andrej Prša * libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.y, libphoebe/phoebe_fitting.c, libphoebe/phoebe_nms.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, ptf/Makefile.am, ptf/Makefile.in: A bug in phoebe_open_parameter_file () caused the fields that are followed immediately by the '=' sign (i.e. phoebe_hjd0.VAL=1.0) to be misread. Fixed. More work on constraining has been done: the NMS now cross-checks the list of parameters marked for adjustment with the list of constraints and removes all constrained parameters from the TBA list. This way only unconstrained parameters get adjusted and constrained parameters get updated after each iteration. Finally, a new PTF added for Johnson I passband; this commit changes the makefile, the next commit will add the new file. 2007-07-23 12:40 Olivera Latković * libphoebe/phoebe_types.c: Documented a few more functions in phoebe_types. 2007-07-20 20:00 Andrej Prša * devel/phoebe-gui/Makefile.in, devel/phoebe-gui/configure, devel/phoebe-gui/src/Makefile.in, libphoebe/phoebe_allocations.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_types.h: Obsolete conditional constraining parameters removed from the library: phoebe_msc1_switch phoebe_msc2_switch phoebe_asini_switch phoebe_cindex_switch phoebe_cindex While at it, the GUI auto* files have been regenerated from Makefile.am. whenever configure.ac or Makefile.am change, autoreconf needs to be run from the top-level directory, i.e. phoebe-gui. This will parse these files and create the ./configure script and Makefile.in. If autoreconf is complaining about a missing ChangeLog, just touch it and rerun it, then it will work just fine. 2007-07-19 17:32 Andrej Prša * libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_nms.h: NMS is up and running! Computing passband luminosities and systemic velocity from data is still offline, but everything else, including constraints, should now work. Code should be polished a bit, since there are many remnants from the old implementation. 2007-07-18 00:59 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_base.c, libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.lex, libphoebe/phoebe_constraints.y, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_nms.c, libphoebe/phoebe_nms.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c: Parameter constraining is now fully in place. A lot of back-end structures have been created to handle conditional constraining as effectively as possible. In particular: 1) There is now a structure called PHOEBE_parameter_table_list that contains all parameter tables defined by phoebe_parameter_table_new () or phoebe_parameter_table_duplicate (). This enables the undo implementation in future (in case we decide to do it). 2) PHOEBE_parameter_table has been extended to contain all constraints as well (rather than having a separate global PHOEBE_ct variable as was implemented originally). 3) Linked list reversal functions have been added for AST and parameter linked lists. 4) The constraints parser was in a name conflict with the scripter. That is why all constraining-related scanner and parser functions have been prefixed with 'pc' (parameter constraining) rather than the default 'yy'. 5) NMS parameters that are passed to the cost function are now moved to phoebe_nms sources. The internal NMS implementation has replaced the GSL calls completely. That means that everything is self-contained now. NMS is still offline, though, but if you try to call it from the scripter, it will demonstrate the constraining functionality on an example of two constraints: a=10/sin(i) and L1[2]=0.5*L1[1]. I'll slowly change all printf statements to phoebe_debug statements, as my confidence that everything is working nicely grows... ;) 2007-07-17 11:29 Gal Matijevič * libphoebe/phoebe_data.c: Added to calls to qsort function to the phoebe_read_in_passbands. This sorts the passbands by the effective wavelength and set name right after they are read in. 2007-07-14 20:17 Andrej Prša * ptf/hst_foc_1989_f96_f220w.txt: Passband name corrected from 220W F/96 to F220W F/96 (Gal caught this). 2007-07-13 04:06 Andrej Prša * libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Function phoebe_value_duplicate () added; some small esthetic changes done in phoebe_array_duplicate (). 2007-07-11 15:12 Andrej Prša * docs/reference/Makefile.am, docs/reference/Makefile.in, libphoebe/phoebe_base.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: gtk-doc is failing on the automatically created lex and tab sources; these header files have been added to the list of ignored headers in docs/reference/Makefile.am; Makefile.in has been regenerated. On a more important side, infrastructure for PHOEBE_parameter_table structures has been set up. Since the API should not change, another global variable PHOEBE_pt_list was introduced that holds all defined parameter tables. The active table is selected by the phoebe_parameter_table_activate () function; this sets a global pointer PHOEBE_pt to point to the selected table in the pool of tables. This way all functions for parameter manipulation act on the currently selected table. Next to the infrastructure, table duplication function phoebe_parameter_table_duplicate () has been written; it has to be performed in two stages: the first stage copies the contents of parameters, and the second stage copies the dependencies. The traversal needs to be done in stages because all parameters need to be defined to be able to set the dependencies. The second stage still needs to be done. The next step is to implement table duplication for the minimizers. 2007-07-11 14:45 Andrej Prša * libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h: Slight revision of the PHOEBE_error_code description (had it done, it caused a conflict that is now resolved), another code added for PHOEBE_parameter_table. 2007-07-11 14:24 Olivera Latković * libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Started documenting the library. The error handling files are done, and the types partially. These are mostly just comments that were alredy in place, reformatted to fit gtk-doc's specs. 2007-07-10 12:51 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe.h, libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.y: Further work on constraining done; constraint evaluation is now in place, rule reduction works flawlessly. A final step is to figure out how to apply constraints on temporary results coming from the minimizers, but I think I figured it out: each invocation of the minimizer will spin off an instance of a parameter table that will be used until the new parameters get adopted for the main table. Hopefully I'll manage to get this done by tomorrow. 2007-07-03 03:42 Andrej Prša * libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.lex, libphoebe/phoebe_constraints.y: As promised: parameter (qualifier) elements are now fully supported. That means that we can add constraints of the type: "phoebe_hla[2] = 0.95 * phoebe_hla[1]" That also means that color constraining is now fully supported without any additional programming! :) It looked hairy at start, but the power of constraining will soon become very obvious! 2007-07-03 03:11 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_base.c, libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.y: More has been done on PHOEBE constraining capabilities. Actually, almost everything is in place now; new constraints are added as simply as with a single call to phoebe_constraint_new (const char *constraint). Here is a snippet that demonstrates this behavior: #include int main () { phoebe_init (); phoebe_constraint_new ("phoebe_sma = sin(phoebe_incl)/10.0"); phoebe_constraint_new ("phoebe_teff2 = phoebe_teff1"); phoebe_quit (); return SUCCESS; } Memory is handled gracefully: there is a global linked list PHOEBE_ct (constraints table) that is initialized and freed in phoebe_init () and phoebe_quit (), respectively. The only thing that remains is the actual constraining, which goes into the minimizers. Another parser-related unfinished implementation are passband-dependent constraints, i.e. something like: phoebe_constraint_new ("phoebe_hla[2] = 12.3 * phoebe_hla[1]") That will come soon, very soon. :) 2007-07-02 20:11 Andrej Prša * Makefile.in, configure, configure.ac, docs/reference/Makefile.in, libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_build_config.h.in, libphoebe/phoebe_constraints.c, libphoebe/phoebe_constraints.h, libphoebe/phoebe_constraints.lex, libphoebe/phoebe_constraints.y, libwd/Makefile.in, ptf/Makefile.in, wd/Makefile.in: PHOEBE constraints are shaping up... :) The old idea with hard-coded constraints such as a \sin i = const and similar is now completely abandoned and has been replaced by a scary yet effective parser. Yep, that means that flex and bison are now required to build the library and tests have been added to configure. These tests are temporary, though, because they shouldn't stop the build if the parser sources are already present. So what's the idea: the library now implements a complete infrastructure for abstract syntax trees (AST). The constraint has to be contained in a parsable string that consists of mathematical operators (+, -, *, /, ^ are currently supported), numeric values (i.e. 1, 20.3, 1.4e-2 etc), built-in functions (sin, cos, tan, asin, acos, atan, exp, ln, log, sqrt are currently supported) and qualifiers (i.e. phoebe_sma, phoebe_rm etc). These constraints must be expressed explicitly. For example, a constraint for phoebe_sma could be: "10/sin(phoebe_incl*3.14/180.0)" This constraint would keep a*sin(i) = 10.0 whenever phoebe_incl is changed. Back to the implementation: the lexer and the parser are in place and can already parse such strings, however the connection to parameters is not yet done. All build files have been updated and are now generating parser source code automatically by using flex and bison. For the curious, sources phoebe_constraints.c and phoebe_constraints.h are most informative... ;) 2007-07-02 19:09 Andrej Prša * gtk-doc.make: autoreconf was having issues because this file had been missing. There are now two instances of this file, one is in the top-level directory and the other is in the docs/reference directory. I'm not quite sure the latter is needed. 2007-07-01 18:30 Andrej Prša * Makefile.am, Makefile.in, configure, configure.ac, docs/reference/gtk-doc.make, docs/reference/phoebe.args, docs/reference/phoebe.hierarchy, docs/reference/phoebe.interfaces, docs/reference/phoebe.prerequisites, docs/reference/phoebe.signals, docs/reference/phoebe.types, gtk-doc.make: Build files updated for full gtk-doc support, which is now fully functional. A bug in gtk-doc requires that make be run twice, first time to create the skeleton and the second time to create the content; make will fail after the first time with no target found error, but a subsequent make will successfully generate the documentation. That happens only with a fresh svn checkout, all subsequent make invocations are ok. For reference, whenever auto* tools and/or gtk-doc is upgraded, the following needs to be issued in the top-level phoebe-lib directory: gtkdocize --gtkdoc docs/reference --copy At the same time I bumped the version in configure.ac to 0.30RC1 and release date to September 1st, 2007. 2007-06-29 15:45 Andrej Prša * libphoebe/phoebe_parameters.c: The phoebe_opsf parameter description was wrong; fixed. 2007-06-28 14:15 Andrej Prša * libphoebe/phoebe_calculations.c: OB1 indexing error fixed in the returned params array from DC. 2007-06-28 07:18 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_fitting.c: Some DC inadequacies discovered and removed, nothing too important. 2007-06-28 07:17 Andrej Prša * libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: Two issues have been resolved: the first one is the discrepancy between the ordering of WD parameters and PHOEBE parameters marked for adjustment - now all marked parameters are sorted to correspond to WD order. The second issue is still somewhat present, namely that the default values overwrite assigned values if the modifier is set after any of the fields. This has now been partially fixed by saving the modifiers to the parameter file first and all the remaining parameters next, but I thought of a much better solution: whenever a field is encountered, look up the corresponding modifier and change its value (and the dimensions of all dependencies) accordingly. An extension of PHOEBE_parameter structure will be needed with a pointer to the modifier. 2007-06-28 01:16 Andrej Prša * libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h: Functions calling lc.sub.f updated to reflect the calling convention. 2007-06-28 01:15 Andrej Prša * libwd/lc.sub.f, libwd/wd.h: An additional argument has been added to lc.sub.f that holds computed parameters of the model: star 1 and star 2 passband luminosities, masses, radii, bolometric magnitudes and log gravities. 2007-06-27 03:09 Andrej Prša * Makefile.in, docs/reference/Makefile.in, libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe.h, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_nms.c, libphoebe/phoebe_nms.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, ptf/Makefile.in, wd/Makefile.in: Nelder & Mead's downhill simplex minimizer (NMS) adapted from GSL. Since GSL implementation of NMS was designed to be modular and general, it couldn't be optimized efficiently for PHOEBE purposes. That is why a complete, fully functional NMS skeleton was "ported" to PHOEBE. It is still unchanged from GSL design, but it has been tested and it works. The next step is to optimize it for PHOEBE. Some additional vector manipulation functions that were required for NMS have been written. Also, a new type, PHOEBE_matrix, along with all the constructors and destructors, has been added to phoebe_types. 2007-06-26 20:56 Andrej Prša * libwd/Makefile.in, libwd/lump.f: A 0-element array access bug removed. 2007-06-25 03:46 Andrej Prša * libphoebe/phoebe_parameters.c: Default values for phoebe_lc_filter and phoebe_rv_filter were still set to the obsolete designation names. Fixed. 2007-06-24 02:01 Andrej Prša * libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_types.c, devel/phoebe-scripter/src/phoebe_scripter_commands.c: Started working on updating the NMS minimizer. It has already been significantly simplified thanks to PHOEBE_curve structure, but there is still room for improvement. This edit does not break the build. The function name changed from find_minimum_with_nms () to phoebe_minimize_using_nms (). Scripter command updated. 2007-06-23 23:20 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_base.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: This is hopefully the last structural change in phoebe_parameters. It is purely esthetic, the functionality remains unchanged. In the typedefed structure PHOEBE_parameter_list, field 'elem' has been renamed to 'par'. In the typedefed structure PHOEBE_parameter_table, field 'elem' has been renamed to 'bucket'. A typedefed structure PHOEBE_pt_bucket has been replaced by PHOEBE_parameter_list, as both structures had the same content. All supporting structures have been updated. 2007-06-22 15:45 Andrej Prša * libphoebe/phoebe_error_handling.c: A stale GLADE define statement removed from phoebe_error_handling. 2007-06-21 03:15 Andrej Prša * libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h: Function find_minimum_with_dc () renamed to phoebe_minimize_using_dc (). 2007-06-20 18:43 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h: Original DC functionality fully restored. Conditional constraints and additional options (i.e. to compute HLAs and VGA) are still under review - I'm thinking of a more general way on how to implement them. 2007-06-19 22:04 Andrej Prša * Makefile.am, Makefile.in, aclocal.m4, autoconfig/config.guess, autoconfig/config.sub, autoconfig/depcomp, autoconfig/install-sh, autoconfig/ltmain.sh, autoconfig/missing, configure, configure.ac, docs, docs/reference, docs/reference/Makefile.am, docs/reference/Makefile.in, gtk-doc.make, libphoebe/Makefile.in, libwd/Makefile.in, ptf/Makefile.in, wd/Makefile.in: Initial gtk-doc support added to the library. All build files have been updated, a new directory docs/reference has been created. gtk-doc will not be used by default; if you want to use it, pass --enable-gtk-doc switch to ./configure. The basic setup seems to work fine, but gtk-doc segfaults on the current setup. It probably has something to do with the formatting rules for the comments. Hopefully Olivera can look into this. Another issue is the addition of GTK+ CFLAGS and LIBS in docs/reference/Makefile.am - it is not final yet, but it seems to work for now. 2007-06-19 04:54 Andrej Prša * libphoebe/phoebe_fitting.c, libphoebe/phoebe_parameters.c: Function open_parameter_file was accessing the parameter table directly, whereas it now accesses them through wrappers. As a consequence, the list of marked_tba parameters is now assembled correctly when opening parameter files. 2007-06-18 19:01 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c: All functions that are accessing parameter fields are now taking parameters instead of qualifiers. This reduces the number of calls to phoebe_parameter_lookup () significantly. 2007-06-18 18:04 Andrej Prša * libphoebe/phoebe_fitting.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: The global parameter table PHOEBE_pt is considered private and its elements shouldn't be accessed directly; for this reason a wrapper function phoebe_parameter_list_get_marked_tba () has been added that returns a pointer to the list of parameters marked for adjustment. 2007-06-18 17:06 Andrej Prša * libphoebe/Makefile.in: Two sources have been removed from Makefile.am (cfortran.h and phoebe_wd_algorithms.f) and the Makefile.in has been recreated. 2007-06-18 17:02 Andrej Prša * libphoebe/Makefile.am, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_types.h, libphoebe/phoebe_wd_algorithms.f, libwd/dc.sub.f, libwd/wd.h: A global goodness-of-fit value (cfval) has been added to wd_dc() function and its readout enabled in the DC minimizer. All traces of the old cfortran.h wrapper have been removed. 2007-06-15 04:25 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_types.c: Basic functionality of find_minimum_with_dc () restored. The printf statements in phoebe_curve_transform () changed to phoebe_debug (). 2007-06-15 03:57 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_allocations.h, libphoebe/phoebe_calculations.c, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_types.c: Several bugs fixed in phoebe_curve_transform () function that were preventing the transformation of standard deviations to weights if the conversion from magnitudes to fluxes also took place. Resurrection of find_minimum_with_dc () function commenced. When done, this function will be renamed to phoebe_minimize_using_dc () or similar. 2007-06-15 03:38 Andrej Prša * libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Function phoebe_vector_rescale () added to the sources. 2007-06-13 05:38 Andrej Prša * libphoebe/phoebe_parameters.c: A marked_tba field in the lists extension of the parameter table is now updated when phoebe_parameter_set_tba () function is used. 2007-06-13 04:14 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c: The following functions have been renamed to conform to the specs: phoebe_get_parameter_value -> phoebe_parameter_get_value phoebe_set_parameter_value -> phoebe_parameter_set_value phoebe_get_parameter_tba -> phoebe_parameter_get_tba phoebe_set_parameter_tba -> phoebe_parameter_set_tba phoebe_get_parameter_step -> phoebe_parameter_get_step phoebe_set_parameter_step -> phoebe_parameter_set_step phoebe_get_parameter_lower_limit -> phoebe_parameter_get_lower_limit phoebe_set_parameter_lower_limit -> phoebe_parameter_set_lower_limit phoebe_get_parameter_upper_limit -> phoebe_parameter_get_upper_limit phoebe_set_parameter_upper_limit -> phoebe_parameter_set_upper_limit phoebe_get_parameter_limits -> phoebe_parameter_get_limits phoebe_set_parameter_limits -> phoebe_parameter_set_limits All calls to these functions have been updated throughout the library. 2007-06-09 16:37 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: The parameter table is now a structure that can easily be expanded. The idea is to have an extension field 'lists' that contains different parameter lists. Currently marked_tba list is implemented that will (I repeat: will, I haven't done it yet) contain all parameters marked to be adjusted. 2007-06-08 13:21 Andrej Prša * libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Function phoebe_parameter_add_option () optimized so that it takes a PHOEBE_parameter argument instead of a qualifier. That means that there are no more redundant lookups. Another change is the removal of the field indices[] from PHOEBE_minimizer_feedback structure. That has been the last relic of the old parameter table. 2007-06-08 04:08 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_allocations.h, libphoebe/phoebe_calculations.c, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Sources phoebe_types.[ch] cleaned of all obsolete constructs and enumerations INPUT_* and OUTPUT_*. 2007-06-08 03:33 Andrej Prša * libphoebe/phoebe_types.h: Obsolete fields iarray, darray and barray removed from anytype struct. 2007-06-06 03:27 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_data.c, libphoebe/phoebe_data.h: Passband-related memory leaks due to a missing fclose() call have been removed. A minimal program { phoebe_init(); phoebe_quit(); } now doesn't leak at all! :) 2007-06-06 03:05 Andrej Prša * libphoebe/phoebe_base.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h: Error handling fully restored, memory leaks traced and removed throughout phoebe_parameters. 2007-06-06 01:16 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_base.c, libphoebe/phoebe_fitting.c, libphoebe/phoebe_ld.h, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c: The source phoebe_parameters.[ch] has been beautified; a ton of issues that cascaded from PHOEBE_parameter structure implementation are slowly being resolved. The library builds nicely, but there are several important functions (most notably minimizers) that are currently offline. Error handling is still flakey - that's next. 2007-06-05 05:27 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_base.c, libphoebe/phoebe_calculations.c, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_parameters.c, libphoebe/phoebe_parameters.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: WARNING: *** THIS COMMIT WILL BREAK THE SCRIPTER *** Take a deep breath before reading this... The latest commit of the library is an all-scale re-implementation of PHOEBE parameters. The partial commit is done so that Gal and Olivera can build the widget table with the up-to-specs code instead of the old obsolete constructs. Yet be sure to take extra care, because numerous changes have hit the SVN and some of the functions (i.e. minimizers, open/save error handling etc) are known not to work. Do not update to this version if you want a functional scripter! You have been warned. ;) But now that you've done it anyway, please wait until tomorrow, I am working on it around the clock. 2007-06-01 17:55 Andrej Prša * libwd/dc.sub.f: A subroutine version of DC uploaded to the repository. 2007-06-01 05:01 Andrej Prša * libwd/lc.sub.f: Maximum grid size changed from 60 to 100. 2007-06-01 04:48 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/cfortran.h, libphoebe/phoebe.h, libphoebe/phoebe_fitting.c, libphoebe/phoebe_fitting.h, libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_fortran_interface.h, libphoebe/phoebe_wd_algorithms.f, libwd/Makefile.am, libwd/Makefile.in, libwd/planckint.f, libwd/wd.h: A huge and very important change: cfortran.h wrapper has been replaced with f2c'd WD subroutines. Next to that all calls have been enhanced and standardized. Replacement functions have been slightly tested and they seem to work fine; further testing and, above all, fool-proofing, should still be done. 2007-06-01 02:50 Andrej Prša * libwd/Makefile.am, libwd/Makefile.in, libwd/light.f, libwd/wd.h, libwd/wrdci.f, libwd/wrlci.f: Sources extended with two new subroutines for creating LCI and DCI files. They are complete to the extent of supported PHOEBE operations. The library header file wd.h updated to contain the corresponding prototypes. 2007-05-31 18:27 Andrej Prša * libphoebe/phoebe_driver.c, libphoebe/phoebe_driver.h: Obsolete sources deleted. 2007-05-31 17:57 Andrej Prša * libwd/rddata.f: Format change for N >= 100 in LCI files enabled. 2007-05-31 17:56 Andrej Prša * libphoebe/phoebe_fortran_interface.c, libphoebe/phoebe_wd_algorithms.f: Passband wavelengths were assumed to be in nm, whereas they are in angstroms. LCI creation updated. Another change is to accomodate for N up to 100; lci format change was required. 2007-05-31 17:47 Andrej Prša * ptf/johnson.B, ptf/johnson.U, ptf/johnson.V: Johnson passbands had the invalid effective wavelength units (nm instead of angstroms); fixed. 2007-05-30 15:27 Andrej Prša * libphoebe/phoebe_spectra.c, libphoebe/phoebe_types.c: Null arrays could potentially be passed to free() in phoebe_hist_free(), which has now been fixed. Also, function phoebe_spectrum_new_from_file() has been simplified. 2007-05-25 21:34 Andrej Prša * libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h: The #define line for LC prototype moved from the source file to the header file. 2007-05-25 21:32 Andrej Prša * libwd/ChangeLog.PHOEBE: Argument 'request' was accidentally omitted in the initial version. 2007-05-25 21:29 Andrej Prša * libphoebe/Makefile.am, libphoebe/Makefile.in, libphoebe/phoebe_calculations.c, libphoebe/phoebe_calculations.h: Computing LCs and RVs is now done by the new library rather than by the now obsolete cfortran wrapper. Luminosities and SBRs in curve fields are temporarily disabled. 2007-05-25 21:27 Andrej Prša * libwd/ChangeLog.PHOEBE: Initial commit of the WD changes to integrate with PHOEBE. 2007-05-25 21:26 Andrej Prša * libwd/lc.sub.f, libwd/wd.h: LC part of WD adopted for PHOEBE. A detailed changelog will be added to the repository shortly. 2007-05-25 15:24 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_allocations.h: Function read_in_observational_data () deleted. 2007-05-25 15:22 Andrej Prša * libphoebe/phoebe_allocations.c: Function read_in_wd_dci_parameters () has been cleaned of read_in_observational_data(). 2007-05-25 14:40 Andrej Prša * libphoebe/phoebe_types.c: A misleading error message in phoebe_curve_new_from_file () fixed. 2007-05-25 14:36 Andrej Prša * libphoebe/phoebe_fitting.c: NMS minimizer revised; all instances to read_in_observational_data () have been removed and minimization in HJD space has been implemented. 2007-05-25 14:06 Andrej Prša * libwd/Makefile.am, libwd/Makefile.in, libwd/fourls.f, libwd/olump.f, libwd/surfas.f: Several instances of out-of-bound array element referencing have been removed and underdimensioning in fourls has been fixed. These changes have also been accepted to upstream. 2007-05-24 00:51 Andrej Prša * libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Function phoebe_curve_transform () added to phoebe_types. It is used to do all the transformations previously done by read_in_observational_data, which has now become obsolete. 2007-05-23 15:03 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_allocations.h, libphoebe/phoebe_fitting.c, devel/phoebe-scripter/src/phoebe_scripter_commands.c: A regression in observed data readout crept in when the readout was transferred to the phoebe_curve_new_from_file () function. Fixed. 2007-05-23 14:37 Andrej Prša * libphoebe/phoebe_allocations.c, libphoebe/phoebe_error_handling.c, libphoebe/phoebe_error_handling.h: If a filename does not conform to the expected format and no data points are read, function read_in_observational_data () now returns a newly defined error code ERROR_FILE_HAS_NO_DATA. 2007-05-12 20:06 Andrej Prša * libphoebe/phoebe_types.c, libphoebe/phoebe_types.h: Weights added to phoebe_hist_correlate () function. 2007-05-11 19:37 Andrej Prša * libphoebe/phoebe_calculations.c: Function phoebe_interpolate () was missing a comment that explains what is returned by the function. Fixed. 2007-05-11 02:15 Andrej Prša * libphoebe/phoebe_spectra.c, libphoebe/phoebe_spectra.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, devel/phoebe-scripter/src/phoebe_scripter_commands.c, devel/phoebe-scripter/src/phoebe_scripter_directives.c, devel/phoebe-scripter/src/phoebe_scripter_io.c: A lot of work done on support for manipulating histograms and spectra. Most functions have been thoroughly tested. 2007-04-23 20:53 Andrej Prša * libphoebe/phoebe_spectra.c: A stale printf() debug statement removed. 2007-04-23 05:11 Andrej Prša * libphoebe/phoebe_radiation.c: Function reference phoebe_warning changed to phoebe_lib_warning. 2007-04-22 23:02 Andrej Prša * Makefile.in, aclocal.m4, configure, configure.ac, libphoebe/Makefile.in, libphoebe/phoebe_radiation.c, libwd/Makefile.in, ptf/Makefile.in, wd/Makefile.in: Configure script updated to write "none" instead of "" if no plotting programs are installed. All build files have been updated too. Also, the build failed if GSL wasn't installed because phoebe_radiation.c didn't verify whether GSL is installed and enabled. Fixed. 2007-04-19 04:23 Andrej Prša * libphoebe/phoebe_spectra.c, libphoebe/phoebe_spectra.h, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, devel/phoebe-scripter/src/phoebe_scripter_commands.c: Functions phoebe_*_resample renamed to phoebe_*_rebin, for this is what they really do. 2007-04-16 20:31 Andrej Prša * devel, devel/phoebe-gui/phoebe-gui.prj, autoconfig/ltmain.sh, libphoebe/phoebe_spectra.c, libphoebe/phoebe_types.c, libphoebe/phoebe_types.h, phoebe-lib.anjuta, phoebe-lib.prj, devel/phoebe-scripter/phoebe-scripter.prj, devel/phoebe-scripter/phoebe_scripter.anjuta: Initial commit of the devel branch. 2007-04-14 20:51 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: PHOEBE_spectrum structure has been reorganized. Fields wavelength and flux have been removed in favor of a single histogram field and all supporting function have been updated to reflect this change. Furthermore, there was a deficiency in the resampling function (the assumption that the values of bins are constant is not adequate for oversampling) that has been removed by doing linear interpolation both in wavelength and in flux. 2007-04-10 21:37 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: A new function phoebe_hist_correlate () added to phoebe_types.c. It is still somewhat rudimentary (i.e. no error-handling yet), but it has been tested and it works! :) 2007-04-10 21:35 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: A bug in spectrum histogram allocation removed in phoebe_spectrum_realloc (). 2007-04-10 21:22 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c: Exception handler was invoked in phoebe_error () is SUCCESS is returned. Fixed. 2007-04-10 06:12 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_ld.c, trunk/phoebe-lib/libphoebe/phoebe_ld.h: Limb darkening interpolation is now fully functional. It uses the recently implemented interpolation function to do the job properly. The interpolation function has been extended to handle vectors as well. 2007-04-09 04:29 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.h, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: A very, VERY important function was added to phoebe_calculations: phoebe_interpolate (). This is a general N-dimensional linear interpolator that does the job properly. It has been optimized for speed and generality. It currently knows how to interpolate scalar values and spectra, and it is trivial to extend it to any other type supported by PHOEBE. Another important change is that querying spectra repository now ignores all spectra with non-zero velocities. Why? Because it just doesn't make sense to have different velocities in the repository since PHOEBE can compute rotational broadening on the fly. Finally, querying spectra from the repository used a poor interpolation algorithm that has now been replaced with the new spiffy one. Everything checks out. The program stopped before if it encountered a non-existing spectrum in the repository, whereas now it aborts and notifies the user of the problem. The job is not quite done yet: spectra are still identified by their filenames, which is not good. This should be changed before the release of 0.30. 2007-04-04 22:43 Andrej Prša * trunk/phoebe-lib/Makefile.in, trunk/phoebe-lib/configure, trunk/phoebe-lib/configure.ac, trunk/phoebe-lib/libphoebe/Makefile.in, trunk/phoebe-lib/libwd/Makefile.in, trunk/phoebe-lib/ptf/Makefile.in, trunk/phoebe-lib/wd/Makefile.in: A test for f2c added to configure.ac. Support files rebuilt. 2007-04-03 18:52 Andrej Prša * trunk/phoebe-lib/libwd/wd.h: Header file of all WD subroutines translated in C. 2007-04-03 18:50 Andrej Prša * trunk/phoebe-lib/libwd/Makefile.am, trunk/phoebe-lib/libwd/Makefile.in: Supporting automake files added. 2007-04-03 18:49 Andrej Prša * trunk/phoebe-lib/libwd, trunk/phoebe-lib/libwd/atmx.f, trunk/phoebe-lib/libwd/bbl.f, trunk/phoebe-lib/libwd/binnum.f, trunk/phoebe-lib/libwd/cloud.f, trunk/phoebe-lib/libwd/conjph.f, trunk/phoebe-lib/libwd/dgmprd.f, trunk/phoebe-lib/libwd/dminv.f, trunk/phoebe-lib/libwd/dura.f, trunk/phoebe-lib/libwd/ellone.f, trunk/phoebe-lib/libwd/fourls.f, trunk/phoebe-lib/libwd/gabs.f, trunk/phoebe-lib/libwd/jdph.f, trunk/phoebe-lib/libwd/kepler.f, trunk/phoebe-lib/libwd/lc.sub.f, trunk/phoebe-lib/libwd/lcr.f, trunk/phoebe-lib/libwd/legendre.f, trunk/phoebe-lib/libwd/light.f, trunk/phoebe-lib/libwd/linpro.f, trunk/phoebe-lib/libwd/lum.f, trunk/phoebe-lib/libwd/lump.f, trunk/phoebe-lib/libwd/mlrg.f, trunk/phoebe-lib/libwd/modlog.f, trunk/phoebe-lib/libwd/nekmin.f, trunk/phoebe-lib/libwd/olump.f, trunk/phoebe-lib/libwd/planckint.f, trunk/phoebe-lib/libwd/rangau.f, trunk/phoebe-lib/libwd/ranuni.f, trunk/phoebe-lib/libwd/rddata.f, trunk/phoebe-lib/libwd/ring.f, trunk/phoebe-lib/libwd/romq.f, trunk/phoebe-lib/libwd/sincos.f, trunk/phoebe-lib/libwd/spot.f, trunk/phoebe-lib/libwd/square.f, trunk/phoebe-lib/libwd/surfas.f, trunk/phoebe-lib/libwd/volume.f, trunk/phoebe-lib/libwd/wrdata.f, trunk/phoebe-lib/libwd/wrfoot.f, trunk/phoebe-lib/libwd/wrhead.f: Import of all WD sources. 2007-03-22 02:29 Andrej Prša * trunk/phoebe-lib/libphoebe/Makefile.am, trunk/phoebe-lib/libphoebe/Makefile.in, trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_allocations.h, trunk/phoebe-lib/libphoebe/phoebe_build_config.h.in, trunk/phoebe-lib/libphoebe/phoebe_data.c, trunk/phoebe-lib/libphoebe/phoebe_data.h, trunk/phoebe-lib/libphoebe/phoebe_driver.c, trunk/phoebe-lib/libphoebe/phoebe_driver.h, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.h, trunk/phoebe-lib/libphoebe/phoebe_fortran_interface.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h, trunk/phoebe-lib/libphoebe/phoebe_wd_algorithms.f, trunk/phoebe-lib/ptf/Makefile.am, trunk/phoebe-lib/ptf/Makefile.in, trunk/phoebe-lib/wd/Makefile.am, trunk/phoebe-lib/wd/Makefile.in: Build files in subdirectories updated to reflect the change in top-level build files; libphoebe/ sources underwent some tweaking with respect to PHOEBE_curve allocations. 2007-03-22 02:27 Andrej Prša * trunk/phoebe-lib/Makefile.am, trunk/phoebe-lib/Makefile.in, trunk/phoebe-lib/configure, trunk/phoebe-lib/configure.ac: Several updates to the build files have been done. Most notably: 1) datadir reference was obsolete and has been changed to datarootdir; 2) the library is now versioned, i.e. there is a version number appended to its name. The symbolic link's name remains unchanged (libphoebe), so linking to the library (-lphoebe) remains the same as well. This change will enable the drivers (GUI and the scripter) to enforce a version dependency. 3) Base install directory changed from phoebe2 to phoebe. The reason is simple: both versions (0.2x and 0.30) can nicely share the directory. 2007-02-25 07:08 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_driver.c, trunk/phoebe-lib/libphoebe/phoebe_driver.h: The #define statement moved from the header file to the source file so that the library does not depend on phoebe_build_config.h and cfortran.h explicitly. 2007-02-20 03:27 Andrej Prša * trunk/phoebe-lib/configure, trunk/phoebe-lib/configure.ac, trunk/phoebe-lib/ptf/Makefile.am, trunk/phoebe-lib/ptf/Makefile.in, trunk/phoebe-lib/ptf/cousins.I, trunk/phoebe-lib/ptf/cousins.R, trunk/phoebe-lib/ptf/johnson.B, trunk/phoebe-lib/ptf/johnson.H, trunk/phoebe-lib/ptf/johnson.U, trunk/phoebe-lib/ptf/johnson.V, trunk/phoebe-lib/wd/Makefile.in: Build file updates, other minor fixups. 2007-02-20 03:27 Andrej Prša * trunk/phoebe-lib/libphoebe/Makefile.in, trunk/phoebe-lib/libphoebe/phoebe_build_config.h.in: Editing trivialties and build file updates. 2007-02-20 03:23 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Formatting trivialties. 2007-02-20 03:21 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_ld.c, trunk/phoebe-lib/libphoebe/phoebe_ld.h: Passband handling updated. 2007-02-20 03:21 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe.h: Added phoebe_driver.h. 2007-02-20 03:20 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_global.h: Old passband enum removed. 2007-02-20 03:20 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_fortran_interface.c: Third light is now natively handled by PHOEBE. 2007-02-20 03:19 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_fitting.c: Interstellar extinction and third light handling modified. 2007-02-20 03:18 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h: Additional error codes added to the enum list. 2007-02-20 03:18 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_data.c, trunk/phoebe-lib/libphoebe/phoebe_data.h: Passband handling enhanced. 2007-02-20 03:16 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.h: Native PHOEBE interstellar extinction and third light handlers added. 2007-02-20 03:15 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_base.c: Passband readout enhanced. 2007-02-20 03:13 Andrej Prša * trunk/phoebe-lib/libphoebe/Makefile.am, trunk/phoebe-lib/libphoebe/phoebe_driver.c, trunk/phoebe-lib/libphoebe/phoebe_driver.h: A new pair of source files, phoebe_driver.c/.h, added to the library. These files (will) contain C wrappers for WD's FORTRAN subroutines. As an example, SINCOS has been prototyped. 2007-02-20 03:10 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: Histogram type implemented. This type will replace spectra and other data files shortly. 2007-02-20 03:04 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_parameters.c: A new qualifier phoebe_passband_treatment_mode added to parameters. It is a menu with three options, "None", "Interpolation" and "Thorough". 2007-02-01 21:05 Andrej Prša * trunk/phoebe-lib/ptf/hst_foc_1989_f48_f140w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f48_f150w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f48_f175w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f48_f195w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f48_f220w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f48_f275w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f48_f342w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f48_f430w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f120m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f130m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f140m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f140w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f152m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f165w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f170m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f175w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f190m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f195w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f210m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f220w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f231m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f235m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f275w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f278m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f307m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f320w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f342w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f346m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f372m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f410m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f430w.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f437M.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f470m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f486n.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f501n.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f502m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f550m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f600m.txt, trunk/phoebe-lib/ptf/hst_foc_1989_f96_f630m.txt: HST FOC (1989) passband transmission functions added to the ptf/ directory. The filters in this set are too many to count here ;). Many thanks to Dirk Terrell for submitting the tables! 2007-02-01 21:03 Andrej Prša * trunk/phoebe-lib/ptf/geneva_1962_b.txt, trunk/phoebe-lib/ptf/geneva_1962_b1.txt, trunk/phoebe-lib/ptf/geneva_1962_b2.txt, trunk/phoebe-lib/ptf/geneva_1962_g.txt, trunk/phoebe-lib/ptf/geneva_1962_u.txt, trunk/phoebe-lib/ptf/geneva_1962_v.txt, trunk/phoebe-lib/ptf/geneva_1962_v1.txt: Geneva (1962) passband transmission functions added to the ptf/ directory. The filters in this set are: U, B, B1, B2, V, V1, G. Many thanks to Dirk Terrell for submitting the tables! 2007-02-01 21:02 Andrej Prša * trunk/phoebe-lib/ptf/stromgren_1956_b.txt, trunk/phoebe-lib/ptf/stromgren_1956_hbnarrow.txt, trunk/phoebe-lib/ptf/stromgren_1956_hbwide.txt, trunk/phoebe-lib/ptf/stromgren_1956_u.txt, trunk/phoebe-lib/ptf/stromgren_1956_v.txt, trunk/phoebe-lib/ptf/stromgren_1956_y.txt: Stromgren (1956) passband transmission functions added to the ptf/ directory. The filters in this set are: u, v, b, y, hbnarrow and hbwide. Many thanks to Dirk Terrell for submitting the tables! 2007-02-01 21:00 Andrej Prša * trunk/phoebe-lib/ptf/hipparcos_1989_bt.txt, trunk/phoebe-lib/ptf/hipparcos_1989_hp.txt, trunk/phoebe-lib/ptf/hipparcos_1989_vt.txt: Hipparcos (1989) passband transmission functions added to the ptf/ directory. The filters in this set are: Bt, Vt and Hp. Many thanks to Dirk Terrell for submitting the tables! 2007-02-01 20:59 Andrej Prša * trunk/phoebe-lib/ptf/bessell_1988_h.txt, trunk/phoebe-lib/ptf/bessell_1988_j.txt, trunk/phoebe-lib/ptf/bessell_1988_k.txt, trunk/phoebe-lib/ptf/bessell_1988_l.txt, trunk/phoebe-lib/ptf/bessell_1988_lprime.txt, trunk/phoebe-lib/ptf/bessell_1988_m.txt: Bessell (1988) passband transmission functions added to the ptf/ directory. The filters in this set are: H, J, K, L, L' and M. Many thanks to Dirk Terrell for submitting the tables! 2007-01-17 04:19 Andrej Prša * trunk/phoebe-lib/configure, trunk/phoebe-lib/configure.ac: A build-time pre-processor variable PHOEBE_SYSTEM_TYPE #define-d in configure.ac to be directly available by #include-ing phoebe_build_config.h header where necessary. 2007-01-17 04:04 Andrej Prša * trunk/phoebe-lib/aclocal.m4, trunk/phoebe-lib/configure, trunk/phoebe-lib/configure.ac: Added system type detection to configure.ac; all administrative files have been rebuilt. The system type is now written out in the configuration summary. 2007-01-17 03:28 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_accessories.c: Functions geteuid () and getegid () are declared in and . The former was missing and the compiler under MinGW was complaining about the implicit use of these two functions. Fixed. 2007-01-11 21:37 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_base.c, trunk/phoebe-lib/libphoebe/phoebe_data.c, trunk/phoebe-lib/libphoebe/phoebe_data.h, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h: A boolean test function phoebe_parameter_menu_option_is_valid () has been implemented in phoebe_parameters.c. That function is used in the phoebe_set_parameter_value () function to verify if options assigned to menus are valid or not. If they are not valid, a warning is printed, but the new value is assigned anyway. 2007-01-10 21:06 Andrej Prša * trunk/phoebe-lib/ptf/Makefile.am, trunk/phoebe-lib/ptf/Makefile.in: Administrative (Make)files updated to install all PTF files. 2007-01-10 21:04 Andrej Prša * trunk/phoebe-lib/ptf/cousins.I, trunk/phoebe-lib/ptf/cousins.R, trunk/phoebe-lib/ptf/johnson.B, trunk/phoebe-lib/ptf/johnson.H, trunk/phoebe-lib/ptf/johnson.V: The following passband transmission functions have been added to ptf/: johnson.B johnson.V johnson.H cousins.R cousins.I These are all in the same format, two columns where the first one is wavelength in angstroms and the second one is transmission in normalized units. 2007-01-10 20:58 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_base.c, trunk/phoebe-lib/libphoebe/phoebe_base.h: Initialization functions updated to read in passband data. 2007-01-10 20:57 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_data.c, trunk/phoebe-lib/libphoebe/phoebe_data.h: Two new source files, phoebe_data.c and phoebe_data.h, added to the tree. These files (will) contain everything that is related to the data themselves: LC/RV/spectra structures, passband tables etc. Currently passbands have been redesigned to read in the transmission functions from the ptf/ subdirectory. 2007-01-10 20:48 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_configuration.c, trunk/phoebe-lib/libphoebe/phoebe_configuration.h: The old configuration function has finally been removed and the new one is now updated to configure the PTF (passband transmission function) directory as well. 2007-01-10 20:46 Andrej Prša * trunk/phoebe-lib/Makefile.in: Makefile.in rebuilt. 2007-01-10 20:45 Andrej Prša * trunk/phoebe-lib/Makefile.am, trunk/phoebe-lib/configure, trunk/phoebe-lib/configure.ac: Administrative files updated to install ptf/ directory as well. 2007-01-10 20:44 Andrej Prša * trunk/phoebe-lib/ptf, trunk/phoebe-lib/ptf/Makefile.am, trunk/phoebe-lib/ptf/Makefile.in, trunk/phoebe-lib/ptf/johnson.U: A new subdirectory ptf/ added. It contains passband transmission functions (PTF) and administrative (Make)files. 2007-01-10 03:58 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h, trunk/phoebe-lib/libphoebe/phoebe_wd_algorithms.f: Polar surface brightness of both stars is now returned when LC or RV curve is computed. The PHOEBE_curve structure has been modified to contain SBR1 and SBR2 fields. 2006-12-11 04:15 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_radiation.c: Passband intensity redefined to be multiplied by \pi, to be analogous to the WD definition. 2006-12-11 03:38 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_radiation.c, trunk/phoebe-lib/libphoebe/phoebe_radiation.h: A new source file pair, phoebe_radiation.c and phoebe_radiation.h, added to the repository. It will contain all radiation-related computations. Currently there is only one function for computing the passband intensity for the given spectral energy distribution function and the passband transmission function. 2006-11-27 19:32 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_ld.c: An attempt to read out LD coefficients if there were no tables present resulted in a segfault. There is now an explicit check to see if the tables are present and if not, an error status is returned. 2006-08-30 11:48 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.c: Interstellar extinction treatment in PHOEBE changed; in the old version (0.2x) observational data were de-reddened according to Allen's formula and the model wasn't changed in any way. Strictly speaking, this constitutes data temporing and as such is not desireable. To remedy this issue, a new parameter is introduced: phoebe_extinction This is a passband-dependent parameter that applies the extinction to the computed flux, thus reddening synthetic data. There is no assumption on the reddening law of any kind, passband values are decoupled between themselves. This allows for user-specified extinction laws. The units of phoebe_extinction parameter are magnitudes for the particular passband: m_observed^i = m_intrinsic^i + A^i for the i-th passband Or, in flux units: j_observed^i = j_intrinsic^i * 10^(-0.4*A^i) = j_intrinsic^i * exp (-0.4*ln(10)*A^i) This correction applies to the whole passband uniquely, so it is a simplified treatment of the rigorously developed formalism for the 2004 paper. Once the spectra will have entered the modeling, this too will be accomodated for. An example of using Allen's formula to preserve agreement with the old PHOEBE version: A^i = 0.68 * R * E(B-V) * (1000/lambda[nm] - 0.35) For the i-th passband with its effective wavelength lambda, given in nanometers, these values of phoebe_extinction[i] will match the data that has *not* been subjected to de-reddening, yet the flux levels will be different. Formally, extinction plays the same role as passband luminosities and there is a 100% correlation between them. However, this is still very useful, since if there is an extinction law that couples extinction coefficients between different passbands, passband luminosities will then correspond to *intrinsic* (rather than reddened) luminosities. 2006-07-18 09:56 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.c: An index-out-of-bounds bug caused DC minimizer to segfault when the temperatures were marked for adjustment. Many thanks to Ethem Derman for pointing this out! 2006-07-11 22:12 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h: Code beautification performed that removed 3 #warning's from the code. 2006-07-11 11:35 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_allocations.h, trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.h, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h, trunk/phoebe-lib/libphoebe/phoebe_wd_algorithms.f: [Sigh] Another substantial change just hit the CVS. A new read-only structure PHOEBE_curve has been introduced that contains computed light curve parameters. The structure, along with the necessary handlers, is defined in phoebe_types.c/.h. Its fields are: PHOEBE_curve->type ... curve type (LC or RV) PHOEBE_curve->indep ... a vector of independent data points PHOEBE_curve->dep ... a vector of dependent data points PHOEBE_curve->L1 ... star 1 passband luminosity PHOEBE_curve->L2 ... star 2 passband luminosity This structure will be gradually extended to encompass all other parameters that are computed from the given parameter-set. These are radii, masses, log g/g0's etc. Since this was once again a substantial re-write, many functions have been modified and chances are that something got broken. Please exercise caution when using it and, as always, report any problems ASAP. 2006-07-04 11:54 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe.h, trunk/phoebe-lib/phoebe-lib.prj: phoebe_connectivity.* sources were removed from the distribution, but there was a stale entry in the phoebe.h source. This source did not cause problems when phoebe-dev was updated, but it did cause problems for new installations since phoebe_connectivity.h wasn't found. Fixed. 2006-07-02 17:19 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: Four new functions for boolean vector comparison have been added: phoebe_vector_less_than (&result, vec1, vec2) phoebe_vector_greater_than (&result, vec1, vec2) phoebe_vector_leq_than (&result, vec1, vec2) phoebe_vector_geq_than (&result, vec1, vec2) These demand that the dimensions of both vectors match. The result is TRUE or FALSE. 2006-07-02 16:51 Andrej Prša * trunk/ChangeLog, trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.h, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.h, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_types.h, trunk/phoebe-lib/libphoebe/phoebe_wd_algorithms.f, trunk/phoebe-scripter/TODO, trunk/phoebe-scripter/src/phoebe_scripter_arithmetics.c, trunk/phoebe-scripter/src/phoebe_scripter_ast.c, trunk/phoebe-scripter/src/phoebe_scripter_ast.h, trunk/phoebe-scripter/src/phoebe_scripter_commands.c, trunk/phoebe-scripter/src/phoebe_scripter_commands.h, trunk/phoebe-scripter/src/phoebe_scripter_directives.c, trunk/phoebe-scripter/src/phoebe_scripter_grammar.lex, trunk/phoebe-scripter/src/phoebe_scripter_grammar.y, trunk/phoebe-scripter/src/phoebe_scripter_io.c, trunk/phoebe-scripter/src/phoebe_scripter_io.h, trunk/phoebe-scripter/src/phoebe_scripter_types.c: Another significant change has been incorporated. This time, handling the results of minimization has been rewritten. The scripter no longer returns just a chi2 value of the fit, but the whole read-only structure. For example: set result = minimize_using_dc () print result will print out all fields of this new structure. It is a generic structure that is independent of the minimizer used, e.g. all minimizers return the same structure. This minimizer feedback structure contains the following fields: algorithm .. Name of the minimization algorithm iters .. Number of performed iterations cputime .. Computational time cost in seconds pars .. A list of adjusted parameters initvals .. A list of initial parameter values newvals .. A list of converged parameter values ferrors .. A list of formal parameter errors chi2s .. A list of passband chi2 values wchi2s .. A list of weighted passband chi2 values cfval .. Cost function value (master chi2) Structure fields are accessed by using the '.' operator: print result.algorithm print result.newvals ... [etc] ... Since the minimizer feedback now contains a wealth of information, automatic updating of corrected values has finally been abandoned. To update the values, use the function adopt_minimizer_results (); see below. Full documentation for this new principle has been written and added to the Scripter API; please refer to that document for details. Furthermore, two new scripter commands have been added: set var = compute_chi2 ([curve_index]) and adopt_minimizer_results (result) The first command computes weighted chi2 values of the whole set and returns an array of these values. If an optional argument curve_index is passed, then chi2 of only that passband is computed. The second command adopts the new (corrected) results of the minimizer feedback structure 'result'. This way the user may test the results for convergence and decide if he wants to keep or discard the new values. This roughly sums up a ton of work. ;) The back-end had to change, since now structures need to be supported too. Both NMS and DC minimizers were significantly enhanced, but there are still several glitches that need to be worked out - #warning-s hav been added to critical places. The API documentation has been updated to properly explain all these changes. The new implementation has been tested for the last 3 days to a reasonable extent. It should be safe to use it for regular work, but some caution should still be exercised and, as usual, any encountered problems reported as soon as possible. O:) 2006-06-29 12:49 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_allocations.h: Handlers for initializing, allocating and freeing WD DCI parameter structures improved. 2006-06-26 11:56 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h: Two public functions for accessing the global parameter table have been added: phoebe_qualifier_from_index () phoebe_type_from_index () This should be used instead of the direct PHOEBE_parameters[] query because of the proper error handling (index range checks). 2006-06-25 12:57 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: Function phoebe_spectrum_free () caused a segfault in case when a NULL argument was passed. Fixed. 2006-06-25 12:55 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_types.c: Functions phoebe_vector_free () and phoebe_array_free () caused a segfault when a NULL pointer was passed. Fixed. 2006-06-23 19:01 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c: Comments in the transform_magnitude_sigma_to_flux_sigma were wrong; fixed. 2006-06-19 09:53 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_accessories.c, trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_types.h, trunk/phoebe-scripter/src/phoebe_scripter_commands.c: Indeed, two regressions have been found and both have been fixed; while at it, I also added full support for spots that was missing so far. 2006-06-19 07:51 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-scripter/src/phoebe_scripter_commands.c, trunk/phoebe-scripter/src/phoebe_scripter_directives.c, trunk/phoebe-scripter/src/phoebe_scripter_error_handling.c: Finished! :) All up-to-the-specs corrections of phoebe_parameters source file have been done! This means that finally this long-lasting TODO entry has been removed! Caution is still advised because of heavy changing of the sources, I will spend today in testing and fixing if any problem jumps out. 2006-06-14 21:26 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h, trunk/phoebe-scripter/src/phoebe_scripter_commands.c, trunk/phoebe-scripter/src/phoebe_scripter_directives.c: Another two phoebe_parameters.c functions (and their dependencies) cleaned. That leaves 4 tough ones to go... 2006-06-14 20:38 Andrej Prša * trunk/phoebe-lib/libphoebe/Makefile.am, trunk/phoebe-lib/libphoebe/Makefile.in, trunk/phoebe-lib/libphoebe/phoebe_connectivity.c, trunk/phoebe-lib/libphoebe/phoebe_connectivity.h, trunk/phoebe-lib/libphoebe/phoebe_parameters.c: Sources phoebe_connectivity.c and phoebe_connectivity.h have become obsolete and are now removed from the distribution. 2006-06-14 20:33 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-scripter/src/phoebe_scripter_commands.c, trunk/phoebe-scripter/src/phoebe_scripter_directives.c, trunk/phoebe-scripter/src/phoebe_scripter_error_handling.c: More code tidying and specs conformation done. I really hope to finish this task as soon as possible and, even more, I really hope it is worth the effort. This way we will have a very clean, specs-compliant code to work with and develop... :) 2006-06-14 13:13 Andrej Prša * trunk/phoebe-gui/src/phoebe_gui_base.c, trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-scripter/phoebe-scripter.prj, trunk/phoebe-scripter/src/phoebe_scripter_ast.c, trunk/phoebe-scripter/src/phoebe_scripter_ast.h, trunk/phoebe-scripter/src/phoebe_scripter_commands.c, trunk/phoebe-scripter/src/phoebe_scripter_directives.c, trunk/phoebe-scripter/src/phoebe_scripter_grammar.lex, trunk/phoebe-scripter/src/phoebe_scripter_grammar.y, trunk/phoebe-scripter/src/phoebe_scripter_io.c: A heavy and substantial code beautification and up-to-specs conformation done for phoebe_parameters.c source and all other affected sources. The changes were quite voluminous, and some care should be taken and some effort invested to verify that no regressions have been introduced. 2006-06-12 22:55 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.h, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_global.h, trunk/phoebe-lib/libphoebe/phoebe_ld.c, trunk/phoebe-lib/libphoebe/phoebe_ld.h: A bunch of functions adapted to the SPECS, particularly in the phoebe_ calculations.c sources. Most functions are now returning error codes, and the ones which still don't are not dangerous. This removed every instance of 'return -1' or similar prohibited error code. 2006-06-04 19:46 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_base.c: There were two trivial errors in phoebe_init () code that attempted to access limb darkening tables although these were not present on the system (and the config file included this information). It was obviously very late when I was writing that... ;) Fixed. 2006-06-04 19:19 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_fitting.c: Optional GSL dependency was broken by the explicit dependence of function chi2_cost_function () on gsl_vector * variable. This has now been #ifdef-ed and PHOEBE builds without GSL again. 2006-06-04 18:56 Andrej Prša * trunk/phoebe-lib/Makefile.in, trunk/phoebe-lib/aclocal.m4, trunk/phoebe-lib/configure, trunk/phoebe-lib/libphoebe/Makefile.in, trunk/phoebe-lib/libphoebe/phoebe_build_config.h.in, trunk/phoebe-lib/wd/Makefile.in: Development distribution changed from Ubuntu Breezy to Ubuntu Dapper. A very useful and welcome side effect is a newer version of libtool that does not depend on g++ anymore. The distributed configure script will thus no longer require g++ to be installed. 2006-05-30 19:12 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_accessories.c, trunk/phoebe-lib/libphoebe/phoebe_configuration.c, trunk/phoebe-lib/libphoebe/phoebe_plotting.c: The same fixup (erroneaus errno usage) done for other pieces of code. The library is now clean from this issue. 2006-05-30 19:05 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_accessories.c: I just learned that errno value is not preserved after any IO call, including printf; from the documentation: A common mistake is to do if (somecall() == -1) { printf("somecall() failed\n"); if (errno == ...) { ... } } where errno no longer needs to have the value it had upon return from somecall() (i.e., it may have been changed by the printf()). If the value of errno should be preserved across a library call, it must be saved: if (somecall() == -1) { int errsv = errno; printf("somecall() failed\n"); if (errsv == ...) { ... } } This is now fixed in phoebe_open_directory and phoebe_close_directory functions. 2006-05-30 18:55 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_accessories.c, trunk/phoebe-lib/libphoebe/phoebe_accessories.h, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_ld.c: The LD readout function was checking /local/ directory structure, failing to open non-existent /global/ files in the DIR * variable. This caused problems in LD readouts if there were directories present in the ld/ directory. Since the catalogs are moved to the CVS, the auxiliary CVS/ directory appears in the catalogs/ld directory on systems where catalogs are checked out from the CVS. Fixing this bug also gave the opportunity to make two fool-proof functions phoebe_open_directory () and phoebe_close_directory (), which are placed to phoebe_accessories.c.h. Error handling functions have been updated accordingly. 2006-05-30 17:45 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_base.c: CTRL+C was disabled, and proper handling in the scripter (and elsewhere) has not been done yet. This caused inconvenience of having to kill the process explicitly by the kill command. The signal has been temporarily re-enabled. 2006-05-25 19:23 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Two functions for primitive adding and subtracting spectra implemented. Primitive means that the wavelengths of both operands must be aligned. An error status ERROR_SPECTRA_NOT_ALIGNED has been added to signal the problem with non-aligned wavelengths. 2006-05-09 22:19 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c: Additional small fixups and enhancements regarding sigma-to-weight trans- formation done. The function has been pretty fairly tested and should be ok for scientific use now. There is a caveat that should be added to the docs: if one wants all photometric and/or RV data points to be taken with equal weights, one must not use standard deviations in the magnitude regime, since the transformation depends on the individual flux value. Thus weights must be used and set to an equal value, e.g. 1.0. 2006-05-09 21:41 Andrej Prša * trunk/phoebe-lib/TODO: TODO list empty again! :) 2006-05-09 21:41 Andrej Prša * trunk/phoebe-lib/TODO, trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h: Transformation of the flux sigma to magnitude sigma slightly improved in cases of small SNR. The functions that do the transformation have been heavily commented. Another important fixup concerns the magnitude sigma to flux weight transformation; the original w = 1/\sigma^2 scheme was troublesome for small values of \sigma, because the weights were overflowing the 4-char space allowed by WD. The weights are now rescaled to the 0.01-10.0 interval. Higher values are intentionally left empty, we use 99.0 for \sigma = 0 values. A smaller fixup of the same function concerns cases when \sigma's that were passed were negative. This happened in several occasions when users used Rucinski's 3rd RV column as standard deviations. This is of course wrong to do, but PHOEBE now reports this problem and aborts. Finally, the read_in_observational_data () function was phoebe_debug()'ed. 2006-05-08 20:27 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_parameters.c: Function phoebe_get_parameter_value () still used numeric error codes to signal errors. Fixed. 2006-05-06 13:37 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_types.c: A serious problem was discovered in the phoebe_array_duplicate () function that did not copy string contents to the duplicate string. This in turn caused failure in reading out values from string array qualifiers. Fixed. Incidentally, several other functions were cleaned (so as to conform to the SPECS) and enhanced (improved error handling). 2006-03-22 23:35 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_types.c: Slight formatting fixups throughout the code. 2006-03-21 21:30 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c: Function read_in_synthetic_data () segfaulted if the vectors weren't initialized. Error checking is now implemented that prevents this. 2006-03-13 23:06 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: All spectra handling functions that return a new spectrum have been homogenized in their prototype; they all return int and the first argument is the pointer to the pointer to the spectrum which is allocated in the function itself. This makes it more transparent for the driving functions since for all handlers the result only needs to be freed after usage. 2006-03-13 21:56 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: The usage of double pointers in phoebe_spectra_merge () and phoebe_ spectra_multiply () functions has been replaced with a single pointer. 2006-03-13 18:21 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: Another small memory leak due to a stale pointer fixed in the spectrum resampling function; error-handling was also improved in the phoebe_ _spectra_merge () function. 2006-03-13 13:19 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: A small memory leak in phoebe_spectrum_free () removed (stale pointer). 2006-03-13 13:03 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_types.c: Function phoebe_vector_new_from_column () left a file open. Fixed. 2006-03-07 21:14 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_ld.c: LD read-in function left the LD files open; fixed. 2006-03-04 23:08 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: A file in phoebe_spectrum_get_from_file () function did not get closed, which caused a failure in opening after the number of open files has reached the maximum. Fixed. 2006-03-04 20:06 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: Another esthetical change in function phoebe_get_spectrum_from_file (). 2006-03-04 20:02 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: Function phoebe_get_spectrum_from_file () fool-proofed. 2006-03-04 17:47 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Function phoebe_spectra_convolve () renamed to phoebe_spectra_multiply (), as this is exactly what the function does and the convolution is exactly what the function doesn't do. ;) 2006-03-03 23:50 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Function phoebe_spectrum_get_column () added that extracts a column from a spectrum and returns it as a newly allocated vector. It takes two arguments, a spectrum and the column index; the index may be 1 or 2, for wavelength or flux, respectively. 2006-03-01 13:40 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Error handling significantly improved for most SED functions. Along the way a bug was discovered in rotational broadening function that failed if negative values of vsini were passed to it. It now substitutes vsini with its absolute value and then broadens the spectrum. 2006-03-01 11:59 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Function phoebe_spectra_add () renamed to phoebe_spectra_merge (). 2006-03-01 10:36 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: The resampling function optimized. 2006-02-28 08:16 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c: The phoebe_spectrum_resample () function returned -1 when there was no overlap between the input spectrum and the region to which a spectrum should be resampled. This is now handled with the error handler. 2006-02-28 08:05 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Function phoebe_spectrum_realloc () was suffering from a similar problem as phoebe_spectrum_alloc (). Fixed. 2006-02-28 08:00 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c: Function phoebe_spectrum_alloc () was still using negative values to refer to errors; fixed. All instances of callers have been updated to check for status when allocating memory. 2006-02-27 19:01 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: The phoebe_spectrum_apply_doppler_shift () function did not copy the information on resolving power and sampling to the shifted spectrum; fixed. 2006-02-26 20:00 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: A function for applying the rotational (Doppler) broadening of spectral lines added to phoebe_spectra.c. The function uses Gray's convolution method (see Chapter 17, p. 374). 2006-02-24 21:26 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c: Spectrum broadening function now correctly computes the FWHM of the Gaussian with which the input spectrum is convolved with. This did not present a significant accuracy problem for substantial resolution degradation, but when broadening from e.g. 50.000 to 40.000 it caused an overestimation of the FWHM. Fixed. 2006-02-23 19:56 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_parameters.c: Slight formatting fixups of the source code layout. 2006-02-23 18:57 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: Fields for resolving power (R) and sampling power (Rs) added to the PHOEBE_spectrum typedef. This will be used for all kinds of things, from basic information presented to the user to proper computation of the broadening function. 2006-02-21 23:09 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h: Function phoebe_spectrum_broaden () added to the library. This function takes three arguments: the input spectrum, the output spectrum and the true resolution of the output spectrum. The sampling resolution of the output spectrum is the same as of the input spectrum (and it has nothing to do with the true resolution, naturally). 2006-02-07 09:04 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_accessories.c, trunk/phoebe-lib/libphoebe/phoebe_accessories.h: Function phoebe_strdup () added that is a direct copy from GNU C library. This function is provided because there are some C libraries out there that do not define strdup() function and, besides, this function breaks ANSI C specifications. All instances of strdup () should be replaced with phoebe_strdup () as soon as possible. 2006-02-03 09:57 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_allocations.c: Data parsing now removes the DOS newline characters (ASCII code 13) if they are found. This issue caused segfaults of the 0.2x branch on certain architectures, so I include this test here as well, just in case. 2006-02-02 14:24 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_types.h: Functions have been reordered in this header file to conform to the function layout in the corresponding C file. 2006-02-02 14:23 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_types.c: All vector-handling functions in phoebe_types.c have been made compliant with specifications for error handling and commented descriptions. 2006-02-02 13:50 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_types.c: Parsing rule for DOS' carriage return symbol (ASCII code 13) added to the phoebe_vector_from_column () function. 2006-01-29 14:37 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_fortran_interface.c, trunk/phoebe-lib/libphoebe/phoebe_wd_algorithms.f: A bunch of bugs are found and removed from the surface temperature handling when the DC minimizer was used: 1) the step-size was given in K, but 10000K were expected, 2) the corrections were multiplied by 1000 instead of 10000 and 3) the values in K were multiplied by 1000 needlessly. What the heck was I thinking? It had to be very late... %-) 2006-01-16 14:03 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_accessories.c, trunk/phoebe-lib/libphoebe/phoebe_accessories.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: Two accessory functions added: * bool atob (char *str) * char *phoebe_type_get_name (PHOEBE_type type) atob () is a natural extension to C's ato* family of functions that converts a string to the boolean and returns it. phoebe_type_get_name returns the string with the name of PHOEBE_type variable. 2005-12-21 11:35 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_global.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h: Architecture for handling spectra has been implemented. It is still rudimentary, but most important operations are already supported. They include: - reading out a spectrum from a file - reading out a spectrum from repository - setting a spectra repository - applying a Doppler shift to a spectrum - resampling a spectrum to the given wavelength interval and a given resolution - weighted sumation of two spectra - convolving two spectra These functions are prototyped in phoebe_spectra.h. Several related sources also needed to be modified slightly. 2005-12-14 00:30 Andrej Prša * trunk/phoebe-lib/Makefile.in, trunk/phoebe-lib/libphoebe/Makefile.am, trunk/phoebe-lib/libphoebe/Makefile.in, trunk/phoebe-lib/libphoebe/phoebe.h, trunk/phoebe-lib/libphoebe/phoebe_build_config.h.in, trunk/phoebe-lib/libphoebe/phoebe_roche.c, trunk/phoebe-lib/libphoebe/phoebe_roche.h, trunk/phoebe-lib/libphoebe/phoebe_wd_algorithms.f, trunk/phoebe-lib/phoebe-lib.prj, trunk/phoebe-lib/wd/Makefile.in: Two new source files added, phoebe_roche.c and phoebe_roche.h. These two files host all scientific functions that are used for computation of the Roche formalism and are meant to supersede the WD subroutines eventually. In the mean time they are used to compute some auxiliary quantities like the polar radii and similar. 2005-12-14 00:26 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_base.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_global.h: Architecture for catching software break interrupts (SIGINTs == CTRL+C) implemented. There is now a global variable called PHOEBE_INTERRUPT that is set to FALSE by default and it is changed to TRUE by the interrupt handler. All functions that are susceptible to software breaks (i.e. fitting functions, computation functions etc) need to test against the value of PHOEBE_INTERRUPT and stop the execution if it is TRUE. The same goes for all scripter loops that need to be interrupted. The first function that makes use of this new architec- ture is the NMS function. If the function is interrupted, the memory is nicely freed, the value of chi2 is set to nan and the function returns gracefully. 2005-11-11 22:30 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c: When transforming HJDs to phases, negative dP/dt values were not properly transformed because of a malformed test (dpdt < 1E-15) instead of (fabs(dpdt) < 1E-15). Fixed. 2005-11-05 22:21 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c: Error handling of calculate_chi2 () function was too restrictive: it demanded the weight array to be allocated even if there was no weighting applied. Fixed. 2005-11-05 19:01 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.h: Functions call_wd_to_get_* were defined as void, which doesn't suit the specifications. All three functions changed to int. 2005-10-25 22:35 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h: Two convenience functions added to the library: phoebe_set_parameter_lower_limit (qualifier, lower_limit) phoebe_set_parameter_upper_limit (qualifier, upper_limit) These two functions were requested by Gal for the GUI. The original function that sets both limits simultaneously: phoebe_set_parameter_limits (qualifier, lower_limit, upper_limit) is still present. 2005-10-21 18:43 Andrej Prša * trunk/phoebe-lib/ChangeLog: Following the change of SPECS established on Oct 18, the ChangeLog is removed from the CVS. It will now be created for the distribution by issuing: rcs2log -i 2 > ChangeLog This means that the ChangeLog build is now completely up to CVS and that the developers must describe the commited changes properly, not merely by the change date anymore. 2005-10-20 07:52 Andrej Prša * trunk/phoebe-lib/libphoebe/phoebe_base.c, trunk/phoebe-lib/libphoebe/phoebe_configuration.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.h, trunk/phoebe-lib/libphoebe/phoebe_global.h, trunk/phoebe-lib/libphoebe/phoebe_ld.c, trunk/phoebe-lib/libphoebe/phoebe_ld.h, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h, trunk/phoebe-lib/libphoebe/phoebe_types.h: All variable declarations that appeared in header files have been moved to the corresponding source files. Header declarations are still present, but they are now declared as extern. This was done to get PHOEBE to compile under Mac OSX 10.4. Many thanks to Romain Gauderon for his effort to trace and point out the cause of the busted build under Mac! 2005-10-20 06:46 Andrej Prša * trunk/phoebe-lib/config.guess, trunk/phoebe-lib/config.sub: 2005-10-20 2005-10-20 06:39 Andrej Prša * trunk/phoebe-lib/libphoebe/Makefile.in, trunk/phoebe-lib/wd/Makefile.in: 2005-10-20 2005-10-20 06:30 Andrej Prša * trunk/phoebe-lib/Makefile.in, trunk/phoebe-lib/autoconfig/missing, trunk/phoebe-lib/libphoebe/phoebe_build_config.h.in: 2005-10-20 2005-10-18 21:24 Andrej Prša * trunk/phoebe-lib/wd, trunk/phoebe-lib/wd/Makefile.am, trunk/phoebe-lib/wd/atmcof.dat, trunk/phoebe-lib/wd/atmcofplanck.dat: 2005-10-18 2005-10-18 21:18 Andrej Prša * trunk/phoebe-lib/Makefile.am, trunk/phoebe-lib/aclocal.m4, trunk/phoebe-lib/configure, trunk/phoebe-lib/configure.ac: 2005-10-18 2005-10-18 20:31 Gal Matijevič * trunk/phoebe-lib/aclocal.m4, trunk/phoebe-lib/autoconfig, trunk/phoebe-lib/autoconfig/compile, trunk/phoebe-lib/autoconfig/config.guess, trunk/phoebe-lib/autoconfig/config.sub, trunk/phoebe-lib/autoconfig/depcomp, trunk/phoebe-lib/autoconfig/install-sh, trunk/phoebe-lib/autoconfig/ltmain.sh, trunk/phoebe-lib/autoconfig/missing, trunk/phoebe-lib/autoconfig/mkinstalldirs, trunk/phoebe-lib/config.guess, trunk/phoebe-lib/config.sub, trunk/phoebe-lib/configure: 2005-10-18 2005-10-18 20:14 Andrej Prša * trunk/phoebe-lib, trunk/phoebe-lib/ACKNOWLEDGEMENTS, trunk/phoebe-lib/AUTHORS, trunk/phoebe-lib/COPYING, trunk/phoebe-lib/ChangeLog, trunk/phoebe-lib/INSTALL, trunk/phoebe-lib/Makefile.am, trunk/phoebe-lib/NEWS, trunk/phoebe-lib/README, trunk/phoebe-lib/SPECS, trunk/phoebe-lib/TODO, trunk/phoebe-lib/WD_CAVEATS, trunk/phoebe-lib/configure.ac, trunk/phoebe-lib/libphoebe, trunk/phoebe-lib/libphoebe/Makefile.am, trunk/phoebe-lib/libphoebe/cfortran.h, trunk/phoebe-lib/libphoebe/phoebe.h, trunk/phoebe-lib/libphoebe/phoebe_accessories.c, trunk/phoebe-lib/libphoebe/phoebe_accessories.h, trunk/phoebe-lib/libphoebe/phoebe_allocations.c, trunk/phoebe-lib/libphoebe/phoebe_allocations.h, trunk/phoebe-lib/libphoebe/phoebe_base.c, trunk/phoebe-lib/libphoebe/phoebe_base.h, trunk/phoebe-lib/libphoebe/phoebe_calculations.c, trunk/phoebe-lib/libphoebe/phoebe_calculations.h, trunk/phoebe-lib/libphoebe/phoebe_configuration.c, trunk/phoebe-lib/libphoebe/phoebe_configuration.h, trunk/phoebe-lib/libphoebe/phoebe_connectivity.c, trunk/phoebe-lib/libphoebe/phoebe_connectivity.h, trunk/phoebe-lib/libphoebe/phoebe_constraints.c, trunk/phoebe-lib/libphoebe/phoebe_constraints.h, trunk/phoebe-lib/libphoebe/phoebe_error_handling.c, trunk/phoebe-lib/libphoebe/phoebe_error_handling.h, trunk/phoebe-lib/libphoebe/phoebe_fitting.c, trunk/phoebe-lib/libphoebe/phoebe_fitting.h, trunk/phoebe-lib/libphoebe/phoebe_fortran_interface.c, trunk/phoebe-lib/libphoebe/phoebe_fortran_interface.h, trunk/phoebe-lib/libphoebe/phoebe_global.h, trunk/phoebe-lib/libphoebe/phoebe_ld.c, trunk/phoebe-lib/libphoebe/phoebe_ld.h, trunk/phoebe-lib/libphoebe/phoebe_parameters.c, trunk/phoebe-lib/libphoebe/phoebe_parameters.h, trunk/phoebe-lib/libphoebe/phoebe_plotting.c, trunk/phoebe-lib/libphoebe/phoebe_plotting.h, trunk/phoebe-lib/libphoebe/phoebe_spectra.c, trunk/phoebe-lib/libphoebe/phoebe_spectra.h, trunk/phoebe-lib/libphoebe/phoebe_types.c, trunk/phoebe-lib/libphoebe/phoebe_types.h, trunk/phoebe-lib/libphoebe/phoebe_wd_algorithms.f, trunk/phoebe-lib/phoebe-lib.prj: 2005-10-18