Changeset 92 for trunk/procs/nc_put.pro


Ignore:
Timestamp:
04/30/08 22:21:22 (16 years ago)
Author:
ericg
Message:

Misc EG updates following merge with new nc_read.pro (r86)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/procs/nc_put.pro

    r13 r92  
    5959   tid = ncdf_dimdef(cdfid, 'time', /UNLIMITED) 
    6060 
     61   IF debug_w THEN print, '    dim check ', dim_check 
    6162    
    6263   IF dim_check NE dim(0) THEN BEGIN 
     
    6970 
    7071   ; horizontal zonal axis 
     72   IF debug_w THEN print, '    building zonal axis, xid: ', xid 
    7173;   IF strpos(type, 'x') NE -1 AND keyword_set(X) THEN BEGIN  
    7274      IF strpos (type, 'xy') NE -1 THEN BEGIN  
     
    8183 
    8284   ; horizontal meridional axis 
    83 ;   IF strpos(type, 'y') NE -1 AND keyword_set(Y) THEN BEGIN  
    84       IF strpos (type, 'xy') NE -1 THEN BEGIN  
    85          latid = ncdf_vardef(cdfid,'lat', [xid, yid], /FLOAT) 
    86       ENDIF ELSE latid = ncdf_vardef(cdfid,'nav_lat', [yid], /FLOAT) 
    87       NCDF_ATTPUT, cdfid, latid, 'units', y.units 
    88       NCDF_ATTPUT, cdfid, latid, 'long_name', y.long_name 
    89       NCDF_ATTPUT, cdfid, latid, 'valid_min', min(y.data), /float 
    90       NCDF_ATTPUT, cdfid, latid, 'valid_max', max(y.data), /float 
    91       swy = 1 
    92 ;   ENDIF  
     85   IF debug_w THEN print, '    building Y axis, yid: ', yid 
     86   IF strpos (type, 'xy') NE -1 THEN BEGIN  
     87      latid = ncdf_vardef(cdfid,'lat', [xid, yid], /FLOAT) 
     88   ENDIF ELSE latid = ncdf_vardef(cdfid,'nav_lat', [yid], /FLOAT) 
     89   NCDF_ATTPUT, cdfid, latid, 'units', y.units 
     90   NCDF_ATTPUT, cdfid, latid, 'long_name', y.long_name 
     91   NCDF_ATTPUT, cdfid, latid, 'valid_min', min(y.data), /float 
     92   NCDF_ATTPUT, cdfid, latid, 'valid_max', max(y.data), /float 
     93   swy = 1 
    9394 
    9495   ; vertical axis 
    95       IF zpos NE -1 AND keyword_set(Z) THEN BEGIN  
    96          vertid = ncdf_vardef(cdfid,z.name, [zid], /FLOAT) 
    97          NCDF_ATTPUT, cdfid, vertid, 'units', z.units 
    98          NCDF_ATTPUT, cdfid, vertid, 'long_name', z.long_name 
    99          NCDF_ATTPUT, cdfid, vertid, 'valid_min', min(z.data), /float 
    100          NCDF_ATTPUT, cdfid, vertid, 'valid_max', max(z.data), /float 
    101          swz = 1 
    102       ENDIF  
     96   IF debug_w THEN print, '    building Z axis, zid: ', zid 
     97   IF zpos NE -1 AND keyword_set(Z) THEN BEGIN  
     98      vertid = ncdf_vardef(cdfid,z.name, [zid], /FLOAT) 
     99      NCDF_ATTPUT, cdfid, vertid, 'units', z.units 
     100      NCDF_ATTPUT, cdfid, vertid, 'long_name', z.long_name 
     101      NCDF_ATTPUT, cdfid, vertid, 'valid_min', min(z.data), /float 
     102      NCDF_ATTPUT, cdfid, vertid, 'valid_max', max(z.data), /float 
     103      swz = 1 
     104   ENDIF  
    103105    
    104106   ; time axis 
     107   IF debug_w THEN print, '    building T axis, tid: ', tid 
    105108   IF tpos NE -1 AND keyword_set(T) THEN BEGIN  
    106109      mid = NCDF_VARDEF(cdfid, 'time', [tid], /long) 
     
    136139; field attributes 
    137140 
     141   IF debug_w THEN print, '    type, size fld.data ', type, size(fld.data) 
     142    
     143   varn = strcompress(fld.short_name, /remove_all) 
     144 
    138145   CASE type OF 
    139       'x': fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid], /FLOAT) 
    140       'y': fldid = NCDF_VARDEF(cdfid,fld.short_name, [yid], /FLOAT) 
    141       'z': fldid = NCDF_VARDEF(cdfid,fld.short_name, [zid], /FLOAT) 
    142       't': fldid = NCDF_VARDEF(cdfid,fld.short_name, [tid], /FLOAT) 
    143       'xy': fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid, yid], /FLOAT) 
    144       'xz': fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid, zid], /FLOAT) 
    145       'yz': fldid = NCDF_VARDEF(cdfid,fld.short_name, [yid, zid], /FLOAT) 
    146       'xyz': fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid, yid, zid], /FLOAT) 
    147       'xyt': fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid, yid, tid], /FLOAT) 
    148       'xzt': fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid, zid, tid], /FLOAT) 
    149       'yzt':  fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid, yid, zid, tid], /FLOAT) 
    150       'xyzt': fldid = NCDF_VARDEF(cdfid,fld.short_name, [xid, yid, zid, tid], /FLOAT) 
     146      'x': fldid = NCDF_VARDEF(cdfid,varn, [xid], /FLOAT) 
     147      'y': fldid = NCDF_VARDEF(cdfid,varn, [yid], /FLOAT) 
     148      'z': fldid = NCDF_VARDEF(cdfid,varn, [zid], /FLOAT) 
     149      't': fldid = NCDF_VARDEF(cdfid,varn, [tid], /FLOAT) 
     150      'xy': fldid = NCDF_VARDEF(cdfid,varn, [xid, yid], /FLOAT) 
     151      'xz': fldid = NCDF_VARDEF(cdfid,varn, [xid, zid], /FLOAT) 
     152      'yz': fldid = NCDF_VARDEF(cdfid,varn, [yid, zid], /FLOAT) 
     153      'xyz': fldid = NCDF_VARDEF(cdfid,varn, [xid, yid, zid], /FLOAT) 
     154      'xyt': fldid = NCDF_VARDEF(cdfid,varn, [xid, yid, tid], /FLOAT) 
     155      'xzt': fldid = NCDF_VARDEF(cdfid,varn, [xid, zid, tid], /FLOAT) 
     156      'yzt':  fldid = NCDF_VARDEF(cdfid,varn, [xid, yid, zid, tid], /FLOAT) 
     157      'xyzt': fldid = NCDF_VARDEF(cdfid,varn, [xid, yid, zid, tid], /FLOAT) 
    151158      ELSE: 
    152159   ENDCASE  
     
    157164   NCDF_ATTPUT, cdfid, fldid, 'units', fld.units 
    158165   NCDF_ATTPUT, cdfid, fldid, 'long_name', fld.long_name 
    159    NCDF_ATTPUT, cdfid, fldid, 'short_name', fld.short_name 
     166   NCDF_ATTPUT, cdfid, fldid, 'short_name', varn 
    160167   NCDF_ATTPUT, cdfid, fldid, 'missing_value', fld.missing_value 
    161168   NCDF_ATTPUT, cdfid, fldid, 'valid_min', min(fld.data(where (fld.data NE fld.missing_value))), /float 
     
    178185; 
    179186   print, ' ' 
    180    print, '    Writing '+fld.short_name+' to netCDF file ',ncdf_db+file_name 
     187   print, '    Writing '+varn+' to netCDF file ',ncdf_db+file_name 
    181188    
    182189 
Note: See TracChangeset for help on using the changeset viewer.