source: trunk/procs/macros/make_wdiv.pro @ 131

Last change on this file since 131 was 131, checked in by ericg, 15 years ago

Added new make_div.pro

File size: 1.8 KB
Line 
1;
2; make divergence of vector field
3;
4FUNCTION make_wdiv, file_name, ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2, ZMTYP = zmtyp, ALL_DATA = all_data
5
6@common
7@com_eg
8;
9   IF debug_w THEN print, '   ENTER make_wdiv... '
10
11   var_name1 =  (strsplit(macro_base_fld, ',', ESCAPE = ' ', /EXTRACT))[0]
12   var_name2 =  (strsplit(macro_base_fld, ',', ESCAPE = ' ', /EXTRACT))[1]
13
14;  Build file_name2 if different
15
16   IF strpos (cmd1_back.grid, '#') NE -1 THEN BEGIN
17      varpos = strpos(file_name,  var_name1)
18      file_name2= strmid(file_name, 0, varpos)+var_name2+'.nc'
19      IF debug_w THEN print, '   file_name2 = ', file_name2
20   ENDIF ELSE file_name2 = file_name
21
22;
23;  Read the variables in the correspondent netcdf file
24   var_x =  nc_read(file_name, var_name1,  ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2)
25   var_y =  nc_read(file_name2, var_name2,  ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2)
26
27; TO DO: ORCA grid C case
28;   vargrid = 'U'
29;   new_file = new_filename(file_name, 'T', vargrid)
30;   taux = nc_read(new_file,'sozotaux', ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2, ALL_DATA = all_data)
31;   vargrid = 'V'
32;   new_file = new_filename(file_name, 'T', vargrid)
33;   tauy = nc_read(new_file,'sometauy', ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2, ALL_DATA = all_data)
34
35;   for ORCA C grid wdiv = div(var_x, var_y)
36
37   grille,mask,glam,gphi,gdep,nx,ny,nz,premierx,premiery,premierz,dernierx,derniery,dernierz
38   wdiv =  (var_x.data - shift(var_x.data, -1, 0))/e1t[premierx:dernierx, premiery:derniery] + (var_y.data-shift(var_y.data, 0, -1))/e2t[premierx:dernierx, premiery:derniery]
39
40   field = {name: '', data: wdiv, legend: '', units: '', origin: '', dim: 0, direc:''}
41   
42   field.origin = var_x.origin
43   field.dim = var_x.dim
44   field.direc = var_x.direc
45
46   return, field
47END
Note: See TracBrowser for help on using the repository browser.