Recent Releases of sirocco
sirocco - Sirocco v1.0
This is Sirocco v1.0, the release associated with the accepted version of the MNRAS code paper. The changes from v0.1 are actually fairly small, so would not normally merit a full 0->1 version change, but we want v1.0 to coincide with the formal code release.
What's Changed
- Merge some changes that had been made in main only by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1110
- Update CITATION.cff by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1111
- Update README.md by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1112
- Improve documentation. by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1116
- Cleanup by @kslong in https://github.com/sirocco-rt/sirocco/pull/1118
- Unit tests patch: tweaks to makefile and define TEST_TOLERANCE by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1117
- Clean up names of executables, replase SetupPyDir by @kslong in https://github.com/sirocco-rt/sirocco/pull/1119
- SetupSiroccoDir documentation by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1120
- Update README.md by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1121
- dev->main: mostly documentation and cleanup by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1122
- Docs patch: improve docs on code operation, radiative transfer and installation by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1123
- Update README.md by @AustenWallis in https://github.com/sirocco-rt/sirocco/pull/1125
- Improve MPI communication documentation by @Edward-RSE in https://github.com/sirocco-rt/sirocco/pull/1129
- Update README.md by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1130
- dev->main documentation merge, will become sirocco v1.0 by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1131
New Contributors
- @AustenWallis made their first contribution in https://github.com/sirocco-rt/sirocco/pull/1125
Full Changelog: https://github.com/sirocco-rt/sirocco/compare/v0.1...v1.0
- C
Published by jhmatthews over 1 year ago
sirocco - Sirocco-0.1
What's Changed
- Rename Python to Sirocco in the Sphinx documentation by @saultyevil in https://github.com/sirocco-rt/sirocco/pull/1096
- Sirocco: rename the code in source code and rename files with python in the filename by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1107
- Sirocco-0.1: sirocco rename dev->main by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1108
- Update README.md by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1109
Full Changelog: https://github.com/sirocco-rt/sirocco/compare/Python88x...v0.1
- C
Published by jhmatthews over 1 year ago
sirocco - Sirocco-0.1
What's Changed
- Rename Python to Sirocco in the Sphinx documentation by @saultyevil in https://github.com/sirocco-rt/sirocco/pull/1096
- Sirocco: rename the code in source code and rename files with python in the filename by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1107
- Sirocco-0.1: sirocco rename dev->main by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1108
- Update README.md by @jhmatthews in https://github.com/sirocco-rt/sirocco/pull/1109
Full Changelog: https://github.com/sirocco-rt/sirocco/compare/Python88x...v0.1
- C
Published by jhmatthews over 1 year ago
sirocco - Python 88x
This is the final version of the code while it is named python, before the Sirocco rename.
Most of the changes compared to previous merges into dev are documented by PR #1106
- C
Published by jhmatthews over 1 year ago
sirocco - Version 84
Includes an update to GSL, thorough indentation, changes to makefiles for indentation, and integration with documentation tools.
- C
Published by smangham over 6 years ago
sirocco - pre-belfast
Code state of dev branch prior to Belfast code development
- C
Published by jhmatthews over 7 years ago
sirocco - Imported models for collaboration with LH, KM
Beta version of python that allows one to import models as described by #313 and this wiki: https://github.com/agnwinds/python/wiki/Importing-Models-(wind_type-10-)
- C
Published by jhmatthews over 8 years ago
sirocco - Python 81c
This version precedes a major pull request merge #293 related to the LT2 milestone.
- C
Published by jhmatthews over 8 years ago
sirocco - Python 81a
This is Python 81a. It is intended as a stake in the ground prior to any development work carried out during Knox's 2016 visit to Southampton. It is also prior to any indenting being run on the code.
[Documentation to follow]
- C
Published by jhmatthews over 9 years ago
sirocco - Python 80
Potentially final pre-domains code version. This is the version used for the runs for the submitted version of the Matthews et al. 2016 quasar paper.
Documentation of changes
Major Change: Populations Bug Fixes We were getting a number of problems with noisy MC estimators in AGN models, particularly when using He I. To address this, if the level populations return something non-sensical then we default to dilute BB estimators and resolve. There is also more robust error reporting and a change in the way we report the situation when stimulated recombination is higher than photoionization, which can happen in non-converged cells. See #192
Major Change: Hydro I am not entirely sure what the current status on reverb or hydro is in this version. @Higginbottom feel free to summarise if you want to document it here. I know Nick did a lot of work improving the hydro code in #178 but I'm not sure if this is yet the version which can communicate with Zeus - I think it can.
Major Change: Bound-bound collisional gaunt factor This was set to 1 previously. Now set to 0.2 (more realistic), or u0/10 for low kT neutrals. Still only really accurate to 1 dex so should be improved, see below. Commit for change is https://github.com/agnwinds/python/commit/44801573f43a6387bbe1160d319e31034ed607c8
Merged Pull Requests since last release: - #192 - Populations Bug Fixes - #185 - Collisional recombination + ionization code streamlining - #183 - Addition of a Bremsstrahlung source - #179 - Included calculation of xi - #178 - New hydro code
Bugfixes since last releasE: - #171 - kwd model - set correct variables (rhomin is different to rmin), JM had made error here - #176 - large number of sanecheck errors in popkappaffarray, fixed by #192 with caveats below - #181 - lamppost model geometry option for power law sources - #173 - Need for proga.c (and py_ray and balance) - #187 - Hardwired free-free limits in kpkt()
Outstanding Problems / Caveats - #190 - segfaults at end of run can occur during MPI_FInalize step. Unsure why yet. - #188 - bound-bound collisions should be improved. - #186 - DR cooling is turned off, but included as a rate at the moment, this should be improved. - #162 - Generic problems with enums
I am not sure what the current status on reverb is in this version either, @smangham feel free to summarise if you want to document it here.
- C
Published by jhmatthews about 10 years ago
sirocco - Python 79c
Stake in the ground prior to August 2015 Meeting.
Pull Requests merged since last release:
Bugfixes / Closed Issues since last release: - Incorrect clumpy volume division in mcestimatornormalize #161 - Bug in mode 8 of bands init #157 - Large numbers of Error- trans_phot: Trying to scatter a photon which is not in a cell in the plasma structure #154 - Extra diagnostics option problem bug #151 - segfault from reverb code bug high #152
- C
Published by jhmatthews over 10 years ago
sirocco - Python 79b
Release of Python, partly for use by Mark Kennedy but also it's about time there was a stake in the ground.
A few major changes in code organisation since last release: - #143 VFKY cross-sections are now tabulated ONLY. Using standard77 atomic data will not work with the new code. It's possible we should update the format of atomic data to reflect changes here. Use data/standard78 or similar. Atomic data had to be tabulated using the photoxs.py routine in pyprogs - This also involved fixing a fairly major problem with macro-atoms where they did not loop over all the required cooling terms. Macro-atom models agree pretty well for a fiducial model now. This didn't really affect the Cv model - #139 reorganisation of python inputs: additional source file setup.c - This also involved reordering of the parameter file - Reorganisation of macro-atom functions: additional source file macro_gov.c
Some minor changes too: - New functions and capabilities in pyprogs. Particularly plotting routines and a new smarter update script pfupdate2.py - Some small corrections to comments and constants throughout code.
Issues closed:
144 - simple warnings on compilation
8 and #44 - by input reorganisation
43 - not by anything to do with this release, more because it was an old issue.
86 - sigmaphot- now only one sigmaphot function
141 - see above discussion of matom cooling terms.
- C
Published by jhmatthews almost 11 years ago
sirocco - Python 79a
I'm making a release here because I've recently incorporated @Higginbottom 's rate matrix ionization code, and in seems like there will be a lot of changes soon which reorganise the code a lot. - Most of the changes are in matrix_ion.c for this. I've also moved some of the duplicated code the macro-atom routines to a subroutine which deals in general with matrix inversions. This should still be considered beta code. - One can run using dilute BB matrix ionization (mode 8) or spectral model matrix ionization (mode 9). - The test pages for matrix ionization are here: https://sites.google.com/site/agnwinds/current-work-in-progress/matrix-ionization - testing is ongoing - Also a few small bugfixes: #138, #137, and #34 - I also added minimum and maximum radii to KWD models. One must now specifiy kn.rmin and kn.rmax.
- C
Published by jhmatthews about 11 years ago
sirocco - Python 78c
Two main changes from Python 78b- Bugfixes for two main issues: - #134 - simple bug involving normalisation of spectra on restart - #132 #135 - this involved creating a number of subroutines for sections of code which communicate estimators and various plasma quantities when in multi-processor mode
Commit https://github.com/agnwinds/python/commit/65615a05ba0601f46b3b2b428ab7a74846be08c5 used for CV paper runs for the version originally submitted to MNRAS on 26 Jan 2015.
- C
Published by jhmatthews about 11 years ago
sirocco - Python 78b
This is a release for Python 78b. This is intended to be prior to matrix work being included and the final version run for the CV paper 2014.
Changes - major change here- restructuring of the dev branch to contain the whole directory structure #119 - implementation of microclumping - this is still not full tested/understood. Consult the issues #108 #129 - implemented 'advanced mode', see #120 - adopted astropy file formats for outputs, see #123
Major Bugfixes:
117 - live or die doesn't agree with extract for spherical / symmetric models
This turned out to be a major problem, in that sometime around Python 70g the doppler shift statement got deleted in resonate.c. Tests results for this can be found on the google site.
Bugfixes:
102 - wind file saved only for rank 0
110 - changes in temperature not being accurately recorded
111 - elimination of Debug and diagonoff- see advanced mode above
113 - problems with linelengths of model filenames
114 - segfault in spectral cycles due to new variable w_orig
118 - dvds was calculated incorrectly in spherical coords, so we adopted an on-the-fly method. See #126
- C
Published by jhmatthews about 11 years ago
sirocco - Python 78a
This is the release for Python 78a.
This is intended as a stable verison, pre Nick's changes which incorporate the matrix ionziation scheme.
Only physics change is the one described by #90 - The two level atom code in lines.c now permits the model of mean intensity (power law or exponential) to be used when calculating radiative excitation. The others all fixed small bugs or small changes to improve clarity or stop errors.
Pull requests in this release:
99 - Reporting issues from mean_intensity
98 - Fix for infinite entries in spec files - default p_escape to 1.0 for low and high tau
96 - Dynamic allocation of NION dimensioned arrays in plasma structure
88 - New scheme for two level atom
87 - definitions for ion and nebular modes
And the following small changes in commits: https://github.com/agnwinds/python/commit/ebc5922b3ab7777d202a4c913209c17392664c7e - Put check around windsave command in python, so only rank0 writes https://github.com/agnwinds/python/commit/965d493066d0ddab9a96d6273fb4dd783f60ab77 - Added pirates.c, not yet used https://github.com/agnwinds/python/commit/f64bb7044aa6d32fead7d911eb5dd60349151abf - corrected a load of set but unused variables which threw compiler warnings https://github.com/agnwinds/python/commit/294934163fd1e4257c2ac3b31db4f6ac05182973 - Makefile to uses -fno-aggressive-loop-optimizations for gcc > 4.8, bandaid fix for #100 https://github.com/agnwinds/python/commit/294934163fd1e4257c2ac3b31db4f6ac05182973 - modified xdefinephot so only calculate level emissivities if geo.pcycle ==0
- C
Published by jhmatthews over 11 years ago
sirocco - Python 78
This is a release for Python 78.
This contains Issues and pull requests from 62 - 80. These include: - Increased NWAVES, NPDF and NMODS for disk14 models - #79 #63 - Incorporated Travis tests for compilation and install, and also checks basic initialisation and atomic data readin - #74 - Fix for Bug #73. Now use frequency shifted to frame of cell then averaged - #76 - Only clean for population inversions if levels have a radiative transition between them - #77 - check if a photoionization edge is crossed (from Doppler shifts) along path element ds - #75 - Added errors for -ve rates, moved macropops call out of elements loop - #71 - Moving estimators increments from radiation into subroutines (estimators for PPL ionization solver and IP) - #69 - Fixed bug in which qdisk structure was incorrectly zeroed before photon generation - #67 - Scaling fix for temperatures higher than model grid - #64 #65 - Fix for q_recomb returning NAN - #62 - Changes to recomb.c to ensure that integrals converge when computing the recombination rates for very cold plasmas with the new extrap topbase data which extends to very high frequencies
The changes mostly relate to - disk models- ensuring that we deal with running off the edge of a stellar atmosphere grid - problems with macro atom modes, mainly relating to the estimators and macropops. Also a simple fix to qrecomb to make it more stable numerically - Changes to recomb.c described above - When calculating the bf opacity, we now shift the frequency to the correct rest frame, and also check if the photon crosses a bf edge along it's path element ds. - Fixes to anisotropic scattering modes to speed up the code when using the rejection method to choose a direction in an optically thick cell. Caused a speed up of up to a factor 5 in some cases.
This release is intended to be a stake in the ground prior to Sam starting work on the code, for JM's 2014 CV paper, and also for the July 2014 meeting.
- C
Published by jhmatthews over 11 years ago
sirocco - Python 77
This is a release of Python 77
Bugfixes in release: - modification to saha to fix some of the problems in #40 - modification to variable temperature so that macro_pops is used correctly, see #43 and note that ionization mode 7 is still not working properly in matom mode - Changed a loop around line920 in python.c to fix bug #44 - Added new class of errors - the warning - as a partial fix to bug #47 - Small change in wind2d.c to address issue #42 - Removed redundant files to close bug #48
There has also been development work in Proga models. detail.
Main changes: - Significant rewrites on the PL and EXP representations of spectra in cells. - PL now uses a log representation and EXP can have -ve temperature (i.e. a rising exponential). The min and max frequencies of photons seen in a cell/band are now logged, and these are used in the variable temperature code as limits of integration for models. - Versions of IP and J have been added which log the component from direct and scattered radiation. - Proga is read into rtheta geometry rather than being superimposed on a cylindrical grid - adiabatic heating has been implemented when div v is negative - there is now a switch for adiabatic cooling/heating - some py_wind changes to report on extra stuff
- C
Published by jhmatthews about 12 years ago
sirocco - Atomic 77
This is a release of atomic77 - note that it contains all the atomic data and not just the zipped up atomic77 directory. Ideally users should pull in changes from the data branch to avoid installing. There is also a tarball of atomic77 and the masterfile standard77 in ~/Dropbox/Python/atomic/atomic77release/.
The changes here were in order to fix bug #18 , and apply only to topbase cross section files. there are also some new macro atom data sets created for JM's work for macro atoms.
The procedure for extrapolating XSections was as follows: - read in the original topbase xsection - take the gradient in log space over the final 2 points - extrapolate using an extra 50 points distributed in log energy space up to 100KeV - if the Xsection is in the list off odd xsections, identified by eye, then we check if the gradient is >-2.5, then we fudge the gradient to -3 and extrapolate with that.
The results are summarised in the bug report, and the scripts used for the extrapolation are bundled here.
- C
Published by jhmatthews about 12 years ago
sirocco - Python 76b
- Significant progress in reporting in this version.
- kpar is now included in python directly
- Thread 0 is the only one which prints to screen
- the exception being with parallel messages, which are printed to screen for all threads using new kpar function Log_parallel
- Error summaries are collated with scripts py_error.py and watchdog.py
- xsignal only writes to sig file for zeroth thread
- Diag file now saved under diag_root folder
- multiple printf and comment statement cleanup
- Bugfixes
- #29 free free issues- some major free free issues fixed by NSH
- Fixed errors in the calculation of gaunt factors
- Error in Z in Sutherland data gives wrong f-f- heating for nenautral H regions
- Error in reset of array popkappaff_array() gives too high f-f heating
- #23 printf statements in code- largely dealt with
- Bug fix in rtheta.c check which fails when grid not square due to incorrect MDIM, NDIM order
- #28 wrong collisional deactivation rate in matom()
- #31 incorrect loop in bfestimatorsincrement which reporting wrong matom heating
- Incorrect helper array sizes in python.c- this is a fairly major change in terms of lines of code
- #38 incorrect assigning or tr in pescape, very minor
- #30 gcc compilation error
- #41 r-theta runs cannot be restarted
- makefile syntax edited to make D python for debugging mode. Makefile uses mpicc but can specify gcc with CC=gcc
- Code improvements / enhancements
- Incorporated a new scheme for zeus data. Now if you ask for rtheta with 'proga' it generates a grid based on the zeus grid
- changes to ionization.c and wind_updates2d.c to move adiabatic cooling from part of the temperature dependant cooling into the 'fixed' heating side
- Minor change to pywindsub, velocity components now correctly written to x,y,z files rather than rho, theta, z files. Also pywindwrite now outputs x and z coordinates to 4 dp, which permits r theta grids to be properly described
- Changes to the 'e' option in pywind, to get it to report all heating and cooling mechanisms correctly
- maximum temperature implemented in ionization.c for proga models
- kpar is now included directly in python which is reflected in new .c files and the makefile
- Files changed:
- too many to list
- major changes in
- rtheta.c, python.c, ionization.c
- new files included directly in python
- log.c, rdpar.c
- Limitations
- Note that this release does not yet include bugfixes to macro atom issues #37, #40 and #43 as they are still a work in progress
- We also still ahve the problem of linearly interpolating between Xsections, #45.
- Error reporting python scripts py_error.py and watchdog.py are attached
- C
Published by jhmatthews over 12 years ago
sirocco - Python 76a
- Precursor is Python 76
- Certain features have been parallelised
- ionization cycles photon propagation
- ionization cycles spectrum
- ionization cycles wind update
- makefile now uses mpicc
- certain mpi libraries now used in python.h
- Files edited:
- Makefile
- python.h
- python.c
- wind_updates.c
- C
Published by jhmatthews over 12 years ago
sirocco - kpar_76b_2
This is kpar76b2, for use with Python 76bdev and upcoming 76b release.
EDIT: This is no longer required in Python.
- C
Published by jhmatthews over 12 years ago