Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fortran program doubt

  1. Apr 22, 2009 #1
    i have written a program to plot dst index values using fortran + pgplot, read the input as formatted input
    when i'm trying to plot the data points are not plotted correctly.
    k = 0
    do i = isdt, iedt --------------start date to end date
    do j = 1,24
    k = k+1
    x_val1(j) = x_val(i,j) ---------------------(a)
    dst_val1(j) = dst_val(i,j) ----------------(b)
    call pgdraw(x_val1(j),dst_val1(j))
    c call pgline(k, x_val1,dst_val1)
    c call pgpoint(k-1, x_val1,dst_val1,17)
    write(*,'(f11.3,2x,i5)')(x_val1(j),dst_val1(j),j = 1,24) -------------------(c)
    this is the routine to plot, in a & b im converting the 2d array to 1d array which im using to plot.
    when i try to plot them it is not coming properly, but when im trying to write the samething (in c), it is writing properly (formatted output). can somebody please help me to solve this problem
  2. jcsd
  3. Apr 23, 2009 #2
    Has dst_val1(j) been previously defined as an integer? The format assumes it to be an integer.
    In Fortran, implicit variables beginning with A-H and O-Z are assumed floating point variables. Integers default to names beginning with I-N... unless of course if the IMPLICIT statement was executed.

    If the program does not print properly, could you post some of the results, and also post what you expect to see?
  4. Apr 23, 2009 #3
    thank u for ur comment
    I've declared the arrays as real
    the data points are read as integers(because there is no floating value in the data file)
    I've attached the program and the data file
    please take a look at it

    Attached Files:

  5. Apr 23, 2009 #4
    I believe that's where the problem lies.
    If you have declared a variable as real, you would have to read it in using a floating format. The data itself could very well be integer. The format could be f4.0 to read in a real.
    You could confirm this by printing some values as soon as you read it in. The same goes for output (write).
  6. Apr 28, 2009 #5
    thank you for your help,
    as you said, the problem was with the declaration only,
    after correcting the program is okey now

Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Similar Threads - Fortran program doubt Date
How to buy Fortran Programming Software Commersial License Jan 30, 2018
Fortran 90/95 function Dec 17, 2015
Input/Output error with error code -5 Dec 16, 2015
Large/Infinite results Jun 18, 2015