GRIB API oktatóanyag >> GRIB API Fortran interface >> GRIB fájlok megnyitása

A fordítás menete némileg eltér a szokásostól Fortran77 esetén (a g77 és a gfortran is működik):

g77 -o get.exe -lgrib_api_f77 -lgrib_api -I/usr/include get.f
vagy
gfortran -o get.exe -lgrib_api_f77 -lgrib_api -I/usr/include get.f

Ha nem adunk meg a futtatható fájlnak nevet, akkor alapértelmezésben a.out lesz.

A táblázat mutatja az egyes parancsokhoz tartozó paraméterek típusát, leírását.

grib_open_file: megnyitja a GRIB fájlt
Bemenő paraméterek
ifile int a fájl egyedi azonosítója
filenev char a fájl neve (például 'valami.grib')
mod char 'r': read-only,
'w': write-only
grib_new_from_file: eltárolja a GRIB-et a memóriában
Bemenő paraméter
ifile int a fájl egyedi azonosítója
Kimenő paraméter
igrib int a GRIB azonosítója
grib_release: a memória felszabadítása a műveletek elvégzése után
Bemenő paraméter
igrib int a GRIB azonosítója
grib_close_file: fájl bezárása
Bemenő paraméter
ifile int a fájl egyedi azonosítója
grib_check
Bemenő paraméter
'caller' char meghívó szubrutin, azaz a végrehajtandó utasítás
Kimenő paraméter
status int megmutatja, hogy sikerült-e a szubrutin meghívása és a művelet végrehajtása
Hiba esetén megállítja a program futását, és hibaüzenetet ad a képernyőre.
eredmény string az argumentumában lévő, meghívó szubrutin által kiadott eredmény
grib_get_size
Bemenő paraméter
igrib int a GRIB azonosítója
Kimenő paraméter
numberOfValues integer rácspontok száma

Egy egyszerű példa:

nyitas.f

program get
include 'grib_api_f77.h' ! meghivja a GRIB API-t
integer ifile, iret, igrib, numberOfValues

ifile=10

iret=grib_open_file(ifile,'ecm.grib','r') ! megnyitja a fájlt (csak olvasásra)
call grib_check(iret)
call grib_check( grib_new_from_file(ifile,igrib) ) ! innentol igrib azonositoval hivatkozhatunk ra

call grib_check(grib_get_size(igrib,'values',numberOfValues))
write(*,*) 'numberOfValues=',numberOfValues ! kiirja hany racspont van

call grib_check(grib_release(igrib)) ! a memória felszabadítása a műveletek elvégzése után
call grib_check(grib_close_file(ifile)) ! fájl bezárása

stop
end

A futtatás kimenete:

nimbus:~/GRIBapi/example3$ ./a.out
numberOfValues= 1581 // Hány adat van

Oldal tetejére >> Vissza a főoldalra