I have been asked about the roof of my dog pen. (That's me in front of the pen, above, looking very smug because I am celebrating exactly five continuous years of off-grid cabin living. ) There are several reasons to put a roof on a dog pen. It keeps the more adventurous mutts out of trouble, and it gives the dogs shade.
An essential aspect of the roof is that it slopes in order to shed rain and snow. In my case, it slopes 7 degrees, which is mostly a result of circumstance but is also the minimum according to construction code in this area. Not that any inspector is coming here soon.
On most dog pens, the walls are all the same height, so some ingenuity will have to be applied to create a slope.
Also, the weight of snow might, in the end, buckle walls made only out of fences and normal fence posts. A roof in a snowy area probably will have to be supported by additional posts outside of the pen and, if the pen is large, inside. Round timber on cinder blocks should work, and will keep expenses down.
Milled lumber should be used for the rafters, though, to ensure some degree of uniformity. An irregular roof will result in puddles and the collection of abrasive material such as pine cones etc.
On one part of the pen, I used round timber poles for purlins (below). This is certainly cheap and very sturdy. Supposedly round timber is 40% stronger, on average, than milled lumber of the same dimension.
I placed plastic fencing/poultry netting on top of the poles to prevent the tarp from sagging between the cracks.
On the rest of the pen, I placed rebar mats (or weldmesh) between the rafters and the tarp. This has proven adequate, even with quite a lot of snow. The distance between the rafters is 55 cm or 21 3/4".
A real disadvantage of the rebar mat-system is that it makes walking on the roof really unpleasant, you have to stand right on the rafters and not between them. While fastening the mats I used a lot of boards placed between the rafters to sit and work on.
The distance of the rafters, which are 2x4s, from one wall to another, is 3.6 m or approx 12'. If the span is longer, I would recommend 2x6. At my place, the rafters do bend slightly downwards when there is a lot of wet snow on top of them. The tarp, however, does not bulge at all between them, so that rebar mat /pole-and-fencing system works pretty well.