LOOKUP TABLE ------------- Data files needed for lookup table (1) uten.dat: contains 10 meter wind speed. Wind speed is a function of ustar and air/sea temperature difference (2) lookup_data.dat: contains data used to construct lookup table (e.g., ustar and SST-Tair) Programs needed for lookup table (1) lookup_kara.f90: (subroutine) returns 10 meter wind speed as a function of 'ustar' and 'SST-Tair' (2) read_lookup_data.f90: (subroutine) reads data used to construct lookup table and corresponding 10 meter wind speed (3) lookup_kara_mod.f90: (MODULE) used to share data TEST PROGRAM FILES ------------------ (1) test_lookup_kara.f90: (main program) Used to test lookup table and shows the structure of main program and calling sequence of the module and subroutines. The correct calling sequence greatly improves the time efficiency of the flux table. This is important when incorporting the flux table into a larger models. (2) test_input_data.dat: (data file) example file used for input into lookup table. File contains: 1)Wind Speed 2)ustar 3)ustar^2 (i.e., stress/density) 4)Sea surface temperature 5)Air temperature 6)SST-Tair COMPILATION ----------- To compile type: f90 lookup_kara_mod.f90 read_lookup_data.f90 lookup_kara.f90 test_lookup_kara.f90 DESCRIPTION OF LOOKUP TABLE SUBROUTINE --------------------------------------- The lookup table is constructed using a surface flux model (Bourassa 2006) to compute the wind speed (at 10 m) as a function of friction velocity (ustar) and air/sea temperature differences (SST - Tair). The wind speed is computed for a range of ustar (0.0 to 3.0 m) and air/sea temperature difference (-15.0 to 15.0 Celsius) values. The lookup table determines a 10 m wind speed, using a bilinear interpolation scheme, corresponding to an user specified stress (at 10 m), sea surface temperature, and air temperature (at 10 m). More specifically, the user must imput stress divided by the density of air. Prior to determining the 10 m windspeed the friction velocity is calculated via: ustar = SQRT(stress/density) In addition, the sea surface temperature and air temperature are converted to potential temperature using Theta = T + (g/cp)*z where z equals 10 m. The air/sea temperature difference is then computed using the corresponding theta values. Reference: Bourassa, M.A. (2006), Satellite-based observations of surface turbulent stress during severe weather, Atmosphere-ocean interactions, Vol 2., W. Perrie, 35-52, Wessex Institute of Technology. SUBROUTINE lookup_kara(tau_over_rho, t_sst, t_air, uten_out) ! PURPOSE: Subroutine determines 10 meter wind speed from a specified ! stress/density, air temperature, and sea surface temperature ! ! INPUT VARIABLES: (1) Stress divided by density of air (tau_over_rho) ! ! tau/rho = ustar^2 ! ! (2) Sea surface temperature (t_sst) [degrees C] ! ! (3) Air temperature @ 10 meters (t_air) [degrees C] ! ! ! OUTPUT VARIABLES: (1) Corresponding wind speed at 10 meters (uten_out) ! (m/s) ! ! ! RANGE OF LOOKUP TABLE: 0.0 <= ustar < 3.0 [increment 0.1] ! -15.0 < t_sst - t_air < 15.0 [increment 1.0] ! ! *** If additional ranges needed please contact ***