http://www.lsoft.com/images/listserv-community.gifhttp://www.lsoft.com/images/listserv_small.gifCOMP-FORTRAN-90 ListCOMP-FORTRAN-90 List Archiveshttps://www.jiscmail.ac.uk/cgi-bin/webadmin?RSS&L=comp-fortran-90&v=ATOM1.0

This is an Atom formatted XML site feed. It is intended to be viewed in a Newsreader.
Alternatively you can view the HTML archives at https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=comp-fortran-90.

LISTSERV Web Interface 2.4.12018-11-16T15:28:14ZWadud Miah2018-11-16T15:28:00+00:002018-11-16T15:28:00+00:00Modern Fortran workshops in Paris and Toulouse https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;ad958271.1811Hi everyone,<br><br>I will be running free modern Fortran workshops in Paris and Toulouse, and registration detail can be found at:<br><br>https://www.nag.co.uk/content/fortran-modernization-workshop<br><br>Please feel to pass onto your colleagues who might be interested, particularly if they are based in France.<br><br>Regards,<br>Wadud.Vishnu V. Krishnan2018-11-06T23:44:07+05:302018-11-06T23:44:07+05:30Re: Extended array operations https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;a758e4de.1811@Snyder, Yes I did mean something like an outer-product. Either of the same<br>rank, or one rank higher. Either kind would be usable.<br><br>DOT_PRODUCT is an inner-product, MATMUL is in a sense a generalisation of<br>that, and other array operations are element-wise. An outer-product structure,<br>i.e., element-pair-wise, would be a nice addition to the set. [...]Van Snyder2018-11-06T09:24:22-08:002018-11-06T09:24:22-08:00Re: Extended array operations https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;ce17ab13.1811On Wed, 2018-11-07 at 01:32 +1100, Robin Vowels wrote:<br>> what would you expect to happen when D1 /= D2 ?<br><br>Since the dimension of the variable in the assignment is d1*d2, I'd<br>guess the operation is an outer product. That's the only one I've ever<br>seen to be useful in a combination of an array of size d1 with an array<br>of size d2 to produce an array of size d1*d2. Some languages have an<br>outer-product operator, but it produces an array of higher rank, not one<br>of the same rank with larger dimension. [...]Robin Vowels2018-11-07T01:32:17+11:002018-11-07T01:32:17+11:00Re: Extended array operations https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;5485634.1811what would you expect to happen when D1 /= D2 ? ----- Original Message ----- From: "Fortran 90 List" @jiscmail.ac.uk> To:<COMP-FORTRAN-90@JISCMAIL.AC.UK> Cc: Sent:Tue, 6 Nov 2018 19:18:47 +0530 Subject:Extended array operations A logical extension of the extremely convenient array syntax that allows us to perform computations like: array2(1:d) = scalar <operation> array1(1:d) would be array-array operations of the kind: array3(1:d1*d2) = array1(1:d1) <operation> array2(1:d2) or maybe with a dimension upgrade, with some convention on the ordering, say column ordered with the first array being the fastest changing index (because we like that).Steve Lionel2018-11-06T09:31:55-05:002018-11-06T09:31:55-05:00Re: Extended array operations https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;5eb1502.1811No, and I think you'd get arguments about what the semantics of such<br>operations would be. You can already define your own generic operators<br>on arrays to mean whatever you'd like.<br><br>Steve<br><br>On 11/6/2018 8:48 AM, Vishnu V. Krishnan wrote:<br>> A logical extension of the extremely convenient array syntax ...<br>><br>> would be array-array operations of the kind:<br>><br>> array3(1:d1*d2) = array1(1:d1) <operation> array2(1:d2)<br>><br>> or maybe with a dimension upgrade, with some convention on the ordering, say<br>> column ordered with the first array being the fastest changing index (because<br>> we like that).<br>><br> [...]Vishnu V. Krishnan2018-11-06T19:18:47+05:302018-11-06T19:18:47+05:30Extended array operations https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;12fab0e3.1811A logical extension of the extremely convenient array syntax that allows us to<br>perform computations like:<br><br>array2(1:d) = scalar <operation> array1(1:d)<br><br>would be array-array operations of the kind:<br><br>array3(1:d1*d2) = array1(1:d1) <operation> array2(1:d2)<br><br>or maybe with a dimension upgrade, with some convention on the ordering, say<br>column ordered with the first array being the fastest changing index (because<br>we like that). [...]Michael Metcalf2018-11-06T11:02:35+00:002018-11-06T11:02:35+00:00"Modern Fortran Explained Incorporating Fortran 2018" now published https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;f5eb27da.1811The latest edition of MFE is now available worldwide, in the US at<br><br>https://global.oup.com/academic/product/modern-fortran-explained-9780198811886?q=modern%20fortran&amp;lang=en&amp;cc=us<br><br>and in the UK and elsewhere at<br><br>https://global.oup.com/academic/product/modern-fortran-explained-9780198811886?q=modern%20fortran&amp;lang=en&amp;cc=gb<br><br>as well as from the usual suppliers.<br><br>From the blurb:<br><br>A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard – Fortran 2018 – includes many additions and improvements. [...]Ian Chivers2018-10-20T14:39:54+01:002018-10-20T14:39:54+01:00New Fortran course - Writing Fortran 2018 Today: Object-Oriented Parallel Programming https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;455dabcb.1810Some people on the list will know about<br>Damian Rouson and Sorcery Inc.<br><br>Here are details of a new course.<br><br>https://mailchi.mp/b467892ccf6f/writing-fortran-2018-today?e=cdd848d14f<br><br>looks fascinating.<br><br>Ian ChiversAnton Shterenlikht2018-09-12T09:22:19+01:002018-09-12T09:22:19+01:00Fortran standardisation survey - interim report https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;350df3b7.1809The BCS Fortran group<br>( http://www.fortran.bcs.org )<br>has produced an interim<br>survey report with data<br>up to the end of AUG-2018:<br><br>http://www.fortran.bcs.org/2018/FortranBenefitsSurvey_interimrep_Aug2018.pdf<br><br>No moderation or analysis was attempted.<br><br>Apologies to those who wrote long<br>free form comments for broken formatting.<br>A non-trivial amount of manual work is<br>required to preserve the formatting.<br>This will be done for the final report.<br><br>The survey is still open until 31-DEC-2018. [...] John Reid2018-09-10T16:34:44+01:002018-09-10T16:34:44+01:00Re: Question on subprograms with dummy arguments with POINTER and INTENT(OUT) attributes https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;c6f210ab.1809Vipul Parekh wrote:<br>> Consider the following simple program:<br>><br>> integer, pointer :: x => null()<br>> integer, target :: y = 42<br>> call sub1( x, y )<br>> print *, "After sub1: associated(x)? ", associated(x), "; expected is T"<br>> call sub2( x )<br>> print *, "After sub2: associated(x)? ", associated(x), "; expected is ?"<br>> contains<br>> subroutine sub1( ptr, tgt )<br>> integer, pointer, intent(out) :: ptr<br>> integer, target, intent(in) :: tgt<br>> ptr => tgt<br>> end subroutine<br>> subroutine sub2( ptr, tgt )<br>> integer, pointer, intent(out) :: ptr<br>> integer, [...]Vipul Parekh2018-09-10T09:46:17-04:002018-09-10T09:46:17-04:00Question on subprograms with dummy arguments with POINTER and INTENT(OUT) attributes https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;7d44b1cc.1809Consider the following simple program:<br><br>integer, pointer :: x => null()<br>integer, target :: y = 42<br>call sub1( x, y )<br>print *, "After sub1: associated(x)? ", associated(x), "; expected is T"<br>call sub2( x )<br>print *, "After sub2: associated(x)? ", associated(x), "; expected is ?"<br>contains<br>subroutine sub1( ptr, tgt )<br>integer, pointer, intent(out) :: ptr<br>integer, target, intent(in) :: tgt<br>ptr => tgt<br>end subroutine<br>subroutine sub2( ptr, tgt )<br>integer, pointer, intent(out) :: ptr<br>integer, target, intent(in), optional :: tgt<br>if ( present(tgt) ) ptr => tgt<br>end subroutine<br>end [...]Van Snyder2018-08-29T09:34:24-07:002018-08-29T09:34:24-07:00Re: Webinar - Verification and Modernisation of Fortran Codes using the NAG Fortran https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;cc026a88.1808On Wed, 2018-08-29 at 09:11 +0000, Wadud Miah wrote:<br>> Hi,<br>><br>> Not sure if you are aware, but there is a tool that does what you are<br>> looking for:<br>><br>> https://github.com/camfort/camfort<br>><br>> I think it's unlikely that dimensional checking will be incorporated<br>> into the language.<br><br>I know camfort and Andy Rice. It's based upon my proposal to<br>incorporate units of measurement into Fortran. It does some, but not<br>all, of what is needed. One part that's missing is I/O. [...]Wadud Miah2018-08-29T09:11:18+00:002018-08-29T09:11:18+00:00Re: Webinar - Verification and Modernisation of Fortran Codes using the NAG Fortran https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;3bb44ca7.1808Hi,<br><br>Not sure if you are aware, but there is a tool that does what you are looking for:<br><br>https://github.com/camfort/camfort<br><br>I think it's unlikely that dimensional checking will be incorporated into the language.<br><br>Regards,<br>Wadud.<br><br>-----Original Message-----<br>From: Fortran 90 List <COMP-FORTRAN-90@JISCMAIL.AC.UK> On Behalf Of Van Snyder<br>Sent: 24 August 2018 19:06<br>To: COMP-FORTRAN-90@JISCMAIL.AC.UK<br>Subject: Re: Webinar - Verification and Modernisation of Fortran Codes using the NAG Fortran [...]Van Snyder2018-08-24T11:06:21-07:002018-08-24T11:06:21-07:00Re: Webinar - Verification and Modernisation of Fortran Codes using the NAG Fortran https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;44e4099f.1808On Fri, 2018-08-24 at 11:58 +0000, Wadud Miah wrote:<br>> Thu, Sep 13, 2018 3:00 PM - 3:40 PM BST<br>><br>> Verification and Modernisation of Fortran Codes using the NAG Fortran<br>> Compiler<br>><br>><br>><br>> Fortran remains the dominant programming language of scientific<br>> computation and HPC, and is likely to be for the foreseeable future.<br>> Advances in compiler technology and techniques have yielded huge<br>> performance gains for Fortran codes. However, there is very little<br>> emphasis on correctness and language standards compliance. The NAG<br>> Fortran Compiler was designed with a strong emphasis on [...]Wadud Miah2018-08-24T11:58:42+00:002018-08-24T11:58:42+00:00Webinar - Verification and Modernisation of Fortran Codes using the NAG Fortran https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;6e74ab92.1808Thu, Sep 13, 2018 3:00 PM - 3:40 PM BST<br>Verification and Modernisation of Fortran Codes using the NAG Fortran Compiler<br><br>Fortran remains the dominant programming language of scientific computation and HPC, and is likely to be for the foreseeable future. Advances in compiler technology and techniques have yielded huge performance gains for Fortran codes. However, there is very little emphasis on correctness and language standards compliance. The NAG Fortran Compiler was designed with a strong emphasis on correctness and adherence to the language standard, as well as providing additional features for modernising legacy codes. This webinar will show how [...]Steve Lionel2018-08-05T19:42:59-04:002018-08-05T19:42:59-04:00Re: Question on the use of a specification function in a declaration statement for the length-type parameter of a derived type https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;cc7092ad.1808On 8/5/2018 5:17 PM, Vipul Parekh wrote:<br>> Considering the rules relaxed in the language starting with Fortran<br>> 2003 regarding specification expressions where a reference to a<br>> specification function is permitted when the arguments to said<br>> function are restricted expressions themselves, is the following code<br>> standard-conforming?<br><br>I think it is conforming. One compiler I tried complained that there was<br>no visible explicit interface for getlen, which is clearly incorrect. I<br>suggest you file a bug report, assuming we're trying the same compiler<br>(likely). [...]Vipul Parekh2018-08-05T17:17:56-04:002018-08-05T17:17:56-04:00Question on the use of a specification function in a declaration statement for the length-type parameter of a derived type https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;5a8b0a1.1808Considering the rules relaxed in the language starting with Fortran<br>2003 regarding specification expressions where a reference to a<br>specification function is permitted when the arguments to said<br>function are restricted expressions themselves, is the following code<br>standard-conforming?<br><br>module m<br>type :: t(N)<br>integer, len :: N<br>integer :: i(N)<br>end type<br>contains<br>pure function getlen(x) result(r)<br>integer, intent(in) :: x<br>integer :: r<br>r = x<br>end function<br>function f() result(r)<br>type(t(N=getlen(2))) :: r !!<-- offending line per one compiler<br>r%i = 42<br>end function<br>end module [...]Anton Shterenlikht2018-07-31T09:10:48+01:002018-07-31T09:10:48+01:00Questionnaire on the value of newer Fortran standards https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;d8a95830.1807Benefits of continuing Fortran standardisation<br><br>If you use Fortran, directly or indirectly, please will you complete<br>this survey<br>https://goo.gl/forms/JUFUReOoVUin2m8D2<br>It has been developed by the committee of the BCS Fortran Group to<br>quantify the value of modern Fortran standards to organisations and<br>individuals. The results of the survey will help the Group justify<br>continuing involvement in Fortran standardisation efforts. [...] Bill Long2018-05-15T13:57:12+00:002018-05-15T13:57:12+00:00Re: automatic sample size determination, while construct, gfortran compiler option (end of file) https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;2606228.1805> On May 15, 2018, at 1:22 AM, Mudelsee M <mudelsee@CLIMATE-RISK-ANALYSIS.COM> wrote:<br>><br>> Dear Bill,<br>><br>> thanks for the reply. I agree that malformed files (i.e., others than file "a" I sent with my inquiry message) should be avoided, but that is life if you give courses and participants bring own data. [...]Clive Page2018-05-15T09:26:39+01:002018-05-15T09:26:39+01:00Re: automatic sample size determination, while construct, gfortran compiler option (end of file) https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;8225329f.1805On 15/05/2018 07:22, Mudelsee M wrote:<br>><br>> thanks for the reply. I agree that malformed files (i.e., others than file "a" I sent with my inquiry message) should be avoided, but that is life if you give courses and participants bring own data.<br><br>It seems to me that the problem you have is that sometimes what a human would call the last line of a file is not what all Fortran systems would call the last "record". This problem is exacerbated by differences between operating systems in what they assume as for end-of-line and end-of-file sequences. [...]Mudelsee M2018-05-15T08:22:32+02:002018-05-15T08:22:32+02:00Re: automatic sample size determination, while construct, gfortran compiler option (end of file) https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;580f06f8.1805Dear Bill,<br><br>thanks for the reply. I agree that malformed files (i.e., others than<br>file "a" I sent with my inquiry message) should be avoided, but that is<br>life if you give courses and participants bring own data.<br><br>However: I tried your suggestion by adding/replacing text with<br><br>use,intrinsic :: iso_fortran_env<br>if (iocheck == IOSTAT_END) exit<br><br>but the results for file "d" are still negative ("n = 820") on my<br>machines here: [...]Bill Long2018-05-14T19:19:41+00:002018-05-14T19:19:41+00:00Re: automatic sample size determination, while construct, gfortran compiler option (end of file) https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;15d4b0cf.1805Note that the wc system utility also thinks that d.txt has 820 lines:<br><br>% wc d.txt<br>820 1642 11402 d.txt<br><br>This is because the last “line” of the file is malformed. By checking for iostat .ne. 0 you are tripping on that error, rather than the EOF indicator. If the code is modified to [...]Keith Bierman2018-05-14T11:43:39-06:002018-05-14T11:43:39-06:00Re: COMP-FORTRAN-90 Digest - 1 May 2018 to 14 May 2018 - Special issue (#2018-25) https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;a2595355.1805On Mon, May 14, 2018 at 1:01 AM COMP-FORTRAN-90 automatic digest system <<br>LISTSERV@jiscmail.ac.uk> wrote:<br><br>> There is 1 message totaling 12970 lines in this issue.<br>><br>> Topics in this special issue:<br>><br>> 1. automatic sample size determination, while construct, gfortran<br>> compiler<br>> option (end of file)<br>><br>> ...<br>><br>> From: Mudelsee M <mudelsee@CLIMATE-RISK-ANALYSIS.COM><br>> Subject: automatic sample size determination, while construct, gfortran<br>> compiler option (end of file)<br>><br>><br>> ...<br>><br>> the end portion: carriage-return (CR), line-feed (LF), space, decimal<br>> point. The ominous file "d" has:<br>> o no decimal [...]Mudelsee M2018-05-14T08:59:52+02:002018-05-14T08:59:52+02:00automatic sample size determination, while construct, gfortran compiler option (end of file) https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;edb105de.1805Dear colleagues,<br><br>I am looking for help in the interpretation and correction of an issue<br>(which seemingly has something to do with the end-of-file situation)<br>that arises when I compile a code under gfortran.<br><br>Below code extract shows the while construct used to determine the<br>sample size of a time series. The idea is that after iocheck is .ne. 0<br>(end reached), the counting is stopped. Automatic sample size<br>determination is convenient in applied time series analysis, so I wish<br>to keep this. [...]Bill Long2018-05-01T15:28:53+00:002018-05-01T15:28:53+00:00Re: coarray substring notation? https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;b8e518d7.1805If Compiler A is the one I think it is, I filed a bug with them in January, 2012 for this problem. The issue with them is still open.<br><br>As John noted, Compiler B is correct. They syntax rules that cover this are R908 and R909.<br><br>Cheers,<br>Bill<br><br>> On May 1, 2018, at 7:58 AM, Anton Shterenlikht <mexas@BRISTOL.AC.UK> wrote:<br>><br>> For coarrays of DT, components follow the image selector,<br>> as in X[...]%...<br>><br>> For array coarrays, the array section precedes the image<br>> selector, as in X(... : ... )[...].<br>><br>> What about coarray substrings?<br> [...] John Reid2018-05-01T16:17:02+01:002018-05-01T16:17:02+01:00Re: coarray substring notation? https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;c6558a9d.1805Compiler B is correct. The audit trail is<br><br>R908<br>R909<br>R914 & C921<br>R911<br>R912<br><br>Cheers,<br><br>John.<br><br>Anton Shterenlikht wrote:<br>> For coarrays of DT, components follow the image selector,<br>> as in X[...]%...<br>><br>> For array coarrays, the array section precedes the image<br>> selector, as in X(... : ... )[...].<br>><br>> What about coarray substrings?<br>> Does the substring spec appear<br>> before or after the image selector?<br>> Can somebody point me to the relevant place in DIS please.<br>><br>> If I put the substring before the image selector:<br>><br>> character( len=2 ) [...] Anton Shterenlikht2018-05-01T13:58:23+01:002018-05-01T13:58:23+01:00coarray substring notation? https://www.jiscmail.ac.uk:443/cgi-bin/webadmin?A2=comp-fortran-90;242b1dda.1805For coarrays of DT, components follow the image selector,<br>as in X[...]%...<br><br>For array coarrays, the array section precedes the image<br>selector, as in X(... : ... )[...].<br><br>What about coarray substrings?<br>Does the substring spec appear<br>before or after the image selector?<br>Can somebody point me to the relevant place in DIS please.<br><br>If I put the substring before the image selector: [...]