I have a simple model that adds some new fields to a layer and calculates values for them. I want to then use this updated layer as an input for Clip. Normally I can just connect the output to the Clip tool, but I would like to package the first part as a submodel: enter image description here

When I add the submodel as a tool, the green output variable doesn't show up. Why?

I tried adding Collect Values to the end of the submodel and then setting the output as a parameter. This makes the output variable show up in the main model, but it cannot be connected to Clip as an input; only a precondition. enter image description here

  • Oh man, I feel like an idiot now.. my actual submodel had many more "select by attribute and calculate field" commands, and I didn't think that selecting any one of the output variables to make a parameter would work. I was afraid that the tool would move onto the next step without completing the submodel. Thank you for the answers!
    – cavemoss
    Oct 27, 2015 at 21:58

2 Answers 2


Right-click the sub-model, and then choose a variable from that model to expose as a parameter. Like so: enter image description here. Then inset the sub-model with the exposed parameter into the new model, and the output value (green oval) should be exposed for you to attach further tools to.

  • Answers should be more than a single sentence. Add some more explanation. As without it, it gets flagged as low quality.
    – Branco
    Oct 27, 2015 at 18:28

Make your output from the submodel a Model Parameter without using Collect Values, then you should be able to connect the output to the Clip tool in your main model.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.