Astrophysics Source Code Library

Making codes discoverable since 1999

Browsing Codes

Title Date
Abstract Compact
Per Page
[ascl:2106.019] GLEMuR: GPU-based Lagrangian mimEtic Magnetic Relaxation

GLEMuR (Gpu-based Lagrangian mimEtic Magnetic Relaxation) is a finite difference Lagrangian code which uses mimetic differential operators and runs on Nvidia GPUs. Its main purpose is to study the relaxation of magnetic relaxation in environments of zero resistivity and viscosity; it preserves the magnetic flux and the topology of magnetic field lines. The use of mimetic operators for the spatial derivatives improve accuracy for high distortions of the grid, and the final state of the simulation approximates a force-free state with a significantly higher accuracy. Note, however, that GLEMuR is not a general purpose equation solver and the full magnetohydrodynamics equations are not implemented.

[ascl:2106.020] simple_reg_dem: Differential Emission Measures in the solar corona

simple_reg_dem reconstructs differential emission measures (DEMs) in the solar corona. It overcomes issues, such as complexity, idiosyncratic output, convergence difficulty, and lack of speed, that exists in other methods. Initially written for extreme ultraviolet (EUV) data, the algorithm is notable for its simplicity, and is robust and extensible to any other wavelengths (e.g., X-rays) where the DEM treatment is valid. It is available in the SolarSoft (ascl:1208.013) package.

[ascl:2106.021] aztekas: GRHD numerical code

aztekas solves hyperbolic partial differential equations in conservative form using High Resolution Shock-Capturing (HRSC) schemes. The code can solve the non-relativistic and relativistic hydrodynamic equations of motion (Euler equations) for a perfect fluid. The relativistic part can solve these equations on a background fixed metric, such as for Schwarzschild, Minkowski, Kerr-Schild, and others.

[ascl:2106.022] STaRS: Sejong Radiative Transfer through Raman and Rayleigh Scattering with atomic hydrogen

The 3D grid-based Monte Carlo code STaRS (Sejong Radiative Transfer through Raman and Rayleigh Scattering with atomic hydrogen) traces radiative transfer through Raman and Rayleigh scattering. This can be used to investigate line formation of Raman-scattered features in a thick neutral region illuminated by a strong far-UV emission source. Favorable conditions for Raman scattering with atomic hydrogen are easily met in symbiotic stars, young planetary nebulae, and active galactic nuclei.

[ascl:2106.023] so_noise_models: Simons Observatory N(ell) noise models

so_noise_models is the N(ell) noise curve projection code for the Simons Observatory. The code, written in pure Python, consists of several independent sub-modules, representing each version of the noise code. The usage of the models can vary substantially from version to version. The package also includes demo code that that demonstrates usage of the noise models, such as by producing noise curve plots, effective noise power spectra for SO LAT component-separated CMB T, E, B, and Compton-y maps, and lensing noise curves from SO LAT component-separated CMB T, E, B maps.

[ascl:2106.024] RedPipe: Reduction Pipeline

The RedPipe collection of Python scripts performs optical photometric and spectroscopic data reduction. There are scripts on preprocessing, photometry, calibration, spectroscopy, analysis and plotting. The photometry and spectroscopy codes use pyraf (ascl:1207.011) and hence require an already existing installation of Image Reduction and Analysis Facility (IRAF, ascl:9911.002).

[ascl:2106.025] ModeChord: Primordial scalar and tensor power spectra solver

ModeChord computes the primordial scalar and tensor power spectra for single field inflationary models. The code solves the inflationary mode equations numerically, avoiding the slow roll approximation. It provides an efficient and robust numerical evaluation of the inflationary perturbation spectrum, and allows the free parameters in the inflationary potential to be estimated. ModeChord also allows the estimation of reheating uncertainties once a potential has been specified.

[ascl:2106.026] Katu: Interaction of particles in plasma simulator

Katu evolves the interaction of particles (photons, protons, neutrons, leptons, pions and neutrinos) in plasma. The package comes with wrappers for emcee (ascl:1303.002) and pymultinest (ascl:1606.005) for Bayesian analysis, making the software applicable to blazars and able to extract relevant statistical information from their electromagnetic (and neutrino, if applicable) flux. The code is optimized for fast performance, and can be easily modified and extended.

[ascl:2106.027] MultiModeCode: Numerical exploration of multifield inflation models

MultiModeCode facilitates efficient Monte Carlo sampling of prior probabilities for inflationary model parameters and initial conditions and efficiently generates large sample-sets for inflation models with O(100) fields. The code numerically solves the equations of motion for the background and first-order perturbations of multi-field inflation models with canonical kinetic terms and arbitrary potentials, providing the adiabatic, isocurvature, and tensor power spectra at the end of inflation. For models with sum-separable potentials MultiModeCode also computes the slow-roll prediction via the δN formalism for easy model exploration and validation.

[ascl:2106.028] FRBSTATS: A web-based platform for visualization of fast radio burst properties

FRBSTATS provides a user-friendly web interface to an open-access catalog of fast radio bursts (FRBs) published up to date, along with a highly accurate statistical overview of the observed events. The platform supports the retrieval of fundamental FRB data either directly through the FRBSTATS API, or in the form of a CSV/JSON-parsed database, while enabling the plotting of parameter distributions for a variety of visualizations. These features allow researchers to conduct more thorough population studies while narrowing down the list of astrophysical models describing the origins and emission mechanisms behind these sources. Lastly, the platform provides a visualization tool that illustrates associations between primary bursts and repeaters, complementing basic repeater information provided by the Transient Name Server.

[ascl:2106.029] EMBERS: Experimental Measurement of BEam Responses with Satellites

EMBERS provides a modular framework for radio telescopes and interferometric arrays such as the MWA, HERA, and the upcoming SKA-Low to accurately measure the all sky polarized beam responses of their antennas using weather and communication satellites. This tool enables astronomers and system engineers, all over the world, to characterize the in-situ antenna beam patterns of large arrays with ease.

[ascl:2106.030] DM_statistics: Statistics of the cosmological dispersion measure (DM)

DM_statistics calculates the free-electron power spectrum and the cosmological dispersion measure (DM) statistics (such as its mean and variance, angular power spectrum and correlation function). The default cosmological parameters are consistent with the Planck 2015 LambdaCDM model; the cosmological model can be easily changed by editing a few lines of the C code.

[ascl:2106.031] BiHalofit: Fitting formula of non-linear matter bispectrum

BiHalofit fits the matter bispectrum in the nonlinear regime calibrated by high-resolution cosmological N-body simulations of 41 cold dark matter models around the Planck 2015 best-fit parameters. The parameterization is similar to that in Halofit (ascl:1402.032). The simulation volume is sufficiently large to cover almost all measurable triangle bispectrum configurations in the universe, and the function is calibrated using one-loop perturbation theory at large scales. BiHaloFit predicts the weak-lensing bispectrum and will assist current and future weak-lensing surveys and cosmic microwave background lensing experiments.

[ascl:2106.032] DarkSirensStat: Measuring modified GW propagation and the Hubble parameter

DarkSirensStat statistically measures modified gravitational wave (GW) propagation and the Hubble parameter. The package implements a hierarchical Bayesian framework for constraining the Hubble parameter and modified GW propagation with dark sirens and galaxy catalogs. The package downloads the needed data; which include the GLADE galaxy catalog, O2 and O3 skymaps from the LVC official data releases, and O2 and O3 strain sensitivities. The default options are for running inference for H0 on the O3 BBH events, with flat prior between 20 and 140, mask completeness with 9 masks, interpolation between multiplicative and homogeneous completion, B-band luminosity weights, and a completeness threshold of 50%. The selection effects are computed with MC.

[ascl:2106.033] ZWAD: Anomaly detection pipeline

ZWAD (ZTF anomaly detection pipeline) examines data and performs tailored feature extraction. The code then uses machine learning methods to searches for outliers, and identifies anomalies to be examined for validation by experts. Used with the SNAD ZTF data releases object viewer (ascl:2106.034), the infrastructure helps experts to form global views of specific scientifically interesting candidates.

[ascl:2106.034] ztf-viewer: SNAD ZTF data releases object viewer

The SNAD ZTF DR4 object viewer enables quick expert investigation of objects within the public Zwicky Transient Facility (ZTF) data releases. The viewer allows visualization of raw and folded light curves and metadata, as well as cross-match information with the General Catalog of Variable Stars, the International Variable Stars Index, the ATLAS Catalog of Variable Stars, the ZTF Catalog of Periodic Variable Stars, the Transient Name Server, the Open Astronomy Catalogs, the OGLE III Catalog of Variable Stars, the Simbad Astronomical Data Base, Gaia DR2 distances (Bailer-Jones+, 2018), and Vizier. The viewer is also available for ZTF DR2 and ZTF DR3.

[ascl:2106.035] CalPriorSNIa: Effective calibration prior on the absolute magnitude of Type Ia supernovae

CalPriorSNIa quickly computes the effective calibration prior on the absolute magnitude MB of Type Ia supernovae that corresponds to a given determination of H0.

[ascl:2106.036] BiFFT: Fast estimation of the bispectrum

BiFFT uses Fourier transforms to implement the Dirac-Delta function that enforces a closed triangle of three k-vectors; this allows very fast calculations of the bispectrum. Once the C code associated with the package is compiled and the source folder directed to the location of the C code, the user can run the code using the python wrapper.The binning in each function has been tested over the course of many years and the user can use it out of the box without ever touching the underlying C code. However, the cylindrical bispectrum calculation is much more sensitive to sample variance; its default binning is quite coarse and might need adjusting (and testing) for some datasets.

[ascl:2106.037] PORTA: POlarized Radiative TrAnsfer

PORTA solves three-dimensional non-equilibrium radiative transfer problems with massively parallel computers. The code can be used for modeling the spectral line polarization produced by the scattering of anisotropic radiation and the Hanle and Zeeman effects assuming complete frequency redistribution, either using two-level or multilevel atomic models. The numerical method of solution used to find the self-consistent values of the atomic density matrix at each point of the model’s Cartesian grid is based on Jacobi iterative scheme and on a short-characteristics formal solver of the Stokes-vector transfer equation that uses monotonic Bézier interpolation. The code can also be used to compute the linear polarization of the continuum radiation caused by Rayleigh and Thomson scattering in 3D models of stellar atmospheres, and to solve the simpler 3D radiative transfer problem of unpolarized radiation in multilevel systems. PORTA accepts/produces HDF5 input/output and offers an advanced graphical user interface.

[ascl:2106.038] ehtplot: Plotting functions for the Event Horizon Telescope

ehtplot creates publication quality, elegant, and consistent plots. Written for the Event Horizon Telescope (EHT) Collaboration, it provides a set of easy-to-use plotting functions for EHT and Very-Long-Baseline Interferometry (VLBI) specific figures. This includes plotting visibility and images for both synthetic and real data, adding uv-tracks to the plots, and adding the expected event horizon size to the plots, among other functions.

[ascl:2106.039] atmos: Coupled climate–photochemistry model

Atmos contains two atmospheric models and scripts to couple them together. One atmospheric model calculates the profiles of chemical species, including both gaseous and aerosol phases, and the second model calculates the temperature profile. Because these profiles depend on each other - kinetic reaction rates are temperature-dependent and radiative transfer is subject to radiatively active gases - atmos alternates the running of these two models until both models have solutions consistent with the other one. While either of these models can be run with time-dependence, most applications of these models are to find steady-state solutions for the atmosphere that would be stable over long (geological/astronomical) time periods, given constant inputs to the atmosphere.

[ascl:2106.040] IRAGNSEP: Spectral energy distribution fitting code

iragnsep performs IR SED fits separated into AGN and galaxy contributions, and measures host galaxy properties free of AGN contamination. The advantage of iragnsep is that, in addition to fitting observed broadband photometric fluxes, it also incorporates IR spectra in the fits which, if available, improves the robustness of the galaxy-AGN separation. For the galaxy component, iragnsep uses a library of galaxy templates. In terms of the AGN contribution, if the input dataset is a mixture of spectral and photometric data, iragnsep uses a combination of power-laws for the AGN continuum, and some broad features for the silicate emission. If instead the dataset contains photometric data alone, the AGN contribution is accounted for by using a library of AGN templates. The advanced fitting techniques used by iragnsep combined with the powerful model comparison tests allows iragnsep to provide a statistically robust interpretation of IR SEDs in terms of AGN-galaxy contributions, even when the AGN contribution is highly diluted by the host galaxy emission.

[submitted] GalaXimView

GalaXimView (for Galaxies Simulations Viewer) is a python3+matplotlib tool designed to visualise simulations which use particles, providing notably a rotatable 3D view and corresponding projections in 2D, together with a way of navigating through snapshots of a simulation keeping the same projection.

[ascl:2107.001] light-curve: Light curve analysis toolbox

light-curve implements the extraction of numerous light curve features suitable for processing alert and archival data for the current ZTF and future Vera Rubin Observatory LSST photometric surveys. These high-performance irregular time series processing tools are written in Rust and Python.

[ascl:2107.002] ROA: Running Optimal Average

ROA (Running Optimal Average) describes time series data. This model uses a Gaussian window function that moves through the data giving stronger weights to points close to the center of the Gaussian. Therefore, the width of the window function, delta, controls the flexibility of the model, with a small delta providing a very flexible model. The function also calculates the effective number of parameters, as a very flexible model will correspond to large number of parameters while a rigid model (low delta) has a low effective number of parameters. Knowing the effective number of parameters can be used to optimize the window width, e.g., using the Bayesian information criterion (BIC). An error envelope, which expands appropriately where there are gaps in the data, is also calculated for the model.

[ascl:2107.003] PMN-body: Particle Mesh N-body code

PMN-body computes the non-linear evolution of the cosmological matter density contrast. It is based on the Particle Mesh (PM) technique. Written in C, the code is parallelized for shared-memory machines using Open Multi-Processing (OpenMP).

[ascl:2107.004] FoF-Halo-finder: Halo location and size

FoF-Halo-finder identifies the location and size of collapsed objects (halos) within a cosmological simulation box. These halos are the host for the luminous objects in the Universe. Written in C, it is based on the friends-of-friends (FoF) algorithm, and is designed to work with PMN-body (ascl:2107.003).

[ascl:2107.005] ReionYuga: Epoch of Reionization neutral Hydrogen field generator

The C code ReionYuga generates the Epoch of Reionization (EoR) neutral Hydrogen (HI) field (successively the redshifted 21-cm signal) within a cosmological simulation box using semi-numerical techniques. The code is based on excursion set formalism and uses a three parameter model. It is designed to work with PMN-body (ascl:2107.003) and FoF-Halo-finder (ascl:2107.004).

[ascl:2107.006] snmachine: Photometric supernova classification

snmachine reads in photometric supernova light curves, extracts useful features from them, and subsequently performs supervised machine learning to classify supernovae based on their light curves. This python library is also flexible enough to easily extend to general transient classification.

[ascl:2107.007] Skymapper: Mapping astronomical survey data on the sky

Skymapper maps astronomical survey data from the celestial sphere onto 2D using a collection of matplotlib instructions. It facilitates interactive work as well as the creation of publication-quality plots with a python-based workflow many astronomers are accustomed to. The primary motivation is a truthful representation of samples and fields from the curved sky in planar figures, which becomes relevant when sizable portions of the sky are observed.

[ascl:2107.008] nimbus: A Bayesian inference framework to constrain kilonova models

nimbus is a hierarchical Bayesian framework to infer the intrinsic luminosity parameters of kilonovae (KNe) associated with gravitational-wave (GW) events, based purely on non-detections. This framework makes use of GW 3-D distance information and electromagnetic upper limits from a given survey for multiple events, and self-consistently accounts for finite sky-coverage and probability of astrophysical origin.

[ascl:2107.009] Balrog: Astronomical image simulation

The Balrog package of Python simulation code is for use with real astronomical imaging data. Objects are simulated into a survey's images and measurement software is run over the simulated objects' images. Balrog allows the user to derive the mapping between what is actually measured and the input truth. The package uses GalSim (ascl:1402.009) for all object simulations; source extraction and measurement is performed by SExtractor (ascl:1010.064). Balrog facilitates the ease of running these codes en masse over many images, automating useful GalSim and SExtractor functionality, as well as filling in many bookkeeping steps along the way.

[ascl:2107.010] SpArcFiRe: SPiral ARC FInder and REporter

SpArcFiRe takes as input an image of a galaxy in FITS, JPG, or PNG format, identifies spiral arms, and extracts structural information about the spiral arms. Pixels in each arm segment are listed, enabling image analysis on each segment. The automated method also performs a least-squares fit of a logarithmic spiral arc to the pixels in that segment, giving per-arc parameters, such as the pitch angle, arm segment length, and location, and outputs images showing the steps SpArcFire took to detect arm segments.

[ascl:2107.011] AlignBandColors: Inter-color-band image alignment tool

AlignBandColors (ABC) aligns inter-color-band astronomical images to a 100th of a pixel accuracy using surrounding stars as guiding points. It has currently been tested with Sloan Digital Sky Survey (SDSS) Data Release 12 images, but is designed to be survey-independent. The code is part of the SpArcFiRe (ascl:2107.010) method.

[ascl:2107.012] PyROA: Modeling quasar light curves

PyROA models quasar light curves where the variability is described using a running optimal average (ROA), and parameters are sampled using Markov Chain Monte Carlo (MCMC) techniques using emcee (ascl:1303.002). Using a Bayesian approach, priors can be used on the sampled parameters. Currently it has three main uses: 1.) Determining the time delay between lightcurves at different wavelengths; 2.) Intercalibrating light curves from multiple telescopes, merging them into a single lightcurve; and 3.) Determining the time delay between images of lensed quasars, where the microlensing effects are also modeled. PyROA also includes a noise model, where there is a parameter for each light curve that adds extra variance to the flux measurments, to account for underestimated errors; this can be turned off if required. Example jupyter notebooks that demonstrate each of the three main uses of the code are provided.

[ascl:2107.013] GUBAS: General Use Binary Asteroid Simulator

GUBAS (General Use Binary Asteroid Simulator) predicts binary asteroid system behaviors by implementing the Hou 2016 realization of the full two-body problem (F2BP). The F2BP models binary asteroid systems as two arbitrary mass distributions whose mass elements interact gravitationally and result in both gravity forces and torques. To account for these mass distributions and model the mutual gravity of the F2BP, GUBAS computes the inertia integrals of each body up to a user defined expansion order. This approach provides a recursive expression of the mutual gravity potential and represents a significant decrease in the computational burden of the F2BP when compared to other methods of representing the mutual potential.

[ascl:2107.014] Skylens++: Simulation package for optical astronomical observations

Skylens++ implements a Layer-based raytracing framework particularly well-suited for realistic simulations of weak and strong gravitational lensing. Source galaxies can be drawn from analytic models or deep space-based imaging. Lens planes can be populated with arbitrary deflectors, typically either from N-body simulations or analytic lens models. Both sources and lenses can be placed at freely configurable positions into the light cone, in effect allowing for multiple source and lens planes.

[ascl:2107.015] shapelens: Astronomical image analysis and shape estimation framework

The shapelens C++ library provides ways to load galaxies and star images from FITS files and catalogs and to analyze their morphology. The main purpose of this library is to make several weak-lensing shape estimators publicly available. All of them are based on the moments of the brightness distribution. The estimators include DEIMOS, for analytic deconvolution in moment space, DEIMOSElliptical, a practical implemention of DEIMOS with an automatically matched elliptical weight function, DEIMOSCircular, which is identical to DEIMOSElliptical but with a circular weight function, and others.

[ascl:2107.016] shear-stacking: Stacked shear profiles and tests based upon them

shear-stacking calculates stacked shear profiles and tests based upon them, e.g. consistency for different slices of lensed background galaxies. The basic concept is that the lensing signal in terms of surface mass density (instead of shear) should be entirely determined by the properties of the lens sample and have no dependence on source galaxy properties.

[ascl:2107.017] PyCactus: Post-processing tools for Cactus computational toolkit simulation data

PyCactus contains tools for postprocessing data from numerical simulations performed with the Einstein Toolkit, based on the Cactus computational toolkit. The main package is PostCactus, which provides a high-level Python interface to the various data formats in a simulation folder. Further, the package SimRep allows the automatic creation of html reports for a simulation, and the SimVideo package allows the creation of movies visualizing simulation data.

[ascl:2107.018] ART: A Reconstruction Tool

ART reconstructs log-probability distributions using Gaussian processes. It requires an existing MCMC chain or similar set of samples from a probability distribution, including the log-probabilities. Gaussian process regression is used for interpolating the log-probability for the rescontruction, allowing for easy resampling, importance sampling, marginalization, testing different samplers, investigating chain convergence, and other operations.

[ascl:2107.019] PlaSim: Planet Simulator

PlaSim is a climate model of intermediate complexity for Earth, Mars and other planets. It is written for a university environment, to be used to train the next GCM (general circulation model) developers, to support scientists in understanding climate processes, and to do fundamental research. In addition to an atmospheric GCM of medium complexity, PlaSim includes other compartments of the climate system such as, for example, an ocean with sea ice and a land surface with a biosphere. These other compartments are reduced to linear systems. In other words, PlaSim consists of a GCM with a linear ocean/sea-ice module formulated in terms of a mixed layer energy balance. The soil/biosphere module is introduced analoguously. Thus, working with PlaSim is like testing the performance of an atmospheric or oceanic GCM interacting with various linear processes, which parameterize the variability of the subsystems in terms of their energy (and mass) balances.

[ascl:2107.020] Chem-I-Calc: Chemical Information Calculator

Chem-I-Calc evaluates the chemical information content of resolved star spectroscopy. It takes advantage of the Fisher information matrix and the Cramér-Rao inequality to quickly calculate the Cramér-Rao lower bounds (CRLBs), which give the best theoretically achievable precision from a set of observations.

[ascl:2107.021] RePrimAnd: Recovery of Primitives And EOS framework

The RePrimAnd library supports numerical simulations of general relativistic magnetohydrodynamics. It provides methods for recovering primitive variables such as pressure and velocity from the variables evolved in quasi-conservative formulations. Further, it provides a general framework for handling matter equations of state (EOS). Python bindings are automatically built together with the library, provided a Python3 installation containing the pybind11 package is detected. RePrimAnd also provides an (experimental) thorn that builds the library within an Einstein Toolkit (ascl:1102.014) environment using the ExternalLibraries mechanism.

[ascl:2107.022] Kd-match: Correspondences of objects between two catalogs through pattern matching

Kd-match matches stellar catalogs for which the transformation between the coordinate systems of the two catalogs is unknown and might include shearing. The code uses the ratio of sides as the invariant under a coordinate transformation and searches for several triangles with similar transformations by building quadrilaterals from sets of four objects in each catalog and calculating the ratio of areas of the triangles that comprise the quadrilaterals. The k-d tree accelerates this quadrilateral search dramatically and is significantly faster than the customary direct search over triangles.

[ascl:2107.023] cosmic_variance: Cosmic variance calculator

cosmic_variance calculates the cosmic variance during the Epoch of Reionization (EoR) for the UV Luminosity Function (UV LF), Stellar Mass Function (SMF), and Halo Mass Function (HMF). The three functions in the package provide the output as the cosmic variance expressed in percentage. The code is written in Python, and simple examples that show how to use the functions are provided.

[ascl:2107.024] K2-CPM: Causal Pixel Model for K2 data

K2-CPM captures variability while preserving transit signals in Kepler data. Working at the pixel level, the model captures very fine-grained information about the variation of the spacecraft. The CPM models the systematic effects in the time series of a pixel using the pixels of many other stars and the assumption that any shared signal in these causally disconnected light curves is caused by instrumental effects. The target star's future and past are used and the data points are separated into training and test sets to ensure that information about any transit is perfectly isolated from the model. The method has four tuning parameters, the number of predictor stars or pixels, the autoregressive window size, and two L2-regularization amplitudes for model components, and consistently produces low-noise light curves.

[ascl:2107.025] MCPM: Modified CPM method

MCPM extracts K2 photometry in dense stellar regions; the code is a modification and extension of the K2-CPM package (ascl:2107.024), which was developed for less-crowded fields. MCPM uses the pixel response function together with accurate astrometric grids, combining signals from a few pixels, and simultaneously fits for an astrophysical model to produce extracted more precise K2 photometry.

[ascl:2107.026] K2mosaic: Mosaic Kepler pixel data

K2mosaic stitches the postage stamp-sized pixel masks obtained by NASA's Kepler and K2 missions together into CCD-sized mosaics and movies. The command-line tool's principal use is to take a set of Target Pixel Files (TPF) and turn them into more traditional FITS image files -- one per CCD channel and per cadence. K2mosaic can also be used to create animations from these mosaics. The mosaics produced by K2mosaic also makes the analysis of certain Kepler/K2 targets, such as clusters and asteroids, easier. Moreover such mosaics are useful to reveal the context of single-star observations, e.g., they enable users to check for the presence of instrumental noise or nearby bright objects.

Would you like to view a random code?