L5 : argument INTENT

All arguments to routines shall be declared with an INTENT.

  • INTENT(IN) : variables which are not assigned to in the scope

  • INTENT(OUT) : variables whose previous content is irrelevant, and which are written to in the scope

  • INTENT(INOUT) : all other variables

warning Particular care should be paid to intent of array variables: * arrays where only a few locations are updated but other locations contain required values, must be declared as INTENT(INOUT)

  • arguments declared as allocatable may be deallocated at entry if declared as INTENT(OUT)