an exemplary embodiment of a system for determining ambient temperature according to the invention is illustrated schematically in fig1 . the system includes a temperature sensor 10 mounted on the vehicle ( not illustrated ) in an air flow path 12 of an air blowing device or fan 14 . the fan 14 may conveniently be the vehicle radiator fan . alternatively , a dedicated fan may be provided if mounting the temperature sensor near the radiator is not desired . the fan 14 or air blowing device is arranged to draw air from outside the vehicle , i . e ., ambient air , and move it across the temperature sensor . a controller 20 is connected to receive temperature readings from the temperature sensor 10 . the sensor 10 may be connected to an instrument cluster module ( see , fig2 ) which receives the temperature reading and passes it to a vehicle electronic control unit ( ecu ). the controller 20 is also connected to the fan 14 to control operation of the fan , and is connected to receive signals from a vehicle speed sensor 22 and engine temperature sensor 24 . the controller may be implemented as a single device , which in this described embodiment is the vehicle ecu . the controller 20 broadcasts the ambient air temperature value onto the vehicle data network 26 , for example , a j1939 can link to communicate the value to other systems on the vehicle that make use of the temperature value . this may include , for example , the instrument cluster , which displays the temperature value to the driver , and the engine management system . the engine management system may use the ambient air temperature in performing certain functions , for example , in exhaust aftertreatment systems temperature models , in mass flow calculations and condensation protection , and controlling exhaust gas recirculation cooler cleaning , among others . alternatively , the controller 20 may comprise several devices interconnected for communication by the vehicle data bus , each performing one or more of the control functions , as illustrated in fig2 . for example , the controller 20 may be implemented as and comprise an engine management unit 32 controlling the fan and reading engine temperature , an instrument cluster unit 34 reading ambient temperature , and a vehicle ecu 30 reading vehicle speed and performing other logic . in this arrangement , the instrument cluster 34 provides the temperature sensor reading to the vecu 30 and to a climate control unit 36 . the vecu 30 logic , as explained below , includes correcting the temperature sensor reading to produce an ambient temperature signal for the ems 32 . other configurations are also possible . the controller 20 contains control logic and processes the ambient air temperature signal . according to the invention , the temperature sensor value may be processed by applying a correction factor . according to the invention , the correction factor may be a subtraction of 2 degrees c . to compensate for the effects of heat that cannot be removed by the activation of the fan . an exemplary embodiment of a method according to the invention is shown in the functional diagrams of fig3 and 4 . the method as shown should not be understood as requiring certain steps to be performed in a particular sequence ; rather , the figures show relationships between and among functions , and , as described below , it should be understood that certain functions may be performed continuously or performed simultaneously in parallel , and depending on the result of a function , subsequent functions may then be performed . the controller 20 determines the ambient air temperature according to the method described below , and holds and communicates the ambient air temperature to other vehicle components , which may be as described above . the terms “ held ” or “ hold ” here means storing the value in memory and using that stored value when communicating the ambient air temperature . according to the invention , when the engine is shut off , the controller will hold the currently held temperature value until a new value is held . referring now to fig3 , the controller 20 will access various vehicle systems or sensors to monitor vehicle parameters 40 , including engine temperature ( e . g ., engine oil or coolant temperature ), vehicle speed , and key position . monitoring vehicle parameters continues as other functions are performed , as certain values for vehicle parameters will determine that functions are performed , overriding other functions , as will be understood . the value for engine temperature is compared to a reference temperature . the value for vehicle speed is compared to a reference first speed and a reference second speed , which is higher than the first speed . if the controller 20 determines that the engine temperature is below an engine temperature reference value 42 , for example a coolant temperature of 50 degrees celsius , which may indicate a cold engine start , the ambient temperature sensor 10 is read continuously and the value broadcast continuously 44 . the controller 20 continues to monitor vehicle parameters . similarly , if the controller 20 determines that the vehicle speed has been above the first reference vehicle speed for more than a predetermined time interval 42 , the ambient temperature sensor 10 is read continuously and the value broadcast continuously . the first reference vehicle speed is high enough that an air flow over the sensor is sufficient to give an accurate temperature reading , which hi this embodiment is 50 kph . the predetermined time interval is sufficiently long to provide an ambient air flow to remove from the sensor and its environs heat that may be present if the vehicle had been stopped or moving slowly . in this embodiment , the predetermined time interval is 90 seconds . the controller continues to monitor the vehicle parameters 40 . also , if the controller 20 determines that the vehicle speed is above the second reference vehicle speed , which in this embodiment is 80 kph , the ambient temperature sensor 10 is read continuously and the value broadcast continuously 44 . this second , higher speed reference is sufficiently high , and will involve a sufficiently long acceleration time , that the temperature sensor 10 reading is considered accurate . the controller 20 continues to monitor vehicle parameters . if the controller determines that the vehicle speed is below the first reference speed or the engine temperature is above the engine reference temperature value , the last valid temperature sensor reading is held 48 . a 60 minute delay timer is started 50 . note that the vehicle parameters continue to be monitored . after 60 minutes , if the vehicle parameters have not changed ( i . e ., the speed remains below the reference vehicle speed and / or the engine temperature remains above the reference engine temperature ), the fan is requested 52 . turning to fig4 , the fan request results in the fan being activated 60 . a maximum fan run time is calculated 62 based on vehicle parameters related to heat generation and vehicle speed when power take - off equipment is in use . for example , the maximum fan run time may be calculated as follows : if the vehicle is moving at less than a pto speed ( in a speed range within which power take off equipment may operate , in this embodiment 8 kph ) and the engine torque is greater than a pto torque ( here , 50 % of maximum engine torque ) and the coolant temperature is above a pto coolant temperature ( here , 80 degrees c . ), the maximum fan run time is set at 5 minutes . otherwise , the maximum fan run time is set at 150 seconds . the fan run times are calculated to provide a sufficient flow of air to the sensor to remove enough engine heat to allow an accurate ambient air temperature reading . once the fan starts , the controller reads the temperature sensor immediately and repeats reading at read intervals 64 . the read interval may be set at a duration appropriate to detect changes in the temperature sensor reading induced by the active fan , for example 60 seconds . the controller monitors vehicle parameters for conditions related to determining a valid temperature reading 66 . the controller monitors the fan run time to determine if the maximum fan run time has been reached 72 or that the vehicle speed has been above the first vehicle reference speed for more than 90 seconds 74 or that the vehicle speed is above the second vehicle reference speed 76 or that the engine temperature is below the reference engine temperature 78 . if any of those parameters is met , the fan is stopped 70 . an override may be provided to protect the fan clutch by keeping the fan on for a minimum fan run period , for example , 30 seconds . if none of the parameters of fan run time 72 , vehicle speed 74 , 76 , or engine temperature 78 is met , the controller continues to read the temperature sensor at the read intervals , and continues to monitor the fan run time , vehicle speed , and engine temperature . again , if any of the vehicle parameters is met , as described above , the fan is stopped 70 . alternatively , the controller may monitor for minimum fan run time , and at the end of the minimum run time , the controller will compares read temperature values to determine if the values are changing or stable . if the values are not changing or are changing within a minimum range , that is the readings differ by no more than a minimal amount , for example 1 degree c ., the controller may determine that a valid temperature reading has been taken and stop the fan . if the temperature readings are not within the minimum range , the controller would continue to monitor the parameters or fan run time , vehicle speed , and engine temperature as described above . once the fan is stopped , the lowest read temperature sensor value is held and broadcast as the ambient temperature 48 and the hold timer is again run for 60 minutes 50 , returning to the function as described in connection with fig3 . also , as described above , the controller continues to monitor vehicle parameters of vehicle speed and engine temperature , which can trigger an interruption of the timer . referring to fig3 and to step 48 , when the controller holds the last valid ambient temperature value , it continues to monitor the temperature sensor and compare the readings to the held value 54 . if a read value is lower than the held value , the lower value is held as the ambient air temperature 56 . if the controller determines that the key position is “ off ”, indicating that the vehicle has been shut down 80 , the last valid temperatures sensor reading is held as the ambient air temperature 82 and the hold timer continues to run . if the vehicle is started within the hold timer run time , the controller will determine ambient temperature according to the function described in connection to the hold timer ( refer to step 50 ) or until the system detects a change in vehicle parameters calling for a new temperature sensor reading . the invention has been described in terms of preferred principles , embodiments , components , and steps , but those of skill in the art will recognize that substitutions may be made without departing from the scope of the invention as defined in the following claims .