Nevertheless, examples of on-the-fly ASCII conversions that can be scripted are provided below. Keep in mind, they are based on OPeNDAP functionality, and work good for small areas. You need to be a registered user and have wget v1.18.
You'll have to apply a simple algebra to calculate the subset indexes, for your desired (lon,lat) subset. For the research quality 3B42 and 3B43:
i = ( 49.875 + lat ) / 0.25 for latitudes
j = ( 179.875 + lon ) / 0.25 for longitudes
For instance, for Sacramento, CA, area: i=341; j=237
Then, using OPeNDAP:
wget --no-check-certificate "https://disc2.gesdisc.eosdis.nasa.gov/o ... cipitation[237:238][341:342],nlon[237:238],nlat[341:342]" -O 3B42.20080512.21.7A.ascii
Notes: Although this example is for one granule, it is easy to see how to script it for series of granules. TMPA file names and directories follow a clear pattern that is easy to guess.
Download series of Daily Precipitation, into one file, for 2016, using THREDDS:
wget --no-check-certificate "https://disc2.gesdisc.eosdis.nasa.gov/t ... .ascii?lat[341:342],lon[237:238],precipitation[0:365][237:238][341:342],time[0:365]"
Notes: Since this is time series, time appears as an extra dimension.
Other Notes: Remember, latitude indexes will be different for the Near Real-Time products (3B42RT, 3B42RT_Daily), and the data arrays are transposed:
i = ( 59.875 + lat ) / 0.25 for latitudes
Sacramento, CA: i = 381
wget --no-check-certificate "https://disc2.gesdisc.eosdis.nasa.gov:4 ... cipitation[381:382][237:238],lat[381:382],lon[237:238]" -O 3B42RT.2008051221.7R2.ascii