#!/usr/local/ccc_python/stable2/bin/python -i


import matplotlib as mpl
import matplotlib.pyplot as plt
from netCDF4 import Dataset as netcdf
import numpy as np
import numpy.ma as ma
import sys
import os
from matplotlib.font_manager import FontProperties
import datetime
import shutil
import matplotlib.offsetbox as offsetbox

#------------------------
#  fonts
#------------------------
#plt.rc('font',weight='bold',size=8) 
plt.rc('font',size=10)
#font0 = FontProperties()
#font0.set_size(8)
mpl.rc('text', usetex=True)
mpl.rc('font', family='serif')
#mpl.rc('text.latex', preamble='\usepackage{color}')
mpl.rc('text.latex')


zmax=34
Uminmax=0.5

Tmin_100W=12; Tmax_100W=28

Tmin_10S=12; Tmax_10S=22
Tmin_10Sz=12; Tmax_10Sz=22

Tmin_SST=15; Tmax_SST=27
Tmin_SSTz=16; Tmax_SSTz=23

Tmin_depth_54m=12;    Tmax_depth_54m=27
Tmin_depth_120m=11;  Tmax_depth_120m=23

Tmin_depthz_54m=13;   Tmax_depthz_54m=21
Tmin_depthz_120m=11; Tmax_depthz_120m=16

Tminmax=2

#ZOOM upwelling
xlimz1=-83
xlimz2_SST=-75
xlimz2_10S=-78
ylimz1=-13.5
ylimz2=-6.5; 

un=1

#pylab

yb1=2003; ye1=2007
period=str(yb1)+'0101_'+str(ye1)+'1231'

diff=False   #  comparaison aux obs TMI-AMSR-E et CARS

# profondeur pour carte lon/lat  thetao
#depthw[18]=50.4545 m    deptht[18]=53.8506 m
#depthw[25]=113.885 m    deptht[25]=120 m

#kdepth=18 # 54 m
#kdepth=25 # 120 m
kdepth_liste=[18,25]

plot_100W=False
plot_10S=False
plot_SST=True
plot_depth=True

Tmin_kdepth_liste=[Tmin_depth_54m,Tmin_depth_120m]
Tmax_kdepth_liste=[Tmax_depth_54m,Tmax_depth_120m]
Tmin_kdepthz_liste=[Tmin_depthz_54m,Tmin_depthz_120m]
Tmax_kdepthz_liste=[Tmax_depthz_54m,Tmax_depthz_120m]

#-------------------------------------------------------------------------------
#for exp1 in ['p12n_bdy_tr12n_quik'] :
#for exp1 in ['p12n_bdy_tr12n_quik_Tp1.5degre'] :
#for exp1 in ['p12n_bdy_soda3'] :
#for exp1 in ['p12n_bdy_soda3_T-1.5degre'] :
#for exp1 in ['p12n_bdy_tr12n_quik_wnd_erai'] :
#for exp1 in ['p12n_bdy_tr12n_quik','p12n_bdy_tr12n_quik_Tp1.5degre','p12n_bdy_soda3','p12n_bdy_soda3_T-1.5degre','p12n_bdy_tr12n_quik_wnd_erai'] :

#for exp1 in ['tr12_quik'] :
#for exp1 in ['tr12_erainocrt'] :
#for exp1 in ['tr12n_n02'] :
#for exp1 in ['tr12n_n03'] :
for exp1 in ['tr12_quik','tr12_erainocrt','tr12n_n02','tr12n_n03'] :

#for exp1 in ['tr025n_gm00'] :
#for exp1 in ['tr025n_gm01'] :
#for exp1 in ['tr025_quik'] :
#for exp1 in ['tr025_quikubs'] :
#for exp1 in ['tr025_quiktau'] : 
#for exp1 in ['tr025_erainocrt'] :
#for exp1 in ['tr025n_gm00','tr025n_gm01','tr025_quik','tr025_quikubs','tr025_quiktau','tr025_erainocrt'] :

#for exp1 in ['tr075n_newflx'] :
#for exp1 in ['tr075n_n02nogm'] :
#for exp1 in ['tr075_quik'] :
#for exp1 in ['tr075n_quik'] :
#for exp1 in ['tr075_erainocrt'] :
#for exp1 in ['tr075n_erainocrt'] : 
#for exp1 in ['tr075n_newflx','tr075n_n02nogm','tr075_quik','tr075n_quik','tr075_erainocrt','tr075n_erainocrt'] :

#for exp1 in \
#['p12n_bdy_tr12n_quik','p12n_bdy_tr12n_quik_Tp1.5degre','p12n_bdy_soda3','p12n_bdy_soda3_T-1.5degre','p12n_bdy_tr12n_quik_wnd_erai',\
# 'tr12_quik','tr12_erainocrt','tr12n_n02','tr12n_n03',\
# 'tr025n_gm00','tr025n_gm01','tr025_quik','tr025_quikubs','tr025_quiktau','tr025_erainocrt', \
# 'tr075n_newflx' ,'tr075n_n02nogm','tr075_quik','tr075n_quik','tr075_erainocrt','tr075n_erainocrt'] :


#-------------------------------------------------------------------------------
   print exp1,'...'

   exp1_tex=exp1.replace('_','\\_')

   if 'p12' in exp1 : 
      config='peru12_nemo'; i100W=18;  j10S=261; ilonz=207; ilatz1=216; ilatz2=297; 
   elif 'tr12' in exp1 : 
      config='trop12_nemo/peru'; i100W=18;  j10S=261; ilonz=207; ilatz1=216; ilatz2=297;
   elif '025' in exp1 : 
      config='trop025_nemo/peru'; i100W=6; j10S=87; ilonz=69; ilatz1=72; ilatz2=99;
   elif '075' in exp1 : 
      config='trop075_nemo/peru'; i100W=2; j10S=29; ilonz=23; ilatz1=24; ilatz2=33;
#  ilonz=23 =>  -82.75
#  ilatz1=24 => -13.376794
#  ilatz2=33 =>  -6.7344398
   
# read CARS thetao 
   fT2='/ccc/work/cont005/ra0542/hourdinc/data/cars/cars_mon_clim_MEAN_PERU12.nc'
   nc2=netcdf(fT2,'r')
   TT2=nc2.variables['thetao'][0,:,:,:]
   TT2_100W=TT2[:,:,i100W]  #  section 100W
   TT2_10S=TT2[:,j10S,:]  #  section 10S
   SST2=TT2[0,:,:]  #  sst

# read TMI-AMSR-E sst 
   fT3='/ccc/work/cont005/ra0542/hourdinc/data/TMI-AMSR-E/TMI-AMSR-E_PERU12_2003-2007_mean.nc'
   nc3=netcdf(fT3,'r')
   SST3=nc3.variables['sst'][0,:,:]

# read T3D and U3D files
   dir1='/ccc/scratch/cont005/ra0542/hourdinc/'+config+'/outputs/'+exp1+'/'
   fT1=dir1+period+'/'+exp1+'_5d_'+period+'_grid_T_3D_mean.nc'
   ncT1=netcdf(fT1,'r')
   TT1a=ncT1.variables['thetao'][:,:,:,:]
   TT1=TT1a.mean(0)
   TT1m=ma.masked_values(TT1,0)
   TT1_100W=TT1m[:,:,i100W]  #  section 100W
   TT1_10S=TT1m[:,j10S,:]  #  section 10S
   SST=TT1m[0,:,:]  #  sst

   lon1=ncT1.variables['nav_lon'][0,:]
   lat1=ncT1.variables['nav_lat'][:,0]
   lev1=ncT1.variables['deptht'][:]

   fU1=dir1+period+'/'+exp1+'_5d_'+period+'_grid_U_3D_mean.nc'
   ncU1=netcdf(fU1,'r')
   UU1a=ncU1.variables['uo'][:,:,:,:]
   UU1=UU1a.mean(0)
   UU1_100W=UU1[:,:,i100W]  #  section 100W
   
   section_100W="%.2fW"%(-lon1[i100W])
   section_10S="%.2fS"%(-lat1[j10S])
   ysection_10S="%.2f"%(lat1[j10S])
   
   UUmax_jz=np.argwhere(UU1_100W == UU1_100W.max())[0]
   TTUUmax=TT1_100W[UUmax_jz[0],UUmax_jz[1]]
   TTUUmaxdiff=TT1_100W[UUmax_jz[0],UUmax_jz[1]]-TT2_100W[UUmax_jz[0],UUmax_jz[1]]
   TTUUmax_str='Coeur EUC:%.2f m/s & %.1f Celsius'%(UU1_100W.max(),TTUUmax)
   TTUUmaxdiff_str='Coeur EUC:%.2f m/s & %.1f Celsius'%(UU1_100W.max(),TTUUmaxdiff)
   
   if plot_100W :
#-------------------------------
#   EUC  section uo (m/s) a 100W
#-------------------------------
      plt.figure(11)
      cm11=plt.cm.bwr
      cm11.set_over('k')
      cm11.set_under('m')
      UU1_100W2=UU1_100W[0:zmax+un,:]
      plt.pcolor(lat1[:],-lev1[0:zmax+un],UU1_100W2, cmap=cm11)
      plt.clim(-Uminmax,Uminmax)
      plt.colorbar()
      plt.xlim(lat1[0],lat1[-1])
      plt.ylim(-lev1[zmax+1],0)
      cs11=plt.contour(lat1[:],-lev1[0:zmax+un],UU1_100W2, [-0.4,0,0.4],lw=0.1,colors='k')
#     plt.clabel(cs11)
      plt.plot([0,0], [0,-lev1[zmax+1]], 'k', lw=1,linestyle='dashed')
      mmmUU1_100W2="(min:%.1f  mean:%.1f  max:%.1f)" %(UU1_100W2.min(),UU1_100W2.mean(),UU1_100W2.max())
      plt.text(lat1[0],-lev1[zmax+1],mmmUU1_100W2,verticalalignment='bottom',horizontalalignment='left')
      plt.text(lat1[0],-50,TTUUmax_str,verticalalignment='top',horizontalalignment='left')
      title11=exp1+' ('+str(yb1)+'-'+str(ye1)+')  uo(m/s)  section '+str(section_100W)
      plt.title(title11)
      plt.savefig(exp1+'_100W_uo.png')
   
#-------------------------------
#   EUC  section thetao (Celsius) a 100W
#-------------------------------
      plt.figure(12)
      cm12=plt.cm.jet
      cm12.set_over('k')
      cm12.set_under('m')
      v=np.linspace(Tmin_100W,Tmax_100W,Tmax_100W-Tmin_100W+1, endpoint=True)
      TT1_100Wz=TT1_100W[0:zmax+un,:]
      plt.pcolor(lat1[:],-lev1[0:zmax+un],TT1_100Wz, cmap=cm12)
      plt.clim(Tmin_100W,Tmax_100W)
      plt.colorbar(ticks=v)
      plt.xlim(lat1[0],lat1[-1])
      plt.ylim(-lev1[zmax+1],0)
      cs12=plt.contour(lat1[:],-lev1[0:zmax+un],UU1_100W2, [-0.4,0,0.4],lw=0.1,colors='k')
#     plt.clabel(cs12)
      plt.plot([0,0], [0,-lev1[zmax+1]], 'k', lw=1,linestyle='dashed')
      mmmTT1_100Wz="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_100Wz.min(),TT1_100Wz.mean(),TT1_100Wz.max())
      plt.text(lat1[0],-lev1[zmax+1],mmmTT1_100Wz,verticalalignment='bottom',horizontalalignment='left')
      plt.text(lat1[0],-50,TTUUmax_str,verticalalignment='top',horizontalalignment='left')
      title12=exp1+' ('+str(yb1)+'-'+str(ye1)+')  thetao (Celsius)  section '+str(section_100W)
      plt.title(title12)
      plt.savefig(exp1+'_100W_thetao.png')
   
      if diff :
         plt.figure(120)
         cm120=plt.cm.bwr
         cm120.set_over('k')
         cm120.set_under('m')
         TT1_100Wzdiff=TT1_100W[0:zmax+un,:]-TT2_100W[0:zmax+un,:]
         plt.pcolor(lat1[:],-lev1[0:zmax+un],TT1_100Wzdiff, cmap=cm120)
         plt.clim(-Tminmax,Tminmax)
         plt.colorbar()
         plt.xlim(lat1[0],lat1[-1])
         plt.ylim(-lev1[zmax+1],0)
         plt.contour(lat1[:],-lev1[0:zmax+un],UU1_100W2, [-0.4,0,0.4],colors='k',linewidths=1)
         plt.plot([0,0], [0,-lev1[zmax+1]], 'k', lw=1,linestyle='dashed')
         mmmTT1_100Wzdiff="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_100Wzdiff.min(),TT1_100Wzdiff.mean(),TT1_100Wzdiff.max())
         plt.text(lat1[0],-lev1[zmax+1],mmmTT1_100Wzdiff,verticalalignment='bottom',horizontalalignment='left')
         plt.text(lat1[0],-50,TTUUmaxdiff_str,verticalalignment='top',horizontalalignment='left')
         title120=exp1+' ('+str(yb1)+'-'+str(ye1)+')  thetao - CARS (Celsius)  section '+str(section_100W)
         plt.title(title120)
         plt.savefig(exp1+'_100W_thetao-CARS.png')
   
   if plot_SST :
#-------------------------------
#   Upwelling  sst (Celsius)
#-------------------------------
      plt.figure(13)
      cm13=plt.cm.jet
      cm13.set_over('k')
      cm13.set_under('m')
      v=np.linspace(Tmin_SST,Tmax_SST,Tmax_SST-Tmin_SST+1, endpoint=True)
      plt.pcolor(lon1[:],lat1[:],SST[:,:], cmap=cm13)
      plt.clim(Tmin_SST,Tmax_SST)
      plt.colorbar(ticks=v)
      plt.xlim(lon1[0],lon1[-1])
      plt.ylim(lat1[0],lat1[-1])
      plt.plot([xlimz1,xlimz2_SST],[ysection_10S,ysection_10S], 'k', lw=1,linestyle='solid')
      plt.plot([xlimz1,xlimz2_SST],[ylimz1,ylimz1], 'k', lw=1,linestyle='dashed')
      plt.plot([xlimz1,xlimz2_SST],[ylimz2,ylimz2], 'k', lw=1,linestyle='dashed')
      plt.plot([xlimz1,xlimz1],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
      plt.plot([xlimz2_SST,xlimz2_SST],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
      mmmSST="(min:%.1f  mean:%.1f  max:%.1f)" %(SST.min(),SST.mean(),SST.max())
      meanSST="%.1f C " %(SST.mean())
      plt.text(lon1[0],lat1[0],mmmSST,verticalalignment='bottom',horizontalalignment='left')
      plt.text(lon1[-1],0,meanSST,fontsize=48,color='green',verticalalignment='top',horizontalalignment='right',fontweight='bold')
      title13=exp1+' ('+str(yb1)+'-'+str(ye1)+')  SST (Celsius)  '
      title13='\\large \\textbf{'+exp1_tex+ '} ('+str(yb1)+'-'+str(ye1)+') \\hspace{0.5cm} \\textbf{SST} (Celsius) '
      plt.title(title13)
      plt.savefig(exp1+'_sst.png')
   
      if diff :
         plt.figure(130)
         cm130=plt.cm.bwr
         cm130.set_over('k')
         cm130.set_under('m')
         SSTdiff2=SST-SST2
         plt.pcolor(lon1[:],lat1[:],SSTdiff2, cmap=cm130)
         plt.clim(-Tminmax,Tminmax)
         plt.colorbar()
         plt.contour(lon1[:],lat1[:],SSTdiff2, [-2,-1,0,1,2],lw=0.1,colors='k')
         plt.xlim(lon1[0],lon1[-1])
         plt.ylim(lat1[0],lat1[-1])
         plt.plot([xlimz1,xlimz2_SST],[ysection_10S,ysection_10S], 'k', lw=1,linestyle='solid')
         plt.plot([xlimz1,xlimz2_SST],[ylimz1,ylimz1], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz1,xlimz2_SST],[ylimz2,ylimz2], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz1,xlimz1],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz2_SST,xlimz2_SST],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
         mmmSSTdiff2="(min:%.1f  mean:%.1f  max:%.1f)" %(SSTdiff2.min(),SSTdiff2.mean(),SSTdiff2.max())
         plt.text(lon1[0],lat1[0],mmmSSTdiff2,verticalalignment='bottom',horizontalalignment='left')
         title130=exp1+' ('+str(yb1)+'-'+str(ye1)+')  SST - CARS (Celsius)  '
         plt.title(title130)
         plt.savefig(exp1+'_sst-CARS.png')
      
         plt.figure(133)
         cm133=plt.cm.bwr
         cm133.set_over('k')
         cm133.set_under('m')
         SSTdiff3=SST-SST3
         plt.pcolor(lon1[:],lat1[:],SSTdiff3, cmap=cm133)
         plt.clim(-Tminmax,Tminmax)
         plt.colorbar()
         plt.contour(lon1[:],lat1[:],SSTdiff3, [-2,-1,0,1,2],lw=0.1,colors='k')
         plt.xlim(lon1[0],lon1[-1])
         plt.ylim(lat1[0],lat1[-1])
         plt.plot([xlimz1,xlimz2_SST],[ysection_10S,ysection_10S], 'k', lw=1,linestyle='solid')
         plt.plot([xlimz1,xlimz2_SST],[ylimz1,ylimz1], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz1,xlimz2_SST],[ylimz2,ylimz2], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz1,xlimz1],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz2_SST,xlimz2_SST],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
         mmmSSTdiff3="(min:%.1f  mean:%.1f  max:%.1f)" %(SSTdiff3.min(),SSTdiff3.mean(),SSTdiff3.max())
         plt.text(lon1[0],lat1[0],mmmSSTdiff3,verticalalignment='bottom',horizontalalignment='left')
         title133=exp1+' ('+str(yb1)+'-'+str(ye1)+')  SST - TMI-AMSR-E (Celsius)  '
         plt.title(title133)
         plt.savefig(exp1+'_sst-TMI-AMSR-E.png')
   
#-------------------------------
#   Upwelling  sst (Celsius) - ZOOM
#-------------------------------
      plt.figure(14)
      cm14=plt.cm.jet
      cm14.set_over('k')
      cm14.set_under('m')
      v=np.linspace(Tmin_SSTz,Tmax_SSTz,Tmax_SSTz-Tmin_SSTz+1, endpoint=True)
      SSTz=SST[ilatz1:ilatz2+un:,ilonz:]
      plt.pcolor(lon1[ilonz:],lat1[ilatz1:ilatz2+un],SSTz, cmap=cm14)
      plt.clim(Tmin_SSTz,Tmax_SSTz)
      plt.colorbar(ticks=v)
      plt.xlim(xlimz1,xlimz2_SST)
      plt.ylim(ylimz1,ylimz2)
      mmmSSTz="(min:%.1f  mean:%.1f  max:%.1f)" %(SSTz.min(),SSTz.mean(),SSTz.max())
      meanSSTz="%.1f C " %(SSTz.mean())
      plt.text(xlimz1,ylimz1,mmmSSTz,color='k',verticalalignment='bottom',horizontalalignment='left')
      plt.text(xlimz2_SST,-8,meanSSTz,fontsize=48,color='green',verticalalignment='top',horizontalalignment='right',fontweight='bold')
      title14='\\large \\textbf{'+exp1_tex+ '} ('+str(yb1)+'-'+str(ye1)+') \\hspace{0.5cm} \\textbf{SST} (Celsius) '
      plt.title(title14)
      plt.savefig(exp1+'_sst_ZOOM.png')
   
      if diff :
         plt.figure(140)
         cm140=plt.cm.bwr
         cm140.set_over('k')
         cm140.set_under('m')
         SSTzdiff2=SSTdiff2[ilatz1:ilatz2+un:,ilonz:]
         plt.pcolor(lon1[ilonz:],lat1[ilatz1:ilatz2+un],SSTzdiff2, cmap=cm140)
         plt.clim(-Tminmax,Tminmax)
         plt.colorbar()
         plt.contour(lon1[ilonz:],lat1[ilatz1:ilatz2+un],SSTzdiff2,lw=0.1,colors='g')
         plt.xlim(xlimz1,xlimz2_SST)
         plt.ylim(ylimz1,ylimz2)
         mmmSSTzdiff2="(min:%.1f  mean:%.1f  max:%.1f)" %(SSTzdiff2.min(),SSTzdiff2.mean(),SSTzdiff2.max())
         plt.text(xlimz1,ylimz1,mmmSSTzdiff2,verticalalignment='bottom',horizontalalignment='left')
         title140=exp1+' ('+str(yb1)+'-'+str(ye1)+')  SST - CARS (Celsius)  '
         plt.title(title140)
         plt.savefig(exp1+'_sst-CARS_ZOOM.png')
         
         plt.figure(143)
         cm143=plt.cm.bwr
         cm143.set_over('k')
         cm143.set_under('m')
         SSTzdiff3=SSTdiff3[ilatz1:ilatz2+un:,ilonz:]
         plt.pcolor(lon1[ilonz:],lat1[ilatz1:ilatz2+un],SSTzdiff3, cmap=cm143)
         plt.clim(-Tminmax,Tminmax)
         plt.colorbar()
         plt.contour(lon1[ilonz:],lat1[ilatz1:ilatz2+un],SSTzdiff3,lw=0.1,colors='g')
         plt.xlim(xlimz1,xlimz2_SST)
         plt.ylim(ylimz1,ylimz2)
         mmmSSTzdiff3="(min:%.1f  mean:%.1f  max:%.1f)" %(SSTzdiff3.min(),SSTzdiff3.mean(),SSTzdiff3.max())
         plt.text(xlimz1,ylimz1,mmmSSTzdiff3,verticalalignment='bottom',horizontalalignment='left')
         title143=exp1+' ('+str(yb1)+'-'+str(ye1)+')  SST - TMI-AMSR-E (Celsius)  '
         plt.title(title143)
         plt.savefig(exp1+'_sst-TMI-AMSR-E_ZOOM.png')
   
   if plot_10S :
#-------------------------------
#   Upwelling  section thetao (Celsius) a 10S
#-------------------------------
      plt.figure(15)
      cm15=plt.cm.jet
      cm15.set_over('k')
      cm15.set_under('m')
      v=np.linspace(Tmin_10S,Tmax_10S,Tmax_10S-Tmin_10S+1, endpoint=True)
      TT1_10Sz=TT1_10S[0:zmax+un,:]
      plt.pcolor(lon1[:],-lev1[0:zmax+un],TT1_10Sz, cmap=cm15)
      plt.plot([xlimz1,xlimz1],[0,-lev1[zmax+1]], 'k', lw=1,linestyle='dashed')
      plt.clim(Tmin_10S,Tmax_10S)
      plt.colorbar(ticks=v)
      cs15=plt.contour(lon1[:],-lev1[0:zmax+un],TT1_10S[0:zmax+un,:],range(0,30),lw=0.1,colors='k')
      plt.clabel(cs15)
      plt.xlim(lon1[0],xlimz2_10S)
      plt.ylim(-lev1[zmax+1],0)
      mmmTT1_10Sz="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_10Sz.min(),TT1_10Sz.mean(),TT1_10Sz.max())
      plt.text(lon1[0],-lev1[zmax+1],mmmTT1_10Sz,verticalalignment='bottom',horizontalalignment='left')
      title15=exp1+' ('+str(yb1)+'-'+str(ye1)+')  thetao(Celsius)  section '+str(section_10S) 
      plt.title(title15)
      plt.savefig(exp1+'_10S_thetao.png')

      if diff :
         plt.figure(150)
         cm150=plt.cm.bwr
         cm150.set_over('k')
         cm150.set_under('m')
         TT1_10Szdiff=TT1_10S[0:zmax+un,:]-TT2_10S[0:zmax+un,:]
         plt.pcolor(lon1[:],-lev1[0:zmax+un],TT1_10Szdiff, cmap=cm150)
         plt.plot([xlimz1,xlimz1],[0,-lev1[zmax+1]], 'k', lw=1,linestyle='dashed')
         plt.clim(-Tminmax,Tminmax)
         plt.colorbar()
         plt.contour(lon1[:],-lev1[0:zmax+un],TT1_10Szdiff,[-3,-2,-1,0,1,2,3],lw=0.1,colors='g')
         cs150=plt.contour(lon1[:],-lev1[0:zmax+un],TT1_10S[0:zmax+un],range(0,30),lw=0.1,colors='k')
         plt.clabel(cs150)
         plt.xlim(lon1[0],xlimz2_10S)
         plt.ylim(-lev1[zmax+1],0)
         mmmTT1_10Szdiff="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_10Szdiff.min(),TT1_10Szdiff.mean(),TT1_10Szdiff.max())
         plt.text(lon1[0],-lev1[zmax+1],mmmTT1_10Szdiff,verticalalignment='bottom',horizontalalignment='left')
         title150=exp1+' ('+str(yb1)+'-'+str(ye1)+')  thetao - CARS(Celsius)  section '+str(section_10S) 
         plt.title(title150)
         plt.savefig(exp1+'_10S_thetao-CARS.png')

#-------------------------------
#   Upwelling  section thetao (Celsius) a 10S - ZOOM
#-------------------------------
      plt.figure(16)
      cm16=plt.cm.jet
      cm16.set_over('k')
      cm16.set_under('m')
      v=np.linspace(Tmin_10Sz,Tmax_10Sz,Tmax_10Sz-Tmin_10Sz+1, endpoint=True)
      TT1_10Szz=TT1_10S[0:zmax+un,ilonz:]
      plt.pcolor(lon1[ilonz:],-lev1[0:zmax+un],TT1_10Szz, cmap=cm16)
      plt.clim(Tmin_10Sz,Tmax_10Sz)
      plt.colorbar(ticks=v)
      cs16=plt.contour(lon1[ilonz:],-lev1[0:zmax+un],TT1_10S[0:zmax+un,ilonz:],range(0,30),lw=0.1,colors='k')
      plt.clabel(cs16)
      plt.xlim(xlimz1,xlimz2_10S)
      plt.ylim(-lev1[zmax+1],0)
      mmmTT1_10Szz="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_10Szz.min(),TT1_10Szz.mean(),TT1_10Szz.max())
      plt.text(xlimz1,-lev1[zmax+1],mmmTT1_10Szz,verticalalignment='bottom',horizontalalignment='left')
      title16=exp1+' ('+str(yb1)+'-'+str(ye1)+')  thetao (Celsius)  section '+str(section_10S) 
      plt.title(title16)
      plt.savefig(exp1+'_10S_thetao_ZOOM.png')

      if diff :
         plt.figure(160)
         cm160=plt.cm.bwr
         cm160.set_over('k')
         cm160.set_under('m')
         TT1_10Szzdiff=TT1_10S[0:zmax+un,ilonz:]-TT2_10S[0:zmax+un,ilonz:]
         plt.pcolor(lon1[ilonz:],-lev1[0:zmax+un],TT1_10Szzdiff, cmap=cm160)
         plt.clim(-Tminmax,Tminmax)
         plt.colorbar()
         plt.contour(lon1[ilonz:],-lev1[0:zmax+un],TT1_10Szzdiff,[-3,-2,-1,0,1,2,3],lw=0.1,colors='g')
         cs160=plt.contour(lon1[ilonz:],-lev1[0:zmax+un],TT1_10S[0:zmax+un,ilonz:],range(0,30),lw=0.1,colors='k')
         plt.clabel(cs160)
         plt.xlim(xlimz1,xlimz2_10S)
         plt.ylim(-lev1[zmax+1],0)
         mmmTT1_10Szzdiff="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_10Szzdiff.min(),TT1_10Szzdiff.mean(),TT1_10Szzdiff.max())
         plt.text(xlimz1,-lev1[zmax+1],mmmTT1_10Szzdiff,verticalalignment='bottom',horizontalalignment='left')
         title160=exp1+' ('+str(yb1)+'-'+str(ye1)+')  thetao - CARS (Celsius)  section '+str(section_10S) 
         plt.title(title160)
         plt.savefig(exp1+'_10S_thetao-CARS_ZOOM.png')
   

   if plot_depth :
#-------------------------------
#   Upwelling  thetao a n metres (Celsius)
#-------------------------------
      ii=0
#     for kdepth in kdepth_liste : 
      for ik in range(len(kdepth_liste)) : 
         kdepth=kdepth_liste[ik]
         Tmin_depth=Tmin_kdepth_liste[ik]
         Tmax_depth=Tmax_kdepth_liste[ik]
         Tmin_depthz=Tmin_kdepthz_liste[ik]
         Tmax_depthz=Tmax_kdepthz_liste[ik]

         TT1_depth=TT1m[kdepth,:,:]    #  thetao lon/lat a kdepth de profondeur
         depth1="%.0fm"%(lev1[kdepth])
   
         plt.figure(17+ii)
         cm17=plt.cm.jet
         cm17.set_over('k')
         cm17.set_under('m')
         v=np.linspace(Tmin_depth,Tmax_depth,Tmax_depth-Tmin_depth+1, endpoint=True)
         plt.pcolor(lon1[:],lat1[:],TT1_depth[:,:], cmap=cm17)
         plt.clim(Tmin_depth,Tmax_depth)
         plt.colorbar(ticks=v)
         plt.xlim(lon1[0],lon1[-1])
         plt.ylim(lat1[0],lat1[-1])
         plt.plot([xlimz1,xlimz2_SST],[ysection_10S,ysection_10S], 'k', lw=1,linestyle='solid')
         plt.plot([xlimz1,xlimz2_SST],[ylimz1,ylimz1], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz1,xlimz2_SST],[ylimz2,ylimz2], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz1,xlimz1],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
         plt.plot([xlimz2_SST,xlimz2_SST],[ylimz1,ylimz2], 'k', lw=1,linestyle='dashed')
         mmmTT1_depth="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_depth.min(),TT1_depth.mean(),TT1_depth.max())
         meanTT1_depth="%.1f C " %(TT1_depth.mean())
         plt.text(lon1[0],lat1[0],mmmTT1_depth,verticalalignment='bottom',horizontalalignment='left')
         plt.text(lon1[-1],0,meanTT1_depth,fontsize=48,color='green',verticalalignment='top',horizontalalignment='right',fontweight='bold')
         title17='\\large \\textbf{'+exp1_tex+ '} ('+str(yb1)+'-'+str(ye1)+') \\hspace{0.5cm} \\textbf{thetao} (Celsius) \\textbf{-'+depth1+'}' 
         plt.title(title17)
         plt.savefig(exp1+'_thetao_'+depth1+'.png')
         plt.close(17+ii)
         ii+1 

# ZOOM
         plt.figure(17+ii)
         cm17=plt.cm.jet
         cm17.set_over('k')
         cm17.set_under('m')
         v=np.linspace(Tmin_depthz,Tmax_depthz,Tmax_depthz-Tmin_depthz+1, endpoint=True)
         TT1_depthz=TT1_depth[ilatz1:ilatz2+un:,ilonz:]
         plt.pcolor(lon1[ilonz:],lat1[ilatz1:ilatz2+un],TT1_depthz, cmap=cm17)
         plt.clim(Tmin_depthz,Tmax_depthz)
         plt.colorbar(ticks=v)
         plt.xlim(xlimz1,xlimz2_SST)
         plt.ylim(ylimz1,ylimz2)
         mmmTT1_depthz="(min:%.1f  mean:%.1f  max:%.1f)" %(TT1_depthz.min(),TT1_depthz.mean(),TT1_depthz.max())
         meanTT1_depthz="%.1f C " %(TT1_depthz.mean())
         plt.text(xlimz2_SST,-8,meanTT1_depthz,fontsize=48,color='green',verticalalignment='top',horizontalalignment='right',fontweight='bold')
         plt.text(xlimz1,ylimz1,mmmTT1_depthz,verticalalignment='bottom',horizontalalignment='left')
         title17='\\large \\textbf{'+exp1_tex+ '} ('+str(yb1)+'-'+str(ye1)+') \\hspace{0.5cm} \\textbf{thetao} (Celsius) \\textbf{-'+depth1+'}'
         plt.title(title17)
         plt.savefig(exp1+'_thetao_'+depth1+'_ZOOM.png')
         plt.close(17+ii)
         ii+1 


#-------------------------------


#-------------------------------
   ncT1.close()
   ncU1.close()
   plt.close(11)
   plt.close(12)
   plt.close(120)
   plt.close(13)
   plt.close(130)
   plt.close(133)
   plt.close(14)
   plt.close(140)
   plt.close(143)
   plt.close(15)
   plt.close(150)
   plt.close(16)
   plt.close(160)
   
