Ebben a példában megmutatjuk, hogyan kell egy grib file-t betölteni, és egy egyszerű kivágatot készíteni.
program contour1
c Magics megnyitása és a kimenő postscript beállítása
call popen
call psetc ('ps_device','ps_a4')
call psetc ('ps_file_name', 'contour_1.ps')
c A terület és a vetület beállítása (hengeres)
call psetr ('subpage_lower_left_longitude',-15.0)
call psetr ('subpage_lower_left_latitude',30.0)
call psetr ('subpage_upper_right_longitude',40.0)
call psetr ('subpage_upper_right_latitude',70.0)
c Az adat bevitele a magics-be
call psetc ('grib_subarea_extraction','off')
call psetc ('grib_input_type','file')
call psetc ('grib_input_file_name', 'z500_tc.grib')
call pgrib
c Európa hengeres vetületének beállításai:
call psetc ('map_coastline_colour', 'tan')
call psetc ('map_grid_colour', 'tan')
call psetc ('map_grid_line_style', 'dot' )
call pcoast
c Vonalvastagság és szín beállítása:
call psetc ('contour_level_selection_type','interval')
call psetr ('contour_interval',8.0)
call psetc ('contour_line_style','dash')
call pseti ('contour_line_thickness',4)
call psetc ('contour_line_colour', 'evergreen')
call psetc ('contour_highlight_colour', 'evergreen')
call psetc ('contour_hi_colour', 'orange')
call psetc ('contour_lo_colour', 'brown')
call pcont
c Magics bezárása:
call pclose
end
A grid file beolvasásának paraméterei:
'grib_input_type': milyen formában adom meg az adatot (file)'grib_input_file_name': a file elérhetése és neveAz izovonalak tulajdonságainak beállítása:
'contour_level_selection_type': mi alapján legyen megszabva a vonalak távolsága 'contour_interval': az izovonalak távolsága egymástól'contour_line_style': a vonal stílusa 'contour_line_thickness': a vonal vastagsága 'contour_line_colour': a vonal színe 'contour_highlight_colour': a vonal címkéjének színe'contour_hi_colour': a magas értékek színe'contour_lo_colour': az alacsony értékek színecall psetc ('CONTOUR_LEVEL_SELECTION_TYPE',...) paranccsal meg tudjuk adni a vonal típusát, ami lehet:
COUNT/ INTERVAL/ LEVEL_LISTrendre, hogy mennyi osztás legyen, mekkora legyen a távolságuk, vagy megadjuk, hogy hol legyenek az izovonalak.
További információkat a izovonalak megadásáról a következő oldalon talál: ECMWF oldala
Az eredmény:
Ebben a példában az egész Földön ábrázoljuk a geopotenciálmezőt.
program contour2
real levels
dimension levels(6)
data levels /480.,520.,530.,560.,575.,590./
c Magics megnyitása, és a kimenet megadása
call popen
call psetc ('ps_device', 'ps_a4')
call psetc ('ps_file_name', 'coast_2a.ps')
c A globális hengervetület beállítása
call pseti ('map_coastline_thickness', 2)
call psetc ('map_coastline_colour','grey')
call psetc ('map_grid_colour','grey')
call psetc ('map_grid_line_style','dash')
call psetc ('map_coastline_land_shade','on')
call psetc ('map_coastline_land_shade_colour','grey')
call pcoast
c Az adatok megadása:
call psetc ('grib_input_type','file')
call psetc ('grib_input_file_name', 'data/z500_tc.grib')
call pgrib
c A listában szereplő szintek halvány barnával vannak definiálva
call psetc ('contour_level_selection_type','level_list')
call pset1r ('contour_level_list', levels, 6)
call psetc ('contour_line_colour','navy')
call psetc ('contour_highlight_colour', 'navy')
call psetc ('contour_line_style','solid')
call pseti ('contour_label_frequency',1)
call pseti ('contour_line_thickness', 1)
call psetc ('contour_highlight_colour', 'navy')
call psetc ('contour_hi_colour', 'navy')
call psetc ('contour_lo_colour', 'navy')
call pcont
c Szöveg hozzáadása
call psetc('text_line_1', 'Geopotential on a global map')
call pseti('text_line_count', 1)
call psetc('text_colour', 'navy')
c A szövegdoboz pozícionálása:
call psetc('text_mode', 'positional')
call psetr('text_box_x_position', 5.)
call psetr('text_box_y_position', 16.)
call psetr('text_box_x_length', 10.)
call psetr('text_box_y_length', 3.)
call ptext
call pclose
end
A geopotenciálszintek meghatározásának paraméterei:
'contour_level_selection_type': milyen módon legyenek a szintek level_list megadjuk, hogy mely értékeknél legyenek a szintek 'contour_level_list': felsoroljuk a szintek értékeit /480.,520.,530.,560.,575.,590./'contour_line_thickness': a vonal vastagságának megadása 'contour_label_frequency': a feliratok gyakorisága (hány izovonalanként)'contour_line_style': a vonal stílusaTovábbi beállítási lehetőségek, beállítások,paraméterek: az ECMWF honlapján.
Az eredmény:
Ebben a példában a kitöltés egy másik módját tanulmányozhatjuk Észak-Amerikán!
program contour3
real levels
dimension levels (6)
character*6 colours
dimension colours(5)
data levels /480., 520.,530.,560.,575.,590./
data colours /'navy', 'blue', 'green', 'yellow', 'orange'/
c Magics megnyitása és a kimenet definiálása
call popen
call psetc ('ps_device','ps_oa_c')
call psetc ('ps_file_name', 'contour_3.ps')
c Polár sztereografikus vetület - Észak-Amerika
call psetc ('subpage_map_projection','polar_stereographic')
call psetc ('subpage_map_area_definition','centre')
call psetr ('subpage_map_centre_longitude',-95.)
call psetr ('subpage_map_centre_latitude',47.)
call psetr ('subpage_map_vertical_longitude',-95.)
call psetr ('subpage_map_scale',32.e6)
call psetc ('map_coastline_colour','tan')
call psetc ('map_grid_colour', 'grey')
call pseti ('map_coastline_thickness',3)
call psetr ('map_grid_latitude_increment',5.0)
call psetr ('map_grid_longitude_increment',5.0)
call psetc ('legend','on')
call pcoast
c Az adatok megadása:
call psetc ('grib_input_type','file')
call psetc ('grib_input_file_name', 'data/z500_tc.grib')
call pgrib
call psetc ('contour_level_selection_type','level_list')
call pset1r ('contour_level_list', levels, 6)
c call pcont
c Definiálása az árnyékolt (pontozott) színeket
C A színek listája
call psetc ('contour_shade','on')
call psetc ('contour_hilo','off')
call psetc ('contour_shade_colour_method', 'list')
call pset1c ('contour_shade_colour_list', colours, 5)
C call pset1c ('contour_shade_method','dot')
C A sűrűségek variálása, hogy növeljük a kontrasztot
call psetr ('contour_shade_dot_size', 0.05)
call psetr ('contour_shade_max_level_density', 70.)
call psetr ('contour_shade_min_level_density', 20.)
call pcont
call pclose
end
Az új beállítások magyarázatai:
'contour_shade_colour_method': az is megadható, hogy a színeket mi alapján vegye, amikor beszínezi a poligonokat'contour_shade_colour_method', 'list': nálunk egy listáról szedi a színeket'contour_shade_colour_list', colours, 5: meg kell adni a vektort, amiben tároljuk a színeket, és annak dimenzióját'contour_shade_method': hogy milyen módon töltse ki a poligonokat, lehet dot, hatch, area_fill'contour_shade_method','dot': ez a pontozott ábrázolás beállítása, de a program ezt veszi alapértelmezettnek'contour_shade_dot_size': a pontok méretét adhatjuk meg 'contour_shade_max_level_density', 70.: a pontok sűrűsége a maximális értéknél (a pontok távolságát adjuk itt meg)'contour_shade_min_level_density', 20.: a pontok sűrűsége a minimális értéknél (a pontok távolságát adjuk itt meg)Az eredmény:
Visszatérve Európára megtekinthetjük a színkitöltéses ábrázolást.
program contour4
c Magics megnyitása és a kimenet definiálása
call popen
call psetc ('ps_device','ps_a4')
call psetc ('ps_file_name', 'contour_4.ps')real levels
c A leképezés és a szélek definiálása
call psetr ('subpage_lower_left_longitude',-15.0)
call psetr ('subpage_lower_left_latitude',30.0)
call psetr ('subpage_upper_right_longitude',40.0)
call psetr ('subpage_upper_right_latitude',70.0)
c Az adatok Magics-be való bevitele
call psetc ('legend','on')
call psetc ('grib_input_type','file')
call psetc ('grib_input_file_name','data/z500_tc.grib')
call pgrib
c Árnyékolt kontúrok megadása - kéktől pirosig az óramutató járásával megegyezően
call psetc ('contour_shade','on')
call psetc('contour_shade_method','area_fill')
call psetc ('contour_shade_colour_method', 'calculate')
call psetc('contour_shade_min_level_colour','blue')
call psetc('contour_shade_max_level_colour','red')
call psetc('contour_shade_colour_direction','clockwise')
call psetc('contour_level_selection_type', 'count')
call pcont
call pcoast
c Automatikus szöveg hozzáadása
call ptext
call pclose
return
end
Au új beállítások tulajdonságai:
'contour_shade_method','area_fill: megadjuk, hogy milyen módon színezze be a poligonokat, kitöltés'contour_shade_colour_method', 'calculate': a szinteket mi alapján válassza ki -> kiszámolja /480.,520.,530.,560.,575.,590./'contour_shade_min_level_colour','blue': megadható az alsó szint színe 'contour_shade_max_level_colour','red': megadható a felső szint színe 'contour_shade_colour_direction','clockwise': milyen irányba vegye sorba a színeket 'contour_level_selection_type', 'count': lehet 'interval','count','level_list', ahol a count az alapértelmezett, amikor a program számol ki szinteket További beállítási lehetőségek, beállítások,paraméterek: az ECMWF honlapján.
Az eredmény: