Intel® Fortran Studio XE

incompatibilty between libifcore.a between ifort 15.0.0 and 15.0.2

The following affects one of our Library builds, built using ifort 15.0.0 when compiling and linking a main program against

the shared library using ifort.15.0.2 .......

Using ifort 15.0.0 compile up the following in file nag_test_io.f90  and turn into archive 

  Subroutine nag_test_io(string)
      Character (*) string
      Write(6,*) string
    End Subroutine nag_test_io

ifort -O3 -w -auto -fPIC -axAVX,SSE2 -threads -fexceptions -fp-model precise -c  nag_test_io.f90 -o nag_test_io.o

ar rvf libnag_test.a nag_test_io.o

Relating two different arrays for table lookup


    I have a table of daily data for 50 years (18262 data values), which I am able to read and write into an output file. I have another table of coefficients, which is actually yearly (50 data values). I would like to multiply the yearly coefficients with the 18262 data values, whenever the year matches.

Basically, I am looking for relating two arrays when they match (as I am trying to do from line 41 to 45 in the attached program). Attached herewith are also the two tables.

Derived type IO with private DT array component

I've run into a possible bug with derived type IO when I have a derived type with a private component array of derived types. I've included a example code snippet below that should reproduce the problem (I'm using ifort version To summarize the problem, when I try to write my derived type using a formatted write statement it output the public component of the derived type, as expected, and then it outputs the first n-1 values of the component derived type, which is both private and not called in the main formatted write statement.

creeping cpu time




I have a fortran multithreaded (omp) code compiled with ifort that runs 24/7 doing

fluid flow calculations. It uses about 6GB of ram and it is run as a series of

self-submitting jobs. The processor is an i7 3930k with 16GB ddr3 @ 1600mhz and

the OS is opensuse but run in konsole. No other application is run on this system

and it not connected to the net.


Each one of the series of these jobs does a virtually identical number of operations -

I/O Question


   I have an input output question. I am trying to read the values as in the attached text file, until end of file, then multiply the last value (from beginning to end) by a coefficient (example 0.5) and output the table in the same format but with the modified last column. Attached herewith is a test program which I tried to write for this, which appears to go in an infinite loop.

Any pointers and suggestions so as to output the file in the same format would be greatly helpful.

Thank you.

Downcast function result without copy

Problem: A subprogram 'make_child' returns a variable of type 'child' which is an extension of the 'parent' type. 'make_child' itself gets the 'child' from a generic factory, which produces the 'child', but declares it as 'parent' type. (Note: this is not about human genetic engineering, it's a Fortran question...)

Question 1 (Fortran Standard): How can 'make_child' downcast the 'parent'-type into the result declared as 'child', without creating a copy (large data!) ?

What I tried so far:

OpenMP & Shared derived array

       type :: zmplx2d
         complex*16,pointer:: val1(:,:),val2(:,:)
       end type

      type(zmplx2d),dimension(:),allocatable:: acamats

       !$omp parallel do private(ilo,jlo,snedges,fnedges,
     &    ies,ief) shared(acamats)
     &   schedule(guided)
       do j = Levindx(i), Levindx(i+1)-1
        ilo = edgeips(2,j)
        jlo = edgeips(1,j)
        snedges = igall(jlo+1)-igall(jlo)
        fnedges = igall(ilo+1)-igall(ilo)
        ies = igall(jlo)
        ief = igall(ilo)

        call farboxInteraction2(snedges,fnedges,acacomps(j),
Subscribe to Intel® Fortran Studio XE