  Photometric rotational modulations due to starspots remain the most common
and accessible way to study stellar activity. In the Kepler-era, there now
exists precise, continuous photometry of ~150,000 stars presenting an
unprecedented opportunity for statistical analyses of these modulations.
Modelling rotational modulations allows one to invert the observations into
several basic parameters, such as the rotation period, spot coverage, stellar
inclination and differential rotation rate. The most widely used analytic model
for this inversion comes from Budding (1977) and Dorren (1987), who considered
circular, grey starspots for a linearly limb darkened star. In this work, we
extend the model to be more suitable in the analysis of high precision
photometry, such as that by Kepler. Our new freely available Fortran code,
macula, provides several improvements, such as non-linear limb darkening of the
star and spot, a single-domain analytic function, partial derivatives for all
input parameters, temporal partial derivatives, diluted light compensation,
instrumental offset normalisations, differential rotation, starspot evolution
and predictions of transit depth variations due to unocculted spots. Through
numerical testing, we find that the inclusion of non-linear limb darkening
means macula has a maximum photometric error an order-of-magnitude less than
that of Dorren (1987), for Sun-like stars observed in the Kepler-bandpass. The
code executes three orders-of-magnitude faster than comparable numerical codes
making it well-suited for inference problems.
