Changeset 131 for trunk


Ignore:
Timestamp:
06/02/09 12:20:00 (15 years ago)
Author:
ericg
Message:

Added new make_div.pro

Location:
trunk/procs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/procs/def_macro_base_fld.pro

    r101 r131  
    1515                           'make_thdepth': macro_base_fld = 'votemper' 
    1616                           'make_linfitdom': macro_base_fld =  extract_str(line, '\', '/') 
     17                           'make_wdiv': macro_base_fld =  extract_str(line, '\', '/') 
    1718                           ELSE: BEGIN  
    1819                              print, ' Define macro in fld_macro.def' 
  • trunk/procs/macros/make_wdiv.pro

    r87 r131  
    11; 
    2 ; make Wind Stress divergence 
     2; make divergence of vector field 
    33; 
    44FUNCTION make_wdiv, file_name, ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2, ZMTYP = zmtyp, ALL_DATA = all_data 
     
    77@com_eg 
    88; 
     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 
    922; 
    10 ; Read taux and tauy 
    11 ; 
    12    ;old_boite = [lon1, lon2, lat1, lat2, prof1, prof2] 
    13    ;domdef 
    14    vargrid = 'U' 
    15    new_file = new_filename(file_name, 'T', vargrid) 
    16    taux = nc_read(new_file,'sozotaux', ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2, ALL_DATA = all_data) 
    17    vargrid = 'V' 
    18    new_file = new_filename(file_name, 'T', vargrid) 
    19    tauy = nc_read(new_file,'sometauy', ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1,  TIME_2 =  time_2, ALL_DATA = all_data) 
     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) 
    2026 
    21    wdiv = div(taux.data, tauy.data) 
    22    ;domdef, old_boite 
     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] 
    2339 
    2440   field = {name: '', data: wdiv, legend: '', units: '', origin: '', dim: 0, direc:''} 
    2541    
    26    field.origin = taux.origin 
    27    field.dim = taux.dim 
    28    field.direc = taux.direc 
     42   field.origin = var_x.origin 
     43   field.dim = var_x.dim 
     44   field.direc = var_x.direc 
    2945 
    3046   return, field 
Note: See TracChangeset for help on using the changeset viewer.