Changeset 50
- Timestamp:
- 02/21/08 18:03:54 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/procs/macros/make_ytran.pro
r2 r50 2 2 ; make Y transport in Sv at T point 3 3 ; 4 FUNCTION make_ytran, file_name, ncdf_db, TIME_1 = time_1, TIME_2 = time_2, ZMTYP = zmtyp4 FUNCTION make_ytran, file_name, ncdf_db, TIME_1 = time_1, TIME_2 = time_2, ALL_DATA = all_data, ZMTYP = zmtyp 5 5 6 6 @common … … 11 11 ; 12 12 file_nam = strmid(file_name, 0, strlen(file_name)-4) 13 old_boite = [lon1, lon2, lat1, lat2, prof1, prof2] 14 domdef 15 vargrid = 'V' 16 v = nc_read(file_nam+'V.nc','vomecrty', ncdf_db, TIME_1 = time_1, TIME_2 = time_2) 13 14 v = nc_read(file_nam+'V.nc','vomecrty', ncdf_db, TIME_1 = time_1, TIME_2 = time_2, ALL_DATA = all_data) 15 dim1v = (size(v.data))[1] 16 dim2v = (size(v.data))[2] 17 dim3v = (size(v.data))[3] 18 19 idx = where(v.data EQ valmask) 20 IF idx(0) NE -1 THEN v.data(idx) = 0.0 17 21 18 22 ; Transport along Y : try = v*e1t*e3t (Sv) 19 23 20 24 e1t3d = reform(e1t[*]#replicate(1, jpk), jpi, jpj, jpk) 21 22 25 e3t3d = reform(replicate(1, jpi*jpj)#e3t, jpi, jpj, jpk) 23 24 26 try = v.data*e1t3d*e3t3d 25 27 26 try = try*1.e-6 28 try = total(try, 1) 29 ; Petite astuce qui regle des problemes de domdef. On fait en sorte 30 ; de garder la dimension initiale du tableau 3D alors que 'total' nous 31 ; en fait perdre une. 32 trym = reform(replicate(1, dim1v)#reform(try, dim2v*dim3v), dim1v, dim2v, dim3v) 27 33 28 domdef, old_boite 29 30 field = {name: '', data: try, legend: '', units: '', origin: '', dim: 0} 34 field = {name: '', data: trym, legend: '', units: '', origin: '', dim: 0, direc:''} 31 35 32 36 field.origin = v.origin 33 37 field.dim = v.dim 34 38 IF cmdm.spec NE '-' THEN BEGIN 39 field.legend = ' ['+cmdm.date1+'-'+cmdm.spec+']' 40 ENDIF ELSE field.legend = ' ['+cmdm.date1+']' 41 field.direc = v.direc 35 42 return, field 36 43 END
Note: See TracChangeset
for help on using the changeset viewer.