Changeset 136


Ignore:
Timestamp:
06/03/09 16:41:57 (15 years ago)
Author:
ericg
Message:

Added update of make_wcurl.pro

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/procs/macros/make_wcurl.pro

    r87 r136  
    11; 
    2 ; make Wind Stress curl 
     2; make curl of vector field 
    33; 
    44FUNCTION make_wcurl, 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_wcurl... ' 
     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    wcurl = curl(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 vcurl = curl(var_x, var_y) 
     36 
     37   grille,mask,glam,gphi,gdep,nx,ny,nz,premierx,premiery,premierz,dernierx,derniery,dernierz    
     38 
     39   zu = var_x.data 
     40   zv = var_y.data 
     41 
     42 
     43   IF jpt EQ 1 THEN BEGIN  
     44      wcurl =  (shift(zv, -1, 0)-zv)/e1t[premierx:dernierx, premiery:derniery] + (zu-shift(zu, 0, -1))/e2t[premierx:dernierx, premiery:derniery] 
     45   ENDIF ELSE BEGIN  
     46      e1t3d = reform(reform(e1t[premierx:dernierx, premiery:derniery], nx*ny)#replicate(1, jpt), nx, ny, jpt) 
     47      e2t3d = reform(reform(e2t[premierx:dernierx, premiery:derniery], nx*ny)#replicate(1, jpt), nx, ny, jpt) 
     48      wcurl =  (shift(zv, -1, 0, 0)-zv)/e1t3d + (zu-shift(zu, 0, -1, 0))/e2t3d 
     49   ENDELSE  
    2350 
    2451   field = {name: '', data: wcurl, legend: '', units: '', origin: '', dim: 0, direc:''} 
    2552    
    26    field.origin = taux.origin 
    27    field.dim = taux.dim 
    28    field.direc = taux.direc 
     53   field.origin = var_x.origin 
     54   field.dim = var_x.dim 
     55   field.direc = var_x.direc 
    2956 
    3057   return, field 
Note: See TracChangeset for help on using the changeset viewer.