def stocking_event_dict(db):
    """return a dictionary representing a complete, valid upload event.
    This dictionary is used directly to represent a stocking event, or
    is modified to verify that invalid data is handled appropriately.

    """

    event_dict = {
        "stock_id": None,
        "lake": "HU",
        "state_prov": "ON",
        "year": 2015,
        "month": 4,
        "day": 20,
        "site": "Barcelona",
        "st_site": None,
        "latitude": 44.5,
        "longitude": -81.5,
        "grid": "214",
        "stat_dist": "NC2",
        "species": "LAT",
        "strain": "SLW",
        "no_stocked": 18149,
        "year_class": 2014,
        "stage": "y",
        "agemonth": 18,
        "mark": "ADCWT",
        "mark_eff": 99.5,
        "tag_no": 640599,
        "tag_ret": 99,
        "length": 107.44,
        "weight": 563.8153159,
        "condition": 1,
        "lot_code": "LAT-SLW-13",
        "stock_meth": "b",
        "agency": "MNRF",
        "notes": "FIS ID = 73699",
        # new
        "hatchery": "CFCS",
        "agency_stock_id": "P1234",
    }

    return event_dict