aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim
Commit message (Collapse)AuthorAgeFilesLines
* webui: Import normalize.css v5.0.0Aaron LI2016-10-301-0/+461
| | | | normalize.css: https://github.com/necolas/normalize.css
* webui: Import FontAwesome v4.7.0Aaron LI2016-10-303-0/+2337
| | | | FontAwesome: http://fontawesome.io/
* webui: Build the Web UI using Tornado with WebSocketAaron LI2016-10-303-0/+68
| | | | Tornado: http://www.tornadoweb.org/
* utils/__init__.py: Only import "setup_logging" from "logging.py"Aaron LI2016-10-296-8/+5
| | | | | | | | | | Since some modules (e.g., healpix.py) under "utils" involves Numba JIT optimization, which significantly slows the start-up speed, even some consumers (e.g., bin/fg21sim-webui) do not need them at all. Fix various import statements of other modules. NOTE: not test at the moment!
* utils/random.py: Add a note on conversion to (longitude, latitude)Aaron LI2016-10-281-0/+5
|
* utils/rotate.py: Add a new ref. which may help further vectorizationAaron LI2016-10-281-0/+2
| | | | Investigate whether the vectorization will improve the speed.
* extragalactic/pointsource (#3)Jason Ma2016-10-2712-0/+1881
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge PR#3: Add new simulation component "extragalactic/pointsources", including SF, SB, RQ, FRI and FRII. * extragalactic/pointsource: add point source simulation module * extracgalactic/pointsource: add point source simulation module * Add configurating spec to extragalgactic point sources. * Modified some variables * base.py: modified * flux.py: modified * fr1.py: modified * fr2.py: modified * pointsources.py: modified * psparams.py: modified * radioquiet.py: modified * starforming.py: modified * starbursting.py: modified * Rewritten the comments. * base.py: modified * flux.py: modified * fr1.py: modified * fr2.py: modified * Modified * psparams.py: modified * radioquiet.py: modified * starforming.py: modified * starbursting.py: modified * Modified * Modified * Modified * Modified * Modified * MOdified * Modified * Modified * Modified * Modified * Modified * Modified * Modified * Modified * Modified * Changed pointsource to pointsources * Fixed some config keywords * Fixed some config keywords * Fixed some config keywords * Fixed some config keywords * Fixed some config keywords * Fixed some config keywords * Fixed some config keywords * base.py:rewrited * fr1.py:rewritten * pointsources.py: rewritten * radioquiet.py: rewritten * Rewritten * Rewritten * base.py: modified * fr1.py: modified * fr2.py: modified * radioquiet.py: modified * starbursting.py: modified * starforming.py: modified * Fix conflicts * fg21sim: fixed conflicts * base.py: modified frequencies loading in _get_configs() * Rewritten as forground.py * fg21sim: fixed conflicts * base.py: deteled loading for frequencies configurations. * fr1.py: modified * fr2.py: modified * pointsources.py: modified * radioquiet.py: modified * starbursting.py: modified * starforming.py: modified * Add new methods to calculate Tb. * Add new methods to calculate Tb. * Add new methods to calculate Tb. * Add new methods to calculate Tb. * Add new methods to calculate Tb. * Add new methods to calculate Tb. * Deleted useless comments. * Add pscomps to deal with multi-type PS problem. * Add a new key. * Fixed permission to 755. * Rejusted PS subsections. * Add methods to calcualte luminosity function and redshift distribution. * Rejusted generation of samples redshift and luminosity. * Fixed mistakes on FRII structure, added hotspots and offsets. * Reajusted generation of samples redshift and luminosity. * Readujsted generation of samples radii, redshifts and luminosity. * Readujsted generation of samples radii, redshifts and luminosity. * Fixed conflicts. * Fixed conficts. * Combined configurations of pointsources. * Removed the older extragalactic configuration file. * Fixed some mistakes. * Fixed mistakes of drawing PS. * Fixed mistakes of drawing PS. * Fixed code style by pep8 checking. * Fixed code style by pep8 checking. * Fixed code style by pep8 checking. * Fixed some coding style. * Reconfigured default redshift interval. * Reconfigured default redshift interval. * Reconfigured default redshift interval. * Fixed mistakes in method calc_single_Tb and changed resolution of grid. * Fixed mistakes in method calc_single_Tb and changed resolution of grid. * Deleted astropy.units style code to accelerate. * Deleted astropy.units style code to accelerate. * Deleted astropy.units style code to accelerate. * Deleted astropy.units style code to accelerate. * Deleted astropy.units style code to accelerate. * Deleted astropy.units style code to accelerate. * Deleted astropy.units style code to accelerate. * Fixed some mistakes. * Fixed some mistakes. * Changed dA from au.Mpc to float64. * Fixed some mistakes. * Fixed some mistakes. * Fixed some mistakes. * Reajusted grid resolution to generate discs. * Reajusted grid resolution to generate discs. * Reajusted loading strategy of parameter resolution. * Reajusted code style of configuration loading. * Reajusted code style of configuration loading. * Reajusted code style of configuration loading. * Reajusted code style of configuration loading. * Reajusted code style of configuration loading.
* fg21sim/__init__.py: Do not import from ".foregrounds"Aaron LI2016-10-271-2/+0
| | | | | | | Import from ".foregrounds" involves a lot of imports of other components, which cause a lot of numba JIT compilations. Therefore, the simple "import fg21sim" causes a long lag for running the scripts, e.g., bin/healpix2hpx.
* Update to use the new "checksum" config optionAaron LI2016-10-274-4/+12
| | | | | Also add a warning log message for "galactic/snr.py" and "extragalactic/clusters.py".
* utils/fits.py: Add parameter "checksum" for write_fits_healpix()Aaron LI2016-10-271-8/+13
| | | | Also update the docstring and one comment.
* configs/00-general.conf.spec: Add new option "checksum"Aaron LI2016-10-271-0/+6
|
* utils/rotate.py: Fix two bugs which cause wrong resultsAaron LI2016-10-261-4/+13
| | | | | | | * Fix the wrong output shape: wrongly swap the row and column * Fix the area mapping method, which may give zero values when the index of the input is integer, which cause problem to calculate the overlapping areas.
* utils/grid.py: JIT optimize "make_grid_ellipse()"Aaron LI2016-10-261-10/+15
| | | | NOTE that the original optional paramter "rotation" is now required.
* utils/grid.py: Use own-implemented JIT-optimized "rotate_center()"Aaron LI2016-10-261-3/+3
| | | | Also remove the dependence on "scipy".
* Add utils/rotate.py: Implement basic image rotationAaron LI2016-10-261-0/+131
| | | | | | | | | The "rotate_center()" function rotates a gray-scale image by a given angle about its center, using the area mapping method or simple nearest neighbor. This function is `numba` JIT-optimized, and can replace the `scipy.ndimage.rotate()` function.
* draw.py: Remove the unused "circle()" functionAaron LI2016-10-251-42/+0
|
* draw.py: Optimize "ellipse()" using numba JITAaron LI2016-10-251-17/+27
| | | | | | | | | | NOTE: However, there are two significant problems: * Cannot figure out why ``nb.optional(nb.types.UniTuple(nb.int64, 2))`` does NOT work. Therefore, make ``shape`` as mandatory parameter instead of optional. * Cannot figure out multi-dispatch that allows both int and float types for ``r``, ``c``, ``r_radius`` and ``c_radius``. Thus only support the int type for the moment.
* draw.py: Optimize "_ellipse_in_shape()" using JITAaron LI2016-10-251-3/+20
|
* grid.py: Override "make_coordinate_grid()" using JIT-optimized versionAaron LI2016-10-251-46/+2
| | | | | Remove the original "make_coordinate_grid()" function, and rename the "make_coordinate_grid_fast()" to override the former one.
* grid.py: Change "make_coordinate_grid_fast()" parametersAaron LI2016-10-251-11/+16
| | | | | Change the parameters of "make_coordinate_grid_fast()", make it share the same parameter list as "make_coordinate_grid()".
* grid.py: Optimize "map_grid_to_healpix()" using "numba.jit"Aaron LI2016-10-251-11/+19
| | | | | There are some limitations with the numba JIT, which are commented in the code.
* healpix.py: Change all "indices" to "indexes"Aaron LI2016-10-252-19/+19
| | | | Also fix a wrong notation in "random.py"
* healpix.py: Implement "ang2pix_ring" and "pix2ang_ring" with JITAaron LI2016-10-251-0/+213
| | | | | | | | | | To optimize "map_grid_to_healpix()" in `grid.py` which uses "healpy.ang2pix()" using `numba.jit`, implement the latter's functionality explicitly with `numba.jit` support. The implementation simply mimic the corresponding functions "ang2pix_ring_z_phi()" and "pix2ang_ring_z_phi()" in HEALPix's "src/C/subs/chealpix.c". Thanks!
* healpix.py: Optimize "_calc_hpx_indicies()" and "_calc_hpx_row_idx()"_Aaron LI2016-10-251-60/+68
| | | | | Also place "_calc_hpx_row_idx()" before "_calc_hpx_indicies()", which is required by `numba`.
* extragalactic/clusters.py: Speed up "calc_Tb()" significantlyAaron LI2016-10-251-10/+16
| | | | | | | | | Avoid using "astropy.units" in "calc_Tb()", which significantly speeds up this method. NOTE: whether the distance given by the simulation needs additional conversion to derive the *luminosity distance* ??
* utils/grid.py: Add optimized "make_coordinate_grid_fast()"Aaron LI2016-10-251-4/+56
| | | | | | | | Optimize "make_coordinate_grid()" using "numba.jit", which improves the speed a bit, since the other two functions (i.e., "make_grid_ellipse()", and "map_grid_to_healpix()") are much slow and time-consuming. TODO: optimize "make_grid_ellipse()" and "map_grid_to_healpix()"
* extragalactic/clusters.py: Use "Fnu_to_Tb_fast()"Aaron LI2016-10-241-13/+15
|
* convert.py: Optimize "Fnu_to_Tb()" and "Sb_to_Tb()"Aaron LI2016-10-241-0/+65
| | | | | | | | | * Optimize the "Fnu_to_Tb()" and "Sb_to_Tb()" functions by explicitly calculating the conversions, avoiding the slow `astropy.unit` conversions (which is rather slow). The new fast functions are named as "Fnu_to_Tb_fast()" and "Sb_to_Tb_fast()". * Optimize the new functions using `numba.jit` further. * Add `numba` to the dependencies.
* extragalactic/clusters.py: Fix multiple bugs (Test OK)Aaron LI2016-10-221-10/+45
| | | | | | * Fix several bugs, e.g., typo, wrong quantity operation, etc. * Add new method "_calc_specindex()", also allow further improvement * Improve docstrings, comments, and log messages.
* foregrounds.py: Add new component extragalactic/clustersAaron LI2016-10-221-3/+5
|
* Support new simulation component: extragalactic/clustersAaron LI2016-10-223-0/+695
| | | | | | | | | | | Support simulate the radio emission from clusters of galaxies. Currently only the radio halos is considered, while the radio relics need more investigations. Also, this simulation requires a cluster catalog derived from the Hubble Volume Project simulation. NOTE: not tested at the moment
* Add utils/random.py: Custom random utilitiesAaron LI2016-10-221-0/+51
| | | | | Currently implement "spherical_uniform()" to generate random points uniformly distributed on the spherical surface.
* galactic/snr.py: Fix wrong astropy quantity operationAaron LI2016-10-221-1/+1
| | | | | | | When two quantities of same unit class divides, to get the correct numerical value, whether use `.decompose().value`, or just convert to plain Python object, e.g., `float(...)`, which will fail if the input quantity is not dimensionless.
* galactic/snr.py: Add one reference and update docstringAaron LI2016-10-221-5/+12
|
* configs/10-galactic.conf.spec: Fix/update the descriptionAaron LI2016-10-221-4/+12
|
* configs/manager.py: Update docstring and commentAaron LI2016-10-191-3/+9
|
* foregrounds.py: Fix the too-long FITS keyword with commentAaron LI2016-10-181-2/+3
|
* configs: Remove the unused config "ordering"Aaron LI2016-10-181-3/+1
| | | | All HEALPix maps used are in *RING* ordering.
* galactic/{freefree,synchrotron}.py: Fix small bugsAaron LI2016-10-182-2/+2
| | | | | * freefree.py: Add the missing "/" to the config "halphamap" * synchrotron.py: Fix "comp" to have the correct value
* foregrounds.py: Fix two small bugs and test is OKAaron LI2016-10-181-4/+5
| | | | | | * Fix the wrong import path * Add the missing "output_dir" property * Tweak the comments/messages a bit
* Add "foregrounds.py" as the interface to foregrounds simulationAaron LI2016-10-182-3/+205
| | | | | This module provides a simple/easy-to-use interface to the simulation of various supported foreground components.
* galactic/synchrotron.py: Add preocess(), postprocess, _make_filepath()Aaron LI2016-10-181-41/+75
| | | | | | * Add the "preprocess()" and "postprocess()" for a better interface; * Add "_make_filepath()" to compose the output filename; * Reorder some methods for consistency.
* galactic/freefree.py: Add preocess(), postprocess, _make_filepath()Aaron LI2016-10-181-52/+90
| | | | | | | * Add the "preprocess()" and "postprocess()" for a better interface; * Add "_make_filepath()" to compose the output filename; * Reorder some methods for consistency; * Some refactorings and cleanups.
* galctic/snr.py: Add "preprocess()" and "postprocess()" methodsAaron LI2016-10-181-70/+86
| | | | | | | * Add "preprocess()" and "postprocess()" methods * Add the "name" property * Tweak the places of preparation procedures been invoked * Reorder some methods
* galactic/snr.py: Fix the existence check of dir of catalog ouputAaron LI2016-10-171-1/+1
|
* galactic: Move the "simulate()" method; Add "UNIT" keywordAaron LI2016-10-172-26/+28
|
* galactic/snr.py: Create dir if necessary and adhere clobber configAaron LI2016-10-171-0/+11
|
* galactic/snr.py: Fix various issues, and works almost OK.Aaron LI2016-10-171-7/+22
| | | | Barely test and seems OK.
* configs/manager.py: Fix the bug that breaks specifications loadingAaron LI2016-10-171-1/+4
| | | | | | | The "filter()" returns an iterator, that is consumed after the use, therefore, the "specfiles" is used by the print under "DEBUG_FG21SIM". Then "specfiles" is empty and thus prevents the reading of the specification files.
* configs/validate.py: Add "check_galactic_snr()" for "galactic/snr"Aaron LI2016-10-171-0/+16
|