The files are ASCII, but are not in ASCII raster. They are point and have a spacing of 0.5 degrees. You can use a little scripts to import the files and convert to raster afterwards:
Below the script that I used. In my case I copied the files in a folder called "C:\GeoNet\Willmot" and created an empty File Geodatabase in that same folder called "test.gdb". The script will not only create the points with the 12 months as attributes, but also calculate total, mean, min and max values.
def main():
import arcpy
import os
sr = arcpy.SpatialReference(4326)
arcpy.env.overwriteOutput = True
years = [1996, 1997, 2013, 2014]
for year in years:
print 'year:', year
precip = r'C:\GeoNet\Willmot\precip.{0}'.format(year)
print "create output fc..."
fc = r'C:\GeoNet\Willmot\test.gdb\precip_{0}'.format(year)
ws, fc_name = os.path.split(fc)
arcpy.CreateFeatureclass_management(ws, fc_name, 'POINT', None, None, None, sr)
print "add fields..."
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
'September', 'October', 'November', 'December', 'Total', 'Mean', 'Min', 'Max']
for month in months:
arcpy.AddField_management(fc, month, 'DOUBLE')
print "read file and add features..."
cnt = 0
flds = ['SHAPE@']
flds.extend(months)
with arcpy.da.InsertCursor(fc, flds) as curs:
with open(precip, 'r') as f:
for line in f.readlines():
try:
cnt += 1
if cnt % 1000 == 0:
print " - processing point", cnt
while ' ' in line:
line = line.replace(' ', ' ')
line = line.strip()
lst = line.split(' ')
lst = [float(a) for a in lst]
pntg = arcpy.PointGeometry(arcpy.Point(lst[0], lst[1]), sr)
lst_row = [pntg]
data = lst[2:]
stats = [sum(data), sum(data) / 12.0, min(data), max(data)]
lst_row.extend(data)
lst_row.extend(stats)
row = tuple(lst_row)
curs.insertRow(row)
except Exception as e:
print line
print cnt, e
if __name__ == '__main__':
main()
To convert the point featureclasses to rasters you can use to tool Point to Raster—Conversion toolbox | ArcGIS Desktop. You will have to set the extent to X from -180 to 180 and Y from -90 to 90 and the pixel size to 0.5 (degrees). I have attached the FGDB to the thread, which contains some raster that you can use as snap raster and to set the size of the pixels and the extent.
Below a screenshot of the resulting raster and points on top of them: