use "10:05 GRAPHIQUES_coriolis43_video/grid.nc"
set win 1
define viewport/xlimits=0.,0.4 /ylim=0.,1. name1
set viewport name1
fill/j=200:3001/levels="(-inf)(0,10,0.1)" hm_w
shade/j=200:3001/k=10/palette=tan/ove/levels=(0) mask_t[d=1]
define viewport/xlimits=0.4,0.8 /ylim=0.,1. name2
set viewport name2
fill/j=200:3001/levels="(-inf)(0,30,0.3)" hm_w
shade/j=200:3001/k=10/palette=tan/ove/levels=(0) mask_t[d=1]
set win/aspect=1.1
define viewport/xlimits=0.0,0.5/ylim=0.0,0.5 name1
set viewport name1
fill/i=400:600/j=20:200/lev=(-inf)(0 100 5)(inf)/palette=no_blue 100-100*timeabovewater_w[d=2] , longitude_t[d=1] , latitude_t[d=1]
contour/ove/color=1/lev=(-1.5)/nolabel (-1)*h_w[d=1] , longitude_t[d=1] , latitude_t[d=1]
contour/ove/color=1/lev=(1.5)/nolabel (-1)*h_w[d=1] , longitude_t[d=1] , latitude_t[d=1]
shade/ove/lev=(0 -3)/nolabel/pal=tan MASK_T[d=1] , longitude_t[d=1] , latitude_t[d=1]
frame/file="toto.gif"
shade/ove/lev=(0 -3)/nolabel/pal=tan WETMASK_T[d=2], longitude_t[d=1] , latitude_t[d=1]
! En suivant le script ferret à lancer en mode metafile
!....................................................................
!rm metafile* temp.txt toto.ps toto.png
!ferret -batch -script figure_rip_variance.jnl > temp.txt
!Fprint -p portrait -o toto.ps metafile.plt
!convert -density 300 -background "#FFFFFF" -flatten toto.ps toto.png
!mv toto.png gibraltar.png
!display gibraltar.png
!....................................................................
set mode metafile
PPL DFLTFNT DR
SET MEMORY/SIZE=100
use "./GLOBMED2/OFFLINE_SOL_ET_TIDE16/grid.nc"
shade/hlim=-6.6:-4.6/vlim=34.4:37/lev="(0 1300 50)"/nolabel hm_w[d=1], longitude_t[d=1], latitude_t[d=1]
contour/ove/color=1/lev=(1 300 2 -3)/nolabel I_INDEX_T[d=1],LONGITUDE_T[d=1],LATITUDE_T[d=1]
contour/ove/color=1/lev=(400 700 2 -3)/nolabel J_INDEX_T[d=1],LONGITUDE_T[d=1],LATITUDE_T[d=1]
shade/ove/lev=(0 -3)/nolabel/pal=tan/k=1 MASK_T[d=1],LONGITUDE_T[d=1],LATITUDE_T[d=1]
file/var="xx,zz" "tmp/z2dv_OE_10"
plot/vs/line=1/hlim=59:129/vlim=-700:0/nolabel xx,zz
file/var="xx,zz" "tmp/z2dv_OE_14"
plot/vs/line=1/hlim=59:129/vlim=-700:0/nolabel/ove xx,zz
file/var="xx,zz" "tmp/z2dv_OE_17"
plot/vs/line=1/hlim=59:129/vlim=-700:0/nolabel/ove xx,zz
label 97.,-790.,0 0 .15 Along i axis grid indexes
label 52.,-350.,0 90 .15 Depth(m)
vector/length=0.1/i=1:1121/j=1:866/xskip=5/yskip=5 WSTRESS_U[d=2], WSTRESS_V[d=2] , LONGITUDE_T[d=1], LATITUDE_T[d=1]
ferret -batch test.gif -script toto.jnl > temp.txt
Pour ne pas perdre du temps à générer des gif à l'écran, lancer la production des fichiers gif en batch:
ferret -batch test.gif -script script.jnl > test.txt
On anime avec convert : l'option "-delay X" indique que l'on prendre une image toutes les X centièmes de seconde:
convert -delay 5 test_*_.gif MonGif_Anime.gif
Au préalable on aura générer le script avec une routine fortran
Par exemple calculer une divergence, ou un rotationnel
# rotationnel
let curl=wstressv[x=@DDC] - wstressu[y=@DDC]
#divergence
let div = uwind_t[x=@ddc] + vwind_t[y=@ddc]
! Note: ici le niveau de la surface est k=15
let sigma=(depth_t[d=1]-depth_t[k=1,d=1])/(depth_t[k=15,d=1]-depth_t[k=1,d=1])
let z2=sigma*(h_w[d=1]+ssh_w[d=2])-h_w[d=1]
! D'abord SAL car la premiere figure impose la barre de couleur
fill/i=300/vlim=-6:3/levels=(-inf)(10 27 0.5)(inf)/nolabel sal[d=2], j_index_t[d=1] , z2
! Ensuite le fond par dessus (couleur sable)
let z3=sigma*(6.0+ssh_w[d=2])-6.0 ! Note: 6.0 en rapport avec vlim
let LSM=sal[d=2]*0
shade/i=300/vlim=-6:3/pal=tan/ove/nolabel LSM, j_index_t[d=1] , z3
! Finir avec SAL par dessus
fill/i=300/vlim=-6:3/levels=(-inf)(10 27 0.5)(inf)/ove/nolabel sal[d=2], j_index_t[d=1] , z2
use "tmp/vanuc_station1_28.nc"
! note 1: le niveau de la surface est i=20
! note 2: souvent la dimension verticale est l'index k
let sigma=(depth_t-depth_t[i=1])/(depth_t[i=20]-depth_t[i=1])
let z2=sigma*((-1)*depth_w[i=1]+ssh)+depth_w[i=1]
set win 1
! cas profondeur depth_t brute:
shade sal_t, time_days*(1+0*depth_t) , depth_t
set win 2
! cas profondeur depth_t corrigee pour meilleure correspondance
! avec ssh en surface et -h au fond
shade sal_t, time_days*(1+0*depth_t) , z2
En suivant la forme est donnée par symbol (le numéro 27 correspond au cercle), la première série de nombres représente la longitudes (ici de 2 points) et la seconde série la latitude (ici de 2 point).
plot/over/vs/nolab/symbol=27/size=0.3/line=1 {29,29.1}, {41,41}
Pour supprimer la ligne reliant ces 2 points faire:
plot/over/vs/nolab/symbol=27/size=0.3 {29,29.1}, {41,41}
Tracer des points (qu'on peut relier par des lignes (line=)
Ou encore (avec de la couleur):
plot /overlay/vs /symbol=18/size=0.2/color=blue {4.5,7.3},{50.3,52.6}
tracer un seul gros point
plot /ove/vs/symbol=27/size=0.2/color=blue/thickness=3 {4.8},{43.24}
FILE/VAR="xx,y19,y23,y27,y31,Vavg,d,SSHavg,Havg" TableA1_HamiltonEbersole2001
plot/vs/SYMBOL=18/ove/nolabel 18-xx+3,Havg
use "../../../Nok_v325/GRAPHIQUES/20161202_020359_S342_symphonie.nc"
! Verifier que dsal=dflusdi+dflvsdj+dflwsdk+dfimplisdk+ASSELS
! Attention la sponge layer n'est pas budgetisee ce qui explique les eventuelles differences aux frontieres
shade/k=10/levels=(-35 35 1)/pal=modulo dsal
label 0.,0.,-1. 0 0.15 sal(t)-sal(t0)*vol(t0)/vol(t)
set win 2
shade/k=10/levels=(-35 35 1)/pal=modulo dflusdi+dflvsdj+dflwsdk+dfimplisdk+ASSELS
label 0.,0.,-1. 0 0.15 Verification equilibre (sauf sponge layer obc)
! Verifier que la divergence du flux horizontal est composEe des parties advective et diffusive du QUICKEST
! c.a.d.: dflusdi+dflvsdj = dfadvusdi+dfadvvsdj+dfdifusdi+dfdifvsdj
set win 3
! divergence flux horizontal total
shade/k=10/pal=modulo dflusdi+dflvsdj
label 0.,0.,-1. 0 0.15 Divergence flux horizontal total
set win 4
! divergence flux horizontal total bis
shade/k=10/pal=modulo dfadvusdi+dfadvvsdj+dfdifusdi+dfdifvsdj
label 0.,0.,-1. 0 0.15 Divergence flux horizontal total bis
set win 5
! divergence flux horizontal partie advective du QUICKEST
shade/k=10/pal=modulo dfadvusdi+dfadvvsdj
label 0.,0.,-1. 0 0.15 Divergence flux horizontal partie advective du QUICKEST
set win 6
! divergence flux horizontal partie diffusive du QUICKEST
shade/k=10/pal=modulo dfdifusdi+dfdifvsdj
label 0.,0.,-1. 0 0.15 Divergence flux horizontal partie diffusive du QUICKEST
lien vers doc drive_contenant_la palette
LET ipts = {50,100,200}
LET jpts = {100,500,700}
LET no = {100,500,1000}
shade/LEV=(0,3000,100) toto,i_ndex_t,j_index_t
GO polymark POLYGON/ove/"LEV=(0,3000,100)" IPTS,JPTS,NO,star 3
set palette rgb 22,13,-22
plot "toto" u 1:2:3 palette pt 7 pointsize 1
lien vers le doc drive et ses explications
RIBBON/THICK/i=3 ssh_w , breaker2d