fortran90 course1 slides

72
7/25/2019 Fortran90 Course1 Slides http://slidepdf.com/reader/full/fortran90-course1-slides 1/72 Introduction to Fortran 90 Si Liu Si Liu July 19, 2010 July 19, 2010 NCAR/CISL/OSD/HSS NCAR/CISL/OSD/HSS Consulting Services rou! Consulting Services rou!

Upload: sorinopris

Post on 24-Feb-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 1/72

Introduction toFortran 90 

Si LiuSi Liu

July 19, 2010July 19, 2010

NCAR/CISL/OSD/HSSNCAR/CISL/OSD/HSS

Consulting Services rou!Consulting Services rou!

Page 2: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 2/72

Syllabus

Intro"uction

#$sic synt$%

 Arr$ysControl structures

Sco!es

I/O

Page 3: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 3/72

Page 4: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 4/72

History of Fortran

-OR.RAN is $n $crony *or -ORul$ .RANsl$tion

I#( -ortr$n 19

-ortr$n 33 st$n"$r" 1933-ortr$n st$n"$r" 194

-ortr$n 90 st$n"$r" 1991

-ortr$n 9 st$n"$r" 1993

-ortr$n 2005 st$n"$r"

-ortr$n 2004 st$n"$r"

Page 5: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 5/72

Page 6: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 6/72

Objective, continued 

7rovi"e "$t$ !$r$llel c$!$&ility

7$r$llel $rr$y o!er$tions *or &etter use o* vector $n" !$r$llel

!rocessors

Co!$ti&ility )it+ -ortr$n

  -ortr$n is $ su&set o* -ortr$n 90

I!rove s$*ety

 Re"uce ris; o* errors in st$n"$r" co"e

St$n"$r" con*or$nce

Co!iler ust re!ort non st$n"$r" co"e $n" o&solescent

*e$tures

Page 7: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 7/72

Major new features

 Arr$y !rocessing Dyn$ic eory $lloc$tion

 (o"ules

7roce"ures<8 O!tion$l/=ey)or" 7$r$eters

8 Intern$l 7roce"ures

8 Recursive 7roce"ures7ointers

Page 8: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 8/72

Other new features

-ree:*or$t source co"e

S!eci*ic$tions/I!licit none

7$r$eteri6e" "$t$ ty!es =IND

Derive" ty!es

O!er$tor overlo$"ing

Ne) control structuresNe) intrinsic *unctions

Ne) I/O *e$tures

Page 9: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 9/72

 Available Fortran 90 comilers

gfortran — the GNU Fortran compiler 

Cray CF90

DEC Fortran 90

EPC Fortran 90

IBM XF

ahey F90Micro!ay

N" #oft!are F90$

N"G f90

Pacific #ierra %"#&'90

Para(oft

#alfor) F&N90

Page 10: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 10/72

First Fortran ro!ramSynta" #"amle$ helloworld 

synt$%>e%1?*90

7RORA( Hello@orl"

  Hello @orl" in -ortr$n 90 $n" 9

@RI.B,B Hello @orl"

ND 7RORA(

Co!ile $n" run

g*ortr$n synt$%>e%1?*90 :o synt$%>e%1?o

?/synt$%>e%1?o

Page 11: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 11/72

Source form

Lines u! to 152 c+$r$ctersLo)erc$se letters !eritte"

N$es u! to 51 c+$r$cters inclu"ing un"erscore

Seicolon to se!$r$te ulti!le st$teents on oneline

Coents $y *ollo) e%cl$$tion

 A!ers$n" is $ continu$tion sy&ol

C+$r$cter set inclu"es E F G : K

Ne) rel$tion$l o!er$tors< FM, FM, M,M/,MG,MGM

Page 12: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 12/72

#"amle% Source form*ree>source>*or?*90

7RORA( *ree>source>*or

Long n$es )it+ un"erscores

No s!eci$l coluns

I(7LICI. NON

u!!er $n" lo)er c$se lettersRAL << t%, ty, t6 tr$iling coent

(ulti!le st$teents !er line

t% 1?0 ty 2?0 t6 t% B ty

Continu$tion on line to &e continue"

7RIN. B, t%, ty, t6

8 ND 7RORA( *ree>source>*or

Page 13: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 13/72

Page 14: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 14/72

Secifications, continued 

tye &&,attribute'((( %%' entity list 

attribute can be7ARA(.R, 7#LIC, 7RIA.,

 ALLOCA.A#L, 7OIN.R, .AR.,

IN.N.inout, DI(NSION e%tent:list,

O7.IONAL, SA, T.RNAL,IN.RINSIC

C$n initi$li6e v$ri$&les in s!eci*ic$tions

Page 15: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 15/72

#"amle% Secifications

Integer v$ri$&les<

IN.R << i$, i&

7$r$eters<IN.R, 7ARA(.R << n100, 1000

Initi$li6$tion o* v$ri$&les<

RAL << $ 2?31424, & 5?1U19  Logic$l v$ri$&le

LOICAL << ?-$lse?

Page 16: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 16/72

Page 17: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 17/72

IM)*I+I -O-# 

In -ortr$n , i!licit ty!ing !eritte" use o*

un"ecl$re" v$ri$&les? .+is +$s &een t+e c$use

o* $ny !rogr$ing errors?

I(7LICI. NON *orces you to "ecl$re t+e ty!eo* $ll v$ri$&les, $rr$ys, $n" *unctions?

I(7LICI. NON $y &e !rece"e" in $ !rogr$

unit only &y S $n" -OR(A.?It is recoen"e" to inclu"e t+is st$teent in

$ll !rogr$ units?

Page 18: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 18/72

.ind /alues

intrinsic ty!es< RAL, IN.R, CO(7LT, 

CHARAC.R, LOICAL

$c+ ty!e +$s $n $ssoci$te" non neg$tive integer v$lue

c$lle" t+e =IND ty!e !$r$eter 

se*ul *e$ture *or )riting !ort$&le co"e reVuiring

s!eci*ie" !recision

 A !rocessor ust su!!ort $t le$st 2 ;in"s *or RAL $n"

CO(7LT, $n" 1 *or IN.R, LOICAL $n"

CHARAC.R

($ny intrinsics *or enVuiring $&out $n" setting ;in"

v$lues

Page 19: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 19/72

#"amle% .ind /alues

IN.R4 << I

RAL=INDU << -

CHARAC.R10 << C

IN.R << I=SLC.D>IN.>=IND9

IN.R << IRSLC.D>RAL>=IND5,10

Page 20: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 20/72

.ind values% I-##1 

  IN.R =IND )! << i$ or 

  IN.R)! << i$

Integers usu$lly +$ve 13, 52, or 3U &it 13 &it integer nor$lly !erits :5234 F i F 523

=in" v$lues $re syste "e!en"ent

8  An 4 &yte integer v$ri$&le usu$lly +$s ;in" v$lue 4 or 2

8  A U &yte integer v$ri$&le usu$lly +$s ;in" v$lue U or 1

Page 21: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 21/72

.ind values% I-##1, continued 

.o "ecl$re integer in syste in"e!en"ent )$y, s!eci*y

;in" v$lue $ssoci$te" )it+ r$nge o* integers reVuire"<

 

IN.R, 7ARA(.R << i4 SLC.D>IN.>=IND4

  IN.R =IND i4 << i$, i&, ic

  i$, i& $n" ic c$n +$ve v$lues &et)een :104 $n" E104 $tle$st i* !eritte" &y !rocessor?

Page 22: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 22/72

.ind values% 1#A*

  RAL =IND )! << r$ or 

  RAL)! << r$

Decl$re $ re$l v$ri$&le, r$, )+ose !recision is"eterine" &y t+e v$lue o* t+e ;in" !$r$eter, )!

=in" v$lues $re syste "e!en"ent

8  An 4 &yte 3U &it re$l v$ri$&le usu$lly +$s ;in" v$lue 4 or 2?

8  A U &yte 52 &it re$l v$ri$&le usu$lly +$s ;in" v$lue U or 1? Liter$l const$nts set )it+ ;in" v$lue< const 1?0>)!

Page 23: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 23/72

.ind values% 1#A*,continued 

.o "ecl$re re$l in syste in"e!en"ent )$y, s!eci*y ;in"

v$lue $ssoci$te" )it+ !recision $n" e%!onent r$nge

reVuire"<

 

IN.R, 7ARA(.R <<

  i10 SLC.D>RAL>=IND10, 200

  RAL =IND i10 << $, &, c

$, & $n" c +$ve $t le$st 10 "eci$l "igits o* !recision $n"

t+e e%!onent r$nge 200?

Page 24: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 24/72

.ind values% Intrinsics

  IN.R, 7ARA(.R <<

  i4 SLC.D>IN.>=IND4

  IN.R =IND i4 << i$

  7RIN. B, =INDi$

&hi( !ill print the *in) +al,e of ia-

  IN.R, 7ARA(.R <<

  i10 SLC.D>RAL>=IND10, 200

  RAL =IND i10 << $  7RIN. B, RAN$, 7RCISION$, =IND$

&hi( !ill print the e.ponent range/ the )ecimal )igit( of

preci(ion an) the *in) +al,e of a-

Page 25: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 25/72

Page 26: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 26/72

Syntax Example 2 , cntinue! 

-unction Are$%,y,6

i!licit none

*unction ty!e

re$l << Are$re$l, intent in << %, y, 6

re$l << t+et$, +eig+t

t+et$ $cos%BB2EyBB2:6BB2/2?0B%By

+eig+t %Bsint+et$

 Are$ 0?ByB+eig+t

en" *unction Are$

Page 27: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 27/72

Page 28: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 28/72

Page 29: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 29/72

Page 30: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 30/72

Page 31: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 31/72

+ontrol Structures

.+ree &loc; constructs

8 I-

8 DO $n" DO @HIL8 CAS

 All c$n &e neste"

 All $y +$ve construct n$es to +el!

  re$"$&ility or to incre$se *le%i&ility

Page 32: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 32/72

+ontrol structure% IF 

Pn$e<QI- logic$l e%!ression .HN&loc;

  PLS I- logic$l e%!ression .HN

Pn$eQ &loc;Q???

  PLS Pn$eQ

  &loc;Q

  ND I- Pn$eQ

Page 33: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 33/72

Page 34: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 34/72

+ontrol Structure% 2o

Pn$e<Q DO Pcntrl clau"e% 

&loc;

ND DO Pn$eQ

Cntrl clau"e may be&

8 $n iter$tion control cl$use

count initi$l, *in$l P,incQ

8 $ @HIL control cl$use

@HIL logic$l e%!ression

8 or not+ing no control cl$use $t $ll

Page 35: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 35/72

#"amle% 2O 

Iter$tion control cl$use<

ro)s< DO i 1, ncols< DO ' 1,

$i, ' i E '

ND DO colsND DO ro)s

Page 36: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 36/72

Page 37: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 37/72

Page 38: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 38/72

Page 39: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 39/72

Page 40: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 40/72

Page 41: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 41/72

+ontrol Structure% +AS# 

ener$l *or<

Pn$e<Q SLC. CAS expre""in$PCAS "electr$ 'name% 

&loc;Q

???ND SLC. Pn$eQ

Page 42: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 42/72

Page 43: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 43/72

Page 44: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 44/72

Page 45: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 45/72

Page 46: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 46/72

Page 47: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 47/72

Page 48: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 48/72

 Array +onstructor 

S!eci*y t+e v$lue o* $n $rr$y &y listing its eleents

  ! / 2, 5, , , 11, 15, 1 /

DA.A

RAL RR3

DA.A RR /3B0/

Res+$!e

  RAL, DI(NSION 5, 2 << r$

r$ RSHA7 / i E ', i 1, 5, ' 1, 2 /,

SHA7 / 5, 2 /

Page 49: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 49/72

Page 50: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 50/72

Page 51: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 51/72

Page 52: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 52/72

7hole array oerations, continued 

-ortr$n <

RAL $20, &20, c20

Y

DO 10 i 1, 20

  $i 0?0

  10 CON.IN

  Y

DO 20 i 1, 20

  $i $i / 5?1 E &i BSXR.ci

  20 CON.IN

  Y

 

-ortr$n 90<

RAL, DI(NSION 20 << $, &, c

  ???

  $ 0?0  ???

Y$ $ / 5?1 E & B SXR.c

???

Page 53: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 53/72

Page 54: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 54/72

Page 55: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 55/72

Page 56: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 56/72

 Allocatable array 

 Arr$y e%$!le 5 : $lloc$t$&le $rr$y

Page 57: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 57/72

S * b l d

Page 58: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 58/72

Scoes% *abels and names

.+e sco!e o* $ l$&el is $ $in !rogr$ or $ !roce"ure,

e%clu"ing $ny intern$l !roce"ures cont$ine" )it+in it?

ntities "ecl$re" in "i**erent sco!ing unit $re $l)$ys

"i**erent?

@it+in $ sco!ing unit, e$c+ n$e" entity ust +$ve $

"istinct n$e, )it+ t+e e%ce!tion o* generic n$es o*!roce"ures?

.+e n$es o* !rogr$ units $re glo&$l, so e$c+ ust

"istinct *ro t+e ot+ers $n" *ro $ny o* t+e loc$l entities o*

t+e !rogr$ unit? .+e sco!e o* $ n$e "ecl$re" in $ o"ule e%ten"s to $ny

!rogr$ units t+$t S t+e o"ule?

Page 59: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 59/72

Scoe e"amle

sco!e>e%1?*90

Page 60: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 60/72

Page 61: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 61/72

Page 62: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 62/72

#"amle% -amelist 

???

IN.R << si6e 2

CHARAC.R LN U <<

color5 / M re"M, M!in;M, M&lueM /

NA(LIS. /clot+es/ si6e, color 

@RI.B, N(L clot+es

???

out!uts<

CLO.HS

 SIZ 2,

 COLOR re",!in;,&lue, /

Page 63: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 63/72

#"amle% Formatted I8O 

7RORA( .S.>IO>1

I(7LICI. NON

IN.R << I,J

RAL<< A,#

RAD B, I,J

RAD B,A,#

7RIN. B,I,J7RIN. B,A,#

ND 7RORA( .S.>IO>1

Page 64: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 64/72

#"amle% Formatted I8O 

7RORA( .S.>IO>2

  I(7LICI. NON

  RAL A,#,C

  @RI.B,B7le$se enter 5 re$l nu&ers<

  RADB,10A,#,C

  @RI.B,B.+ese 5 re$l nu&ers $re<

  7RIN. 20,A,#,C

  10 -OR(A.5-3?2,1T  20 -OR(A.1T,WA W,-3?2,W # W,-3?2,W C W, -3?2

ND 7RORA( .S.>IO>2

Page 65: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 65/72

#"amle

IN.R << rec>len

???

INXIR IOLN.H rec>len n$e, title,

$ge, $""ress, tel???

O7N NI. 1, -IL MtestM, RCL rec>len,

-OR( MN-OR(A..DM

[email protected] n$e, title, $ge, $""ress, tel

I-4I1# by I8O list

Page 66: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 66/72

I-4I1# by I8O list 

INXIR IOLN.Hlengt+ out!ut:list

.o "eterine t+e lengt+ o* $n un*or$tte"

out!ut ite list

($y &e use" $s v$lue o* RCL s!eci*ier in

su&seVuent O7N st$teent

Page 67: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 67/72

#"amle% 4nformatted I8O 8 n*or$tte" "irect $ccess I/O ost e**icient, &ut not +u$n:

re$"$&le

8 ou ust o!en $ *ile )it+ t+e *or$tun*or$tte"M $ttri&ute in or"e

to )rite "$t$ to it? %$!le<

See io>e%U?*90 *or "et$il

Yinteger I, iu iu is t+e unit nu&er *or your *ile, *oo?out

re$l T << ?0

o!en iu, *orWun*or$tte"W,$ccessW"irectM,*ileW*oo?outW

"o iter 1,U

  )rite iu, reciter, Ten" "o

close iu

Page 68: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 68/72

1esources

CS )ill !rovi"e -ortr$n 90 su!!ort?

@$l;:in, $il, !+one, etc? (L suite U2?

CS:)i;i [-ortr$n90 tutori$l

8 +tt!s<//)i;i?uc$r?e"u/"is!l$y/csg/Intro"ucti

onEtoE-ortr$n90

Page 69: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 69/72

1eferences

Page 70: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 70/72

1eferences

Fortran 90 A +onversion +ourse for Fortran ::)ro!rammers 12P 1+er+ie!(

Lin, S Ram"!en, M A Pettip)er, M 3r4e, G S Nlan!,

Manc)e"ter an! Nrt) 5PC T6EC 

 An introduction to Fortran 90 and Fortran 90 for

 ro!rammers

  A Mar")all, -ni.er"ity 1 Li.erpl 

Fortran 90 for Fortran 33 Programmer(

Cli.e pa*e, -ni.er"ity 1 Leice"ter 

Page 71: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 71/72

 Ac;nowled!ments

8 Si!!)art)a G)")

8 +a.i!e +el 7ent

8 Rry 8elly 

8 +ic4 7alent 

8 Ot)er cllea*ue" 1rm CISL

8 Manc)e"ter an! Nrt) 5PC T6EC 8 -ni.er"ity 1 Li.erpl 1r example"

Page 72: Fortran90 Course1 Slides

7/25/2019 Fortran90 Course1 Slides

http://slidepdf.com/reader/full/fortran90-course1-slides 72/72