<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Without having the modules in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113282#M129641</link>
    <description>&lt;P&gt;Without having the modules USEd in your source, we cannot run the compiler on your program. A specific question: if the vendor library is written in C, does it expect null-terminated strings, or does it know how to handle Fortran strings and the semi-hidden Fortran string length arguments? Without that awareness, the API C routines may go looking for those non-existing null characters. On the Fortran side, an embedded null character has no special significance, and a string with all blanks will not match a string with all blanks except for a null somewhere in the middle. Embedded white-space characters (tab, form-feed, space, CR, LF,..) will pose similar problems.&lt;/P&gt;

&lt;P&gt;Note also that CVF and Intel Fortran have default conventions on how to pass those hidden arguments. See &lt;A href="https://software.intel.com/en-us/node/679043" target="_blank"&gt;https://software.intel.com/en-us/node/679043&lt;/A&gt; .&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Try this to see the effect of nulls:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;program blank
character(len=72) :: bl1, bl2
bl1 = repeat(' ',72)
bl2 = '   '
print *, bl1 == bl2
bl1(36:36) = char(0)
print *, bl1 == bl2
end program
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 14 Dec 2016 04:08:48 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2016-12-14T04:08:48Z</dc:date>
    <item>
      <title>Blank Characters</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113278#M129637</link>
      <description>&lt;P&gt;If I have a character*72 Name&lt;/P&gt;

&lt;P&gt;and Name is all blank characters coming in from a file from another program - how do I test for blankness --&lt;/P&gt;

&lt;P&gt;Ta&lt;/P&gt;

&lt;P&gt;John&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 20:14:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113278#M129637</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2016-12-13T20:14:48Z</dc:date>
    </item>
    <item>
      <title>The rules of Fortran provide</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113279#M129638</link>
      <description>&lt;P&gt;The rules of Fortran provide truncation or blank padding, as needed, when a character variable is assigned a value from a character expression and the lengths do not match.&lt;/P&gt;

&lt;P&gt;Try&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;program blank
character(len=72) :: bl1, bl2
bl1 = repeat(' ',72)
bl2 = '   '
print *, bl1 == bl2
end program
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 20:27:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113279#M129638</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-12-13T20:27:40Z</dc:date>
    </item>
    <item>
      <title>Hello
name.eq." "
 
 </title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113280#M129639</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;

&lt;P&gt;name.eq." "&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 20:27:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113280#M129639</guid>
      <dc:creator>GVautier</dc:creator>
      <dc:date>2016-12-13T20:27:43Z</dc:date>
    </item>
    <item>
      <title>!----------------------------</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113281#M129640</link>
      <description>&lt;PRE class="brush:fortran;"&gt;!----------------------------------------------------------
!&amp;nbsp; St7APIDemo.f90
!----------------------------------------------------------
!&amp;nbsp; This example demonstrates the Visual Fortran link to
!&amp;nbsp; the Strand7/Straus7 API. The program loads St7API.DLL,
!&amp;nbsp; opens a requested file and then runs the linear static
!&amp;nbsp; solver.
!
!&amp;nbsp; To successfully run this program, the location of
!&amp;nbsp; the dynamic link library "ST7API.DLL" must be added to
!&amp;nbsp; the Windows PATH environment variable.
!
!&amp;nbsp; This program was successully compiled and run using:
!&amp;nbsp; - Intel Visual Fortran 10.0
!&amp;nbsp; - Compaq Visual Fortran 6.6.0
!----------------------------------------------------------

&amp;nbsp;&amp;nbsp;&amp;nbsp; PROGRAM St7ApiDemo

!&amp;nbsp; Use the API interface and constants modules
&amp;nbsp;&amp;nbsp;&amp;nbsp; USE St7APICall
&amp;nbsp;&amp;nbsp;&amp;nbsp; USE St7APIConst
&amp;nbsp;&amp;nbsp;&amp;nbsp; IMPLICIT NONE
&amp;nbsp;&amp;nbsp; 
!&amp;nbsp; Declaration of local variables
&amp;nbsp;&amp;nbsp;&amp;nbsp; INTEGER(4) :: iNode,nNode,nBeam,nPlate,nBrick,nMax,iErr,i
&amp;nbsp;&amp;nbsp;&amp;nbsp; integer(4) :: NewNode,nBricks, iBrick, BrickID,iConn(9),propNum, iPlate,nPlates
&amp;nbsp;&amp;nbsp;&amp;nbsp; integer(4) :: iConnPL(5)
&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL(8) :: XYZ(3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; LOGICAL :: Loaded&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical :: Exists 
&amp;nbsp;&amp;nbsp;&amp;nbsp; CHARACTER(72) :: fName
&amp;nbsp;&amp;nbsp;&amp;nbsp; character(len=72) :: sAuthor,sTitle
&amp;nbsp;&amp;nbsp;&amp;nbsp; character(len=72) :: bl1, bl2 

!&amp;nbsp; Load the API
&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,1000)
1000 Format(/"------------------------------------------------------------------------------------------------------"/)&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,100)
100 Format(//"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Program to make Strand 7 Changes",//)&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL LoadSt7API(Loaded)
&amp;nbsp;&amp;nbsp;&amp;nbsp; IF (Loaded) then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,300)
300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ST7API.DLL loaded successfully.")
&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE *, "Cannot load ST7API.DLL."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE *, "Press &amp;lt;Enter&amp;gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ(*,*)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STOP
&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF

!&amp;nbsp; Initialise the API
&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7Init()
&amp;nbsp;&amp;nbsp;&amp;nbsp; IF (iErr == ERR7_NoError) THEN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,500)
500 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; API initialisation successful.")
&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE *, "Error initialising the API."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE *, "Press &amp;lt;Enter&amp;gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ(*,*)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STOP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WRITE(*,10)
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FORMAT(1X,/,'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name of the input file please : ',\)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ(*,20)fName
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
20&amp;nbsp;&amp;nbsp;&amp;nbsp;format(a12)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inquire(FILE = fName, Exist=Exists)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Exists .eq. .FALSE.) then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stop "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File does not exist"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
!&amp;nbsp; Open a user-selected ST7 file

&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7OpenFile(1,fName,"c:\\temp"C)
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; IF (iErr /= ERR7_NoError) THEN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*, 200) iErr
200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; St7OpenFile returned error #",3x, I4)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE *, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requested file cannot be opened."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE *, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Press &amp;lt;Enter&amp;gt;\"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ(*,*)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STOP
&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,400)
400&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format(/"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File successfully opened.")
&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF
&amp;nbsp;&amp;nbsp;&amp;nbsp; 

!&amp;nbsp; Obtain and display the entity totals
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL ChkErr(St7GetTotal(1,tyNODE,nNode))
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL ChkErr(St7GetTotal(1,tyBEAM,nBeam))
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL ChkErr(St7GetTotal(1,tyPLATE,nPlate))
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL ChkErr(St7GetTotal(1,tyBRICK,nBrick))

&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,1000)
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,600)
600 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FILE ENTITY TOTALS:")
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,700)nNode
700 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Total Nodes&amp;nbsp;&amp;nbsp; ::&amp;nbsp; ", I8)
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,800)nBeam
800 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Total Beams&amp;nbsp;&amp;nbsp; ::&amp;nbsp; ", I8)
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,900)nPlate
900 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Total Plates&amp;nbsp; ::&amp;nbsp; ",I8)
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,1100)nBrick
1100 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Total Bricks&amp;nbsp; ::&amp;nbsp; ",I8)

!&amp;nbsp; Obtain and display some string titles
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL ChkErr(St7GetTitle(1,TITLEAuthor,sAuthor,72))
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL ChkErr(St7GetTitle(1,TITLEModel,sTitle,72))

&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,1000)
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,1500)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl1 = repeat(' ',72) 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl2 = '&amp;nbsp;&amp;nbsp; ' 
1500 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File Author Details")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print *, sAuthor == bl1 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(sAuthor == bl1)then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print *, sAuthor == bl1 

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stop " No Author"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,1600)sAuthor
1600 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File author :: ",(A))
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,1700)sTitle
1700 Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File title&amp;nbsp; :: ",(A))

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,1000)
!&amp;nbsp; Display the coordinates of a few nodes
&amp;nbsp;&amp;nbsp;&amp;nbsp; IF (nNode.gt.0) THEN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nMax = nNode
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,1800)
1800&amp;nbsp;&amp;nbsp;&amp;nbsp; format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POSITION OF FIRST NODE")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DO iNode = 1, 1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetNodeXYZ(1,iNode,XYZ)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,1900)XYZ(1),XYZ(2),XYZ(3)
1900&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X :: ",F10.3,/,"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y :: ",F10.3,/,"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Z :: ",F10.3)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,2000)
2000&amp;nbsp;&amp;nbsp;&amp;nbsp; format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Position of First Copied Node")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DO iNode = 1, nMax
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetNodeXYZ(1,iNode,XYZ)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NewNode = iNode + nMax
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XYZ(1) = XYZ(1) - 9.590
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XYZ(2) = XYZ(2) + 0.548
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XYZ(3) = XYZ(3) + 23.09
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7SetNodeXYZ(1,NewNode,XYZ)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(iNode .eq. 1) then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,2100)XYZ(1),XYZ(2),XYZ(3)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif
2100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X :: ",F10.3,/,"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y :: ",F10.3,/,"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Z :: ",F10.3)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; If(nBrick .gt. 0) then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,2200)
2200&amp;nbsp;&amp;nbsp;&amp;nbsp; format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Copy the Brick Element Details.")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nBricks = nBrick
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do iBrick = 1, nBricks
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetBrickID(1,iBrick,BrickID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetElementConnection(1,tyBRICK,iBrick,iConn)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetElementProperty(1,tyBrick,iBrick,propNum)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 2,9
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iConn(i) = IConn(i) + nMax
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7SetElementConnection(1, tyBrick, iBrick + NBricks, propNum, iConn)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !write(*,*)iBrick,BrickID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,2400)
2400&amp;nbsp;&amp;nbsp;&amp;nbsp; format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Add the Brick Element Details.")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nBricks = nBrick
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do iBrick = 1, nBricks
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetBrickID(1,iBrick,BrickID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetElementConnection(1,tyBRICK,iBrick,iConn)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetElementProperty(1,tyBrick,iBrick,propNum)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 2,9
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iConn(i) = IConn(i) + nMax
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(iConn(i) .eq. 46781) then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(i .eq. 2 .or. i .eq. 3 .or. i .eq. 4 .or. i .eq. 5) then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call NewBox(iConn(2), iConn(3), iConn(4),iConn(5),nMax)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stop
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(nPlate .gt. 0) then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,2300)
2300&amp;nbsp;&amp;nbsp;&amp;nbsp; Format("&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Copy the Plate Element Details")
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nPlates = nPlate
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do iPlate =1,nPlates
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetPlateID(1,iPlate,BrickID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetElementProperty(1,tyPlate,iPlate,propNum)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7GetElementConnection(1,tyPlate,iPlate,iConnPL)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 2,5
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iConnPL(i) = IConnPL(i) + nMax
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7SetElementConnection(1, tyPlate, iPlate + nPlates, propNum, iConnPL)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,*)iPlate,BrickID,propNum
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do
&amp;nbsp;&amp;nbsp;&amp;nbsp; endif

! Run the Linear Static Solver
&amp;nbsp;&amp;nbsp;&amp;nbsp; !iErr = St7RunSolver(1,stLinearStaticSolver,smNormalRun,1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; !IF (iErr == ERR7_NoError) THEN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !&amp;nbsp; TYPE *, "Linear Static Solver successfully run."
&amp;nbsp;&amp;nbsp; ! E!LSE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !&amp;nbsp; TYPE *, "Solver returned error #",iErr
&amp;nbsp;&amp;nbsp; ! ENDIF
&amp;nbsp;&amp;nbsp; ! TYPE *, "Press &amp;lt;Enter&amp;gt;"
&amp;nbsp;&amp;nbsp; ! READ(*,*)

!&amp;nbsp; Close the ST7 file
&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7SaveFile(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = St7CloseFile(1)

!&amp;nbsp; Unload the API
&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL FreeSt7API

&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,3000)
3000 Format( "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End of Program.")

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END PROGRAM St7ApiDemo
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subroutine NewBox(i1,i2,i3,i4,NodeMax)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Integer(4) :: i1,i2,i3,i4,NodeMax
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write(*,*)i1,i2,i3,i4,NodeMax
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end subroutine
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

Does not work - although your examples does -- here is the code it has a lock dongle so I cannot send all .

!&amp;nbsp; This routine uses St7GetAPIErrorString to return the
!&amp;nbsp; error message associated with any errors found.
!&amp;nbsp; All St7API.DLL function calls return an integer to
!&amp;nbsp; signify whether the function was successful.
!&amp;nbsp; If the return is zero, the function was successful.

&amp;nbsp;&amp;nbsp;&amp;nbsp; SUBROUTINE ChkErr(iErr)
&amp;nbsp;&amp;nbsp;&amp;nbsp; USE St7APICall
&amp;nbsp;&amp;nbsp;&amp;nbsp; USE St7APIConst
&amp;nbsp;&amp;nbsp;&amp;nbsp; INTEGER(4), INTENT(IN) :: iErr
&amp;nbsp;&amp;nbsp;&amp;nbsp; INTEGER(4) :: iTemp
&amp;nbsp;&amp;nbsp;&amp;nbsp; CHARACTER(128) :: ErrorString

&amp;nbsp;&amp;nbsp;&amp;nbsp; IF (iErr /= ERR7_NoError) THEN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorString = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iTemp = St7GetAPIErrorString(iErr, ErrorString, kMaxStrLen)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE *, TRIM(ErrorString)
&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF

&amp;nbsp;&amp;nbsp;&amp;nbsp; END SUBROUTINE ChkErr
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 23:14:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113281#M129640</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2016-12-13T23:14:28Z</dc:date>
    </item>
    <item>
      <title>Without having the modules</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113282#M129641</link>
      <description>&lt;P&gt;Without having the modules USEd in your source, we cannot run the compiler on your program. A specific question: if the vendor library is written in C, does it expect null-terminated strings, or does it know how to handle Fortran strings and the semi-hidden Fortran string length arguments? Without that awareness, the API C routines may go looking for those non-existing null characters. On the Fortran side, an embedded null character has no special significance, and a string with all blanks will not match a string with all blanks except for a null somewhere in the middle. Embedded white-space characters (tab, form-feed, space, CR, LF,..) will pose similar problems.&lt;/P&gt;

&lt;P&gt;Note also that CVF and Intel Fortran have default conventions on how to pass those hidden arguments. See &lt;A href="https://software.intel.com/en-us/node/679043" target="_blank"&gt;https://software.intel.com/en-us/node/679043&lt;/A&gt; .&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Try this to see the effect of nulls:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;program blank
character(len=72) :: bl1, bl2
bl1 = repeat(' ',72)
bl2 = '   '
print *, bl1 == bl2
bl1(36:36) = char(0)
print *, bl1 == bl2
end program
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2016 04:08:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113282#M129641</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-12-14T04:08:48Z</dc:date>
    </item>
    <item>
      <title>Hello</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113283#M129642</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;

&lt;P&gt;I agree with mecje4&lt;/P&gt;

&lt;P&gt;&lt;CODE class="plain"&gt;St7GetAPIErrorString(iErr, ErrorString, kMaxStrLen)&lt;/CODE&gt;&lt;/P&gt;

&lt;P&gt;The kMaxStrlen argument lets suppose that the function returns a C string (null terminated). You can try to use ErrorString[1:1]==char(0) or strlen(ErrorString)==0 to test if the returned C string is empty.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;When you ask for help, it's better to give the context of your question in the first post. Answers will be more pertinent.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2016 07:21:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113283#M129642</guid>
      <dc:creator>GVautier</dc:creator>
      <dc:date>2016-12-14T07:21:55Z</dc:date>
    </item>
    <item>
      <title>Dear mecej4 and Giles:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113284#M129643</link>
      <description>&lt;P&gt;Dear mecej4 and Giles:&lt;/P&gt;

&lt;P&gt;Thank you for the answers.&amp;nbsp; The program is called STRAND7 and is written in Australia as a FEM Analysis package. As far back as I can remember it was written in Fortran or so the legend goes.&amp;nbsp; I have continued to assume that it is written in Fortran but it appears I am wrong.&amp;nbsp; I cannot send the APIDLL's as a Strand DLL supported program will not run without the dongle, I have had this problem before the Strand people are paranoid about unlicensed use of their stuff.&amp;nbsp; I had typed comments into the last post, but they appear to have got lost in the translation.&lt;/P&gt;

&lt;P&gt;I should have thought of the null terminated string, never crossed my mind. I need to test the string for individual characters - thanks for the help.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;PS: If any of you live in London, there is now a simple device monitoring one of the London bridges, it should be running in Linux on a NUC, but it is running on Windows on a HP Pavilion.&amp;nbsp; You should always write code late on a Sunday night onto a computer in London to be deployed the following morning, that is to be&amp;nbsp;locked away for three months, and has to function completely stand alone. Gotta love it.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;John&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2016 14:25:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113284#M129643</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2016-12-14T14:25:58Z</dc:date>
    </item>
    <item>
      <title>A empty C string has itsfirst</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113285#M129644</link>
      <description>&lt;P&gt;An empty C string has its first character set to 0. So testing only the first character will detect an empty string:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;if (string(1:1)==char(0)) then    ! empty string&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2016 14:33:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113285#M129644</guid>
      <dc:creator>GVautier</dc:creator>
      <dc:date>2016-12-14T14:33:00Z</dc:date>
    </item>
    <item>
      <title>Don't need a dongle just to</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113286#M129645</link>
      <description>&lt;P&gt;Don't need a dongle just to read the API manual, which we can find &amp;nbsp;at&amp;nbsp;http://www.strand7.com/downloads/Strand7%20R246%20API%20Manual%20TOC.pdf .&lt;/P&gt;

&lt;P&gt;In that manual, it clearly says, on page 11,&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;API Strings and Visual Fortran&lt;BR /&gt;
		The Strand7 API uses null-terminated strings. These are always declared as&lt;BR /&gt;
		CHARACTER(LEN=*) in the interface section (St7APICall.f90), and are passed by&lt;BR /&gt;
		reference. Strings will be declared in your program as CHARACTER(LEN=255) (for&lt;BR /&gt;
		example). An API call returning the string will null-terminate the string with CHAR=0 at&lt;BR /&gt;
		some point. All character values beyond this point will be undefined.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2016 14:36:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113286#M129645</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-12-14T14:36:26Z</dc:date>
    </item>
    <item>
      <title>Quite true. I should not have</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113287#M129646</link>
      <description>&lt;P&gt;Quite true. I should not have missed that -- thank you.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2016 15:51:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113287#M129646</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2016-12-14T15:51:04Z</dc:date>
    </item>
    <item>
      <title>[quote=John Nichols]</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113288#M129647</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;John Nichols wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;..&amp;nbsp;&lt;SPAN style="font-size: 12px;"&gt;&amp;nbsp;how do I test for blankness ..&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;@John Nichols,&lt;/P&gt;

&lt;P&gt;I suggest string length of zero be your test for "blankness". &amp;nbsp;And this: i&lt;SPAN style="font-size: 1em;"&gt;f you're dealing with CHARACTER variables in Fortran that are interfacing with C type of APIs, meaning null-termination in C can be involved, then you should use strnlen function from C runtime library to get the string length. &amp;nbsp;Otherwise, use the LEN_TRIM intrinsic function in Fortran:&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;module m

   use, intrinsic :: iso_c_binding, only : c_char, c_null_char

   implicit none

   private

   public :: Some_C_API

contains

   subroutine Some_C_API( s ) bind(C, name="Some_C_API")

      character(kind=c_char,len=1), intent(inout) :: s(*)

      s(1) = c_null_char

      return

   end subroutine Some_C_API

end module m
&lt;/PRE&gt;

&lt;PRE class="brush:fortran;"&gt;program p

   use, intrinsic :: iso_c_binding, only : c_char, c_size_t
   use m, only : Some_C_API

   implicit none

   interface

      function strnlen( s, maxlens ) result( lens ) bind(C, name="strnlen")

         import :: c_char, c_size_t

         implicit none

         !.. Argument list
         character(kind=c_char,len=1), intent(in) :: s(*)
         integer(c_size_t), intent(in)            :: maxlens
         !.. Function result
         integer(c_size_t) :: lens

      end function strnlen

   end interface

   integer(kind=c_size_t), parameter :: MAXLEN = 255
   character(len=MAXLEN) :: bl1
   character(len=MAXLEN) :: bl2
   character(kind=c_char,len=MAXLEN) :: bl3

   bl1 = repeat( " ", MAXLEN )
   bl2 = "  "
   call Some_C_API( bl3 )

   print *, "len_trim(bl1) = ", len_trim(bl1)
   print *, "len_trim(bl2) = ", len_trim(bl2)
   print *, "strnlen(bl3)  = ", strnlen(bl3, MAXLEN)

   stop

end program p
&lt;/PRE&gt;

&lt;P&gt;Upon execution with Intel Fortran,&lt;/P&gt;

&lt;PRE class="brush:plain;"&gt; len_trim(bl1) =  0
 len_trim(bl2) =  0
 strnlen(bl3)  =  0
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Dec 2016 22:28:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113288#M129647</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2016-12-14T22:28:00Z</dc:date>
    </item>
    <item>
      <title>John,</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113289#M129648</link>
      <description>&lt;P&gt;John,&lt;/P&gt;

&lt;P&gt;Also note in FortranFan's example, if you add at line 38&lt;/P&gt;

&lt;P&gt;print *, "len_trim(bl3) = ", len_trim(bl3) ! length of empty "C" string with NULL&lt;/P&gt;

&lt;P&gt;That the result with show 1&lt;/P&gt;

&lt;P&gt;IOW, if you intend to use the string in the Fortran portion, you might want to inspect the len_trim'th character for NULL and take that into consideration. As to what action you want to take, it is up to you. Also, do not overwrite the C original string null with ' ' as this may corrupt the C visible string. You can overwrite the null in any copy you make in the Fortran space.&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2016 13:59:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113289#M129648</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2016-12-15T13:59:28Z</dc:date>
    </item>
    <item>
      <title>Jim and FF:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113290#M129649</link>
      <description>&lt;P&gt;Jim and FF:&lt;/P&gt;

&lt;P&gt;Thank you for the code. &amp;nbsp;The original code is a very basic example in Fortran for interfacing with the Strand7 API. Strand7 is an FEM modeller.&lt;/P&gt;

&lt;P&gt;I had tried to use this once before but the dongle issues got in the road. &amp;nbsp;However a young scientist and I have been modelling an interesting structure using two different FEM codes to make sure the answers match as closely as possible our real data. It is a challenge as the structure is interconnected in weird ways that make simple models impossible and block models challenging. &amp;nbsp;I needed to copy elements of the model involving plates and blocks, but the STRAND7 GUI left some elements behind in the copy -- a real pain. I thought I would try the API and it turned out to be quite good and for the simple copies we want easy to code.&lt;/P&gt;

&lt;P&gt;The code include the example to print out the titles etc, but I kept getting two lines printed even though the string appeared empty in VS Studio debug mode. Hence my question about blanks as the debug showed a string about 20 characters long with nothing in it, I had heard many years ago that Strand was written in Fortran - I was quite slow in not picking up the notes in the API manual as I had looked at this manual to see the C String.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;My code to check for zero length looks for the Char(0) called ASC in the code as a variable name. &amp;nbsp;This is quick and dirty code to solve a simple problem, so I used a simple method, really should clean it up.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks for all the help -- I am not sure how I would survive without this forum.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Code I used - very dirty and very simple&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;  do i = 1, 72
                if(sAuthor(i:i) == ASC) then
                    Flag(1) = Flag(1) + 1
                endif
                if(sTitle(i:i) == ASC) then
                    Flag(2) = Flag(2) + 1
                endif
                if(sProject(i:i) == ASC) then
                    Flag(3) = Flag(3) + 1
                endif
                if(sCreate(i:i) == ASC) then
                    Flag(4) = Flag(4) + 1
                endif
            end do


            write(*,1000)
            Write(*,1500)
1500        Format("              File Author Details", i5)


            if(Flag(1) .eq. 72) then
                sAuthor = "Project Author not provided for file."
                Write(*,2800)(72-Flag(1)),sAuthor
2800            Format("              File Author   :: ","[",I2,"] ",(A))
            else
                Write(*,1600)(72-Flag(1)),sAuthor
1600            Format("              File author   :: ","[",I2,"] ",(A))
            endif
            if(Flag(2) .eq. 72) then
                sTitle = "Project Title not provided for file."
                Write(*,1700)(72-Flag(1)),sTitle
            else
                Write(*,1700)(72-Flag(2)),sTitle
1700            Format("              File title    :: ","[",I2,"] ",(A))
            endif
            if(Flag(3) .eq. 72) then
                sProject = "Project Title not provided for file."
                Write(*,2700)(72-Flag(3)),sProject
2700            Format("              File project  :: ","[",I2,"] ",(A))
            else
                Write(*,2500)(72-Flag(3)),sProject
2500            Format("              File project  :: ","[",I2,"] ",(A))
            endif
            Write(*,2600)(72-Flag(4)),sCreate
2600        Format("              File created  :: ","[",I2,"] ",(A))
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2016 16:21:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113290#M129649</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2016-12-15T16:21:25Z</dc:date>
    </item>
    <item>
      <title>Why do you expect 72 NULLs</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113291#M129650</link>
      <description>&lt;P&gt;Why do you expect 72 NULLs for an empty field? An empty field is presumably a field with a NULL in position (1) .OR. the pointer/reference being NULL. The C program might not zero-fill the transfer buffer prior to inserting the text.&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2016 16:51:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113291#M129650</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2016-12-15T16:51:44Z</dc:date>
    </item>
    <item>
      <title>Quote:jimdempseyatthecove</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113292#M129651</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;jimdempseyatthecove wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Why do you expect 72 NULLs for an empty field? An empty field is presumably a field with a NULL in position (1) .OR. the pointer/reference being NULL. The C program might not zero-fill the transfer buffer prior to inserting the text.&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;True -- I could have just checked the first place, I did in the beginning, but I got carried away.&lt;/P&gt;

&lt;P&gt;No one said you could not have fun --&lt;/P&gt;

&lt;P&gt;Merry Christmas&lt;/P&gt;

&lt;P&gt;John&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2016 17:05:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113292#M129651</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2016-12-15T17:05:20Z</dc:date>
    </item>
    <item>
      <title>Quote:Vautier, Gilles wrote:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113293#M129652</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Vautier, Gilles wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;An empty C string has its first character set to 0. So testing only the first character will detect an empty string:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;if (string(1:1)==char(0)) then    ! empty string&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Exactly what I said earlier.&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2016 17:20:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113293#M129652</guid>
      <dc:creator>GVautier</dc:creator>
      <dc:date>2016-12-15T17:20:47Z</dc:date>
    </item>
    <item>
      <title>Just out of interest could a</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113294#M129653</link>
      <description>&lt;P&gt;Just out of interest could a Fortran String include a chr(0) as a legal entity - but not be the end?&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2016 21:49:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113294#M129653</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2016-12-15T21:49:12Z</dc:date>
    </item>
    <item>
      <title>Quote:John Nichols wrote:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113295#M129654</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;John Nichols wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Just out of interest could a Fortran String include a chr(0) as a legal entity - but not be the end?&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Yes&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2016 23:02:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113295#M129654</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2016-12-15T23:02:02Z</dc:date>
    </item>
    <item>
      <title>Sure</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113296#M129655</link>
      <description>&lt;P&gt;Sure&lt;/P&gt;

&lt;P&gt;A character(n) Fortran string is an array of n bytes whose values range from 0 to 255.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2016 07:30:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113296#M129655</guid>
      <dc:creator>GVautier</dc:creator>
      <dc:date>2016-12-16T07:30:11Z</dc:date>
    </item>
    <item>
      <title>A little bit of delving into</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113297#M129656</link>
      <description>&lt;P&gt;A little bit of delving into history should explain why the ASCII null character has no special significance in Fortran. Fortran was in use for several years before the ASCII character set was devised. Take, for example, the CDC "display" character set,&amp;nbsp;https://en.wikipedia.org/wiki/CDC_display_code . The very first 6-bit code, octal 00, stands for ':'. The very last 6-bit code, octal 77, stands for ';', and octal 55 stands for 'blank' or 'space'. No tabs, carriage-returns line-feeds or form-feeds to be found in that character set. All characters can be displayed and printed, and only 'blank' is 'white-space'.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2016 15:35:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Blank-Characters/m-p/1113297#M129656</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-12-16T15:35:00Z</dc:date>
    </item>
  </channel>
</rss>

