Changeset 161 for trunk/tools


Ignore:
Timestamp:
11/12/09 17:15:09 (15 years ago)
Author:
pinsard
Message:

conversion from IDL help header syntax to IDLDOC 2. header syntax

Location:
trunk/tools
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/density_binning/bining.pro

    r2 r161  
    1 PRO bining, $                   ; 
    2  
    3  
    4 ;INPUTS 
    5    density, $                   ; density at T points (3D array) 
    6    x,       $                   ; field at T points (e.g. Salinity or Temperature) 
    7 ;OUTPUTS  
    8    depth_bin, $                 ; depth of isopycnical surfaces (3D array) 
    9    x_bin,     $                 ; X averaged for each sigma-layer (3D array) 
    10 ; KEYWORDS 
    11    SIGMA = sigma,      $        ; bining values (optionnal) 
    12    DEPTH_T = depth_t,  $        ; depth of T level (NECESSARY) 
    13    DEPTH_W = depth_w,  $        ; depth of W level (NECESSARY) 
    14    E3T = e3t,  $        ; e3t (NECESSARY) 
    15    TMASK = tmask                ; tmask (3D array) (NECESSARY) 
    16              
     1PRO bining, $                   
     2   density, $ 
     3   x,       $ 
     4   depth_bin, $ 
     5   x_bin,     $ 
     6   SIGMA = sigma,      $  
     7   DEPTH_T = depth_t,  $ 
     8   DEPTH_W = depth_w,  $ 
     9   E3T = e3t,  $ 
     10   TMASK = tmask 
    1711;; 
    1812;;  PRINCIPE DU BINING 
     
    3832;;    et l'apparition d'un +2 dans la declaration des tableaux de sortie 
    3933;;    la couche 0   contient tous les points dont la densite est inferieure a la densite minimale du bining 
    40 ;;    la couche N+1  "                   "                     " superieure      "       maximale         
    41 ;; 
    42 ;; 
    43 ;; Creation : 19/10/99 G. Roullet 
     34;;    la couche N+1  "                   "                     " superieure      "       maximale 
     35;; 
     36;; 
     37; 
     38; @param DENSITY {in} 
     39; density at T points (3D array) 
     40; 
     41; @param X {in} 
     42; field at T points (e.g. Salinity or Temperature) 
     43; 
     44; @param DEPTH_BIN {out} 
     45; depth of sopycnical surfaces (3D array) 
     46; 
     47; @param X_BIN {out} 
     48; X averaged for each sigma-layer (3D array) 
     49; 
     50; @keyword SIGMA {in}{optional} 
     51; bining values 
     52; 
     53; @keyword DEPTH_T {in}{required} 
     54; depth of T level 
     55; 
     56; @keyword DEPTH_W {in}{required} 
     57; depth of W level 
     58; 
     59; @keyword E3T {in}{required} 
     60; 
     61; @keyword TMASK {in}{required} 
     62; tmask (3D array) 
     63; 
     64; @history 
     65; 19/10/99 G. Roullet 
     66; 
    4467;; 
    4568   size3d = size(density) 
  • trunk/tools/density_binning/bining2_bak.pro

    r2 r161  
    1 PRO bining2, $                   ; 
    2 ;INPUTS 
    3    density, $                   ; density at T points (3D array) 
    4    x1,      $                   ; field at T points (e.g. Salinity or Temperature) 
    5 ;OUTPUTS  
    6    depth_bin, $                 ; depth of layers (3D array) 
    7    thick_bin, $                 ; thickness of layers (3D array) 
    8    x1_bin,    $                 ; X averaged for each sigma-layer (3D array) 
    9 ; KEYWORDS 
    10    SIGMA = sigma,      $        ; bining values (optionnal) 
    11    DEPTH_T = depth_t,  $        ; depth of T level (NECESSARY) 
    12    DEPTH_W = depth_w,  $        ; depth of W level (NECESSARY) 
     1PRO bining2, $ 
     2   density, $ 
     3   x1, $ 
     4   depth_bin, $ 
     5   thick_bin, $ 
     6   x1_bin,    $ 
     7   SIGMA = sigma,      $ 
     8   DEPTH_T = depth_t,  $ 
     9   DEPTH_W = depth_w,  $ 
    1310   E3T = e3t,          $ 
    1411   E3W = e3w,          $ 
    15    TMASK = tmask                ; tmask (3D array) (NECESSARY) 
    16              
     12   TMASK = tmask 
    1713;; 
    1814;;  PRINCIPE DU BINING 
     
    3935;;    la couche 0   contient tous les points dont la densite est inferieure a la densite minimale du bining 
    4036;;    la couche N+1  "                   "                     " superieure      "       maximale         
    41 ;; 
    42 ;; 
    43 ;; Creation : 19/10/99 G. Roullet 
    44 ;; 
     37; 
     38; @param DENSITY {in} 
     39; density at T points (3D array) 
     40; 
     41; @param X1 {in} 
     42; field at T points (e.g. Salinity or Temperature) 
     43; 
     44; @param DEPTH_BIN {out} 
     45; depth of layers (3D array) 
     46; 
     47; @param THICK_BIN {out} 
     48; thickness of layers (3D array) 
     49; 
     50; @param X1_BIN {out} 
     51; X averaged for each sigma-layer (3D array) 
     52 
     53; @keyword SIGMA {in}{optional} 
     54; bining values 
     55; 
     56; @keyword DEPTH_T {in}{required} 
     57; depth of T level 
     58; 
     59; @keyword DEPTH_W {in}{required} 
     60; depth of W level 
     61; 
     62; @keyword E3T 
     63; 
     64; @keyword E3W 
     65; 
     66; @keyword TMASK{in}{required} 
     67; tmask (3D array) 
     68; 
     69; @history  
     70; 19/10/99 G. Roullet 
     71; 
     72;- 
    4573   size3d = size(density) 
    4674   jpi = size3d(1) 
  • trunk/tools/density_binning/binning_neutral_and_co/bin_velocity_New.pro

    r2 r161  
    1313      xmask = umask() 
    1414   ENDIF  
    15  
    1615   IF keyword_set(vv) THEN BEGIN 
    1716      density = boundperio(vmask()*(dens+shift(dens, 0, -1, 0))/2, /vv, /orca2, /pscal) 
    1817      xmask = vmask() 
    1918   ENDIF  
    20  
    2119      IF keyword_set(tt) THEN BEGIN 
    2220      density = dens 
     
    3129      c1_z = fltarr(N_z)        ; profil du contenu vertical de x 
    3230      s_z = fltarr(N_z)         ; profil de la densite 
    33  
    3431; vertical coordinate: in z-coord only 
    3532      z_zt = gdept              ; profondeur au point T  (k=0 -> 5m) 
     
    7370; 
    7471         i_ocean = where(xmask(i, j, *) EQ 1) 
    75  
    7672         z_s = z_s*0. 
    7773         c1_s = c1_s*0. 
    7874         x1_s = x1_s*0. 
    79  
    8075         IF (i_ocean[0] NE -1) THEN BEGIN ; on n'entre que si il y a des points ocean 
    8176  
    8277            s_z(*) = density(i, j, *) 
    8378            c1_z(*) = x1_content(i, j, *) 
    84  
    8579; critere supplementaire a imposer sur le profil pour eviter les cas 
    8680; pathologiques en attendant d'ecrire une vraie commande d'extraction 
    8781; de progils stritement croissant. Il s'agit donc d'un test adhoc. 
    8882            IF s_z(0) LT s_z(i_ocean(n_elements(i_ocean)-1)) THEN BEGIN  
    89  
    9083;------------------------------------------------------------------------ 
    9184; controle si le profil est bien strictement croissant (pour l'instant 
     
    9790;            croissant =  ind(0) EQ -1 
    9891;------------------------------------------------------------------------ 
    99  
    10092            i_bottom = i_ocean(n_elements(i_ocean)-1) 
    101  
    10293            z_s(N_s) = z_zw(i_bottom) 
    10394            c1_s(N_s) = x1_content(i, j, jpk-1) 
     
    10697            mini = min(s_z(i_ocean)) 
    10798            maxi = max(s_z(i_ocean))             
    108  
    10999            i_min = where(s_z(i_ocean) EQ mini) 
    110100            i_max = where(s_z(i_ocean) EQ maxi) 
     
    115105             i_min = i_min[0] 
    116106             i_max = i_max(n_elements(i_min)-1) 
    117  
    118107;            IF i_max GE jpk-1 THEN print, i, j, i_max 
    119108;            IF i_min LE 1 THEN print, i, j, i_min 
     
    127116               c1_s(ind) = 0                    &$ 
    128117            ENDIF  
    129  
    130118; Si la valeur du niveau (s_s) est plus elevee que la densite du fond,  
    131119; l isopycne est mise au fond (z_s=z_zw(i_bottom)) 
     
    154142                
    155143                   i_profil = i_ocean(i_min:i_max) 
    156  
    157144                   z_s(ind) = interpol(z_zt(i_profil), s_z(i_profil), s_s(ind)) 
    158145                
     
    183170         ENDIF  
    184171         ENDIF 
    185  
    186172         x1_bin(i, j, *) = x1_s 
    187173          
     
    190176    
    191177   return, x1_bin 
    192  
    193178END  
  • trunk/tools/density_binning/binning_neutral_and_co/bn2.pro

    r2 r161  
    6060   endcase 
    6161domdef  
    62  
    6362;  coordonnees z : on s'assure qu'on a autant de points W que de points  
    6463;  T sur le domaine defini par domdef. 
    6564;  on va se servir dans les calculs de e3w (e3) et gdepw (gdep) 
    66  
    6765   IF (nzt NE nzw ) THEN BEGIN 
    6866      print, 'le domaine doit etre choisi avec autant de points'  
     
    7775      GOTO,  sortie 
    7876   endif 
    79  
    8077   cdgrid = 'W' 
    8178   g = 9.81 
    8279   grille, mask, glam, gphi, gdep, nx, ny,nz, premierx, premiery, premierz, dernierx,  derniery,  dernierz ,e1,e2,e3, TRI = tri 
    8380   zgde3w = reform( (fltarr(nx*ny)+1)#(g/e3),  nx, ny, nz) 
    84  
    8581; 
    8682varname='Brunt-Vaisala frequency' 
     
    9793   case 1 of 
    9894      (neos EQ 0): begin  
    99  
    100  
    10195; ... UNESCO seawater equation of state 
    10296;   ... temperature, salinity anomalie  
     
    111105          * ( zalbet * ( shift(tn, 0, 0, 1) - tn ) $  
    112106              - ( shift(sn, 0, 0, 1) - sn ) ) 
    113  
    114107      end 
    115108      ( neos EQ 1 ): begin 
    116  
    117109; ... First Linear density formulation (function of temperature only) 
    118110; 
     
    122114      end 
    123115      ( neos EQ 2 ): begin 
    124  
    125116; ... Second linear density formulation (function of temp. and salinity) 
    126117; 
     
    136127      end 
    137128   endcase 
    138  
    139129; 
    140130; 
     
    144134   z(*, *, 0) = 0 
    145135   IF (gdep(nz-1) eq gdepw(jpk-1)) THEN z(*, *, nz-1) = 0 
    146  
    147136sortie: 
    148137   return,  z 
    149  
    150138END 
    151  
  • trunk/tools/density_binning/binning_neutral_and_co/eos.pro

    r2 r161  
    33;------------------------------------------------------------ 
    44; 
    5 ; NAME: EOS 
     5; computes rho  (in situ volumic mass)  
    66; 
    7 ; PURPOSE: 
    8 ;       computes rho  (in situ volumic mass)  
     7; @categories 
     8; calculation 
    99; 
    10 ; CATEGORY: 
    11 ;       calculation 
    12 ; 
    13 ; CALLING SEQUENCE: 
     10; @examples  
    1411;       tableau=eos(t,s,sigma) 
    1512; 
    16 ; INPUTS: 
    17 ;       t : temperature 
    18 ;       s : salinity 
    19 ;       sigma : reference level (real number belonging to [0,5]) 
    20 ;     for instance, sigma=3. means that rho will be referenced to 3000m   
     13; @param T {in}{required}  
     14; temperature 
    2115; 
    22 ; COMMON BLOCKS: 
     16; @param S  {in}{required} 
     17; salinity 
     18; 
     19; @param SIGMA {in}{required} 
     20; reference level (real number belonging to [0,5]) 
     21; for instance, sigma=3. means that rho will be referenced to 3000m   
     22; 
     23; @uses 
    2324;       common.pro       
    2425; 
     
    4445;       Jackett, D.R., and T.J. McDougall. J. Atmos. Ocean. Tech., 1994 
    4546; 
    46 ;   MODIFICATION HISTORY: 
     47; @history 
    4748;       Maurice Imbard 
    4849;       Eric Guilyardi - adaptation to post_it 
  • trunk/tools/density_binning/binning_neutral_and_co/eos_neutral.pro

    r2 r161  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
     1;+ 
     2; computes rho  (in situ volumic mass)  
    43; 
    5 ; NAME: EOS 
     4; @categories 
     5; calculation 
    66; 
    7 ; PURPOSE: 
    8 ;       computes rho  (in situ volumic mass)  
     7; @examples  
    98; 
    10 ; CATEGORY: 
    11 ;       calculation 
     9;  IDL> tableau=eos(t,s) 
    1210; 
    13 ; CALLING SEQUENCE: 
    14 ;       tableau=eos(t,s) 
     11; @param T {in} 
     12; temperature 
    1513; 
    16 ; INPUTS: 
    17 ;       t : temperature 
    18 ;       s : salinity 
     14; @param S {in} 
     15; salinity 
    1916; 
    2017; REFERENCE: 
     
    3128;       McDougall and Jackett, J. Mar Res., 2005 
    3229; 
    33 ;   MODIFICATION HISTORY: 
    34 ;-      Gurvan Madec (04/14/2005)  
    35 ;------------------------------------------------------------ 
    36 ;------------------------------------------------------------ 
    37 ;------------------------------------------------------------ 
     30; @history 
     31; Gurvan Madec (04/14/2005)  
     32;- 
    3833FUNCTION eos_neutral, t, s 
    3934; 
  • trunk/tools/density_binning/binning_neutral_and_co/fsalbt.pro

    r2 r161  
    2828;       pfs :  salinity anomaly (s-35) in psu 
    2929;       pfh :  depth in meters 
    30  
    3130      z = $  
    3231       ( ( ( -0.255019e-07 * pft + 0.298357e-05 ) * pft $  
  • trunk/tools/density_binning/binning_neutral_and_co/fsbeta.pro

    r2 r161  
    2020;---------------------------------------------------------------------- 
    2121FUNCTION fsbeta,  pft,  pfs,  pfh 
    22  
    2322;  
    2423; beta  
  • trunk/tools/density_binning/binning_neutral_and_co/msfs.pro

    r2 r161  
    2121      pe3v     = read_ncdf('e3v_ps',0,/timestep,iodir=ioMESH,/nostruct,/tout,filename=fich_msh) 
    2222      vvf = vv * reform(e1v[*]#replicate(1,jpk),jpi,jpj,jpk) * pe3v *vmask() 
    23  
    2423;------------------------- 
    2524; gibraltar cross land adv: 5 Sv 
     
    3231      vvf(167,100, 20  ) = vvf(167,100, 20  )+2.5e+6    *vvmask(167,100, 20  ) 
    3332      vvf(167,100, 21  ) = vvf(167,100, 21  )+0.8e+6/14.*vvmask(167,100, 21  ) 
    34  
    3533;------------------------- 
    3634if keyword_set(mask) then begin                 &$ 
     
    3836     if (size(mask))[0] eq 2 then vvf=vvf*reform(mask[*]#replicate(1,jpk),jpi,jpj,jpk) &$ 
    3937endif                                           &$ 
    40  
    4138;------------------------- 
    4239; crude summation 
     
    4542      x1_bin = fltarr(jpj, N_s) ; output array (transport function of density) 
    4643          x1_bin(*,*) = 0.e0 
    47  
    4844      FOR is = N_s-1,0,-1 DO begin               &$ 
    4945         dmsk= density GT s_s(is)                &$ 
     
    5147      ENDFOR                                     &$ 
    5248      msfs=x1_bin *1.e-6 
    53  
    5449;------------------------ 
    5550return, msfs 
  • trunk/tools/density_binning/binning_neutral_and_co/npc.pro

    r2 r161  
    114114; sortie: 
    115115   return,  rhos 
    116  
    117116END 
    118  
  • trunk/tools/density_binning/density_bin_IDL_gm/FIG_MSFeiv_submsk_all.pro

    r2 r161  
    22@1_initorca2_v2 
    33;@initorca2_o 
    4  
    54; draw the meridional stream function on one sheat 
    65; 
     
    5453        for nbas=1,3 do pltz, msf(*,*,nbas,no)+msfe(*,*,nbas,no), min=z_ext[0], max=z_ext[1], int=z_ext[2], /noerase, $ 
    5554          title=e_exp(no)+t_msf(nbas),/nocolor,lct=64, boite=(5000),zoom=5000, petit=[2,4,2*nbas+1], /rempli, ytitle='depth (m)' 
    56  
    5755        z_ext=[-40.,40.,2.] 
    5856        pltz, msf(*,*,0,n1)+msfe(*,*,0,n1), min=z_ext[0], max=z_ext[1], int=z_ext[2], /landscape, /noerase, $ 
     
    7068        for nbas=1,3 do pltz, msfe(*,*,nbas,no), min=z_ext[0], max=z_ext[1], int=z_ext[2], /noerase, $ 
    7169          title=e_exp(no)+t_msf(nbas),/nocolor,lct=64, boite=(5000),zoom=5000, petit=[2,4,2*nbas+1], /rempli, ytitle='depth (m)' 
    72  
    7370        pltz, msfe(*,*,0,n1), min=z_ext[0], max=z_ext[1], int=z_ext[2], /landscape, /noerase, $ 
    7471          title=e_exp(no)+t_msf(0),/nocolor,lct=64, boite=(5000),zoom=5000, petit=[2,4,2], /rempli, ytitle='depth (m)' 
  • trunk/tools/density_binning/density_bin_IDL_gm/bin_velocity.pro

    r2 r161  
    1313      xmask = umask() 
    1414   ENDIF  
    15  
    1615   IF keyword_set(vv) THEN BEGIN 
    1716      density = boundperio(vmask()*(dens+shift(dens, 0, -1, 0))/2, /vv, /orca2, /pscal) 
    1817      xmask = vmask() 
    1918   ENDIF  
    20  
    2119      IF keyword_set(tt) THEN BEGIN 
    2220      density = dens 
     
    5654; 
    5755         i_ocean = where(xmask(i, j, *) EQ 1) 
    58  
    5956         z_s = z_s*0. 
    6057         c1_s = c1_s*0. 
    6158         x1_s = x1_s*0. 
    62  
    6359         IF (i_ocean[0] NE -1) THEN BEGIN ; on n'entre que si il y a des points ocean 
    6460  
    6561            s_z(*) = density(i, j, *) 
    6662            c1_z(*) = x1_content(i, j, *) 
    67  
    6863; critere supplementaire a imposer sur le profil pour eviter les cas 
    6964; pathologiques en attendant d'ecrire une vraie commande d'extraction 
    7065; de progils stritement croissant. Il s'agit donc d'un test adhoc. 
    7166            IF s_z(0) LT s_z(i_ocean(n_elements(i_ocean)-1)) THEN BEGIN  
    72  
    7367;------------------------------------------------------------------------ 
    7468; controle si le profil est bien strictement croissant (pour l'instant 
     
    8074;            croissant =  ind(0) EQ -1 
    8175;------------------------------------------------------------------------ 
    82  
    8376            i_bottom = i_ocean(n_elements(i_ocean)-1) 
    84  
    8577            z_s(N_s) = z_zw(i_bottom) 
    8678            c1_s(N_s) = x1_content(i, j, jpk-1) 
     
    8981            mini = min(s_z(i_ocean)) 
    9082            maxi = max(s_z(i_ocean))             
    91  
    9283            i_min = where(s_z(i_ocean) EQ mini) 
    9384            i_max = where(s_z(i_ocean) EQ maxi) 
     
    9889             i_min = i_min[0] 
    9990             i_max = i_max(n_elements(i_min)-1) 
    100  
    10191;            IF i_max GE jpk-1 THEN print, i, j, i_max 
    10292;            IF i_min LE 1 THEN print, i, j, i_min 
     
    110100               c1_s(ind) = 0                    &$ 
    111101            ENDIF  
    112  
    113102; Si la valeur du niveau (s_s) est plus elevee que la densite du fond,  
    114103; l isopycne est mise au fond (z_s=z_zw(i_bottom)) 
     
    137126                
    138127                   i_profil = i_ocean(i_min:i_max) 
    139  
    140128                   z_s(ind) = interpol(z_zt(i_profil), s_z(i_profil), s_s(ind)) 
    141129                
     
    166154         ENDIF  
    167155         ENDIF 
    168  
    169156         x1_bin(i, j, *) = x1_s 
    170157          
     
    173160    
    174161   return, x1_bin 
    175  
    176162END  
  • trunk/tools/density_binning/density_bin_IDL_gm/bining2.pro

    r2 r161  
    1 PRO bining2, $                   ; 
    2 ;INPUTS 
    3    density, $                   ; density at T points (3D array) 
    4    x1,      $                   ; field at T points (e.g. Salinity or Temperature) 
    5    sobwlmax, $                 ; bowl depth array 
    6    sig_bowl, $                  ; switch for bowl overlay 
    7 ;OUTPUTS  
    8    depth_bin, $                 ; depth of layers (3D array) 
    9    thick_bin, $                 ; thickness of layers (3D array) 
    10    x1_bin,    $                 ; X averaged for each sigma-layer (3D array) 
    11    bowl_bin, $                  ; bowl depth binned on density 
    12 ; KEYWORDS 
    13    SIGMA = sigma,      $        ; bining values (optionnal) 
    14    DEPTH_T = depth_t,  $        ; depth of T level (NECESSARY) 
    15    DEPTH_W = depth_w,  $        ; depth of W level (NECESSARY) 
     1PRO bining2, $ 
     2   density, $ 
     3   x1, $ 
     4   sobwlmax, $ 
     5   sig_bowl, $ 
     6   depth_bin, $ 
     7   thick_bin, $ 
     8   x1_bin, $ 
     9   bowl_bin, $ 
     10   SIGMA = sigma, $ 
     11   DEPTH_T = depth_t, $ 
     12   DEPTH_W = depth_w,  $ 
    1613   E3T = e3t,          $ 
    1714   E3W = e3w,          $ 
    18    TMASK = tmask                ; tmask (3D array) (NECESSARY) 
    19              
     15   TMASK = tmask 
    2016;; 
    2117;;  PRINCIPE DU BINING 
     
    4137;;    et l'apparition d'un +1 dans la declaration des tableaux de sortie 
    4238;;    la couche 0   contient tous les points dont la densite est inferieure a la densite minimale du bining 
    43 ;;    la couche N+1  "                   "                     " superieure      "       maximale         
    44 ;; 
    45 ;; 
    46 ;; Creation : 19/10/99 G. Roullet 
    47 ;; 
     39;;    la couche N+1  "                   "                     " superieure      "       maximale 
     40;; 
     41;; 
     42; @param DENSITY {in} 
     43; density at T points (3D array) 
     44; 
     45; @param X1 {in} 
     46; field at T points (e.g. Salinity or Temperature) 
     47; 
     48; @param SOBWLMAX {in} 
     49; bowl depth array 
     50; 
     51; @param SIG_BOWL {in} 
     52; switch for bowl overlay 
     53; 
     54; @param DEPTH_BIN {out} 
     55; depth of layers (3D array) 
     56; 
     57; @param THICK_BIN {out} 
     58; thickness of layers (3D array) 
     59; 
     60; @param X1_BIN {out} 
     61; X averaged for each sigma-layer (3D array) 
     62; 
     63; @param BOWL_BIN {out} 
     64; bowl depth binned on density 
     65; 
     66; @keyword SIGMA {in}{optional} 
     67; bining values 
     68; 
     69; @keyword DEPTH_T {in}{required} 
     70; depth of T level 
     71; 
     72; @keyword DEPTH_W {in}{required} 
     73; depth of W level 
     74;  
     75; @keyword E3T 
     76; 
     77; @keyword E3W 
     78; 
     79; @keyword TMASK{in}{required} 
     80; tmask (3D array) 
     81; 
     82; @history  
     83; 19/10/99 G. Roullet 
     84;- 
     85 
    4886   size3d = size(density) 
    4987   jpi = size3d(1) 
  • trunk/tools/density_binning/density_bin_IDL_gm/eos.pro

    r2 r161  
    33;------------------------------------------------------------ 
    44; 
    5 ; NAME: EOS 
     5; computes rho  (in situ volumic mass)  
    66; 
    7 ; PURPOSE: 
    8 ;       computes rho  (in situ volumic mass)  
    9 ; 
    10 ; CATEGORY: 
     7; @categories 
    118;       calculation 
    129; 
    13 ; CALLING SEQUENCE: 
     10; @examples  
    1411;       tableau=eos(t,s,sigma) 
    1512; 
    16 ; INPUTS: 
    17 ;       t : temperature 
    18 ;       s : salinity 
    19 ;       sigma : reference level (real number belonging to [0,5]) 
    20 ;     for instance, sigma=3. means that rho will be referenced to 3000m   
     13; @param T {in}{required} 
     14; temperature 
    2115; 
    22 ; COMMON BLOCKS: 
     16; @param S  {in}{required} 
     17; salinity 
     18; 
     19; @param SIGMA {in}{required} 
     20; reference level (real number belonging to [0,5]) 
     21; for instance, sigma=3. means that rho will be referenced to 3000m   
     22; 
     23; @uses 
    2324;       common.pro       
    2425; 
     
    4445;       Jackett, D.R., and T.J. McDougall. J. Atmos. Ocean. Tech., 1994 
    4546; 
    46 ;   MODIFICATION HISTORY: 
     47; @history 
    4748;       Maurice Imbard 
    4849;       Eric Guilyardi - adaptation to post_it 
  • trunk/tools/density_binning/density_bin_IDL_gm/msfs.pro

    r2 r161  
    1010tmask=replicate(1b,jpi,jpj,jpk) 
    1111domdef,0,jpi-1,0,jpj-1,0,jpk-1,/index 
    12  
    13  
    1412if keyword_set(mask) then begin 
    1513      print, 'subdomain: use of mask argument' 
     
    2018msf=total(msf*(e1v[*]#replicate(1,jpk)),1,/nan) 
    2119msf=1e-6*msf 
    22  
    2320mmsk=msf 
    2421indm=where(mmsk NE 0 ) 
    2522mmsk(indm)=1 
    26  
    2723msf=total(msf,2,/cumulative) 
    2824;msf=total(msf,2,/cumulative,/nan) 
     
    3632        endfor 
    3733endif 
    38  
    3934; mask the msf 
    4035msf=msf*mmsk 
    41  
    4236varname='Meridional Stream Function' 
    4337varunit='Sv' 
    4438vargrid='W' 
    45  
    46  
    4739if keyword_set(orca) then begin 
    4840        case orca of 
     
    6153;if n_elements(valmask) eq 0 then valmask=1e20 
    6254;if terre[0] ne -1 then msf[terre]=valmask 
    63  
    6455;------------------------ 
    6556return, msf 
  • trunk/tools/density_binning/density_bin_IDL_gm/msfz.pro

    r2 r161  
    3434        endfor 
    3535endif 
    36  
    3736varname='Meridional Stream Function' 
    3837varunit='Sv' 
    3938vargrid='W' 
    40  
    4139if keyword_set(orca) then begin 
    4240        case orca of 
     
    5553;if n_elements(valmask) eq 0 then valmask=1e20 
    5654;if terre[0] ne -1 then msf[terre]=valmask 
    57  
    5855;------------------------ 
    5956return, msf 
  • trunk/tools/density_binning/density_bin_IDL_gm/npc.pro

    r2 r161  
    114114; sortie: 
    115115   return,  rhos 
    116  
    117116END 
    118  
  • trunk/tools/idl_netcdf/ncdf_ajoute.pro

    r160 r161  
    11;+ 
    2 ; NAME:ncdf_ajoute 
     2; permet d'ajouter une variable a la suite d'un fichier net-cdf 
    33; 
    4 ; PURPOSE:permet d''ajouter une variable a la suite d''un fichier net-cdf 
     4; @categories 
     5; bidouille NET-CDF 
    56; 
    6 ; CATEGORY:bidouille NET-CDF 
    7 ; 
    8 ; CALLING SEQUENCE:ndf_ajoute,'nomfich',struct 
    9 ;  
    10 ; INPUTS: 
    11 ;        nomfich: string contenant le nom du fichier auquel il faut 
     7; @param NOMFICH {in}{required} 
     8; string contenant le nom du fichier auquel il faut 
    129;        ajouter la strucure contenant la variable et tout ce qui va 
    1310;        autour 
    1411; 
    15 ;        nom: string contenant le nom de la variable 
     12; @param NOM {in}{required} 
     13; string contenant le nom de la variable 
    1614; 
    17 ;        tab:le tableau contenant la variable 
     15; @param TAB {in}{required} 
     16; le tableau contenant la variable 
    1817; 
    19 ;        dimension[nbredim]: un vecteur de string contennant le nom des 
    20 ;        dimensions, par ex ['x','y','time_counter'] 
     18; @param DIMENSION {in}{required}{type=1D array nbredim} 
     19; un vecteur de string contennant le nom des 
     20; dimensions, par ex ['x','y','time_counter'] 
    2121; 
    22 ; OPTIONAL INPUTS: 
    23 ;        
    24 ;        attributs[nbreattributs,2]: un tableau 2d de string dont 
     22; @param ATTRIBUT {in}{optional}{type=2D array nbreattributs x 2} 
     23; un tableau 2d de string dont 
    2524;        chaque ligne contient le nom et la valeur de 
    2625;        l''attribut, par ex: attribut[i]=['titre','SST'] 
    2726; 
    2827;        
    29 ; KEYWORD PARAMETERS: 
    30 ; 
    31 ; OUTPUTS: 
    32 ; 
    33 ; OPTIONAL OUTPUTS: 
    34 ; 
    35 ; COMMON BLOCKS: 
    36 ; 
    37 ; SIDE EFFECTS: 
    38 ; 
    39 ; RESTRICTIONS: 
    40 ; 
    41 ; EXAMPLE: 
    42 ; 
    43 ; MODIFICATION HISTORY: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     28; @history  
     29; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    4430;                       25/11/98 
    4531;- 
    46 ;----------------------------------------------------------------------------------------- 
    4732PRO ncdf_ajoute, nomfich, nom, tab, dimension, attribut 
    4833;----------------------------------------------------------------------------------------- 
     
    11095;------------------------------------------------------------ 
    11196   ncdf_close, cdfid 
    112  
    113  
    114  
    115  
    116 ;----------------------------------------------------------------------------------------- 
    11797   return 
    11898end 
  • trunk/tools/idl_netcdf/ncdf_ajoute2.pro

    r160 r161  
    11;+ 
    2 ; NAME:ncdf_ajoute 
    32; 
    4 ; PURPOSE:permet d''ajouter une variable a la suite d''un fichier net-cdf 
     3; permet d''ajouter une variable a la suite d''un fichier net-cdf 
    54; 
    6 ; CATEGORY:bidouille NET-CDF 
     5; @categories 
     6; bidouille NET-CDF 
    77; 
    8 ; CALLING SEQUENCE:ndf_ajoute,'nomfich',struct 
    9 ;  
    10 ; INPUTS: 
    11 ;        nomfich: string contenant le nom du fichier auquel il faut 
    12 ;        ajouter la strucure contenant la variable et tout ce qui va 
    13 ;        autour 
     8; @param NOMFICH {in}{required} 
     9; contenant le nom du fichier auquel il faut 
     10; ajouter la strucure contenant la variable et tout ce qui va 
     11; autour 
    1412; 
    15 ;        nom: string contenant le nom de la variable 
     13; @param NOM {in}{required} 
     14; string contenant le nom de la variable 
    1615; 
    17 ;        tab:le tableau contenant la variable 
     16; @param TAB {in}{required} 
     17; le tableau contenant la variable 
    1818; 
    19 ;        dimension[nbredim]: un vecteur de string contennant le nom des 
    20 ;        dimensions, par ex ['x','y','time_counter'] 
     19; @param DIMENSION {in}{required}{type=1D array nbredim} 
     20; un vecteur de string contennant le nom des 
     21; dimensions, par ex ['x','y','time_counter'] 
    2122; 
    22 ; OPTIONAL INPUTS: 
    23 ;        
    24 ;        attributs[nbreattributs,2]: un tableau 2d de string dont 
    25 ;        chaque ligne contient le nom et la valeur de 
    26 ;        l''attribut, par ex: attribut[i]=['titre','SST'] 
     23; @param ATTRIBUT {in}{optional}{type=2D array nbreattributs x2} 
     24; un tableau 2d de string dont 
     25; chaque ligne contient le nom et la valeur de 
     26; l''attribut, par ex: attribut[i]=['titre','SST'] 
    2727; 
    28 ;        
    29 ; KEYWORD PARAMETERS: 
    30 ; 
    31 ; OUTPUTS: 
    32 ; 
    33 ; OPTIONAL OUTPUTS: 
    34 ; 
    35 ; COMMON BLOCKS: 
    36 ; 
    37 ; SIDE EFFECTS: 
    38 ; 
    39 ; RESTRICTIONS: 
    40 ; 
    41 ; EXAMPLE: 
    42 ; 
    43 ; MODIFICATION HISTORY: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     28; @history  
     29; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    4430;                       25/11/98 
    4531;- 
    46 ;----------------------------------------------------------------------------------------- 
    4732PRO ncdf_ajoute, nomfich, nom, tab, dimension, attribut 
    4833;----------------------------------------------------------------------------------------- 
     
    10590;------------------------------------------------------------ 
    10691   ncdf_close, cdfid 
    107  
    108  
    109  
    110  
    111 ;----------------------------------------------------------------------------------------- 
    11292   return 
    11393end 
  • trunk/tools/idl_netcdf/ncdf_colle.pro

    r160 r161  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; NAME:ncdf_colle 
    6 ; 
    7 ; PURPOSE:permet de coller n fichiers entre eux suivant une 
     2; 
     3; permet de coller n fichiers entre eux suivant une 
    84; direction. c.a.d. qu''un nouveau fichier de sortie est ecrit et que 
    95; si les variables comportent la dimension a coller alors la variable 
    106; de sortie sera un collage des n variables d''entree suivant la dite dimension 
    117; 
    12 ; CATEGORY:bidouille de fichiers netcdf 
    13 ; 
    14 ; CALLING SEQUENCE:ncdf_colle,'nomfich1,nomfich2,nomfich3,...','nomfichout','nomdirection' 
    15 ; 
    16 ; INPUTS: 
    17 ;        'nomfich1,nomfich2,nomfich3,...': un string contenant la 
     8; @categories 
     9; bidouille de fichiers netcdf 
     10; 
     11; @param LISTIN {in}{required}  
     12; 'nomfich1,nomfich2,nomfich3,...': un string contenant la 
    1813;        liste des noms des ficchiers en entree separes par une virgule 
    1914; 
    20 ;        'nomfichout': un string contenant le nom du fichier en sortie 
    21 ; 
    22 ;        'nomdirection': un string contenant le nom de la dimension 
    23 ;        suivant laquelle on doit faire le collage.      
    24 ; 
    25 ; REMARQUE: si nomdimection n''existe pas ds le fichier et que les 
     15; @param NOMFICHOUT {in}{required} 
     16; un string contenant le nom du fichier en sortie 
     17; 
     18; @param NOMDIREC {in}{required} 
     19; un string contenant le nom de la dimension 
     20; suivant laquelle on doit faire le collage.      
     21; 
     22; REMARQUE: si nomdirec n''existe pas ds le fichier et que les 
    2623; fichiers d''entree ne comportent pas de dimension infinie alors on cree la dimension 
    27 ;  infinie nomdirection et on constitue pour chaque variable un 
     24;  infinie nomdirec et on constitue pour chaque variable un 
    2825;  "empilement" des n tableaux suivant la nouvelle direction. En clair 
    2926;  avec n fichiers sans dim temporelle on cree une serie temporelle de n pas de temps. 
    3027; 
    31 ; KEYWORD PARAMETERS: 
    32 ;         
    33 ;        GARDE: vecteur donnant les noms des variables a 
     28; @keyword GARDE 
     29; vecteur donnant les noms des variables a 
    3430;        selectionner. si il n'est pas active toutes les variables 
    3531;        sont selectionnees. 
    3632; 
    37 ;        EXCLU: vecteur donnant les noms des variablers a ne pas 
     33; @keyword EXCLU 
     34; vecteur donnant les noms des variablers a ne pas 
    3835;        selectionner. si il n'est pas active toutes les variables 
    3936;        sont selectionnees. 
    4037; 
    41 ; OUTPUTS: 
    42 ; 
    43 ; COMMON BLOCKS: attention cette procedure fait appelle a la fonction 
     38; @uses  
     39; attention cette procedure fait appelle a la fonction 
    4440; colle.pro 
    4541;  souvant pour une raison encore inexpliquee, IDL ne reconnait pas ds 
     
    6359; plantages en serie IDL affiche unable to allocate memory...  
    6460; 
    65 ; RESTRICTIONS: 
    66 ; 
    67 ; EXAMPLE: 
    68 ; 
    69 ; MODIFICATION HISTORY: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     61; @restrictions 
     62; 
     63; @examples  
     64; 
     65; @history  
     66; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    7067;                       23/11/98 
    7168; 13/1/98 : attribut concernant le min et le max 
    7269;- 
    73 ;------------------------------------------------------------ 
    74 ;------------------------------------------------------------ 
    75 ;------------------------------------------------------------ 
    7670PRO ncdf_colle, listin, nomfichout, nomdirec, GARDE = garde,  EXCLU = exclu 
    7771   nomdirec = strlowcase(nomdirec) 
  • trunk/tools/idl_netcdf/ncdf_colle2.pro

    r160 r161  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; NAME:ncdf_colle 
    6 ; 
    7 ; PURPOSE:permet de coller n fichiers entre eux suivant une 
     2; permet de coller n fichiers entre eux suivant une 
    83; direction. c.a.d. qu''un nouveau fichier de sortie est ecrit et que 
    94; si les variables comportent la dimension a coller alors la variable 
    105; de sortie sera un collage des n variables d''entree suivant la dite dimension 
    116; 
    12 ; CATEGORY:bidouille de fichiers netcdf 
    13 ; 
    14 ; CALLING SEQUENCE:ncdf_colle,'nomfich1,nomfich2,nomfich3,...','nomfichout','nomdirection' 
    15 ; 
    16 ; INPUTS: 
    17 ;        'nomfich1,nomfich2,nomfich3,...': un string contenant la 
    18 ;        liste des noms des ficchiers en entree separes par une virgule 
    19 ; 
    20 ;        'nomfichout': un string contenant le nom du fichier en sortie 
    21 ; 
    22 ;        'nomdirection': un string contenant le nom de la dimension 
    23 ;        suivant laquelle on doit faire le collage.      
    24 ; 
    25 ; REMARQUE: si nomdimection n''existe pas ds le fichier et que les 
     7; @categories 
     8; bidouille de fichiers netcdf 
     9; 
     10; @param LISTIN {in}{required}  
     11; 'nomfich1,nomfich2,nomfich3,...': un string contenant la 
     12;        liste des noms des fichiers en entree separes par une virgule 
     13; 
     14; @param NOMFICHOUT {in}{required} 
     15; un string contenant le nom du fichier en sortie 
     16; 
     17; @param NOMDIREC {in}{required} 
     18; un string contenant le nom de la dimension 
     19; suivant laquelle on doit faire le collage.      
     20 
     21; REMARQUE: si nomdirect n''existe pas ds le fichier et que les 
    2622; fichiers d''entree ne comportent pas de dimension infinie alors on cree la dimension 
    27 ;  infinie nomdirection et on constitue pour chaque variable un 
     23;  infinie nomdirect et on constitue pour chaque variable un 
    2824;  "empilement" des n tableaux suivant la nouvelle direction. En clair 
    2925;  avec n fichiers sans dim temporelle on cree une serie temporelle de n pas de temps. 
    3026; 
    31 ; KEYWORD PARAMETERS: 
    32 ;         
    33 ;        GARDE: vecteur donnant les noms des variables a 
     27; @keyword GARDE 
     28; vecteur donnant les noms des variables a 
    3429;        selectionner. si il n'est pas active toutes les variables 
    3530;        sont selectionnees. 
    3631; 
    37 ;        EXCLU: vecteur donnant les noms des variablers a ne pas 
     32; @keyword EXCLU 
     33; vecteur donnant les noms des variablers a ne pas 
    3834;        selectionner. si il n'est pas active toutes les variables 
    3935;        sont selectionnees. 
    4036; 
    41 ; OUTPUTS: 
    42 ; 
    43 ; COMMON BLOCKS: attention cette procedure fait appelle a la fonction 
     37; @uses  
     38; attention cette procedure fait appelle a la fonction 
    4439; colle.pro 
    4540;  souvant pour une raison encore inexpliquee, IDL ne reconnait pas ds 
     
    6358; plantages en serie IDL affiche unable to allocate memory...  
    6459; 
    65 ; RESTRICTIONS: 
    66 ; 
    67 ; EXAMPLE: 
    68 ; 
    69 ; MODIFICATION HISTORY: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     60; @restrictions 
     61; 
     62; @examples  
     63; 
     64; @history  
     65; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    7066;                       23/11/98 
    7167; 13/1/98 : attribut concernant le min et le max 
     
    302298   commande = 'mv travaille.nc '+nomfichout 
    303299   spawn, commande 
    304  
    305  
    306  
    307 ;------------------------------------------------------------ 
    308 ;------------------------------------------------------------ 
    309300   return 
    310301end 
  • trunk/tools/idl_netcdf/ncdf_extrait.pro

    r160 r161  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; NAME:ncdf_extrait 
    6 ; 
    7 ; PURPOSE: 
    8 ; 
    9 ; CATEGORY: 
    10 ; 
    11 ; CALLING SEQUENCE:ncdf_extrait,nomfich1,nomfich2 [,domaine] 
    12 ; 
    13 ; INPUTS: 
    14 ; 
    15 ;        nomfich1 et nomfich2 :le nom du fichier d'entree de de celui 
    16 ;        de sortie 
    17 ; 
    18 ;        domaine: un vecteur de chaines de chatacteres qui permet de 
     2; 
     3; @categories 
     4; 
     5; @examples 
     6; ncdf_extrait,nomfich1,nomfich2 [,domaine] 
     7; 
     8; @param NOMFICH1 {in}{required} 
     9; le nom du fichier d'entree 
     10; 
     11; @param NOMFICH2 {in}{required} 
     12; le nom du fichier de sortie 
     13; 
     14; @param DOMAINE {in}{optional} 
     15; un vecteur de chaines de chatacteres qui permet de 
    1916;        definir les dimensions a extraire. sa forme doit etre la 
    2017;        suivante: 
     
    2320;        les dimensions ne figurant pas ds domaine seront selectionnees ds leur integralite. 
    2421; 
    25 ; KEYWORD PARAMETERS: 
    26 ;         
    27 ;        GARDE: vecteur donnant les noms des variables a 
     22; @param NOMFICH2 {out} 
     23; 
     24; @keyword GARDE 
     25; vecteur donnant les noms des variables a 
    2826;        selectionner. si il n'est pas active toutes les variables 
    2927;        sont selectionnees. 
    3028; 
    31 ;        EXCLU: vecteur donnant les noms des variablers a ne pas 
     29; @keyword EXCLU 
     30; vecteur donnant les noms des variablers a ne pas 
    3231;        selectionner. si il n'est pas active toutes les variables 
    3332;        sont selectionnees. 
    3433; 
    35 ; OUTPUTS:le fichier nomfich2  
    36 ; 
    37 ; COMMON BLOCKS: 
    38 ;       common.pro 
    39 ; 
    40 ; SIDE EFFECTS: 
    41 ; 
    42 ; RESTRICTIONS: 
     34; @uses 
     35; common.pro 
     36; 
     37; @restrictions 
    4338;              ce programme ne marche que si les tableaux sont de 
    4439; dimension inferieure ou egale a 4. 
     
    4843; INDICATION BIDON... 
    4944; 
    50 ; EXAMPLE: 
    51 ; 
    52 ; MODIFICATION HISTORY: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     45; @examples  
     46; 
     47; @history 
     48; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    5349;                       20/11/98 
    5450; 13/1/98 : attribut concernant le min et le max 
     
    5652; devenant =1) 
    5753;- 
    58 ; 
    59 ;------------------------------------------------------------ 
    60 ;------------------------------------------------------------ 
    61 ;------------------------------------------------------------ 
    6254PRO ncdf_extrait, nomfich1, nomfich2, domaine, GARDE = garde, EXCLU = exclu 
    6355;------------------------------------------------------------ 
  • trunk/tools/msf_bin/msf_sigma.pro

    r2 r161  
    11FUNCTION msf_sigma, $ 
    2 ;INPUTS 
    32            density, $   
    43            sigma_values, $ ; valeurs de bining 
     
    87; 
    98; 
    10 ; 
    11 ; 
    12 ; Creation : 2001/06/05 G. Roullet <roullet@univ-brest.fr> 
     9; @param DENSITY {in}{required} 
     10; 
     11; @param SIGMA_VALUES {in}{required} 
     12; valeurs de bining 
     13; 
     14; @param U {in}{required} 
     15; 
     16; @param V {in}{required} 
     17; 
     18; @history 
     19; 2001/06/05 G. Roullet <roullet@univ-brest.fr> 
    1320; 
    1421;;; 
  • trunk/tools/retouche.pro

    r160 r161  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    4 ; NAME: retouche 
     1;+ 
    52; 
    6 ; PURPOSE:retoucher le mask (lui ajouter des terres) 
     3; retoucher le mask (lui ajouter des terres) 
    74; 
    8 ; CATEGORY: 
     5; @categories 
    96; 
    10 ; CALLING SEQUENCE:nouvmask=tetouche(mask) 
     7; @examples 
     8; nouvmask=retouche(mask) 
    119; 
    12 ; INPUTS: mask:le tableau 2d de mask (compose de 1 sur la mer et de 0 
     10; @param TAB {in}{required} 
     11; le tableau 2d de mask (compose de 1 sur la mer et de 0 
    1312; sur la terre) 
    1413; 
    15 ; KEYWORD PARAMETERS: taillepoint:taille en pixel d''un point de la 
     14; @keyword taillepoint 
     15; taille en pixel d''un point de la 
    1616; matrice lors de sa representation a l''ecran. 
    1717; 
    18 ; OUTPUTS:le nouveau mask 
     18; @returns 
     19; new mask 
    1920; 
    20 ; COMMON BLOCKS: 
    21 ; 
    22 ; SIDE EFFECTS: 
    23 ; 
    24 ; RESTRICTIONS: 
    25 ; 
    26 ; EXAMPLE: 
     21; @examples  
    2722; 
    2823;  IDL> a=retouche(tmask[*,*,0], TAILLEPOINT =5) 
     24; 
    2925;  si on clique sur le boiton du milieu on remplit de terre le point 
    3026;  surlequel on a clique. 
     
    3430;  Pour sortir, on click sur le bouton de droite. 
    3531; 
    36 ; MODIFICATION HISTORY: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     32; @history  
     33; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    3734; 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
     35;- 
    4136function retouche,tab, TAILLEPOINT = taillepoint 
    4237    nouvmask=-1 
Note: See TracChangeset for help on using the changeset viewer.