Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
ELSE WHERE
Statement: Marks the beginning of an ELSE WHERE block within a WHERE construct.
[name:]WHERE (mask-expr1)
[where-body-stmt]...
[ELSE WHERE(mask-expr2) [name]
[where-body-stmt]...]
[ELSE WHERE[name]
[where-body-stmt]...]
END WHERE [name]
name  |  
      Is the name of the WHERE construct.  |  
     
mask-expr1, mask-expr2  |  
      Are logical array expressions (called mask expressions).  |  
     
where-body-stmt  |  
      Is one of the following: 
  |  
     
Description
Every assignment statement following the ELSE WHERE is executed as if it were a WHERE statement with ".NOT. mask-expr1". If ELSE WHERE specifies "mask-expr2", it is executed as "(.NOT. mask-expr1) .AND. mask-expr2" during the processing of the ELSE WHERE statement.
Example
WHERE (pressure <= 1.0)
  pressure = pressure + inc_pressure
  temp = temp - 5.0
ELSEWHERE
  raining = .TRUE.
END WHERE 
   The variables temp, pressure, and raining are all arrays.