Patrick BROCKMANN - LSCE (Climate and Environment Sciences Laboratory)
<img align="left" width="40%" src="http://www.lsce.ipsl.fr/Css/img/banniere_LSCE_75.png" >


Updated: 2018/12/10

Install the ferret extension

ferretmagic extension is now a package you can install from pip

pip install ferretmagic

https://pypi.python.org/pypi/ferretmagic

then load the extension


In [15]:
%load_ext ferretmagic


The ferretmagic extension is already loaded. To reload it, use:
  %reload_ext ferretmagic

Now use extension magic cell (%%ferret) or magic line (%ferret_run)


In [16]:
%%ferret
use levitus_climatology
show grid temp
let a=12


    GRID GMS1
 name       axis              # pts   start                end                 subset
 XAXLEVITR LONGITUDE          360mr   20.5E                19.5E(379.5)        full
 YAXLEVITR LATITUDE           180 r   89.5S                89.5N               full
 ZAXLEVITR DEPTH (m)           20 i-  0                    5000                full
 normal    T

In [17]:
%%ferret
list a
show data
plot i[i=1:10]


             VARIABLE : 12
          12.00
     currently SET data sets:
    1> /opt/ferret_dsets/data/levitus_climatology.cdf  (default)
 name     title                             I         J         K         L
 TEMP     TEMPERATURE                      1:360     1:180     1:20      ...
 SALT     SALINITY                         1:360     1:180     1:20      ...
 

Usage and current options

  • Control size of plot with option --size, -s width, heigh
  • Create a local pdf at the same time with option --pdf, -p
  • Do not display stdout with option --quiet, -q

Discover usage by typing %ferret_run?

Plot are imbedded into directly into the notebook


In [18]:
%%ferret -b -q -s 800,600
shade/lev=15 temp[k=@std]
go land
go text_put 50 50 "aaaa"  0 2


You can execute ferret commands from python with the line magic %ferret_run


In [19]:
for i in range(1,10,2):
    %ferret_run -q -s 300,300 'shade temp[k=%(i)s] ; go land' % locals()



In [20]:
def draw(i):
    %ferret_run -q -s 300,300 'shade temp[k=%d] ; go land' % i
    print "%d" % (i)
    
draw(2)


2

In [21]:
for i in [100,500,1000]:
    %ferret_run -b -s 300,300 'plot sin(i[i=1:%(i)s]*0.1)' % locals()


Display helps


In [22]:
%%ferret?

In [23]:
%ferret_run?

In [24]:
%%ferret
show symb


PPL$XPIXEL = "756"
PPL$YPIXEL = "612"
BYTEORDER = "LITTLE"
FERRET_VERSION = "7.44"
FERRET_PLATFORM = "Linux 3.10.0-957.1.3.el7.x86_64"
FERRET_PRECISION = "double"
NETCDF_VERSION = "4.4.1.1 of Nov 28 2018 12:44:39 $"
FERRET_MEMORY = "50"
SESSION_DATE = "10-Dec-18"
SESSION_TIME = "12:38"
SESSION_PID = "30391"
DELTA_CPU = "2.82813"
CLOCK_SECS = "1040.98"
CURRENT_DATE = "10-Dec-18"
CURRENT_TIME = "12:55:33"
N_OPEN_DSETS = "1"
PROGRAM_NAME = "PyFerret"
PEAK_MEMORY = "1555201"
SPAWN_OK = "1"
SPAWN_STATUS = "0"
GO_FILE = "n/a"
LAST_GO_FILE = "/opt/pyferret-7.4.4-RHEL7-64-Python2.7/go/land.jnl"
WIN_TITLE = "10-Dec-18:12:38"
PPL$FORMAT = "(3F10.2)"
PPL$PLTNME = "ferret.png"
PPL$TEKNME = "/dev/tt"
PPL$XLEN = "8.33000"
PPL$YLEN = "5.72400"
PPL$XORG = "1.20000"
PPL$YORG = "1.40000"
PPL$WIDTH = "10.5300"
PPL$HEIGHT = "8.52400"
PPL$LINE_COUNT = " 1"
PPL$XFACT1 = "1.000000"
PPL$XOFF1 = "0.000000"
PPL$YFACT1 = "1.000000"
PPL$YOFF1 = "0.000000"
PPL$VIEW_X = "0.000"
PPL$VIEW_Y = "0.000"
PPL$VIEW_Z = "0.000"
PPL$COMMAND_FILE = "$$MEMBUF$$"
VP_WIDTH = "10.53"
VP_HEIGHT = "8.524"
PPL$SCALE = "1.0000"
VP_SCALE = "1"
VP_RT_MARGIN = "1"
VP_TOP_MARGIN = "1.4"
VP_XLO = "0"
VP_XHI = "1"
VP_YLO = "0"
VP_YHI = "1"
LAB1 = "PyFerret (optimized) Ver.7.44"
LAB2 = "NOAA/PMEL TMAP"
LAB3 = "10-DEC-2018 12:55:32"
PPL$XMIN1 = "1.000000"
PPL$XMAX1 = "1000.000"
PPL$YMIN1 = "-0.9999902"
PPL$YMAX1 = "0.9999965"
LEV_TEXT = "15"
AX_VERT = "Y"
LABX = "X"
AX_HORIZ = "X"
LABY = ""
LABTIT = "SIN(I[I=1:1000]*0.1)"
XAXIS_REVERSED = "0"
YAXIS_REVERSED = "0"
PPL$XFIRST1 = "1.000000"
PPL$YFIRST1 = "9.9833414E-02"
PPL$XLAST1 = "500.0000"
PPL$YLAST1 = "-0.2623748"
XAXIS_MIN = "1.00000000"
XAXIS_MAX = "1000.00000"
YAXIS_MIN = "-1.000000"
YAXIS_MAX = "1.000000"
LEV_MIN = "-2"
LEV_MAX = "30"
LEV_NUM = "32"
LEV_DEL = "1"
LEV_CENTERED_LABELS = "off"
LEV_ALL = "-2,-1,0,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"

In [ ]:


In [ ]:


In [ ]:


In [ ]: