<?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 Quote:John Nichols wrote: in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012935#M106464</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;..&lt;/P&gt;

&lt;P&gt;So can I use the iso_fortran_env module in Intel Fortran and can you give us a short sample of how to declare a character, real and an integer that matches the new standard.&amp;nbsp; It ahs certainly generated some angst and the word from Dr Fortran should put this baby to bed.&lt;/P&gt;

&lt;P&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;Look here -&amp;nbsp;https://software.intel.com/en-us/node/511041 - the online documentation for Intel Fortran that explains ISO_FORTRAN_ENV. &amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;So yes, this intrinsic module is available in Intel Fortran.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Since it was I who brought this intrinsic module into the discussion, let me reiterate: most experts (and I dare say Steve included per his Quotes #12 and #20 above) still recommend user-defined kinds based on SELECTED_REAL_KIND and SELECTED_INT_KIND. &amp;nbsp;However, John Campbell (and perhaps some others) find this unappealing, especially the range part of the specification and prefer a more explicit invocation in terms of bytes such as REAL*4. It was in response to this that I wrote the Fortran 2003 standard includes the &lt;/SPAN&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;ISO_FORTRAN_ENV intrinsic that can allow Campbell and co. to continue somewhat similarly, in bits rather than bytes, and not have to "hard-wire" the KIND, a practice that Steve recommends we should avoid. &amp;nbsp;So this results in something like REAL(KIND=REAL32) instead of REAL*4 or REAL(4) and allows portability benefits to other compilers and platforms where ISO_FORTRAN_ENV is supported. &amp;nbsp;See Quote #23 for the example. &amp;nbsp;Now note one can also "rename" the intrinsic module parameters to something else, say a better mnemonic, and use it that way instead:&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;   ..
   USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : R8B =&amp;gt; REAL64
   ..
   REAL(R8B) :: foo
&lt;/PRE&gt;

&lt;P&gt;There are a lot of possible "good" practices here: the message is to avoid non-standard usage (/stand compiler flag can catch these) and not hard-wire the kinds. &amp;nbsp;I think Dr Fortran will be happy with this and leave it at that. &amp;nbsp;I don't think further dogma about using ISO_FORTRAN_ENV versus SELECTED_REAL_KIND,.. is warranted.&lt;/P&gt;

&lt;P&gt;Also, as I mentioned, don't forget ISO_C_BINDING module for C interoperability. &amp;nbsp;I use it all the time with my C#-Fortran "mixed language, managed+unmanaged memory" solutions.&lt;/P&gt;</description>
    <pubDate>Wed, 08 Oct 2014 17:41:00 GMT</pubDate>
    <dc:creator>FortranFan</dc:creator>
    <dc:date>2014-10-08T17:41:00Z</dc:date>
    <item>
      <title>Co-array error</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012895#M106424</link>
      <description>&lt;P&gt;Steve:&lt;/P&gt;

&lt;P&gt;I am using some structures and I keep getting this 8363 error and I cannot see why.&lt;/P&gt;

&lt;P&gt;Code enclosed in zip file.&lt;/P&gt;

&lt;P&gt;Looks legal to me.&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 18:07:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012895#M106424</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T18:07:07Z</dc:date>
    </item>
    <item>
      <title>ZIP File</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012896#M106425</link>
      <description>&lt;P&gt;ZIP File&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 18:08:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012896#M106425</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T18:08:17Z</dc:date>
    </item>
    <item>
      <title>I just added the interface</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012897#M106426</link>
      <description>&lt;P&gt;I just added the interface and that did not help&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 18:15:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012897#M106426</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T18:15:33Z</dc:date>
    </item>
    <item>
      <title>It seems clear to me - SPIPES</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012898#M106427</link>
      <description>&lt;P&gt;It seems clear to me - SPIPES is not a coarray. In that routine, it's declared as:&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type(SPIPE) spipes(100)&lt;/P&gt;

&lt;P&gt;No cobounds are specified. It's not a coarray in the caller either.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 18:23:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012898#M106427</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-10-02T18:23:16Z</dc:date>
    </item>
    <item>
      <title>So I passed the array through</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012899#M106428</link>
      <description>&lt;P&gt;So I passed the array through the subroutine call -&lt;/P&gt;

&lt;P&gt;does that mean I can read the elements of the array - but I cannot write to them,&lt;/P&gt;

&lt;P&gt;I want to set spipes(I).a0 = 1,&lt;/P&gt;

&lt;P&gt;but it gives me an error - 6383&lt;/P&gt;

&lt;P&gt;I am really lost here&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 18:47:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012899#M106428</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T18:47:31Z</dc:date>
    </item>
    <item>
      <title>for array = type sorry</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012900#M106429</link>
      <description>&lt;P&gt;for array = type sorry&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 18:48:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012900#M106429</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T18:48:09Z</dc:date>
    </item>
    <item>
      <title>Steve:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012901#M106430</link>
      <description>&lt;P&gt;Steve:&lt;/P&gt;

&lt;P&gt;I copied the code over from C# and thought I had fixed it .&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;the spipes&lt;I&gt; should be spipes(I)&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;missed the brackets&lt;/P&gt;

&lt;P&gt;True or false?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;[] indicates a co-array - whatever that is&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 18:57:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012901#M106430</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T18:57:42Z</dc:date>
    </item>
    <item>
      <title>Yes, that would be the</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012902#M106431</link>
      <description>&lt;P&gt;Yes, that would be the problem. In Fortran, [] indicates a coarray (or an array constructor).&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 19:15:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012902#M106431</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-10-02T19:15:05Z</dc:date>
    </item>
    <item>
      <title>I'll also comment that if</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012903#M106432</link>
      <description>&lt;P&gt;I'll also comment that if this is newly created code, you should be using a TYPE declaration and not the DEC STRUCTURE extension.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 19:16:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012903#M106432</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-10-02T19:16:38Z</dc:date>
    </item>
    <item>
      <title>Steve:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012904#M106433</link>
      <description>&lt;P&gt;Steve:&lt;/P&gt;

&lt;P&gt;I have the Microsoft Reference Manual 1991 for MSDOS Version 5.1 - it does not mention TYPES&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 19:44:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012904#M106433</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T19:44:33Z</dc:date>
    </item>
    <item>
      <title>Module Network</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012905#M106434</link>
      <description>&lt;PRE class="brush:fortran;"&gt;Module Network

&amp;nbsp;&amp;nbsp;&amp;nbsp; Type SNODE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer Tank
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision X
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision Y
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision E
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision C0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision Qbase
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision Cs
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision H
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision C
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision indDemand
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision parkDemand
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision leakDemand
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision resDemand
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double precision dumC
&amp;nbsp;&amp;nbsp;&amp;nbsp; end type&lt;/PRE&gt;

&lt;P&gt;Like that you mean&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 19:50:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012905#M106434</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-02T19:50:56Z</dc:date>
    </item>
    <item>
      <title>That's better, but you should</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012906#M106435</link>
      <description>&lt;P&gt;That's better, but you should consider replacing "double precision" with something like "real(DP)" where DP is a PARAMETER constant defined using SELECTED_REAL_KIND. I'd add a kind for the integer components too.&lt;/P&gt;

&lt;P&gt;Does your MS-DOS Fortran manual also include "module"?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Use % instead of . for component separators.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2014 20:41:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012906#M106435</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-10-02T20:41:42Z</dc:date>
    </item>
    <item>
      <title>  That's better, but you</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012907#M106436</link>
      <description>&lt;UL&gt;
	&lt;LI&gt;&amp;nbsp; That's better, but you should consider replacing "double precision" with something like "real(DP)" where DP is a&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; PARAMETER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; constant defined using SELECTED_REAL_ KIND. I'd add a kind for the integer components too.&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&lt;STRONG&gt;OK - I can handle that one, I have done that before &lt;/STRONG&gt;&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;Does your MS-DOS Fortran manual also include "module"?&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&lt;STRONG&gt;No - it has structure and MAP in the blue colours they used to indicate cutting edge - what is really interesting is that it contains a lot of examples that one still finds in the Intel Help Files. &lt;/STRONG&gt;&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;Use % instead of . for component separators.&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&lt;STRONG&gt;I think whoever decided to use the % made a major error.&amp;nbsp;&amp;nbsp; (. ) works so I will use it. &lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;This started out as a NIST proposal that included infrastructure work, I was looking at the EPANET program with a view to exchanging data between different models for disaster planning purposes. A not insignificant problem. I stumbled across a 1991 program in C that the EPA guy had first published. It did not have examples, merely the code, for the Gradient Method.&amp;nbsp; I have the Hardy Cross already coded in Fortran, but with Australian WATSYS data format on the ASCII output files.&amp;nbsp; Hardy Cross is a problem because of the topological issues. I also wanted to compare the results from the two model solvers.&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;I really hate C, once you have Lisped you would never C, it is just to crude.&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;But I thought I would take the program and code it, to see if I could solve the NIST problem, the problem of course is which of the matrix inversion routines to use, there are a multitude. The one in the C program was a straight Gaussian Elimination - aka&amp;nbsp;Conte and de Boor. &amp;nbsp;I also have very large models in AutoCAD format and I wanted to see if I&amp;nbsp; could work with them directly so either C# or VB. &lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;I stopped using BASIC when GWBasic died, never took to VB. So it was C#. But I wanted to use the MKL library routines. You sent my enquiry to the MKL forum and I had two suggestions from that one - one from Intel and one from mecej4.&amp;nbsp; In hindsight I should have travelled with the mecej4 recommendation. He is really good. &lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;I got the C program running in DEV CPP and could work out the algorithms, I coded it in C# and borrowed a inversion routine from Conte and de Boor, it is very old school but was cutting edge in 1979.&lt;/P&gt;

&lt;P&gt;Then at INTEL's suggestion I tried PARDISO - I had problems with the interfaces, and could not get the ia, ja and A matrix to work, it was my fault in not understanding the need for the Fortran arrays to start with a zero index coded in. mecej4 solved that problem as he has solved several along the way (as you have to ).&amp;nbsp; I was concerned that I had the algorithms correctly coded, so I used the MathNet inversion routines to check the code. (Those routines are not fast, but the interfaces are great).&lt;/P&gt;

&lt;P&gt;The PARDISO routine is 100 times faster than the next fastest inversion routine I have tested. So it is worth using.&lt;/P&gt;

&lt;P&gt;I spent a good deal of time getting a minimal set of error codes to work in the C# module to get one of the big models running, but when I moved to 24 hours analysis I hit a wall, mecej4 pointed out the basic error - which I should have spotted. He also commented it would be faster in Fortran.&lt;/P&gt;

&lt;P&gt;So I bit the bullet and am coding it in Fortran, I am trying to stay as close as possible to the original so I can compare the timings etc, and because sticking with the single data format at the ASCII stage is important.&amp;nbsp; I am about half way through the process, I had not used types before as most of my code dates from the 1980s and early 1990s. I left it alone for a long time when doing my PhD and getting tenure. But now I ma getting used to it.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It is interesting to code in Fortran again, and certainly Intel Fortran is a bonzer.&lt;/P&gt;

&lt;P&gt;So that is why I have the odd question.&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2014 01:21:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012907#M106436</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-03T01:21:59Z</dc:date>
    </item>
    <item>
      <title>Quote:John Nichols wrote:I</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012908#M106437</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;John Nichols wrote:&lt;BR /&gt;&lt;STRONG&gt;I think whoever decided to use the % made a major error.&amp;nbsp;&amp;nbsp; (. ) works so I will use it. &lt;/STRONG&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;You should instead blame the person that decided to use a period in things like .EQ. .&lt;/P&gt;

&lt;P&gt;I really wouldn't use `.`.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2014 01:46:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012908#M106437</guid>
      <dc:creator>IanH</dc:creator>
      <dc:date>2014-10-03T01:46:44Z</dc:date>
    </item>
    <item>
      <title>JMN: Here is a fixed up</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012909#M106438</link>
      <description>&lt;P&gt;JMN: Here is a fixed up version that reads the input file with no error messages. The main changes:&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;Changed file unit numbers from your (1,2) to (11,12) to save you trouble later, possibly with other compilers.&lt;/LI&gt;
	&lt;LI&gt;Read input line into character array, which can then be read with different I/O lists depending on the first four characters. No need for backspacing if that approach is used.&lt;/LI&gt;
	&lt;LI&gt;Some READ statements had too many items in the list, causing more lines to be consumed on input than is correct.&lt;/LI&gt;
	&lt;LI&gt;Replaced double quote characters with single quote characters throughout&lt;/LI&gt;
	&lt;LI&gt;Replaced calls to nonstandard GETTIM and GETDAT routines by calls to standard intrinsic DATE_AND_TIME&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;I recommend that you replace the non-standard structures by Fortran 90 "derived types".&lt;/P&gt;

&lt;P&gt;Otherwise, the code is ready for you to put in the routines that assemble the matrix.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2014 02:56:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012909#M106438</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2014-10-03T02:56:00Z</dc:date>
    </item>
    <item>
      <title>        character*4 AF</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012910#M106439</link>
      <description>&lt;PRE class="brush:fortran;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; character*4 AF
&amp;nbsp;&amp;nbsp;character*80 iline
&amp;nbsp;&amp;nbsp;equivalence(AF,iline)&lt;/PRE&gt;

&lt;P&gt;Dear Mecej4:&lt;/P&gt;

&lt;P&gt;It took me a minute to find the connection, I have never used the equivalence statement.&lt;/P&gt;

&lt;P&gt;So this is saying : the substring AF of four characters aligns with the first four characters in iline.&amp;nbsp; neat.&lt;/P&gt;

&lt;P&gt;I will fix the code. Thanks&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2014 15:20:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012910#M106439</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-03T15:20:27Z</dc:date>
    </item>
    <item>
      <title>If you wish to avoid</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012911#M106440</link>
      <description>&lt;P&gt;If you wish to avoid EQUIVALENCE, one way would be to declare&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;        character*4, pointer :: AF
        character*200, target :: iline&lt;/PRE&gt;

&lt;P&gt;and pointer-assign AF:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;         AF =&amp;gt; iline(1:4)&lt;/PRE&gt;

&lt;P&gt;at the beginning of the main program.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2014 18:21:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012911#M106440</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2014-10-03T18:21:58Z</dc:date>
    </item>
    <item>
      <title>I do not wish to avoid it - I</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012912#M106441</link>
      <description>&lt;P&gt;I do not wish to avoid it - I was commenting more on the aspect that I was unaware of the equivalence statement and should have searched a bit harder.&lt;/P&gt;

&lt;P&gt;Pointers are not a great idea. equivalence is better, it is merely a shorthand for substring.&lt;/P&gt;

&lt;P&gt;It is definitely a whole lot faster.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2014 21:07:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012912#M106441</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-03T21:07:01Z</dc:date>
    </item>
    <item>
      <title>Dear Steve:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012913#M106442</link>
      <description>&lt;P&gt;Dear Steve:&lt;/P&gt;

&lt;P&gt;&lt;SPAN class="passage-display-bcv"&gt;Ecclesiastes 3 tells us a lot about timing.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="passage-display-bcv"&gt;It was an interesting weekend - I got to spend two days running gopher at a conference, toilet paper etc.&amp;nbsp; I also spent my spare time playing with the Water Supply Analysis program.&amp;nbsp; You had suggested last week that I needed to change the double precision and integer declarations to a more modern standard.&amp;nbsp; So I did, but can I ask the following questions?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN class="passage-display-bcv"&gt;1.&amp;nbsp; What is the default integer value in the Fortran compiler?&amp;nbsp; I am assuming it is Integer*4?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN class="passage-display-bcv"&gt;2. Is it preferred to say Integer*4 or Integer (kind = 4) ?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN class="passage-display-bcv"&gt;I changed all of the integers to Integer(kind = 8), mecej4 commented that kind = 4 would be enough unless I had billions of nodes, no-one has billions of nodes in a water supply system, there is no way to check the data.&amp;nbsp; I am not going to change back now. &lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I declared a dp parameter as a unit in the Network Module. I can then use the Network Module and use the dp as shown below: is this acceptable practice.&amp;nbsp; But it appears that I have to use the network in every subroutine it is not enough to call it once in the main unit. Is this correct?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;integer(kind = 8), parameter :: dp = selected_real_kind(15, 307)&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer(kind = 8) ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer(kind = 8) :: Tank = -1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real(kind=dp) X&lt;/PRE&gt;

&lt;P&gt;Should I use the :: every time I declare variable or only if I want to set it to a value?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Does not the selected selected_real_kind(15, 307) really just default to 8 at this size? the local view page shows them as Real*8.&lt;/P&gt;

&lt;P&gt;If I want all the arrays to be a consistent size, can I also declare a dimension in the Network Module and then use it where the arrays is called or do I pass the size of the array in the call to the subroutine?&amp;nbsp; Both should work.&lt;/P&gt;

&lt;P&gt;Finally, I was looking for a book that I had once read on the Isle of Skye (off the west coast of Scotland). I requested the book on Interlibrary loan and a different book than expected arrived at our library.&amp;nbsp; I borrowed it, the book is an interesting history of the Island written in 1929, fair amount of geography and human culture included.&amp;nbsp; But some rather blood thirsty stories as well.&amp;nbsp; Would have been a heck of a place to live.&lt;/P&gt;

&lt;P&gt;JMN&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Oct 2014 15:17:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012913#M106442</guid>
      <dc:creator>JohnNichols</dc:creator>
      <dc:date>2014-10-06T15:17:40Z</dc:date>
    </item>
    <item>
      <title>The default integer kind in</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012914#M106443</link>
      <description>&lt;P&gt;The default integer kind in Intel Fortran is 4. "integer*4" is non-standard syntax. "integer(4)" is standard, but good practice would avoid hard-coding kind numbers. Instead, define PARAMETER constants with a value from SELECTED_INT_KIND (or SELECTED_REAL_KIND as appropriate.) The reason to use these is for portability. Specific kind numbers are implementation-dependent.&lt;/P&gt;

&lt;P&gt;The :: &amp;nbsp;is optional if you don't have initialization or attributes.&lt;/P&gt;

&lt;P&gt;If all your arrays are to be the same size, it would make sense to define a PARAMETER constant with this value in the module and use it in declarations.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Oct 2014 16:14:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Co-array-error/m-p/1012914#M106443</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2014-10-06T16:14:49Z</dc:date>
    </item>
  </channel>
</rss>

