Q:

Lat and Lon representation in python netCDF4

import netCDF4
import numpy as np

nc_data  = netCDF4.Dataset(out_nc, 'w', format='NETCDF4')
nc_data.description = 'Test'

# dimensions
nc_data.createDimension('lat', 720)
nc_data.createDimension('lon', 1440)
fl_res = 0.25

latitudes     = np.arange(90.0   - fl_res/2.0, -90.0, -fl_res)
longitudes    = np.arange(-180.0 + fl_res/2.0, 180.0,  fl_res)

I am creating a 0.25 degree resolution netCDF file. In the latitudes and longitudes that I am creating, do they represent the corner of each grid-cell or the center? Is there any way I can choose what they represent?

A:

Coordinates (should) represent the centers of each grid cell.   
There are some special cases where a variable, oftentimes wind velocity, is solved on the edges of the grid cell.  In that case, the variable is attached to a set of lat/lon pairs that has one extra pair either in the x- or y-dimension.  Though in post-processing, these edge-based variables are usually interpolated to the centers of each grid cell to follow the set of centered-coordinates, like the ones you've defined above.   
EDIT: sources
CF conventions - cell boundaries essentially stating that lat/lon are in the center of the grid cell, bounded by the vertices of the grid cell.  For most products, only one set of lat/lon coordinates are provided and that can be assumed to be for the centers of the grid cells (CH.4: "If bounds are not provided, an application might reasonably assume the gridpoints to be at the centers of the cells, but we do not require that in this standard.") 
NOAA ioSSTv2 - an example of a NOAA product stating that "The latitude/longitude values in the netCDF coordinate variables are the centers of the grid cells."

