Jammed lock (shackle stuck in crossbar)
Sounds like you have moisture in there somewhere and its frozen.  Try pouring warm (not boiling) water on it from a jug.

When you get it open, take it inside, dry it,  and store in a hot water cylinder cupboard to drive out moisture.  If you don't have a HWC then 30 minutes in a normal oven on super-low temperature would do.  Or even putting the open lock in a sunlit window for a whole day.

Once its dry you need to keep the moisture out - I'd use a lot of grease like White Lithium.

You also want to check the seals and perhaps arrange the lock with the keyhole facing down, and the curved part of the D would be lower.  That way rain water won't run into the lock along the sides of the D.