{"id":16573897,"url":"https://github.com/julienpeloton/lafabrique","last_synced_at":"2025-07-10T10:36:09.241Z","repository":{"id":62574949,"uuid":"88866392","full_name":"JulienPeloton/LaFabrique","owner":"JulienPeloton","description":"Generate simulated datasets for CMB experiments","archived":false,"fork":false,"pushed_at":"2017-06-21T11:16:55.000Z","size":1783,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-16T04:45:53.098Z","etag":null,"topics":["cmb","simulated-datasets"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JulienPeloton.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-20T13:05:02.000Z","updated_at":"2023-02-20T08:23:07.000Z","dependencies_parsed_at":"2022-11-03T18:52:32.277Z","dependency_job_id":null,"html_url":"https://github.com/JulienPeloton/LaFabrique","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JulienPeloton%2FLaFabrique","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JulienPeloton%2FLaFabrique/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JulienPeloton%2FLaFabrique/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JulienPeloton%2FLaFabrique/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JulienPeloton","download_url":"https://codeload.github.com/JulienPeloton/LaFabrique/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242057616,"owners_count":20065057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmb","simulated-datasets"],"created_at":"2024-10-11T21:43:21.430Z","updated_at":"2025-03-05T15:41:07.491Z","avatar_url":"https://github.com/JulienPeloton.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"LaFabrique [![Build Status](https://travis-ci.org/JulienPeloton/LaFabrique.svg?branch=master)](https://travis-ci.org/JulienPeloton/LaFabrique)\n==\n\n![ScreenShot](https://github.com/JulienPeloton/LaFabrique/blob/master/additional_files/outputs.png)\n\n## The package\nThis package contains scripts for generating simulated CMB datasets (current and future)\n* Noise\n    * Generate (inhomogeneous) noise maps\n* Covariances\n    * Generate covariance matrices (in the sense inverse noise weights)\n* Foregrounds\n    * Generate foregrounds maps (dust, synchrotron, freefree, spinningdust, ...) based on the PySM\n* Frequency coverage\n    * Multi-frequency\n* Sky coverage\n    * Scanning strategy simulator included\n\n## Before starting\nThis code has the following dependencies (see the travis install section):\n* numpy, pylab, scipy, etc (required)\n* healpy \u003e= 1.9.1 (required)\n* h5py (required) + libhdf5 if using linux\n* weave (optional if scipy \u003c= v0.18 - required otherwise because no longer part of scipy v0.19)\n* ephem (required - for scanning strategy)\n* mpi4py (optional - for parallel computing)\n* InsideMe (optional - for profiling of the code, see https://github.com/JulienPeloton/InsideMe)\n* PySM (optional - foreground generation, see https://github.com/bthorne93/PySM_public)\n\n## Installation\n\nYou can easily install the package using pip\n```bash\npip install LaFabrique\n```\n\nOtherwise, you can clone the repo from the github repository and\nuse the setup.py for the installation. Just run:\n```bash\npython setup.py install\n```\nMake sure you have correct permissions (otherwise just add --user).\nYou can also directly use the code by updating manually your PYTHONPATH.\nJust add in your bashrc:\n```bash\nLaFabriquePATH=/path/to/the/package\nexport PYTHONPATH=$PYTHONPATH:$LaFabriquePATH\n```\n\n## Usage\nYou can find ini files to have a quick usage:\n\n```bash\npython generate_dataset.py -h\npython generate_dataset.py -setup_env setup_env.ini \u003cother options\u003e\n```\n\nThe code has a parallel architecture, which can be useful for large noise\nsimulations at high resolution (simulation of scan strategy and\nforegrounds are done serially for the moment).\nFor example, just use (replace mpirun by your favourite one):\n\n```bash\nmpirun -n \u003cnproc\u003e python generate_dataset.py\n    -setup_env setup_env.ini\n    -setup_scanning setup_scanning.ini\n    -setup_instrument setup_instrument.ini\n```\n\nNote that at NERSC, you have to replace the python binary by python-mpi which is\noptimized for parallel computing.\n\nHere is the breakdown of the code for 100 noise simulations for 8 frequency channels on 48 processors\nat a resolution of nside = 2048, and a few percent of the sky. Notice that the\nCholesky factorisation is done only once per processor for each frequency band and\nfor all MC simulations (corresponds to 48[proc] * 8[freq] = 384 calls below).\n\n![ScreenShot](https://github.com/JulienPeloton/LaFabrique/blob/master/additional_files/perf_100MC_nside2048.png)\n\n## License\nGNU License (see the LICENSE file for details) covers all files\nin the LaFabrique repository unless stated otherwise.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulienpeloton%2Flafabrique","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulienpeloton%2Flafabrique","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulienpeloton%2Flafabrique/lists"}