Changeset 302 for trunk


Ignore:
Timestamp:
10/10/07 14:29:38 (17 years ago)
Author:
smasson
Message:

compatibility with new meshmask using gdept_O, ...

Location:
trunk/SRC/Grid
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/SRC/Grid/micromeshmask.pro

    r297 r302  
    102102  ENDELSE 
    103103; get the variables list related to the partial steps 
    104   varlist_ps = ncdf_listvars(cdfid) 
    105   varlist_ps = strtrim(strlowcase(varlist_ps), 2) 
     104  zgr_varlist = ncdf_listvars(cdfid) 
     105  zgr_varlist = strtrim(strlowcase(zgr_varlist), 2) 
    106106;------------------------------------------------------ 
    107107;------------------------------------------------------ 
     
    135135    varid[16+z] = ncdf_vardef(cdfidout, zgrlist[z], [dimidz], /float) 
    136136; variables related to the partial steps 
    137   IF (where(varlist_ps EQ 'hdept'))[0] NE -1 THEN $ 
     137  IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 
    138138    varid = [varid, ncdf_vardef(cdfidout, 'hdept', [dimidx, dimidy], /float)] 
    139   IF (where(varlist_ps EQ 'hdepw'))[0] NE -1 THEN $ 
     139  IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 
    140140    varid = [varid, ncdf_vardef(cdfidout, 'hdepw', [dimidx, dimidy], /float)] 
    141141; old variable name. keep for compatibility with old run. Change e3tp to e3t_ps 
    142   IF (where(varlist_ps EQ 'e3tp'))[0] NE -1 THEN $ 
     142  IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 
    143143    varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 
    144144; old variable name. keep for compatibility with old run. Change e3wp to e3w_ps 
    145   IF (where(varlist_ps EQ 'e3wp'))[0] NE -1 THEN $ 
     145  IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 
    146146    varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 
    147147; 
    148   IF (where(varlist_ps EQ 'e3t_ps'))[0] NE -1 THEN $ 
     148  IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 
    149149    varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 
    150   IF (where(varlist_ps EQ 'e3w_ps'))[0] NE -1 THEN $ 
     150  IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 
    151151    varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 
    152 ;   IF (where(varlist_ps EQ 'e3u_ps'))[0] NE -1 THEN $ 
     152;   IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 
    153153;     varid = [varid, ncdf_vardef(cdfidout, 'e3u_ps', [dimidx, dimidy], /float)] 
    154 ;   IF (where(varlist_ps EQ 'e3v_ps'))[0] NE -1 THEN $ 
     154;   IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 
    155155;     varid = [varid, ncdf_vardef(cdfidout, 'e3v_ps', [dimidx, dimidy], /float)] 
     156  IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 
     157    varid = [varid, ncdf_vardef(cdfidout, 'mbathy', [dimidx, dimidy], /short)] 
    156158; mask variable 
    157159  msklist = ['tmask', 'umask', 'vmask', 'fmask'] 
     
    185187  ENDIF 
    186188; 
     189  inzgrlist =  zgrlist 
     190  IF (where(varlist EQ 'gdept_0'))[0] NE -1 THEN inzgrlist =  inzgrlist+'_0' 
    187191  FOR z = 0, n_elements(zgrlist)-1 DO $ 
    188     ncdf_transfer, cdfid, cdfidout, zgrlist[z] 
     192    ncdf_transfer, cdfid, cdfidout, inzgrlist[z], zgrlist[z] 
    189193; partial step variables 
    190   IF (where(varlist_ps EQ 'hdept'))[0] NE -1 THEN $ 
     194  IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 
    191195    ncdf_transfer, cdfid, cdfidout, 'hdept' 
    192   IF (where(varlist_ps EQ 'hdepw'))[0] NE -1 THEN $ 
     196  IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 
    193197    ncdf_transfer, cdfid, cdfidout, 'hdepw' 
    194   IF (where(varlist_ps EQ 'e3tp'))[0] NE -1 THEN $ 
     198  IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 
    195199    ncdf_transfer, cdfid, cdfidout, 'e3tp', 'e3t_ps' 
    196   IF (where(varlist_ps EQ 'e3wp'))[0] NE -1 THEN $ 
     200  IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 
    197201    ncdf_transfer, cdfid, cdfidout, 'e3wp', 'e3w_ps' 
    198   IF (where(varlist_ps EQ 'e3t_ps'))[0] NE -1 THEN $ 
     202  IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 
    199203    ncdf_transfer, cdfid, cdfidout, 'e3t_ps' 
    200   IF (where(varlist_ps EQ 'e3w_ps'))[0] NE -1 THEN $ 
     204  IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 
    201205    ncdf_transfer, cdfid, cdfidout, 'e3w_ps' 
    202 ;   IF (where(varlist_ps EQ 'e3u_ps'))[0] NE -1 THEN $ 
     206;   IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 
    203207;     ncdf_transfer, cdfid, cdfidout, 'e3u_ps' 
    204 ;   IF (where(varlist_ps EQ 'e3v_ps'))[0] NE -1 THEN $ 
     208;   IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 
    205209;     ncdf_transfer, cdfid, cdfidout, 'e3v_ps' 
     210  IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 
     211    ncdf_transfer, cdfid, cdfidout, 'mbathy' 
    206212; 
    207213; mask 
  • trunk/SRC/Grid/ncdf_meshread.pro

    r273 r302  
    1212; @param filename {in}{optional}{default='meshmask.nc'}{type=scalar string} 
    1313;    Name of the meshmask file to read. If this name does not contain any "/" 
    14 ;    and if iodirectory keyword is not specify, then the common variable 
     14;    and if iodirectory keyword is not specified, then the common variable 
    1515;    iodir will be used to define the mesh file path. 
    1616; 
     
    479479; 1d arrays 
    480480;------------------------------------------------------- 
     481  IF (where(allvarname EQ 'e3t_O'))[0] NE -1 THEN fnamevar = ['e3t_O', 'e3w_O', 'gdept_O', 'gdepw_O'] $ 
     482  ELSE                                            fnamevar = ['e3t', 'e3w', 'gdept', 'gdepw']  
    481483  namevar = ['e3t', 'e3w', 'gdept', 'gdepw'] 
    482484  for i = 0, n_elements(namevar)-1 do begin 
     
    484486    CASE n_elements(varinq.dim) OF 
    485487      4:BEGIN 
    486         command = 'ncdf_varget,cdfid,namevar[i],'+namevar[i] $ 
     488        command = 'ncdf_varget,cdfid,fnamevar[i],'+namevar[i] $ 
    487489                   +',offset = [0,0,izminmesh,0], count = [1,1,jpk,1]' 
    488490        if key_stride[2] NE 1 then command = command+', stride=[1,1,key_stride[2],1]' 
    489491      END 
    490492      2:BEGIN 
    491         command = 'ncdf_varget,cdfid,namevar[i],'+namevar[i] $ 
     493        command = 'ncdf_varget,cdfid,fnamevar[i],'+namevar[i] $ 
    492494                   +',offset = [izminmesh,0], count = [jpk,1]' 
    493495        if key_stride[2] NE 1 then command = command+', stride=key_stride[2]' 
    494496      END 
    495497      1:BEGIN 
    496         command = 'ncdf_varget,cdfid,namevar[i],'+namevar[i] $ 
     498        command = 'ncdf_varget,cdfid,fnamevar[i],'+namevar[i] $ 
    497499                   +',offset = [izminmesh], count = [jpk]' 
    498500        if key_stride[2] NE 1 then command = command+', stride=key_stride[2]' 
  • trunk/SRC/Grid/smallmeshmask.pro

    r240 r302  
    107107  ENDELSE 
    108108; get the variables list related to the partial steps 
    109   varlist_ps = ncdf_listvars(cdfid) 
    110   varlist_ps = strtrim(strlowcase(varlist_ps), 2) 
     109  zgr_varlist = ncdf_listvars(cdfid) 
     110  zgr_varlist = strtrim(strlowcase(zgr_varlist), 2) 
    111111;------------------------------------------------------ 
    112112;------------------------------------------------------ 
     
    140140    varid[16+z] = ncdf_vardef(cdfidout, zgrlist[z], [dimidz], /float) 
    141141; variables related to the partial steps 
    142   IF (where(varlist_ps EQ 'hdept'))[0] NE -1 THEN $ 
     142  IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 
    143143    varid = [varid, ncdf_vardef(cdfidout, 'hdept', [dimidx, dimidy], /float)] 
    144   IF (where(varlist_ps EQ 'hdepw'))[0] NE -1 THEN $ 
     144  IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 
    145145    varid = [varid, ncdf_vardef(cdfidout, 'hdepw', [dimidx, dimidy], /float)] 
    146146; old variable name. keep for compatibility with old run. Change e3tp to e3t_ps 
    147   IF (where(varlist_ps EQ 'e3tp'))[0] NE -1 THEN $ 
     147  IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 
    148148    varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 
    149149; old variable name. keep for compatibility with old run. Change e3wp to e3w_ps 
    150   IF (where(varlist_ps EQ 'e3wp'))[0] NE -1 THEN $ 
     150  IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 
    151151    varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 
    152152; 
    153   IF (where(varlist_ps EQ 'e3t_ps'))[0] NE -1 THEN $ 
     153  IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 
    154154    varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 
    155   IF (where(varlist_ps EQ 'e3w_ps'))[0] NE -1 THEN $ 
     155  IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 
    156156    varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 
    157 ;   IF (where(varlist_ps EQ 'e3u_ps'))[0] NE -1 THEN $ 
     157;   IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 
    158158;     varid = [varid, ncdf_vardef(cdfidout, 'e3u_ps', [dimidx, dimidy], /float)] 
    159 ;   IF (where(varlist_ps EQ 'e3v_ps'))[0] NE -1 THEN $ 
     159;   IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 
    160160;     varid = [varid, ncdf_vardef(cdfidout, 'e3v_ps', [dimidx, dimidy], /float)] 
     161  IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 
     162    varid = [varid, ncdf_vardef(cdfidout, 'mbathy', [dimidx, dimidy], /short)] 
    161163; mask variable 
    162164  msklist = ['tmask', 'umask', 'vmask', 'fmask'] 
     
    186188  ENDIF 
    187189; 
     190  inzgrlist =  zgrlist 
     191  IF (where(zgr_varlist EQ 'gdept_0'))[0] NE -1 THEN inzgrlist =  inzgrlist+'_0' 
    188192  FOR z = 0, n_elements(zgrlist)-1 DO $ 
    189     ncdf_transfer, cdfid, cdfidout, zgrlist[z] 
     193    ncdf_transfer, cdfid, cdfidout, inzgrlist[z], zgrlist[z] 
    190194; partial step variables 
    191   IF (where(varlist_ps EQ 'hdept'))[0] NE -1 THEN $ 
     195  IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 
    192196    ncdf_transfer, cdfid, cdfidout, 'hdept' 
    193   IF (where(varlist_ps EQ 'hdepw'))[0] NE -1 THEN $ 
     197  IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 
    194198    ncdf_transfer, cdfid, cdfidout, 'hdepw' 
    195   IF (where(varlist_ps EQ 'e3tp'))[0] NE -1 THEN $ 
     199  IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 
    196200    ncdf_transfer, cdfid, cdfidout, 'e3tp', 'e3t_ps' 
    197   IF (where(varlist_ps EQ 'e3wp'))[0] NE -1 THEN $ 
     201  IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 
    198202    ncdf_transfer, cdfid, cdfidout, 'e3wp', 'e3w_ps' 
    199   IF (where(varlist_ps EQ 'e3t_ps'))[0] NE -1 THEN $ 
     203  IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 
    200204    ncdf_transfer, cdfid, cdfidout, 'e3t_ps' 
    201   IF (where(varlist_ps EQ 'e3w_ps'))[0] NE -1 THEN $ 
     205  IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 
    202206    ncdf_transfer, cdfid, cdfidout, 'e3w_ps' 
    203 ;   IF (where(varlist_ps EQ 'e3u_ps'))[0] NE -1 THEN $ 
     207;   IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 
    204208;     ncdf_transfer, cdfid, cdfidout, 'e3u_ps' 
    205 ;   IF (where(varlist_ps EQ 'e3v_ps'))[0] NE -1 THEN $ 
     209;   IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 
    206210;     ncdf_transfer, cdfid, cdfidout, 'e3v_ps' 
     211  IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 
     212    ncdf_transfer, cdfid, cdfidout, 'mbathy' 
    207213; 
    208214; mask 
Note: See TracChangeset for help on using the changeset viewer.