diff --git a/MY_RUN/KTEST/009_ICARTT/006_ncl/clean_ncl b/MY_RUN/KTEST/009_ICARTT/006_ncl/clean_ncl
index 56ddc3f696cde0f66b17e2d67048631a2f17645b..8f829eacfdd2cb2e88d8128cfc401c6216ad9a90 100755
--- a/MY_RUN/KTEST/009_ICARTT/006_ncl/clean_ncl
+++ b/MY_RUN/KTEST/009_ICARTT/006_ncl/clean_ncl
@@ -1,2 +1,2 @@
 set -x
-rm -f zsection_1250.ps *.nc4
+rm -f *.png *.nc4
diff --git a/MY_RUN/KTEST/009_ICARTT/006_ncl/plot_ICARTT.ncl b/MY_RUN/KTEST/009_ICARTT/006_ncl/plot_ICARTT.ncl
index c9d3c2ff374e87f312a78544a598df01841691aa..9ceedb4f01583b5b336ac70e835cc5a76d17dd7d 100644
--- a/MY_RUN/KTEST/009_ICARTT/006_ncl/plot_ICARTT.ncl
+++ b/MY_RUN/KTEST/009_ICARTT/006_ncl/plot_ICARTT.ncl
@@ -8,8 +8,8 @@ begin
 ;=================================================;
 ; open file and read in data
 ;=================================================;
-  a = addfile("ICART.1.SEG01.001.nc4", "r")
-  a2 = addfile("ICART.1.SEG01.002.nc4", "r")
+  a = addfile("ICART.1.SEG01.001dg.nc4", "r")
+  a2 = addfile("ICART.1.SEG01.002dg.nc4", "r")
 
 ;=================================================;
 ; Get informations on variable sizes
@@ -38,7 +38,7 @@ zs@lon2d = lon2d
 
 printMinMax(zs,0)
 
-  rc_t1 = a->RCT(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)*1.e3
+  rc_t1 = a->MRC(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
   rc_t1@long_name="Cloud mixing ratio"
   rc_t1@units="g/kg"
   rc_t1@lat2d=lat2d
@@ -46,46 +46,114 @@ printMinMax(zs,0)
 printMinMax(rc_t1,0)
 
 ;
-  o3_t1 = a->O3T(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)*1.e9
+  o3_t1 = a->O3T(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
   o3_t1@long_name="Ozone"
   o3_t1@units="ppbv"
   o3_t1@lat2d=lat2d
   o3_t1@lon2d=lon2d
 
 ;
-  co_t1 = a->COT(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)*1.e9
+  co_t1 = a->COT(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
   co_t1@long_name="carbon monoxide"
   co_t1@units="ppbv"
   co_t1@lat2d=lat2d
   co_t1@lon2d=lon2d
+
+;
+  o3p_t1=a->O3_PROD(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  o3p_t1 = o3p_t1*1e9*3600
+  o3p_t1@long_name="ozone production"
+  o3p_t1@units="ppbv/h"  
+  o3p_t1@lat2d=lat2d
+  o3p_t1@lon2d=lon2d  
+
+;
+  o3l_t1=a->O3_LOSS(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  o3l_t1 = o3l_t1*1e9*3600
+  o3l_t1@long_name="ozone loss"
+  o3l_t1@units="ppbv/h"  
+  o3l_t1@lat2d=lat2d
+  o3l_t1@lon2d=lon2d  
+
+;
+  cop_t1=a->CO_PROD(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  cop_t1 = cop_t1*1e9*3600
+  cop_t1@long_name="carbon monoxide production"
+  cop_t1@units="ppbv/h"  
+  cop_t1@lat2d=lat2d
+  cop_t1@lon2d=lon2d  
+
+;   
+  col_t1=a->CO_LOSS(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  col_t1 = col_t1*1e9*3600
+  col_t1@long_name="carbon monoxide loss"
+  col_t1@units="ppbv/h"
+  col_t1@lat2d=lat2d
+  col_t1@lon2d=lon2d
+
+
 ;
 ;
-  rc_t2 = a2->RCT(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)*1.e3
+  rc_t2 = a2->MRC(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
   rc_t2@long_name="Cloud mixing ratio"
   rc_t2@units="g/kg"
   rc_t2@lat2d=lat2d
   rc_t2@lon2d=lon2d
 
 ;
-  o3_t2 = a2->O3T(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)*1.e9
+  o3_t2 = a2->O3T(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
   o3_t2@long_name="Ozone"
   o3_t2@units="ppbv"
   o3_t2@lat2d=lat2d
   o3_t2@lon2d=lon2d
 
 ;
-  co_t2 = a2->COT(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)*1.e9
+  co_t2 = a2->COT(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
   co_t2@long_name="carbon monoxide"
   co_t2@units="ppbv"
   co_t2@lat2d=lat2d
   co_t2@lon2d=lon2d
 
+;
+  o3p_t2=a2->O3_PROD(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  o3p_t2=o3p_t2*1e9*3600
+  o3p_t2@long_name="ozone production"
+  o3p_t2@units="pptv/h"  
+  o3p_t2@lat2d=lat2d
+  o3p_t2@lon2d=lon2d  
+
+;
+  o3l_t2=a2->O3_LOSS(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  o3l_t2=o3l_t2*1e9*3600
+  o3l_t2@long_name="ozone loss"
+  o3l_t2@units="pptv/h"
+  o3l_t2@lat2d=lat2d
+  o3l_t2@lon2d=lon2d
+
+;
+  cop_t2=a2->CO_PROD(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  cop_t2=cop_t2*1e9*3600
+  cop_t2@long_name="carbon monoxide production"
+  cop_t2@units="pptv/h"
+  cop_t2@lat2d=lat2d
+  cop_t2@lon2d=lon2d
+
+;   
+  col_t2=a2->CO_LOSS(1:kmax,jphext:jmax+jphext-1,jphext:imax+jphext-1)
+  col_t2=col_t2*1e9*3600
+  col_t2@long_name="carbon monoxide loss"
+  col_t2@units="ppbv/h"
+  col_t2@lat2d=lat2d
+  col_t2@lon2d=lon2d  
+
+  
+
 ;-----------------------------------------------;
 ;=================================================;
 ; On calcule l'altitude des champs modèle
 ;=================================================;
 
-zhat= a->ZHAT(1:kmax+1)
+zhat= a2->ZHAT(1:kmax+1)
 
 ; Unstagger zhat (from grid 4 to 1)
     nzhat=new(kmax,double)
@@ -94,7 +162,7 @@ zhat= a->ZHAT(1:kmax+1)
     end do
 
 ; Create Z3D == ALT
-    alt=new(dimsizes(rc_t1),double)
+    alt=new(dimsizes(o3_t2),double)
     zcoef=1.-zs/nzhat(kmax-1)
 
     do i=0,imax-1
@@ -114,9 +182,9 @@ alt@lon2d = lon2d
 ;-----------------------------------------------;
 ; Read projection parameters
 ; --------------------
-    RPK  = a->RPK
-    BETA = a->BETA
-    LON0 = a->LON0
+    RPK  = a2->RPK
+    BETA = a2->BETA
+    LON0 = a2->LON0
 
   resmap=True
   if (RPK.gt.0)
@@ -189,8 +257,16 @@ printMinMax(alt,0)
 rc_t2_plane = wrf_user_intrp3d(rc_t2,alt,"h",1250,0.,False)
 co_t1_plane = wrf_user_intrp3d(co_t1,alt,"h",1250,0.,False)
 co_t2_plane = wrf_user_intrp3d(co_t2,alt,"h",1250,0.,False)
+cop_t1_plane= wrf_user_intrp3d(cop_t1,alt,"h",1250,0.,False)
+cop_t2_plane= wrf_user_intrp3d(cop_t2,alt,"h",1250,0.,False)
+col_t1_plane= wrf_user_intrp3d(col_t1,alt,"h",1250,0.,False)
+col_t2_plane= wrf_user_intrp3d(col_t2,alt,"h",1250,0.,False)
 o3_t1_plane = wrf_user_intrp3d(o3_t1,alt,"h",1250,0.,False)
 o3_t2_plane = wrf_user_intrp3d(o3_t2,alt,"h",1250,0.,False)
+o3l_t1_plane= wrf_user_intrp3d(o3l_t1,alt,"h",1250,0.,False)
+o3l_t2_plane= wrf_user_intrp3d(o3l_t2,alt,"h",1250,0.,False)
+o3p_t1_plane= wrf_user_intrp3d(o3p_t1,alt,"h",1250,0.,False)
+o3p_t2_plane= wrf_user_intrp3d(o3p_t2,alt,"h",1250,0.,False)
 
 
   figname ="zsection_1250"
@@ -270,6 +346,50 @@ o3_t2_plane = wrf_user_intrp3d(o3_t2,alt,"h",1250,0.,False)
   delete(res@cnLevels)
   delete(res@cnFillColors)
 
+; plot ozone production
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/75,80,85,90,95,100,105,110,115,120,125/)
+  res@cnFillColors = (/75,80,85,90,95,100,105,110,115,120,125,130/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_o3p = gsn_csm_contour_map(wks,o3p_t1_plane(:,:),res)
+  draw(plot_o3p)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
+; plot ozone loss
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/75,80,85,90,95,100,105,110,115,120,125/)
+  res@cnFillColors = (/75,80,85,90,95,100,105,110,115,120,125,130/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_o3l = gsn_csm_contour_map(wks,o3l_t1_plane(:,:),res)
+  draw(plot_o3l)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
+; plot carbon monoxide production
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/)
+  res@cnFillColors := (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_cop = gsn_csm_contour_map(wks,cop_t1_plane(:,:),res)
+  draw(plot_cop)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
+; plot carbon monoxide loss
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/)
+  res@cnFillColors := (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_col = gsn_csm_contour_map(wks,col_t1_plane(:,:),res)
+  draw(plot_col)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
   res@gsnCenterString="heure=20"
 
 ; plot cloud mixing ratio
@@ -302,6 +422,50 @@ o3_t2_plane = wrf_user_intrp3d(o3_t2,alt,"h",1250,0.,False)
   draw(plot_co1)
   frame(wks)
 
+; plot ozone production
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/75,80,85,90,95,100,105,110,115,120,125/)
+  res@cnFillColors = (/75,80,85,90,95,100,105,110,115,120,125,130/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_o3p1 = gsn_csm_contour_map(wks,o3p_t2_plane(:,:),res)
+  draw(plot_o3p1)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
+; plot ozone loss
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/75,80,85,90,95,100,105,110,115,120,125/)
+  res@cnFillColors = (/75,80,85,90,95,100,105,110,115,120,125,130/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_o3l1 = gsn_csm_contour_map(wks,o3l_t2_plane(:,:),res)
+  draw(plot_o3l1)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
+; plot carbon monoxide production
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/)
+  res@cnFillColors := (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_cop1 = gsn_csm_contour_map(wks,cop_t2_plane(:,:),res)
+  draw(plot_cop1)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
+; plot carbon monoxide loss
+  res@cnLevelSelectionMode = "ExplicitLevels" ; method for selecting the contour
+  res@cnLevels     = (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/)
+  res@cnFillColors := (/0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6/) ; color of a contour
+;  res@cnLevelSelectionMode = "AutomaticLevels" 
+  plot_col1 = gsn_csm_contour_map(wks,col_t2_plane(:,:),res)
+  draw(plot_col1)
+  frame(wks)
+  delete(res@cnLevels)
+  delete(res@cnFillColors)
+
 ;;;;;;;;;;;;;;;;;;;;;;;;
 
 end
diff --git a/MY_RUN/KTEST/009_ICARTT/006_ncl/run_ncl b/MY_RUN/KTEST/009_ICARTT/006_ncl/run_ncl
index a9bcb3490c633e902ccf96600cd5a569aa5e63b2..e1c2e087dba581d8da3cc22574eac73665eb49dd 100755
--- a/MY_RUN/KTEST/009_ICARTT/006_ncl/run_ncl
+++ b/MY_RUN/KTEST/009_ICARTT/006_ncl/run_ncl
@@ -5,16 +5,14 @@
 set -x
 #set -e
 
-ln -sf ../003_mesonh/ICART.1.SEG01.001.nc4 .
-ln -sf ../003_mesonh/ICART.1.SEG01.002.nc4 .
+ln -sf ../004_diag/ICART.1.SEG01.001dg.nc4 .
+ln -sf ../004_diag/ICART.1.SEG01.002dg.nc4 .
 
 rm -f *.png 
 ncl plot_ICARTT.ncl
+ncl plot_ICARTT_budget.ncl
+
+display zsection_1250.*.png
+display zsection_1250_bud.*.png
 
-display zsection_1250.000001.png
-display zsection_1250.000002.png
-display zsection_1250.000003.png
-display zsection_1250.000004.png
-display zsection_1250.000005.png
-display zsection_1250.000006.png
 exit 0
diff --git a/MY_RUN/KTEST/009_ICARTT/Makefile b/MY_RUN/KTEST/009_ICARTT/Makefile
index 53eafb8e15fb4c80fd4bff9a08ace0f8a0fa07a3..047047e15b5c8a08f017c58136424b3481ce3b00 100644
--- a/MY_RUN/KTEST/009_ICARTT/Makefile
+++ b/MY_RUN/KTEST/009_ICARTT/Makefile
@@ -1,4 +1,4 @@
-all: E001_pgd1 E002_arp2lfi E003_mesonh  E006_ncl 
+all: E001_pgd1 E002_arp2lfi E003_mesonh E004_diag E006_ncl 
 
 E001_pgd1 :
 	cd 001_pgd1	       && get_chimie_files
@@ -7,6 +7,8 @@ E002_arp2lfi :
 	cd 002_arp2lfi	       && run_arp2lfi_xyz
 E003_mesonh:
 	cd 003_mesonh          && run_mesonh_xyz
+E004_diag:
+	cd 004_diag            && run_diag_xyz
 E006_ncl:
 	cd 006_ncl	       && run_ncl
 
@@ -14,5 +16,6 @@ clean:
 	cd 001_pgd1            && clean_prep_pgd_xyz
 	cd 002_arp2lfi	       && clean_arp2lfi_xyz
 	cd 003_mesonh	       && clean_mesonh_xyz
+	cd 004_diag  	       && clean_diag_xyz
 	cd 006_ncl	       && clean_ncl