PRO FIG_bar_transp_write,iyear,ian @init2 @initorca2_bab ; draw the vertically integrated transport @common ian='01' iyear='1993' e_exp='ESS' ;e_exp0='FRI' ;e_year0='10' key_portrait = 0 ; stockage des fichiers brut ioDATA='/usr/work/sur/fvi/OPA/ORCA2/'+e_exp file_U=e_exp+'_5d_'+ian+'0101_'+ian+'1231_grid_U.nc' print, file_U file_V=e_exp+'_5d_'+ian+'0101_'+ian+'1231_grid_V.nc' print, file_V ; title t_exp= e_exp ; t_exp0= e_exp0 t_bt = 'bar_transp' ioORLN2 = '/usr/work/sur/fvi/OPA/ORCA2' ;facteur d'echelle vertical for partial steps e3v3d=read_ncdf('e3v_ps',0,/timestep,iodir=ioORLN2,/nostruct,/tout,filename='meshmask_bab.nc') e3u3d=read_ncdf('e3u_ps',0,/timestep,iodir=ioORLN2,/nostruct,/tout,filename='meshmask_bab.nc') ; vertical integration: e3t3d=make_array(jpi,jpj,jpk) for k=0, jpk-1 do begin &$ for j=0,jpj-1 do begin &$ for i=0,jpi-1 do begin &$ e3t3d(i,j,k) = e3t(k) &$ endfor &$ endfor &$ endfor jpt = 73 ;vud = make_array(jpi,jpj,jpt) ;vvd = make_array(jpi, jpj, jpt) ; ouverture des fichiers dans lesquels on va écrire id3=NCDF_OPEN('/usr/work/sur/fvi/geomag/U_5d_'+iyear+'_grid_T.nc',/write) id4=NCDF_OPEN('/usr/work/sur/fvi/geomag/V_5d_'+iyear+'_grid_T.nc',/write) FOR jt = 0, jpt-1 DO BEGIN &$ ; ouverture des fichiers et stockage en memoire partial steps vu=read_ncdf('vozocrtx',jt,jt, /timestep, iodir=ioDATA,/nostruct,/TOUT,filename=file_U) &$ vv=read_ncdf('vomecrty',jt,jt, /timestep,iodir=ioDATA,/nostruct,/TOUT,filename=file_V) &$ ; Somme sur la verticale partial steps vum=total( vu*e3u3d*umask(),3 ) &$ vvm=total( vv*e3v3d*vmask(),3 ) &$ ; Shit sur la grille T partial steps vut= (vum+shift(vum,1,0) )*0.5 &$ vvt= (vvm+shift(vvm,0,1) )*0.5 &$ ; Bande de recouvrement vut(0, *) = vut(jpi-2, *) vvt(*, 0) = 0. ; stockage dans le fichier de sortie NCDF_VARPUT, id3,'sossheig',vut, offset = [0, 0, jt] NCDF_VARPUT, id4,'sossheig',vvt, offset = [0, 0, jt] print, jt ENDFOR ; on ferme le NetCDF NCDF_CLOSE,id3 NCDF_CLOSE,id4 ; z_ext=[0.,200.,10] ; plt, vut, min=z_ext[0], max=z_ext[1], int=z_ext[2], window = 1.,cell_fill = 2,/landscape, $ ; title=varname+' - Experiment-',lct=64, boite=[20, 380, -79, 90], /nocontour ; ;, $ vecteur = {u:vum0, v:vvm0},vectcolor = 0, vectmin = 0.01, normeref =200, $ ; ; GRILLE = 'T', unvectsur = [n1, n2] ; plt, vvt, min=z_ext[0], max=z_ext[1], int=z_ext[2], window = 2.,cell_fill = 2,/landscape, $ ; title=varname+' - Experiment-',lct=64, boite=[20, 380, -79, 90], /nocontour ; ;, $ vecteur = {u:vum, v:vvm},vectcolor = 0, vectmin = 0.01, normeref =200, $ ; ; GRILLE = 'T', unvectsur = [n1, n2] ; Nom ; iodir1 = '/home/alb/IDL_DATA/INTER/ESS/' ; idout = NCDF_CREATE(iodir1+'U_V_5d_1993_grid_T.nc',/clobber) ; print, 'Creation du fichier Netcdf' ; NCDF_CONTROL, idout, /nofill ; Dimension ; xidout = NCDF_DIMDEF(idout, 'x', jpiglo) ; yidout = NCDF_DIMDEF(idout, 'y', jpjglo) ; didout = NCDF_DIMDEF(idout, 'deptht', 1) ; tidout = NCDF_DIMDEF(idout, 'time_counter', /unlimited) ; Attributs globaux ; id0 = NCDF_VARDEF(idout, 'nav_lon' , [xidout, yidout ], /FLOAT) ; id1 = NCDF_VARDEF(idout, 'nav_lat' , [xidout, yidout ], /FLOAT) ; id2 = NCDF_VARDEF(idout, 'deptht' , [ didout ], /FLOAT) ; id3 = NCDF_VARDEF(idout, 'time_counter', [ tidout], /DOUBLE) ; id4 = NCDF_VARDEF(idout, 'vozocrtx' , [xidout, yidout, tidout], /FLOAT) ; id5 = NCDF_VARDEF(idout, 'vomecrty' , [xidout, yidout, tidout], /FLOAT) ; Variable 0 ; NCDF_ATTPUT, idout, id0, 'units', 'degrees_east' ; NCDF_ATTPUT, idout, id0, 'long_name', 'Longitude' ; NCDF_ATTPUT, idout, id0, 'nav_model', 'Default grid' ; Variable 1 ; NCDF_ATTPUT, idout, id1, 'units', 'degrees_north' ; NCDF_ATTPUT, idout, id1, 'long_name', 'Latitude' ; NCDF_ATTPUT, idout, id1, 'nav_model', 'Default grid' ; Variable 2 ; NCDF_ATTPUT, idout, id2, 'units','meters' ; NCDF_ATTPUT, idout, id2, 'long_name','Depth' ; NCDF_ATTPUT, idout, id2, 'nav_model','Default grid' ; Variable3 ; NCDF_ATTPUT, idout, id3, 'units', 'seconds since 0001-01-01 00:00:00 ' ; NCDF_ATTPUT, idout, id3, 'calendar','noleap' ; NCDF_ATTPUT, idout, id3, 'title', 'Time' ; NCDF_ATTPUT, idout, id3, 'long_name', 'Time axis' ; NCDF_ATTPUT, idout, id3, 'time_origin','0001-JAN-01 00:00:00' ; Variable4 ; NCDF_ATTPUT, idout, id4, 'units', 'm/s' ; NCDF_ATTPUT, idout, id4, 'title', 'vozocrtx' ; NCDF_ATTPUT, idout, id4, 'long_name', 'zonal current summmed on vertical' ; Variable5 ; NCDF_ATTPUT, idout, id5, 'units', 'm/s' ; NCDF_ATTPUT, idout, id5, 'title', 'vomecrty' ; NCDF_ATTPUT, idout, id5, 'long_name', 'meridian current summmed on vertical' ; NCDF_CONTROL, idout, /ENDEF ; Creation de la longitude ; NCDF_VARPUT, idout, id0, glamt ; Creation de la latitude ; NCDF_VARPUT, idout, id1, gphit ; Creation de la profondeur ; prof=1. ; NCDF_VARPUT, idout, id2, prof ; Creation du calendrier ; temps = findgen(jpt)*5.*86400. +julday(1, 1, 1) ; jpt = 73 ; temps = findgen(jpt) ; print, temps ; NCDF_VARPUT, idout, id3, temps ; Ecriture des donnees ; Ecriture de la salinite de surface de Levitus ; NCDF_VARPUT, idout, id4 , vut, offset = [0, 0, jt] ; NCDF_VARPUT, idout, id5 , vvt, offset = [0, 0, jt] ; NCDF_CLOSE, idout END