1

sorry,

I try to write a file.dat whit a lot of columns (11) with different format (1.4e-12, 10...)

when i try ro write the code i use the following fortran command:

                 WRITE(7,*) id,t,a,e,inc,capom,omega,capm,mass,radius

but each line in the original file is now write in multiply lines.

From:

1222221 0.0 10.0 0.0 3.1415927 0.0 0.0 3.7828348 9.0E-9 4.0E-6

to:

1222221 0.000000000000000E+000 10.0000000000000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 1.67102026939392 9.000000189551827E-010 3.999999989900971E-006

How can i resolve this?

Thanks a lot for your help!

1 Answer 1

2

You need to specify the format you want. You can do this by using

  • i0 to specify some unknown width integer
  • f4.1 to specify an up-to 2 digit real plus 1 decimal place (min of 0.0 and max of 99.9)
  • f9.7 to specify an up-to 1 digit real plut 7 decimal places (fits pi nicely there)
  • es10.1 to specify an up-to 8 digit scientific notation real with a single decimal place (will fit 9e-9 nicely)
  • 1x to specify a space between each number

These can be used together to get

write(7,'(i0,1x,3(f4.1,1x),f9.7,1x,2(f4.1,1x),2(es10.1,1x))') &
                              id,t,a,e,inc,capom,omega,capm,mass,radius
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.