source: trunk/FIG_bar_transp_write.pro

Last change on this file was 48, checked in by pinsard, 10 years ago

fix thanks to coding rules

File size: 5.6 KB
Line 
1PRO FIG_bar_transp_write,iyear,ian
2@init2
3@initorca2_bab
4
5; draw the vertically integrated transport
6
7
8@common
9
10ian='01'
11iyear='1993'
12
13e_exp='ESS'
14;e_exp0='FRI'
15;e_year0='10'
16key_portrait = 0
17; stockage des fichiers brut
18  ioDATA='/usr/work/sur/fvi/OPA/ORCA2/'+e_exp
19  file_U=e_exp+'_5d_'+ian+'0101_'+ian+'1231_grid_U.nc'
20  print, file_U
21  file_V=e_exp+'_5d_'+ian+'0101_'+ian+'1231_grid_V.nc'
22  print, file_V
23
24; title
25     t_exp= e_exp
26;     t_exp0= e_exp0
27     t_bt  = 'bar_transp'
28ioORLN2 = '/usr/work/sur/fvi/OPA/ORCA2'
29;facteur d'echelle vertical for partial steps
30e3v3d=read_ncdf('e3v_ps',0,/timestep,iodir=ioORLN2,/nostruct,/tout,filename='meshmask_bab.nc')
31e3u3d=read_ncdf('e3u_ps',0,/timestep,iodir=ioORLN2,/nostruct,/tout,filename='meshmask_bab.nc')
32
33
34
35; vertical integration:
36e3t3d=make_array(jpi,jpj,jpk)
37        for k=0, jpk-1 do begin              &$
38          for j=0,jpj-1 do begin              &$
39            for i=0,jpi-1 do begin             &$
40              e3t3d(i,j,k) = e3t(k)    &$
41            endfor                     &$
42          endfor                      &$
43        endfor
44jpt = 73
45
46;vud = make_array(jpi,jpj,jpt)
47;vvd = make_array(jpi, jpj, jpt)
48
49; ouverture des fichiers dans lesquels on va écrire
50id3=NCDF_OPEN('/usr/work/sur/fvi/geomag/U_5d_'+iyear+'_grid_T.nc',/write)
51id4=NCDF_OPEN('/usr/work/sur/fvi/geomag/V_5d_'+iyear+'_grid_T.nc',/write)
52
53FOR jt = 0, jpt-1 DO BEGIN &$
54
55; ouverture des fichiers et stockage en memoire partial steps
56  vu=read_ncdf('vozocrtx',jt,jt, /timestep, iodir=ioDATA,/nostruct,/TOUT,filename=file_U)  &$
57  vv=read_ncdf('vomecrty',jt,jt, /timestep,iodir=ioDATA,/nostruct,/TOUT,filename=file_V)  &$
58
59
60
61; Somme sur la verticale partial steps
62                vum=total( vu*e3u3d*umask(),3 )  &$
63                vvm=total( vv*e3v3d*vmask(),3 )  &$
64
65; Shit sur la grille T partial steps
66             vut= (vum+shift(vum,1,0) )*0.5   &$
67             vvt= (vvm+shift(vvm,0,1) )*0.5   &$
68; Bande de recouvrement
69             vut(0, *) = vut(jpi-2, *)
70             vvt(*, 0) = 0.
71; stockage dans le fichier de sortie
72NCDF_VARPUT, id3,'sossheig',vut, offset = [0, 0, jt]
73NCDF_VARPUT, id4,'sossheig',vvt, offset = [0, 0, jt]
74
75print,  jt
76
77ENDFOR
78; on ferme le NetCDF
79NCDF_CLOSE,id3
80NCDF_CLOSE,id4
81
82
83
84
85;     z_ext=[0.,200.,10]
86;    plt, vut, min=z_ext[0], max=z_ext[1], int=z_ext[2], window = 1.,cell_fill = 2,/landscape, $
87;           title=varname+' - Experiment-',lct=64, boite=[20, 380, -79, 90],  /nocontour
88; ;, $    vecteur = {u:vum0, v:vvm0},vectcolor = 0, vectmin = 0.01, normeref =200, $
89; ;    GRILLE = 'T', unvectsur = [n1, n2]
90
91;    plt, vvt, min=z_ext[0], max=z_ext[1], int=z_ext[2], window = 2.,cell_fill = 2,/landscape, $
92;           title=varname+' - Experiment-',lct=64, boite=[20, 380, -79, 90],  /nocontour
93; ;, $    vecteur = {u:vum, v:vvm},vectcolor = 0, vectmin = 0.01, normeref =200, $
94; ;    GRILLE = 'T', unvectsur = [n1, n2]
95
96
97
98; Nom
99;    iodir1 = '/home/alb/IDL_DATA/INTER/ESS/'
100;    idout = NCDF_CREATE(iodir1+'U_V_5d_1993_grid_T.nc',/clobber)
101;    print, 'Creation du fichier Netcdf'
102;    NCDF_CONTROL, idout, /nofill
103; Dimension
104;    xidout = NCDF_DIMDEF(idout, 'x', jpiglo)
105;    yidout = NCDF_DIMDEF(idout, 'y', jpjglo)
106;    didout = NCDF_DIMDEF(idout, 'deptht', 1)
107;    tidout = NCDF_DIMDEF(idout, 'time_counter', /unlimited)
108
109
110; Attributs globaux
111;    id0  = NCDF_VARDEF(idout, 'nav_lon'     , [xidout, yidout                ], /FLOAT)
112;    id1  = NCDF_VARDEF(idout, 'nav_lat'     , [xidout, yidout                ], /FLOAT)
113;    id2  = NCDF_VARDEF(idout, 'deptht'      , [                didout        ], /FLOAT)
114;    id3  = NCDF_VARDEF(idout, 'time_counter', [                        tidout], /DOUBLE)
115;    id4  = NCDF_VARDEF(idout, 'vozocrtx'    , [xidout, yidout,         tidout], /FLOAT)
116;    id5  = NCDF_VARDEF(idout, 'vomecrty'    , [xidout, yidout,         tidout], /FLOAT)
117; Variable 0
118;    NCDF_ATTPUT, idout, id0, 'units', 'degrees_east'
119;    NCDF_ATTPUT, idout, id0, 'long_name', 'Longitude'
120;    NCDF_ATTPUT, idout, id0, 'nav_model', 'Default grid'
121; Variable 1
122;    NCDF_ATTPUT, idout, id1, 'units', 'degrees_north'
123;    NCDF_ATTPUT, idout, id1, 'long_name', 'Latitude'
124;    NCDF_ATTPUT, idout, id1, 'nav_model', 'Default grid'
125; Variable 2
126;    NCDF_ATTPUT, idout, id2, 'units','meters'
127;    NCDF_ATTPUT, idout, id2, 'long_name','Depth'
128;    NCDF_ATTPUT, idout, id2, 'nav_model','Default grid'
129; Variable3
130;    NCDF_ATTPUT, idout, id3, 'units', 'seconds since 0001-01-01 00:00:00 '
131;    NCDF_ATTPUT, idout, id3, 'calendar','noleap'
132;    NCDF_ATTPUT, idout, id3, 'title', 'Time'
133;    NCDF_ATTPUT, idout, id3, 'long_name', 'Time axis'
134;    NCDF_ATTPUT, idout, id3, 'time_origin','0001-JAN-01 00:00:00'
135; Variable4
136;    NCDF_ATTPUT, idout, id4, 'units', 'm/s'
137;    NCDF_ATTPUT, idout, id4, 'title', 'vozocrtx'
138;    NCDF_ATTPUT, idout, id4, 'long_name', 'zonal current summmed on vertical'
139; Variable5
140;    NCDF_ATTPUT, idout, id5, 'units', 'm/s'
141;    NCDF_ATTPUT, idout, id5, 'title', 'vomecrty'
142;    NCDF_ATTPUT, idout, id5, 'long_name', 'meridian current summmed on vertical'
143
144;    NCDF_CONTROL, idout, /ENDEF
145
146; Creation de la longitude
147;    NCDF_VARPUT, idout, id0, glamt
148; Creation de la latitude
149;    NCDF_VARPUT, idout, id1, gphit
150; Creation de la profondeur
151;    prof=1.
152;    NCDF_VARPUT, idout, id2, prof
153; Creation du calendrier
154;   temps = findgen(jpt)*5.*86400. +julday(1, 1, 1)
155;    jpt = 73
156;    temps = findgen(jpt)
157;    print, temps
158;    NCDF_VARPUT, idout, id3, temps
159
160
161; Ecriture des donnees
162
163; Ecriture de la salinite de surface de Levitus
164
165;    NCDF_VARPUT, idout, id4 , vut, offset = [0, 0, jt]
166;    NCDF_VARPUT, idout, id5 , vvt, offset = [0, 0, jt]
167
168;    NCDF_CLOSE, idout
169
170
171
172
173
174
175END
Note: See TracBrowser for help on using the repository browser.