PMOD: A flexible model of oil and gas generation, cracking, and expulsion. Revision 1