</motto<Automaattisen tietojenk{sittelyn yhteydess{ k{ytet{{n
       vain harvoin vanhaa kunniakasta lenn{tintekniikkaa,
       joka on  hidasta ja liian altista virheille.

       -- -- Olle Dopping: Tietokoneet ja tietojenk{sittely
>>


/chapter</ii<Tiedostojen siirto>>

Tiedostoja voidaan siirt{{ Crayn ja edustakoneiden
v{lill{ usealla eri tavalla. Er{t|iss{ on  helpointa
k{ytt{{ komentoja </tt /ii<fetch>>, </tt/ii<acquire>>
ja </tt/ii<dispose>>, joita on k{sitelty luvussa /ref<11.7>.
Ositusk{yt|ss{ voidaan k{ytt{{
my|s </tt/ii<ftp>>-ohjelmaa
sek{ </sc unix>in </tt/ii<rcp>>-komentoa.

/section</ii<FTP>>

</sc Ftp> (=File transfer protocol) -ohjelmisto tarjoaa
tiedonsiirtomahdollisuuden tietokoneesta toiseen. 

Ohjelmisto k{ynnistyy komennolla 

</copymode
      ftp /optional<</sl host>>
>
 
Yhteys Crayhin edustakoneelta saadaan siis sanomalla

</copymode
      ftp cray
>

T{m{n j{lkeen k{ytt{j{lt{ kysyt{{n k{ytt{j{tunnus ja salasana.  P{{tteelle
tulostuu kehote </tt FTP/gt>, jonka j{lkeen voidaan aloittaa tiedostojen
siirto. 

Seuraavassa muutamia komentoja joita voi antaa </sc ftp>:n kehotteeseen.
T{ydellisen listan mahdollisista komennoista saa komennolla </tt ?>.

</tt /ii<put> /sl localfile /optional<remotefile>>

Kopioi paikallisen koneen tiedoston et{iskoneeseen.
Ellei </sl remotefile>{ ilmoiteta, tulee tiedostosta
samanniminen kuin paikalliskoneessa.

</tt /ii<get> /sl remotefile /optional<localfile>>

Kopioi et{iskoneen tiedoston paikalliseen koneeseen.

/page

</tt /ii<mput> /ii<mget>>

Kopioi useita tiedostoja paikallisen koneen ja et{iskoneeseen v{lill{.
Esimerkiksi </tt mput *.c> kopioi kaikki oletushakemistossa olevat
c-ohjelmat. N{m{ komennot kysyv{t erikseen jokaisen tiedoston kohdalla,
kopioidaanko se.

</tt /ii<binary>>

Seuraavat tiedoston siirrot tapahtuvat bin{{rimoodissa.
T{ll|in mm. VAXin tietueiden alussa oleva kontrollitieto
siirtyy sellaisenaan.

</tt /ii<cd>>

Vaihtaa hakemistoa et{iskoneessa.

</tt /ii<ls>>

Antaa hakemistolistauksen et{iskoneessa.

</tt /ii<!></sl<command>>>

Suorittaa komennon paikallisessa koneessa.

</tt /ii<?>>

Tulostaa ftp-ohjelman tuntemat komennot.

</tt /ii<quit>>

Katkaisee yhteyden ja lopettaa </tt ftp>-ohjelman.


/section</ii<rcp>>

"Remote Copy" -kopiointikomento mahdollistaa tiedostojen kopioinnin
paikallisen tietokoneen ja et{iskoneen v{lill{. 

Esimerkiksi 

</copymode
      rcp file remote/_host:
>

supertietokoneesta annettuna kopioi supertietokoneelta
k{ytt{j{n oletushakemistosta tiedoston </tt file> k{ytt{j{n
oletushakemistoon koneeseen nimelt{ </tt remote/_host>. 
Kokonaisia hakemistorakenteita voi kopioida antamalla
komennon </tt rcp> j{lkeen option </tt -r>. 

T{m{n komennon k{ytt| vaatii et{iskoneessa  tiedoston </tt /ii<.rhosts>>
(katso 6.8).

/section<Bin{{ritiedostojen siirto VAXilta Craylle>
 
Seuraavassa tarkastellaan VAXin </sc fortran>-ohjelmalla tehtyjen 
/ii<bin{{ritiedostojen siirto>a Craylle ja niiden lukemista Crayll{ 
</sc fortran>-ohjelmalla. 

Mit{{n yleisohjetta bin{{ritiedostojen k{sittelyyn ei voi
antaa, sill{ tiedostojen lukeminen riippuu siit{, miten ja
mit{ tiedostoihin on kirjoitettu.  T{m{n vuoksi seuraavissa
esimerkeiss{ on tulostettu bin{{ritiedostojen dumpit, sill{
niihin joutuu kuitenkin paneutumaan, kun bin{{ritiedostoja
siirret{{n koneesta toiseen. 

Esimerkiss{ on ensin bin{{ritiedosto luotu VAXissa k{ytt{en seuraavaa
</sc fortran>-ohjelmaa:

</copymode

        character*1 c(20,10)

c T{ytet{{n character-taulukko c merkeill{, joiden 
c koodit ovat v{lill{ 1 .. 200 (= 20*10).
        do 1 i=1,10
        do 1 j=1,20
           c(j,i)=char(20*(i-1)+j)
  1     continue 

        open(1,file='koe.dat',status='new',
       .       form='unformatted')

        do 2 i=1,10
           write(1) (c(j,i),j=1,20)
  2     continue

        close(1)

        end
> 
 
Seuraavassa on syntynyt tiedosto dumpattu VAXissa komennolla

</copymode
      dump//octal//byte koe.dat
>

Dumppi n{ytt{{ seuraavanlaiselta:

<
/font/tt=cmtt8
/font/bf=cmbx7
/copymode

 004 003 002 001</bf 000 003 000 026> ........ 000000
 014 013 012 011 010 007 006 005 ........ 000010
 024 023 022 021 020 017 016 015 ........ 000020
 030 027 026 025</bf 000 003 000 026> ........ 000030
 040 037 036 035 034 033 032 031 .......  000040
 050 047 046 045 044 043 042 041 !"/#/$/%/&'( 000050
 054 053 052 051</bf 000 003 000 026> ....)*+, 000060
 064 063 062 061 060 057 056 055 -.//01234 000070
 074 073 072 071 070 067 066 065 56789:;/lt 000100
 100 077 076 075</bf 000 003 000 026> ....=/gt?@ 000110
 110 107 106 105 104 103 102 101 ABCDEFGH 000120
 120 117 116 115 114 113 112 111 IJKLMNOP 000130
 124 123 122 121</bf 000 003 000 026> ....QRST 000140
 134 133 132 131 130 127 126 125 UVWXYZ/char91/char92 000150
 144 143 142 141 140 137 136 135 /char93/char94/char95`abcd 000160
 150 147 146 145</bf 000 003 000 026> ....efgh 000170
 160 157 156 155 154 153 152 151 ijklmnop 000200
 170 167 166 165 164 163 162 161 qrstuvwx 000210
 174 173 172 171</bf 000 003 000 026> ....yz/char123/char124 000220
 204 203 202 201 200 177 176 175 /char125/char126...... 000230
 214 213 212 211 210 207 206 205 ........ 000240
 220 217 216 215</bf 000 003 000 026> ........ 000250
 230 227 226 225 224 223 222 221 ........ 000260
 240 237 236 235 234 233 232 231 ........ 000270
 244 243 242 241</bf 000 003 000 026> ........ 000300
 254 253 252 251 250 247 246 245 ........ 000310
 264 263 262 261 260 257 256 255 ........ 000320
 270 267 266 265</bf 000 003 000 026> ........ 000330
 300 277 276 275 274 273 272 271 ........ 000340
 310 307 306 305 304 303 302 301 ........ 000350
 000 000 000 000 000 000</bf 377 377> ........ 000360
 000 000 000 000 000 000 000 000 ........ 000370
 000 000 000 000 000 000 000 000 ........ 000400
 .....
 000 000 000 000 000 000 000 000 ........ 000750
 000 000 000 000 000 000 000 000 ........ 000760
 000 000 000 000 000 000 000 000 ........ 000770

>

VAXin dumppitulostusta luetaan oikealta vasemmalle, mutta
samalla rivill{ oikealla olevaa merkkimuotoista tulostusta
normaaliin tapaan vasemmalta oikealle.  Tietueen alussa on
aina ensin tietueen pituus ja sit{ seuraa kontrollisana
(</bf 003 000>), jotka on kirjoitettu yll{olevaan
tulostukseen vahvennettuna. 

Tiedosto voidaan l{hett{{ Craylle joko </sc tcp//ip>:n kautta k{ytt{en
</tt ftp>:t{, jolloin pit{{ muistaa vaihtaa bin{{rimoodiin ennen siirron
k{ynnist{mist{, tai ...

Siis esimerkiksi

</copymode 
      ftp/gt binary
      ftp/gt put koe.dat koe.dat
>

Toinen tapa on siirt{{ tiedosto Cray Stationin kautta komennolla

</copymode 
      fetch koe.dat -fTR -t'koe.dat'
>

Fetch-komennossa k{ytet{{n muotoa </tt /ii<TR>> (/ii<Transparent>).
T{m{n j{lkeen tiedosto on Crayll{ seuraavan n{k|inen tulostettuna
komennolla 

</copymode
      od -b koe.dat
>

</font/tt=cmtt8/beginverbatim
 
0000000000000 026 000 003 000 001 002 003 004 005 006 007 010 011 012 013 014
0000000000020 015 016 017 020 021 022 023 024 026 000 003 000 025 026 027 030
0000000000040 031 032 033 034 035 036 037 040 041 042 043 044 045 046 047 050
0000000000060 026 000 003 000 051 052 053 054 055 056 057 060 061 062 063 064
0000000000100 065 066 067 070 071 072 073 074 026 000 003 000 075 076 077 100
0000000000120 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 120
0000000000140 026 000 003 000 121 122 123 124 125 126 127 130 131 132 133 134
0000000000160 135 136 137 140 141 142 143 144 026 000 003 000 145 146 147 150
0000000000200 151 152 153 154 155 156 157 160 161 162 163 164 165 166 167 170
0000000000220 026 000 003 000 171 172 173 174 175 176 177 200 201 202 203 204
0000000000240 205 206 207 210 211 212 213 214 026 000 003 000 215 216 217 220
0000000000260 221 222 223 224 225 226 227 230 231 232 233 234 235 236 237 240
0000000000300 026 000 003 000 241 242 243 244 245 246 247 250 251 252 253 254
0000000000320 255 256 257 260 261 262 263 264 026 000 003 000 265 266 267 270
0000000000340 271 272 273 274 275 276 277 300 301 302 303 304 305 306 307 310
0000000000360

/endverbatim>

Crayn dumppitulostusta luetaan vasemmalta oikealle, siis juuri 
p{invastoin kuin VAXin tulostusta.

Tulostuksesta n{kyy ett{ tietueen alussa olevat kontrollimerkit ovat
edelleen mukana, joten Crayll{ tiedostoa luettaessa on n{m{ nelj{ tavua
ohitettava. Seuraavassa on esimerkki </sc fortran>-ohjelmasta joka lukee 
Crayll{ kyseist{ tiedostoa. Ennen ohjelman ajamista on annettava 
seuraavat komennot:
 
</copymode
      FILENV=files                   /# Bourne-shell
      export FILENV
>

tai
 
</copymode
      setenv FILENV=files            /# C-shell  
>
 
sek{ komento
 
</copymode
      assign -s sbin -a koe.dat fort.1
>

T{m{n j{lkeen voidaan ajaa alla esitetty </sc fortran>-ohjelma. 
 
</copymode
        character*1 c(24)

        integer t(20,10)
        open(1,status='old',form='unformatted')

c luetaan 24 tavua, ja hyp{t{{n 4 tavua yli

        do 1 j=1,10        
           read(1) (c(i),i=1,24)
           do 2 i=1,20
              t(i,j)=ichar(c(i+4))  
 2         continue      
 1      continue
        close(1)
        
        do 3 j=1,10
           print *, (t(i,j),i=1,10)
           print *, (t(i,j),i=11,20)
 3      continue
 
        end
> 

Seuraavassa on ohjelman tulostus, josta n{hd{{n,
ett{ se luki mit{ pitikin:

</font/tt=cmtt8/beginverbatim
 1,  2,  3,  4,  5,  6,  7,  8,  9,  10
 11,  12,  13,  14,  15,  16,  17,  18,  19,  20
 21,  22,  23,  24,  25,  26,  27,  28,  29,  30
 31,  32,  33,  34,  35,  36,  37,  38,  39,  40
 41,  42,  43,  44,  45,  46,  47,  48,  49,  50
 51,  52,  53,  54,  55,  56,  57,  58,  59,  60
 61,  62,  63,  64,  65,  66,  67,  68,  69,  70
 71,  72,  73,  74,  75,  76,  77,  78,  79,  80
 81,  82,  83,  84,  85,  86,  87,  88,  89,  90
 91,  92,  93,  94,  95,  96,  97,  98,  99,  100
 101,  102,  103,  104,  105,  106,  107,  108,  109,  110
 111,  112,  113,  114,  115,  116,  117,  118,  119,  120
 121,  122,  123,  124,  125,  126,  127,  128,  129,  130
 131,  132,  133,  134,  135,  136,  137,  138,  139,  140
 141,  142,  143,  144,  145,  146,  147,  148,  149,  150
 151,  152,  153,  154,  155,  156,  157,  158,  159,  160
 161,  162,  163,  164,  165,  166,  167,  168,  169,  170
 171,  172,  173,  174,  175,  176,  177,  178,  179,  180
 181,  182,  183,  184,  185,  186,  187,  188,  189,  190
 191,  192,  193,  194,  195,  196,  197,  198,  199,  200

/endverbatim>

/section<Bin{{ritiedostojen siirto Craylt{ VAXille>
                                         
Bin{{ritiedosto voidaan luoda Crayss{ samalla ohjelmalla kuin VAXissa, 
jolloin se n{ytt{{ seuraavalta tulostettuna komennolla

</copymode
      od -b test.dat
> 

</font/tt=cmtt8/beginverbatim
 
0000000000000 000 000 000 000 000 000 000 003 001 002 003 004 005 006 007 010
0000000000020 011 012 013 014 015 016 017 020 021 022 023 024 040 040 040 040
0000000000040 200 000 000 000 000 000 000 003 025 026 027 030 031 032 033 034
0000000000060 035 036 037 040 041 042 043 044 045 046 047 050 040 040 040 040
0000000000100 200 000 000 000 000 000 000 003 051 052 053 054 055 056 057 060
0000000000120 061 062 063 064 065 066 067 070 071 072 073 074 040 040 040 040
0000000000140 200 000 000 000 000 000 000 003 075 076 077 100 101 102 103 104
0000000000160 105 106 107 110 111 112 113 114 115 116 117 120 040 040 040 040
0000000000200 200 000 000 000 000 000 000 003 121 122 123 124 125 126 127 130
0000000000220 131 132 133 134 135 136 137 140 141 142 143 144 040 040 040 040
0000000000240 200 000 000 000 000 000 000 003 145 146 147 150 151 152 153 154
0000000000260 155 156 157 160 161 162 163 164 165 166 167 170 040 040 040 040
0000000000300 200 000 000 000 000 000 000 003 171 172 173 174 175 176 177 200
0000000000320 201 202 203 204 205 206 207 210 211 212 213 214 040 040 040 040
0000000000340 200 000 000 000 000 000 000 003 215 216 217 220 221 222 223 224
0000000000360 225 226 227 230 231 232 233 234 235 236 237 240 040 040 040 040
0000000000400 200 000 000 000 000 000 000 003 241 242 243 244 245 246 247 250
0000000000420 251 252 253 254 255 256 257 260 261 262 263 264 040 040 040 040
0000000000440 200 000 000 000 000 000 000 003 265 266 267 270 271 272 273 274
0000000000460 275 276 277 300 301 302 303 304 305 306 307 310 040 040 040 040
0000000000500 200 000 000 000 000 000 000 000 340 000 000 000 000 000 000 000
0000000000520 360 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
0000000000540 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
*
0000000010000
/endverbatim>
 
Tulostuksessa n{kyv{ t{hti (</tt*>) ilmoittaa, ett{ loppu
tiedostosta on nollia.  Cray tekee tiedostosta yhden
Crayn levyblokin kokoisen (4096 tavua), joten tiedostossa suurin
osa tavuista (noin 3500) on nollia.  Samoin Cray lis{{
tietueiden v{liin yhden sanan (8 tavua) kontrollitietoa ja
t{ytt{{ vaillinaiset sanat v{lily|nneill{ (oktaali 40). 
 
Tiedosto siirret{{n VAXiin komennolla

</copymode 
      dispose test.dat -fTB -t'test.dat'
>

jossa k{ytet{{n siis muotoa </tt /ii<TB>> (/ii<Transparent blocked>).
 
VAXissa siirretty tiedosto voidaan j{lleen tulostaa komennolla

</copymode
      dump//octal//byte test.dat
>

</font/tt=cmtt8/beginverbatim
 
 006 005 004 003 002 001 000 030 ........ 000000
 016 015 014 013 012 011 010 007 ........ 000010
 040 040 024 023 022 021 020 017 ......   000020
 030 027 026 025 000 030 040 040   ...... 000030
 040 037 036 035 034 033 032 031 .......  000040
 050 047 046 045 044 043 042 041 !"#$%&'( 000050
 052 051 000 030 040 040 040 040     ..)* 000060
 062 061 060 057 056 055 054 053 +,-./012 000070
 072 071 070 067 066 065 064 063 3456789: 000100
 000 030 040 040 040 040 074 073 ;<    .. 000110
 104 103 102 101 100 077 076 075 =>?@ABCD 000120
 114 113 112 111 110 107 106 105 EFGHIJKL 000130
 040 040 040 040 120 117 116 115 MNOP     000140
 126 125 124 123 122 121 000 030 ..QRSTUV 000150
 136 135 134 133 132 131 130 127 WXYZ[\]^ 000160
 040 040 144 143 142 141 140 137 _`abcd   000170
 150 147 146 145 000 030 040 040   ..efgh 000200
 160 157 156 155 154 153 152 151 ijklmnop 000210
 170 167 166 165 164 163 162 161 qrstuvwx 000220
 172 171 000 030 040 040 040 040     ..yz 000230
 202 201 200 177 176 175 174 173 {|}~.... 000240
 212 211 210 207 206 205 204 203 ........ 000250
 000 030 040 040 040 040 214 213 ..    .. 000260
 224 223 222 221 220 217 216 215 ........ 000270
 234 233 232 231 230 227 226 225 ........ 000300
 040 040 040 040 240 237 236 235 ....     000310
 246 245 244 243 242 241 000 030 ........ 000320
 256 255 254 253 252 251 250 247 ........ 000330
 040 040 264 263 262 261 260 257 ......   000340
 270 267 266 265 000 030 040 040   ...... 000350
 300 277 276 275 274 273 272 271 ........ 000360
 310 307 306 305 304 303 302 301 ........ 000370
 000 000 000 000 040 040 040 040     .... 000400
 000 000 000 000 000 000 000 000 ........ 000410
 000 000 000 000 000 000 000 000 ........ 000420
 ....
 000 000 000 000 000 000 000 000 ........ 000750
 000 000 000 000 000 000 000 000 ........ 000760
 000 000 000 000 000 000 000 000 ........ 000770
/endverbatim>
 
Tiedostosta ovat turhat nollat kadonneet eli ainoastaan yksi VAXin
blokki (512 tavua) on t{ytetty nollilla. Samoin tietueiden
v{list{ on Crayn kontrollisana kadonnut ja tilalla on ainostaan
tietueen pituuden ilmoittava VAXin sana (2 tavua).
Nyt tiedostoa voidaan VAXissa lukea esimerkiksi seuraavalla 
</sc fortran>-ohjelmalla:
 
</copymode
        character*1 c(20)
        integer t(20,10)
        open(1,file='test.dat',status='old',
       .       recordtype='variable',form='unformatted')
        do 1 j=1,10        
           read(1) (c(i),i=1,20)
           do 2 i=1,20
              t(i,j)=ichar(c(i))
 2         continue      
 1      continue
        close(1)
        ...
        end
>

Ohjelmassa on </tt open>-lauseessa oltava m{{re 
</tt recordtype='variable'>.  Mit{{n tavujen ohituksia ei
ohjelmassa ole tarvinnut ottaa huomioon.  N{it{
esimerkkiohjelmia joutuu varmasti muuttamaan siirt{ess{{n
bin{{ritiedostoja, mutta itse tiedonsiirtokomennot pysynev{t
samana. 

/section<Lukujen esitystavan muunnokset>

Siirrett{ess{ reaali- tai kokonaislukuja sis{lt{vi{
bin{{ritiedostoja on lukujen esitystapa ensin muutettava.
Crayn kirjastossa on joukko aliohjelmia, joilla Crayn
lukuja voidaan konvertoida esimerkiksi VAXin luvuiksi:
/iii<lukuesityksen muunnos>

</tt /ii<vxdcti>(x,y,i0,n,ier/optional<,inc>)>

Muunnetaan Crayn yksinkertaisen tarkkuuden muuttujat
VAXin /ii<d/_floating>-formaatin mukaisiksi kaksoistarkkuuden
luvuiksi. Muunnettavat luvut alkavat </tt x>:n osoittamasta
paikasta ja niit{ on </tt n> kappaletta. Jos parametri
</tt inc> puuttuu, muunnetaan per{kk{iset luvut, muuten
poimitaan lukuja </tt inc>:n v{lein. Muunnetut luvut
talletetaan </tt y>:hyn tavusta </tt i0> alkaen.
Parametrin </tt ier>
avulla palautetaan tieto muunnoksen onnistumisesta.
Jos </tt ier=0>, kaikki on kunnossa; jos </tt ier$/ne$0>,
muunnoksessa on tapahtunut ylivuotoja.
Esimerkiksi seuraavassa muunnetaan luvut </tt x(1:10)>
VAXin luvuiksi taulukkoon </tt y(1:10)>:

</copymode
      call vxdcti(x,y,1,10,ier)
      if (ier.ne.0) then
         write(*,*) 'ylivuoto muunnoksessa'
      endif
>

</tt /ii<vxgcti>(x,y,i0,n,ier/optional<,inc>)>

Kuten edellinen, mutta tuloksena on /ii<g/_floating>-formaatin mukaisia
lukuja.

</tt /ii<vxicti>(ix,y,i0,n,len,ier/optional<,inc>)>

Konvertoidaan taulukossa </tt ix> olevia kokonaislukuja
VAXin kokonaisluvuiksi. Jos </tt len=2>, on tuloksen tyyppi
VAXin </tt integer*2>, jos </tt len=4>, niin </tt integer*4>.
Tulokset talletetaan taulukkoon </tt y>, luvun esitystavasta
riippuen joko 4 tai 2 lukua yhteen sanaan.

K{{nteiset muunnokset VAXin esitystavasta Crayn formaattiin
voidaan tehd{ aliohjelmilla:

</tt /ii<vxdctc>(in,i0,y,n,/optional<,inc>)>

</tt /ii<vxgctc>(in,i0,y,n,/optional<,inc>)>

</tt /ii<vxictc>(in,i0,iy,n,len/optional<,inc>)>

N{iss{ muunnettavat luvut ovat taulukossa </tt in>,
joka voi olla mit{ tyyppi{ tahansa. Se voi olla esimerkiksi
merkkijono, johon on luettu VAXin bin{{ritietue.
Parametri </tt i0> ilmoittaa </tt in>:n tavun, josta
muunnettava data alkaa. Ensimm{isen tavun indeksi on 1.

Vastaavat muunnosrutiinit CDC:n ja IBM:n lukujen k{sittelyyn
ovat my|s olemassa.

Esimerkiksi seuraava Crayll{ oleva ohjelma tuottaa pienen 
bin{{ritiedoston </tt koe.dat>, jossa on kaksi tietuetta:

</copymode
       program bin
       real x(10)
       open(1,file='koe.dat',status='new',form='unformatted')
       do 1 i=1,10
          x(i)=i 
  1    continue
       write(1) x
       do 2 i=1,10
          x(i)=10+i
  2    continue
       write(1) x
       close(1)
       end
>


Seuraava (my|s Crayll{ oleva) ohjelma lukee em. tiedoston ja
konvertoi sen VAXin /ii<d/_floating>-formaattiin. Yhdest{
Crayn sanasta tulee VAXin kaksoistarkkuuden luku, joka
vie tilaa yht{ paljon kuin Crayn yksinkertaisen 
tarkkuuden luku. T{t{ ohjelmaa voi muokata omia tarpeita
vastaavaksi.

</copymode
       program ctov
       real x(10),y(10)
       integer i,ier
       open(1,file='koe.dat',status='old',form='unformatted')
       open(2,file='koe.vax',status='new',form='unformatted') 
       do 1 i=1,2
         read(1) x
         call vxdcti(x,y,1,10,ier,1)
         write(2) y
  1    continue
       close(1)
       close(2)
       end
>

T{m{n j{lkeen on syntynyt tiedosto </tt koe.vax>, joka siis
on VAXin formaatissa. Se siirret{{n VAXille antamalla
Crayll{ komento:

</copymode
      dispose koe.vax -fTB -t'koe.vax'
>

Seuraava VAXilla oleva ohjelma lukee siirretyn tiedoston, jotta
n{ht{isiin, menik| kaikki oikein:

</copymode
       program vread
       real*8 x(10)
       open(1,file='koe.vax',status='old',
     .      form='unformatted',recordtype='variable')
       read(1) x
       print *,x
       read(1) x
       print *,x
       close(1)
       end
>

Kun t{m{ ohjelma suoritetaan, se sanoo ett{

</font/tt=cmtt8/beginverbatim
  1.000000000000000       2.000000000000000       3.000000000000000    
  4.000000000000000       5.000000000000000       6.000000000000000    
  7.000000000000000       8.000000000000000       9.000000000000000    
  10.00000000000000    
  11.00000000000000       12.00000000000000       13.00000000000000    
  14.00000000000000       15.00000000000000       16.00000000000000    
  17.00000000000000       18.00000000000000       19.00000000000000    
  20.00000000000000    
/endverbatim>

joten tiedoston siirto ilmeisesti onnistui.



