That model statement probably is not what you want to do, as it restricts the inference space to only those members of the fixed effects, and ignores any interaction between factor1 or factor2 and the added covariates.
However, given the field you are working in, I would prefer to treat sire and dam as random effects, as they are likely representative of the population, and in other studies, handled as normal(0, variance of sire or dam). If you are able to accept that, then the following code may be of use:
PROC MIXED;
CLASS mother father factor1 factor2 animal born_season pen time;
model PV= factor1|factor2|time / DDFM=KR;
RANDOM mother father animal born_season pen ; /*removed time, to treat it solely as an R-side effect = correlated residuals)
REPEATED time/ TYPE = ar(1) SUBJECT = animal(factor1|factor2);
RUN;
There are two other issues to address. The first is the subject for the REPEATED statement. You can only use the nested syntax for the subject. In other words, factor1|factor2 is going to result in an error. I notice that in the RANDOM statement you specify 'animal'. That would imply (at least to me) that each animal on study has a unique identifier. If that is the case, I suggest using SUBJECT = animal in the REPEATED statement. If the animals are not uniquely identified, then you should nest animal within the proper effect, which is almost certainly not the levels of factor1, factor2 or their interaction.
The second subject is the use of the older Kenward-Rogers denominator degrees of freedom. This has been shown to have non-optimal qualities for algorithms that use second-order methods (NRRIDG, QUANEW, etc.). Consider the use of KR(FIRSTORDER) or KR2. If your data are unbalanced over the repeated measure, then you may see strange degrees of freedom associated with the use of KR2 (say 1 df for time). If that occurs, then you may need to explicitly state the degrees of freedom, and use an empirical shrinkage method.
SteveDenham
... View more