ASCL.net

Astrophysics Source Code Library

Making codes discoverable since 1999

Browsing Codes

Order
Title Date
 
Mode
Abstract Compact
Per Page
50100250All
[ascl:2311.009] Hi-COLA: Cosmological large-scale structure simulator for Horndeski theories

Hi-COLA runs fast approximate N-body simulations of non-linear structure formation in reduced Horndeski gravity (Horndeski theories with luminal gravitational waves). It is generic with respect to the reduced Horndeski class. Given an input Lagrangian, Hi-COLA's front-end dynamically constructs the appropriate field equations and consistently solves for the cosmological background, linear growth, and screened fifth force of that theory. This is passed to the back-end, which runs a hybrid N-body simulation at significantly reduced computational and temporal cost compared to traditional N-body codes. By analyzing the particle snapshots, one can study the formation of structure through statistics such as the matter power spectrum.

[ascl:2311.008] IQRM: IQRM interference flagging algorithm for radio pulsar and transient searches

IQRM implements the Inter-Quartile Range Mitigation (IQRM) interference flagging algorithm for radio pulsar and transient searches. This module provides only the algorithm that infers a channel mask from some spectral statistic that measures the level of RFI contamination in a time-frequency data block. It should be useful as a reference implementation to developers who wish to integrate IQRM into an existing pipeline or search code.

[ascl:2311.007] tensiometer: Test a model until it breaks

Tensiometer provides non-Gaussian tension estimators that extend GetDist (ascl:1910.018) capabilities to test the level of agreement or disagreement between different posterior distributions by using kernel density estimates. The code has been used to study the level of internal agreement between different measurements of the clustering of cosmological structures from the Dark Energy Survey and the Planck satellite.

[ascl:2311.006] MONDPMesh: Particle-mesh code for Milgromian dynamics

MONDPMesh provides a particle-mesh method to calculate the time evolution of an system of point masses under modified gravity, namely the AQUAL formalism. This is done by transforming the Poisson equation for the potential into a system of four linear PDEs, and solving these using fast Fourier transforms. The accelerations on the point masses are calculated from this potential, and the system is propagated using Leapfrog integration. The time complexity of the code is O(N⋅p⋅log(p)) for p pixels and N particles, which is the same as for a Newtonian particle-mesh code.

[ascl:2311.005] NEOexchange: Target and Observation Manager for the Solar System

The NEOexchange web portal and Target and Observation Manager ingests solar system objects, including Near-Earth Object (NEO) candidates from the Minor Planet Center, schedules observations on the Las Cumbres Observatory global telescope network and reduces, displays, and analyzes the resulting data. NEOexchange produces calibrated photometry from the imaging data and uses Source Extractor (ascl:1010.064) and SCAMP (ascl:1010.063) to perform object detection and astrometric fitting and calviacat (ascl:2207.015) to perform photometric calibration against photometric catalogs. It also has the ability to perform image registration and subtraction using SWARP (ascl:1010.068) and HOTPANTS (ascl:1504.004) and image stacking, alignment, and faint feature detection using gnuastro (ascl:1801.009).

[ascl:2311.004] KvW: Modified Kwee–Van Woerden method for eclipse minimum timing with reliable error estimates

The KvW code applies the Kwee Van Woerden (KvW) method for eclipse or transit minimum timing, with an improved error calculation that avoids underestimated errors in minimum times that may appear in the original method. This is particularly the case for low-noise eclipse or transit lightcurves from space or from modern ground instrumentation. The code requires an input light curve of near-equidistant points that contains only the eclipse, without any off-eclipse points, and is available in python and IDL. Both implementaitons return an eclipse minimum time with its error and provide optional text output and plots, as well as several levels of debug information.

[submitted] atlas-fit

atlas-fit is a python tool to amend the results of [spectroflat] with calibration against a solar atlas. I.e., data for wavelength calibration and continuum-correction is genereted from flat field information and selected solar atlantes

[submitted] spectroflat

Spectroflat is a generic python calibration library for spectro-polarimetric data. It can be plugged into existing python based data reduction pipelines or used as a standalone calibration and performance ananlzsis tool.
It includes smile distortion correction and flat field extraction.

[submitted] CRPropa 3.2

The landscape of high- and ultra-high-energy astrophysics has changed in the last decade, largely due to the inflow of data collected by large-scale cosmic-ray, gamma-ray, and neutrino observatories. At the dawn of the multimessenger era, the interpretation of these observations within a consistent framework is important to elucidate the open questions in this field. CRPropa 3.2 is a Monte Carlo code for simulating the propagation of high-energy particles in the Universe. This version represents a major leap forward, significantly expanding the simulation framework and opening up the possibility for many more astrophysical applications. This includes, among others: efficient simulation of high-energy particles in diffusion-dominated domains, self-consistent and fast modelling of electromagnetic cascades with an extended set of channels for photon production, and studies of cosmic-ray diffusion tensors based on updated coherent and turbulent magnetic-field models. Furthermore, several technical updates and improvements are introduced with the new version, such as: enhanced interpolation, targeted emission of sources, and a new propagation algorithm (Boris push). The detailed description of all novel features is accompanied by a discussion and a selected number of example applications.

[ascl:2311.003] Special-Blurring: Compare quantum-spacetime foam models to GRB localizations

The IDL code Special-Blurring compares models of quantum-foam-induced blurring with the full dataset of gamma-ray burst localizations available from the NASA High Energy Astrophysics Science Research Archive (as of 1 November 2022). This includes GRB221009A, which was especially bright and detected in extremely high energy TeV gamma-rays. An upper limit of the parameter alpha (giving the maximal strength of quantum blurring) can be entered, which is scaled in the model of blurring (called "Phi") operating much like "seeing" from the ground in the optical, and those calculations are plotted against the observations.

[ascl:2311.002] VCAL-SPHERE: Hybrid pipeline for reduction of VLT/SPHERE data

VCAL-SPHERE, for VIP-based Calibration of VLT/SPHERE data, is a versatile pipeline for high-contrast imaging of exoplanets and circumstellar disks. The pipeline covers all steps of data reduction, including raw calibration, pre-processing and post-processing (i.e., modeling and subtraction of the stellar halo), for the IFS, IRDIS-DBI and IRDIS-CI modes (and combinations thereof) of the VLT instrument SPHERE. The three main steps of the reduction correspond to different modules, where the first follows the recommended EsoRex (ascl:1504.003) workflow and associated recipes with occasional inclusion of VIP (ascl:1603.003) routines (e.g., for PCA-based sky subtraction), while the other two stages fully rely on the VIP toolbox. Although the default parameters of the pipeline should yield a good reduction in most cases, these can be tuned using JSON parameter files for each stage of the pipeline for optimal reduction of specific datasets.

[ascl:2311.001] wcpy: Wavelength Calibrator

The graphical user interface Wavelength Calibrator facilitates wavelength calibration. Although developed for astronomical data reduction, it can also be used in any place where wavelength calibration is needed.

[ascl:2310.012] GRIZZLY: 1D radiative transfer code

GRIZZLY simulates reionization using a 1D radiative transfer scheme. The code enables the efficient exploration of the parameter space for evaluating 21cm brightness temperature fluctuations near the cosmic dawn. GRIZZLY builds upon the BEARS algorithm for generating simulated reionization maps with density and velocity fields, which are useful for profiling dark matter halos and cosmological density fields.

[ascl:2310.011] AI-Feynman: Symbolic regression algorithm

AI-Feynman fits analytical expressions to data sets via symbolic regression, mapping the target variable to different features supplied in the data array. Using a neural network with constraints in the number of parameters utilized, the code provides the ability to obtain analytical expressions for normalized features that are used to predict a Pareto-optimal target. AI-Feynman is robust in handling noisy data, recursively generating multidimensional symbolic expressions that match data from an unknown functions.

[ascl:2310.010] riptide: Pulsar searching with the Fast Folding Algorithm

riptide implements the Fast Folding Algorithm (FFA) to identify periodic signals from time series data. In order to identify faint pulsars, the code provides access to a library of functions and classes for processing dedispersed radio signals. The FFA approaches the theoretical optimum for sensitivity to periodic signals regardless of pulse period and duty cycle.

[ascl:2310.009] IQRM-APOLLO: Clean narrow-band RFI using Inter-Quartile Range Mitigation (IQRM) algorithm

IQRM-APOLLO cleans narrow-band radio frequency interference (RFI) using the Inter-Quartile Range Mitigation (IQRM) algorithm. By masking this interference, the code reduces the number of false positive pulsar candidates and increases sensitivity for pulsar detection. The IQRM algorithm is an outlier detection algorithm that is both non-parametric and robust to the presences of trends in time series data. Using short-duration data blocks, IQRM-APOLLO computes a spectral statistic that correlates with the presence of RFI, removing high outliers from the input signal.

[ascl:2310.008] clfd: Clean folded data

clfd (clean folded data) implements GPU-accelerated smart interference removal algorithms to be used on folded pulsar search and pulsar timing data. The code converts each source profile to a small set of representative features, flagging outliers in the resulting feature space. clfd further visualizes the outlier flagging process, as well as the resulting two-dimensional time-frequency mask that is applied to the clean archive. The code provides access to cleaning algorithms that were initially developed for the High Time Resolution Universe (HTRU) survey which found several pulsars.

[ascl:2310.007] zCluster: Measure photometric redshifts for galaxy clusters

zCluster measures galaxy cluster photometric redshifts using data from broadband photometry in large public surveys, given a priori knowledge of the cluster position. The code retrieves and uses redshift probability distributions in order to create a projected two-dimensional density map of a targeted galaxy cluster, which is later convolved with a Gaussian kernel to smooth the map. zCluster also produces photometric redshift estimates and galaxy density maps for any point in the sky using the included zField tool.

[ascl:2310.006] MAGPy-RV: Gaussian Process regression pipeline with MCMC parameter searching

MAGPy-RV (Modelling stellar Activity with Gaussian Processes in Radial Velocity) models data with Gaussian Process regression and affine invariant Monte Carlo Markov Chain parameter searching. Developed to model intrinsic, quasi-periodic variations induced by the host star in radial velocity (RV) surveys for the detection of exoplanets and the accurate measurements of their orbital parameters and masses, it now includes a variety of kernels and models and can be applied to any timeseries analysis. MAGPy-RV includes publication level plotting, efficient posterior extraction, and export-ready LaTeX results tables. It also handles multiple datasets at once and can model offsets and systematics from multiple instruments. MAGPy-RV requires no external dependencies besides basic python libraries and corner (ascl:1702.002).

[ascl:2310.005] DustPyLib: A library of DustPy extensions

The DustPyLib library contains auxiliary modules for the dust evolution software DustPy (ascl:2207.016), which simulates the evolution of dust and gas in protoplanetary disks. DustPyLib includes interfaces to radiative transfer codes and modules with extensions to the DustPy defaults.

[ascl:2310.004] q3dfit: PSF decomposition and spectral analysis for JWST-IFU spectroscopy

q3dfit performs PSF decomposition and spectral analysis for high dynamic range JWST IFU observations, allowing the user to create science-ready maps of relevant spectral features. The software takes advantage of the spectral differences between quasars and their host galaxies for maximal-contrast subtraction of the quasar point-spread function (PSF) to reveal and characterize the faint extended emission of the host galaxy. Host galaxy emission is carefully fit with a combination of stellar continuum, emission and absorption of dust and ices, and ionic and molecular emission lines.

[ascl:2310.003] wwz: Weighted wavelet z-transform code

wwz provides a python3 implementation of the Foster weighted wavelet z-transform, a wavelet-based method for periodicity analysis of unevenly sampled data.

[ascl:2310.002] lcsim: Light curve simulation code

lcsim creates artificial light curves using two algorithms. The first simulates Gaussian distributed light curves following a specific power spectral density (PSD) freely selectable by the user. The second algorithm simulates light curves following a specific PSD and matching a specific probability density function (PDF). The package provides methods to resample the simulated light curves and add "observational" noise. Furthermore, the package provides an interface to a SQLite3-based database to store and access the simulations.

[ascl:2310.001] celerite2: Fast and scalable Gaussian Processes in one dimension

celerite2 is a re-write of celerite (ascl:1709.008), an algorithm for fast and scalable Gaussian Process (GP) Regression in one dimension. celerite2 improves numerical stability and integration with various machine learning frameworks. The implementation includes interfaces in Python and C++, with full support for PyMC (ascl:1610.016) and JAX (ascl:2111.002).

[ascl:2309.020] PlanetSlicer: Orange-slice algorithm for fitting brightness maps to phase curves

PlanetSlicer fits brightness maps to phase curves using the "orange-slice" method and works both for self-luminous objects and those that diffuse reflected light assuming Lambertian reflectance. In both cases, the model supposes that a spherical object can be divided into slices of constant brightness (or albedo) which may be integrated to yield the total flux observed, given the angles of observation. The package contains two key functions: toPhaseCurve and fromPhaseCurve; the former integrates the brightness for each slice to calculate the observed total flux from the object, given the longitude of observation. The latter does the opposite, estimating the brightness of the slices from a set of observed total flux (the phase curve).

[ascl:2309.019] FRISBHEE: FRIedmann Solver for Black Hole Evaporation in the Early-universe

FRISBHEE (FRIedmann Solver for Black Hole Evaporation in the Early-universe solves the Friedmann - Boltzmann equations for Primordial Black Holes + SM radiation + BSM Models. Considering the collapse of density fluctuations as the PBH formation mechanism, the code handles monochromatic and extended mass and spin distributions. FRISBHEE can return the full evolution of the PBH, SM and Dark Radiation comoving energy densities, together with the evolution of the PBH mass and spin as a function of the log10 at scale factor, and can determine the relic abundance in the case of Dark Matter produced from BH evaporation for monochromatic and extended distributions.

[ascl:2309.018] Sprout: Moving mesh finite volume hydro code

The finite volume hydro code Sprout uses a simple expanding Cartesian grid to track outflows for several orders of magnitudes in expansion. It captures shocks whether they are aligned or misaligned with the grid, and provides second-order convergence for smooth flows. The code's expanding mesh capability reduces numerical diffusion drastically for outflows, especially when the analytic nature of the bulk flow is known beforehand. Sprout can be used to study fluid instabilities in expanding flows, such as in SN explosions and jets; it resolves fine fluid structures at small length scales and expand the mesh gradually as the structures grow.

[ascl:2309.017] ChEAP: Chemical Evolution Analytic Package

ChEAP (Chemical Evolution Analytic Package) implements an analytic solution for the chemical evolution model of the Galaxy that extends the instantaneous recycling approximation with the contribution of Type Ia SNe. The code works for different prescriptions of the delay time distributions (DTDs), including the single and double degenerate scenarios, and allows the inclusion of an arbitrary number of pristine gas infalls. The required functions are contained in the CheapTools.py file, which is imported as a Python library. ChEAP also includes code to illustrate, with a random-parameter chemical evolution model, the accuracy of this analytic solution compared to one using numerical integration.

[ascl:2309.016] PEREGRINE: Gravitational wave parameter inference with neural ration estimation

PEREGRINE performs full parameter estimation on gravitational wave signals. Using an internal Truncated Marginal Neural Ratio Estimation (TMNRE) algorithm and building upon the swyft (ascl:2302.016) code to efficiently access marginal posteriors, PEREGRINE conducts a sequential simulation-based inference approach to support the analysis of both transient and continuous gravitational wave sources. The code can fully reconstruct the posterior distributions for all parameters of spinning, precessing compact binary mergers using waveform approximants.

[ascl:2309.015] bskit: Bispectra from cosmological simulation snapshots

bskit, built upon the nbodykit (ascl:1904.027) simulation analysis package, measures density bispectra from snapshots of cosmological N-body or hydrodynamical simulations. It can measure auto or cross bispectra in a user-specified set of triangle bins (that is, triplets of 3-vector wavenumbers). Several common sets of bins are also implemented, including all triangle bins for specified k_min and k_max, equilateral triangles between specified k_min and k_max, isosceles triangles, and squeezed isosceles triangles.

[ascl:2309.014] fitScalingRelation: Fit galaxy cluster scaling relations using MCMC

fitScalingRelation fits galaxy cluster scaling relations using orthogonal or bisector regression and MCMC. It takes into account errors on both variables and intrinsic scatter. Although it geared for fitting galaxy cluster scaling relations of all kinds, it can be used for any kind of regression problem with errors on both variables and intrinsic scatter.

[ascl:2309.013] maszcal: Mass calibrations for thermal-SZ clusters

maszcal calibrates the observable-mass relation for galaxy clusters, with a focus on the thermal Sunyaev-Zeldovich signal's relation to mass. maszcal explicitly models baryonic matter density profiles, differing from most previous approaches that treat galaxy clusters as purely dark matter. To do this, it uses a generalized Nararro-Frenk-White (GNFW) density to represent the baryons, while using the more typical NFW profile to represent dark matter.

[ascl:2309.012] StarbugII: JWST PSF photometry for crowded fields

The python photometry suite StarbugII provides accurate photometry on point-like sources embedded in complex diffuse emissions. The tool has a simple modular interface with a wide range of photometric routines including embedded source detection, aperture and PSF photometry, diffuse background emission estimation, catalog matching and artificial star testing. The core is built around Photutils (ascl:1609.011).

[ascl:2309.011] PCOSTPD: Periodogram Comparison for Optimizing Small Transiting Planet Detection

The Periodogram Comparison for Optimizing Small Transiting Planet Detection R code compares two periodogram algorithms for detecting transiting exoplanets: the Box-fitting Least Squares (BLS) and the Transit Comb Filter (TCF). It calculates the False Alarm Probability (FAP) based on extreme value theory and signal-to-noise ratio (SNR) metrics to quantify periodogram peak significance. The comparison approach is aimed at optimizing the detection of small transiting planets in future transiting exoplanet surveys. The code can be extended for comparing any set of periodograms.

[ascl:2309.010] pymccorrelation: Correlation coefficients with uncertainties

pymccorrelation calculates correlation coefficients for data, using bootstrapping and/or perturbation to estimate the uncertainties on the correlation coefficient and p-value. The code supports Pearson's r, Spearman's rho, and Kendall's tau. Calculations of Kendall's tau additionally support censored data. This code supercedes and expands the deprecated code pymcspearman (ascl:2309.009).

[ascl:2309.009] pymcspearman: Monte carlo calculation of Spearman's rank correlation coefficient with uncertainties

pymcspearman is a python implementation of MCSpearman (ascl:1504.008) and calculates Spearman's rank correlation coefficient for data, using bootstrapping and/or perturbation to estimate the uncertainties on the correlation coefficient. This software project has migrated (and expanded) to pymccorrelation (ascl:2309.010).

[submitted] INSPECTA: INtegrated SDHDF Processing Engine in C for Telescope data Analysis

INSPECTA (formerly sdhdfProc) is a software package to read, manipulate and process radio astronomy data in Spectral-Domain Hierarchical Data Format (SDHDF). It is available as part of the 'sdhdf_tools' repository.

[submitted] A pseudo GUI with pyplot

Working with a GUI, or adding interaction in plotting, will help a lot in data analysis. However, the common GUI of Python is OS-dependent, while manually adding interactive codes is too complex. A pseudo-GUI tool is introduced in this work. It will help to add buttons/checkers in the graph and assign callback functions to them. The remaining problem is that the documents in this package are in Chinese and will be in English in the next version. This program is published to the PyPI, and can be installed by 'pip install pltgui'.

[submitted] qmatch: Some astronomical image matching programs

Matching stars in astronomical images is an essential step in data reduction. This work includes some matching programs implemented by Python: simple matching, fast matching, and triangle matching. For two catalogs with m and n objects, the simple method has a time and space complexity of O(m*n) but is fast for fewer n or m. The time complexity of the fast method is O(mlogm+nlogn). The triangle method will work between rotated and scaled images. All methods are applied in pipelines and work well. This package is published to the PyPI with the name 'qmatch'.

[submitted] LOFAR H5plot

Calibration solutions for the LOFAR radio telescope are stored in a 5-dimensional (time, frequency, station, polarisation and direction in the sky) HDF5 table. H5plot is a GUI application focussing on interactive visual inspection of these calibration solutions.

[ascl:2309.008] PI: Plages Identification

Plages Identification identifies solar plages from Ca II K photographic observations irrespective of noise level, brightness, and other image properties. The code provides an efficient, reliable method for identifying solar plages. The output of the algorithm is an image highlighting the plages and the calculated plage index. Plages Identification is also deployed as a webapp, allowing users to experiment with different hyperparameters and visualize their impact on the output image in real time.

[ascl:2309.007] MATRIX: Multi-phAse Transits Recovery from Injected eXoplanets toolkit

The injection-recovery MATRIX (Multi-phAse Transits Recovery from Injected eXoplanets) Toolkit creates grids of scenarios with a set of periods, radii, and epochs of synthetic transiting exoplanet signals in a provided light curve. Typical injection-recovery executions consist of 2-dimensional scenarios, where only one epoch (random or hardcoded) was used for each period and radius, which may reduce accuracy. MATRIX performs multi-phase analyses needing only a few parameters in a configuration file and running one line of code.

[ascl:2309.006] CoLFI: Cosmological Likelihood-Free Inference

CoLFI (Cosmological Likelihood-Free Inference) estimates parameters directly from the observational data sets using neural density estimators (NDEs); it is a fully ANN-based framework that differs from the Bayesian inference. The package contains three NDEs that are used to estimate parameters: an artificial neural network (ANN), a mixture density network (MDN), and a mixture neural network (MNN). CoLFI can learn the conditional probability density using samples generated by models, and the posterior distribution can be obtained for given observational data.

[ascl:2309.005] DeepGlow: Neural network emulator for BOXFIT

The feed-forward neural network DeepGlow emulates BOXFIT (ascl:2306.059) simulation data of gamma-ray burst (GRB) afterglows. The package provides an easy interface to generate GRB afterglow spectra and light curves mimicking those generated through BOXFIT with high accuracy. The code used to generate the training data and to train the neural networks is also included.

[ascl:2309.004] GWSim: Mock gravitational waves event generator

GWSim generates mock gravitational waves (GW) events corresponding to different binary black holes (BBHs) population models. It can incorporate scenarios of GW mass models, GW spin distributions, the merger rate, and the cosmological parameters. GWSim generates samples of binary compact objects for a fixed amount of observation time, duty cycle, and configurations of the detector network; the universe created by the code is uniform in comobile volume.

[ascl:2309.003] Swiftbat: Utilities for handing BAT instrument data from the Neil Gehrels Swift Observatory

Swiftbat retrieves, analyzes, and displays data from NASA's Swift spacecraft, especially data from the Swift Burst Alert Telescope (BAT). All BAT data are available from the Swift data archive; however, a few routines in this library use data access methods not available to the general public and thus are useful only to Swift team members. The package also installs a command-line program 'swinfo' that provides Swift Information such as what the MET (onboard-clock) time is, where Swift was pointing, and whether a specific source was above the horizon and/or in the field of view.

[ascl:2309.002] UBHM: Uncertainty quantification of black hole mass estimation

Uncertain_blackholemass predicts virial black hole masses using a neural network model and quantifies their uncertainties. The scripts retrieve data and run feature extraction and uncertainty quantification for regression. They can be used separately or deployed to existing machine learning methods to generate prediction intervals for the black hole mass predictions.

[ascl:2309.001] TRES: TRiple Evolution Simulation package

TRES simulates hierarchical triple systems with stellar and planetary components, including stellar evolution, stellar winds, tides, general relativistic effects, mass transfer, and three-body dynamics. It combines stellar evolution and interactions with three-body dynamics in a self-consistent way. The code includes the effects of common-envelope evolution, circularized stable mass transfer, tides, gravitational wave emission and up-to-date stellar evolution through SeBa (ascl:1201.003). Other stellar evolution codes, such as SSE (ascl:1303.015), can also be used. TRES is written in the AMUSE (ascl:1107.007) software framework.

[ascl:2308.015] FishLSS: Fisher forecasting for Large Scale Structure surveys

FishLSS computes the Fisher information matrix for a set of observables and model parameters. It can model the redshift-space power spectrum of any biased tracer of the CDM+baryon field and the post-reconstruction galaxy power spectrum. The code also models the projected cross-correlation of galaxies with the CMB lensing convergence, the projected galaxy power spectrum, and the CMB lensing convergence power spectrum. FishLSS requires pyFFTW (ascl:2109.009), velocileptors (ascl:2308.014), and CLASS (ascl:1106.020).

[ascl:2308.014] velocileptors: Velocity-based Lagrangian and Eulerian PT expansions of redshift-space distortions

velocileptors computes the real- and redshift-space power spectra and correlation functions of biased tracers using 1-loop perturbation theory (with effective field theory counter terms and up to cubic biasing) as well as the real-space pairwise velocity moments. It provides simple computation of the power spectrum wedges or multipoles, and uses a reduced set of parameters for computing the most common case of the redshift-space power spectrum. In addition, velocileptors offers two "direct expansion" modules available in LPT and EPT.

Would you like to view a random code?