A series of algorithms have been developed in MATLAB to automatically construct bathymetric and obstruction grids for WAVEWATCH III applications. Starting from the high resolution global bathymetry and shoreline databases, the algorithms develop an optimal bathymetry grid with an appropriate land –sea mask that resolves the coastal boundaries as well as masks out unnecessary water bodies. An algorithm has been developed to compute obstruction grids that are used by WAVEWATCH III to simulate energy attenuation due to wave blocking by features that are not resolved adequately in the grid. The accuracy of the obstruction grids have been tested numerically by carrying out swell propagation studies using several different resolutions and comparing the high resolution runs with the low resolution runs. The development of the software not only significantly reduces the man hours dedicated to grid generation for WAVEWATCH III, but also provides us with a systematic and objective approach to account for sub-grid level energy decay. Though the codes were developed keeping WAVEWATCH III applications in mind, some of the algorithms developed here may be applicable to other ocean models.