Early Success
After taking some notes from the replies here, some detailed reading of the JRMI help files, and quite a few trial and error runs using staging tracks, I think I found the basic solution.
I am essentially doing what cp5170 said above:
Basic Set-Up
I have two 'locations' programmed in JRMI for switching.
1. Is the Pulp and Paper Mill with spurs that match the real layout and 2 long Classification / Interchange tracks.
The classification / interchange tracks in JMRI coincide with the track on my layout that is both a classification / interchange yard for the Paper Mill and my staging (my actual yard has five tracks, not two, but I will explain why I am only using 2 in JMRI below).
2. A universal industry in a separate 'location' with one really long spur, 5000', that can accept all loads.
I have two 'routes' and two 'trains' set-up:
1. The route and train for the Paper Mill location only services the Paper Mill so there is a local switcher established by the program.
2. The route and train running to the Paper Mill from the universal industry and back-again.
Details
To ensure that the train from the universal industry only sets-out and picks-up cars at the classification/interchange tracks where I want and not the rest of the Paper Mill, and to ensure the local switcher only sets-outs and picks up cars where I want at the interchange, I have done the following:
- All of the spurs at the Mill have their train servicing directions turned off. The Mill 'location' itself has the East / West train servicing directions turned on. This ensures only the local switcher is working the spurs, and the train from the universal industry can still get to the C/I tracks at the Mill to exchange cars, but not the spurs.
- One classification track is set-up to only accept set-outs by the train from the universal industry and pick-ups by the local switcher. That track funnels cars into the Paper Mill. A one way flow of cars in.
- The other classification track is set-up to only accept set-outs by the local switcher, and pick-ups by the train from the universal industry. That track funnels cars out of the Paper Mill. A one way flow out.
- The route and train from the universal industry to the mill and back again has four 'locations' in it.
- Universal Industry - train departs - direction East
- Paper Mill - train set-outs cars on one C/I track - direction East
- Paper Mill - train picks-up cars on other c/I track - direction West
- Universal Industry - train sets-out cars, loads are switched - direction West
This way in the real world, cars get pushed to my layouts' combination interchange / staging yard. The program tracks their movement as entering the C/I tracks at the virtual Mill location. Then the program virtually moves those cars to a universal industry (they don't move in real life), and sends them back to the virtual C/I tracks with their loads switched.
This basic set-up seems to work well with just one spur (paper track) and one car type (boxcar). I will slowly try to expand the number of spurs, car types, custom loads, and schedules. I will probably post in more detail on my personal blog.
Failed Attempts
I spent a few hours trying to make the above set-up work with a 'staging' track location instead of a universal industry but the nature of how staging tracks operate kept it from working. Staging will switch loads for you, but you need at least two tracks (one for train to depart, one to enter), the train has to stay together, if a track has cars on it the train can't enter, etc...
Most importantly, the train will not depart staging to pull cars from the Mill classification track if there are no cars in staging in the first place.
So despite my best efforts, I could not make the names of the virtual tracks and locations match those of the real layout. Maybe I'm missing something. Maybe I'll figure it out in the future.