<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Processing Large Datasets with the CSV Module
This notebook illustrates how the csv module can be used to incrementally process a large subset of OpenNEX DCP30 data in Python.
In this example, we'll identify the minimum and maximum temperatures in the continental United States as predicted by the CESM1-CAM5 climate model under the RCP4.5 scenario. The data used in this example is available at http
Step1:  pr_min_max
The pr_min_max function iterates through a dataset containing the average high and lows (tasmax and tasmin variables) for each location and prints the location and month of the highest high and lowest low.
Step2:  Analyze the Data
Let's run the pr_min_max function on our dataset. Note that the IP address used below may differ from your data server deployment.
<ASSISTANT_TASK:>
Python Code:
import csv
import urllib2
Explanation: Processing Large Datasets with the CSV Module
This notebook illustrates how the csv module can be used to incrementally process a large subset of OpenNEX DCP30 data in Python.
In this example, we'll identify the minimum and maximum temperatures in the continental United States as predicted by the CESM1-CAM5 climate model under the RCP4.5 scenario. The data used in this example is available at http://opennex.planetos.com/dcp30/LpJMh.
<hr>
Import Required Modules
Let's begin by importing the required modules. We'll need both csv and urllib2 to request and load our data.
End of explanation
def pr_min_max(ip_addr):
    mintemp = {'Value': 1000.0}
    maxtemp = {'Value': 0.0}
    cr = csv.DictReader(urllib2.urlopen("http://%s:7645/data.csv" % ip_addr))
    for row in cr:
        temp = float(row['Value'])
        var = row['Variable']
        if var == 'tasmax' and temp > float(maxtemp['Value']):
            maxtemp = row
        if var == 'tasmin' and temp < float(mintemp['Value']):
            mintemp = row
    print "The minimum temperature is %.2f degrees C on %s at (%.3fW, %.3fN)" % \
        (float(mintemp['Value'])-273.15, mintemp['Date'][:7], \
        -float(mintemp['Longitude']), float(mintemp['Latitude']))
    print "The maximum temperature is %.2f degrees C on %s at (%.3fW, %.3fN)" % \
        (float(maxtemp['Value'])-273.15, maxtemp['Date'][:7], \
        -float(maxtemp['Longitude']), float(maxtemp['Latitude']))
Explanation: pr_min_max
The pr_min_max function iterates through a dataset containing the average high and lows (tasmax and tasmin variables) for each location and prints the location and month of the highest high and lowest low.
End of explanation
# Note: replace with the IP address of your data server
pr_min_max("192.168.99.100")
Explanation: Analyze the Data
Let's run the pr_min_max function on our dataset. Note that the IP address used below may differ from your data server deployment.
End of explanation
<END_TASK>