;{CR10X} ;This CR-10 program controls the data retrieval and ;valve switching for Blodgett Forest sensors ; ;Written by Ed Swiatek (CSI) 3/98 ;Significantly modified by Nate Hultman 3/98-7/98 ;Updated by NH 5/99 to include new instruments ; v. 4 includes new PAR 1 cal & new resist avg meth ; need to change wiring diagram: ; v. 5 changes CO2/H2O cals ; v. 6 changes CO cals ; 00 v.1 change in pulse port 4 time by Ed Swiatek (by MM; Feb) ; 00 v.2 change to have two ozone, and no CO (by MM; Mar) ; 00 v.3 (GWS May 8, 2000) run new CO measurements ; 00 v.4 (GWS June 20, 2000) run gradient CO measurements ; 00 v.4 get rid of CO (old readings) and make Ozone again (MM; Aug) ;**************************************************** ; WIRING DIAGRAM ;**************************************************** ; ;CR10X Connections----------------------------------- ; ;1H AM416 #1 COM H1 ;1L AM416 #1 COM L1 ;AG not used ;G AM416 #1 Shield ; ;2H AM416 #1 COM H2 ;2L AM416 #1 COM L2 ;AG not used ;G AM416 #1 Shield ; ;3H 05305 green ;3L not used ;AG 05305 white ;G 05305 clear ; ;4H not used ;4L AM416 #2 COM L1 ;AG 1 kOhm 0.1% resistor jumpered to 4L ;G AM416 #2 Shield ; ;5H not used ;5L CS615 #1 green ;AG not used ;G CS615 #3 clear ; ;6H CS615 #2 green ;6L CS615 #3 green ;AG not used ;G CS615 #2 clear ;G CS615 #3 clear ; ;E1 AM416 #2 COM H1 ;AG not used ;E2 05305 blue ;AG not used ;E3 not used ;AG not used ;P1 05305 red ;G 05305 black ;P2 not used ;G not used ; ;C1 SDM-SW8A C1 in SDM-CD16AC C1 ; C1 out ;C2 SDM-SW8A C2 SDM-CD16AC C2 ;C3 SDM-SW8A C3 SDM-CD16AC C3 ;C4 AM416 #1 clk ; AM416 #2 clk ;C5 AM416 #1 res ;C6 AM416 #2 res ;C7 CS615 #1 orange ; CS615 #2 orange ; CS615 #3 orange ;C8 not used ; ;12V AM416 #1 12V ; AM416 #2 12V ; CS615 #1 red ; CS615 #2 red ; CS615 #3 red ; SDM-SW8A 12V ; SDM-CD16AC 12V ;G AM416 #1 GND ; AM416 #2 GND ; CS615 #1 black ; CS615 #2 black ; CS615 #3 black ; SDM-SW8A GND ; SDM-CD16AC GND ;SDM-SW8A connections-------------------------------- ; ;Set to SDM address 0 and input configured to ;SPST pins 2 and 5 jumpered (Section 5). ; ;C1 in CR10X C1 ;C1 out jumper to C1 in ;C2 CR10X C2 ;C3 CR10X C3 ;12V 12V ;GND GND ; ;IN 1 014A #1 black ;5V not used ;GND 014A #1 clear ; 014A #1 white ; ;IN 2 014A #2 black ;5V not used ;GND 014A #2 clear ; 014A #2 white ; ;IN 3 014A #3 black ;5V not used ;GND 014A #3 clear ; 014A #3 white ; ;IN 4 TE525 black ;5V not used ;GND TE525 white ; TE525 clear ;SDM-CD16AC connections----------------------- ; ;Set to SDM address 1. ; ;C1 CR10X C1 ;C2 CR10X C2 ;C3 CR10X C3 ;12V 12V ;GND GND ;**************************************************** ;AM416 #1 connections ;**************************************************** ; ; Multiplexer #1 should be used for differential ; measurements. ; ;RES CR10X C5 ; HMP45C #1 orange ; HMP45C #2 orange ; HMP45C #3 orange ; HMP45C #4 orange ; CS105 green ; ;CLK CR10X C4 ; ;GND CR10X G ; HMP45C #1 black ; HMP45C #2 black ; HMP45C #3 black ; HMP45C #4 black ; CS105 black ; ;12V CR10X 12V ; HMP45C #1 red ; HMP45C #2 red ; HMP45C #3 red ; HMP45C #4 red ; CS105 red ; ;Set #1 ; ;H1 LI190SB red ;L1 LI190SB black ;Shield LI190SB clear ;H2 LI190SB red ;L2 LI190SB black ;Shield LI190SB clear ; ;Set #2 ; ;H1 HFT3 #1 black ;L1 HFT3 #1 white ;Shield HFT3 #1 clear ;H2 HFT3 #2 black ;L2 HFT3 #2 white ;Shield HFT3 #2 clear ; ;Set #3 ; ;H1 HFT3 #1 black ;L1 HFT3 #1 white ;Shield HFT3 #1 clear ;H2 not used ;L2 not used ;Shield not used ; ;Set #4 ; ;H1 Q7.1 #1 red ;L1 Q7.1 #1 black ;Shield Q7.1 #1 clear ;H2 Q7.1 #2 red ;L2 Q7.1 #2 black ;Shield Q7.1 #2 clear ; ;Set #5 ; ;H1 HMP45C #1 yellow ;L1 HMP45C #1 purple ;Shield HMP45C #1 clear ;H2 HMP45C #2 yellow ;L2 HMP45C #2 purple ;Shield HMP45C #2 clear ; ;Set #6 ; ;H1 HMP45C #3 yellow ;L1 HMP45C #3 purple ;Shield HMP45C #3 clear ;H2 HMP45C #4 yellow ;L2 HMP45C #4 purple ;Shield HMP45C #4 clear ; ;Set #7 ; ;H1 HMP45C #1 blue ;L1 HMP45C #1 jumper to Set #4 L1 ;Shield ;H2 HMP45C #2 blue ;L2 HMP45C #2 jumper to Set #4 L2 ;Shield ; ;Set #8 ; ;H1 HMP45C #3 blue ;L1 HMP45C #3 jumper to Set #5 L1 ;Shield ;H2 HMP45C #3 blue ;L2 HMP45C #3 jumper to Set #5 L2 ;Shield ; ;Set #9 ; ;H1 CS105 blue The green wire is not used. ;L1 CS105 yellow Configure the CS105 for continuos ;Shield CS105 clear power mode (Section 3). ;H2 ;L2 ;Shield ; ;Set #10 to 12 are for needle thermocouples. ; ;Set #13 for Li-Cor CO2 ;H1 LICOR #1 CO2 color ;L1 LICOR #1 CO2 blank ;H2 LICOR #2 CO2 color ;L2 LICOR #2 CO2 blank ; ;Set #14 for Li-Cor H20 ;H1 LICOR #1 H2O color ;L1 LICOR #1 H2O blank ;H2 LICOR #2 H2O color ;L2 LICOR #2 H2O blank ; ;Set #15 for Licor #2 pressure & temp ;H1 LICOR #2 pressure color ;L1 LICOR #2 pressure blank ;H2 LICOR #2 temp color ;L2 LICOR #2 temp blank ; ;Set #16 for Dasibi slow ozone & CO inst ;H1 Dasibi color ;L1 Dasibi blank ;H2 CO orange ;L2 CO blue ;**************************************************** ;AM416 #2 connections ;**************************************************** ; ;Multiplexer #2 is configured for SE measurements on ;L channels. ; ;Set #1 through #11 are measuring the 107 ;temperature probes. Purple to AG (?) ; ;H1 107 black ;L1 107 red ;Shield clear ;H2 ;L2 ;Shield ; ;Set #12 through #15 are for 237 leaf ;wetness sensor. Connect purple wires ;to AG on datalogger. Repeat this ;wiring for each of four sensors. ; ;H1 237 #1 red ;L1 237 #1 black ;Shield 237 #1 clear ;H2 ;L2 ;Shield ;Set #16 used for 107 temp probe in shed ;Check old 107's for what to do with purple wire ; ;H1 107 black ;L1 107 red ;Shield clear ;H2 ;L2 ;Shield ;**************************************************** ; READ SENSOR ARRAY ;**************************************************** *Table 1 Program 01: 5 Execution Interval (seconds) 1: Time (P18) 1: 0 Seconds into current minute (maximum 60) 2: 0 Mod/By 3: 112 Loc [ timer ] ; Added by Ed Swiatek 16 Feb 00 (on phone with Megan); ; defines width of pulse, changes default 1ms to 10ms ; for port 4 - which is used to clock data 2: Set Port(s) (P20) 1: 9999 C8..C5 = nc/nc/nc/nc 2: 4999 C4..C1 = 10ms/nc/nc/nc 3: If Flag/Port (P91) 1: 21 Do if Flag 1 is Low 2: 1 Call Subroutine 1 ;**************************************************** ;Measure the RMY 05305 wind speed on P1 (m/s). ;**************************************************** 4: Pulse (P3) 1: 1 Reps 2: 1 Pulse Channel 1 3: 21 Low Level AC, Output Hz 4: 24 Loc [ ws_1 ] 5: .1024 Mult 6: 0 Offset ;**************************************************** ;Read wind speed--cup anemometers (3) and rain gage ;**************************************************** ; Measure the Met One 014A #1, #2, and #3 wind speed ; using the SDM-SW8A (m/s). ; Measure the TE525 tipping bucket rain gauge using ; the SDM-SW8A (inches). ; 5: SDM-SW8A (P102) 1: 4 Reps 2: 0 Address 3: 2 Counts function 4: 1 Channel 5: 25 Loc [ ws_2 ] 6: 1 Mult 7: 0 Offset ;Transform number of counts per five second scan ;into frequency ; 6: Beginning of Loop (P87) 1: 0 Delay 2: 3 Loop Count 7: Z=X*F (P37) 1: 25 -- X Loc [ ws_2 ] 2: .2 F ; 1/(scan interval) = 1/(5 sec) = 0.2 Hz 3: 25 -- Z Loc [ ws_2 ] 8: Z=X*F (P37) 1: 25 -- X Loc [ ws_2 ] 2: .8 F 3: 25 -- Z Loc [ ws_2 ] 9: Z=X+F (P34) 1: 25 -- X Loc [ ws_2 ] 2: .447 F 3: 25 -- Z Loc [ ws_2 ] ;Set the Met One 014A wind speed to zero when the ;wind is not blowing. ; 10: If (X<=>F) (P89) 1: 25 -- X Loc [ ws_2 ] 2: 1 = 3: .447 F 4: 30 Then Do 11: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 25 -- Z Loc [ ws_2 ] 12: End (P95) 13: End (P95) ;Scale the TE525 measurement to cm (0.01 inches per tip) ; 14: Z=X*F (P37) 1: 28 X Loc [ precip ] 2: .0254 F 3: 28 Z Loc [ precip ] ;**************************************************** ;Measure RMY 05305 wind direction (1) (degrees). ;**************************************************** 15: AC Half Bridge (P5) 1: 1 Reps 2: 15 2500 mV Fast Range 3: 5 SE Channel 4: 2 Excite all reps w/Exchan 2 5: 2500 mV Excitation 6: 29 Loc [ wd_1 ] 7: 355 Mult 8: 0 Offset ;**************************************************** ;Turn on AM416 #2 (SE measurements) ;**************************************************** ; 16: Do (P86) 1: 46 Set Port 6 High ;**************************************************** ;Measure 11 107 temperature probes. ;**************************************************** ; 17: Beginning of Loop (P87) 1: 0 Delay 2: 11 Loop Count 18: Do (P86) 1: 74 Pulse Port 4 19: Temp (107) (P11) 1: 1 Reps 2: 8 SE Channel 3: 1 Excite all reps w/E1 4: 35 -- Loc [ _107_1 ] 5: 1 Mult 6: 0 Offset 20: End (P95) ;**************************************************** ;Measure 237 Leaf wetness sensors (4) ;**************************************************** 21: Beginning of Loop (P87) 1: 0 Delay 2: 4 Loop Count 22: Do (P86) 1: 74 Pulse Port 4 23: AC Half Bridge (P5) 1: 2 Reps 2: 13 25 mV Fast Range 3: 8 SE Channel 4: 1 Excite all reps w/Exchan 1 5: 2500 mV Excitation 6: 130 -- Loc [ vsvx_1 ] 7: 1.0 Mult 8: 0.0 Offset 24: Z=1/X (P42) 1: 130 -- X Loc [ vsvx_1 ] 2: 134 -- Z Loc [ vxvs_1 ] 25: Z=X+F (P34) 1: 134 -- X Loc [ vxvs_1 ] 2: -101.0 F 3: 138 -- Z Loc [ resist_1 ] 26: End (P95) ;**************************************************** ;Measure 11 107 temperature probes. ;**************************************************** ; 27: Do (P86) 1: 74 Pulse Port 4 28: Temp (107) (P11) 1: 1 Reps 2: 8 SE Channel 3: 1 Excite all reps w/E1 4: 148 Loc [ _107_shed ] 5: 1.0 Mult 6: 0.0 Offset ;**************************************************** ;Turn off AM416 #2. ;**************************************************** ; 29: Do (P86) 1: 56 Set Port 6 Low ;**************************************************** ;Turn on AM416 #1 (Differential Measurements). ;**************************************************** ;When the AM416 is turned on, so are the HMP45Cs ;and the CS105. ; 30: Do (P86) 1: 45 Set Port 5 High ;**************************************************** ;Measure LI190SB PAR Sensors (2) ;**************************************************** ;Sensor PAR #1 is serial number Q15675 ;Sensor PAR #2 is serial number Q23555 ;Clock AM416 #1 to Set #1. ; 31: Do (P86) 1: 74 Pulse Port 4 ;Measure the LI190SB PAR sensor. ; 32: Volt (Diff) (P2) 1: 2 Reps 2: 23 25 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 1 Loc [ par_1 ] 5: 1 Mult 6: 0 Offset ;Change mV reading to calibrated PAR ;Need to use conversions from Campbell manual 33: Z=X*F (P37) 1: 1 X Loc [ par_1 ] 2: 232.8 F 3: 1 Z Loc [ par_1 ] 34: Z=X*F (P37) 1: 2 X Loc [ par_2 ] 2: 289.45 F 3: 2 Z Loc [ par_2 ] ;**************************************************** ;Measure Soil Heat Flux (3) ;**************************************************** ;Clock AM416 #1 to Set #2. ; 35: Do (P86) 1: 74 Pulse Port 4 ;Measure HFT3 #1 and #2 (W/m^2). ; 36: Volt (Diff) (P2) 1: 2 Reps 2: 23 25 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 3 Loc [ shf_1 ] 5: 1 Mult 6: 0 Offset ;Clock AM416 #1 to Set #3. ; 37: Do (P86) 1: 74 Pulse Port 4 ;Measure HFT3 #3 (W/m^2). ; 38: Volt (Diff) (P2) 1: 1 Reps 2: 23 25 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 5 Loc [ shf_3 ] 5: 1 Mult 6: 0 Offset ;Apply calibration to the HFT3 heat flux sensors. ; 39: Scaling Array (A*Loc+B) (P53) 1: 3 Start Loc [ shf_1 ] 2: 41.4 A1 ;HFT3 #1 calibration <- unique value 3: 0 B1 4: 41.2 A2 ;HFT3 #2 calibration <- unique value 5: 0 B2 6: 41.6 A3 ;HFT3 #3 calibration <- unique value 7: 0 B3 8: 1 A4 9: 0 B4 ;**************************************************** ;Measure Net Radiation (2) ;**************************************************** ;Clock AM416 #1 to Set #4. 40: Do (P86) 1: 74 Pulse Port 4 ;Measure Q7.1 net radiometers (W/m^2). 41: Volt (Diff) (P2) 1: 2 Reps 2: 24 250 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 6 Loc [ rnet_1 ] 5: 1 Mult 6: 0 Offset ;Apply Q7.1 calibrations and wind corrections. 42: Beginning of Loop (P87) 1: 0 Delay 2: 2 Loop Count 43: If (X<=>F) (P89) 1: 6 -- X Loc [ rnet_1 ] 2: 3 >= 3: 0 F 4: 30 Then Do 44: Do (P86) 1: 2 Call Subroutine 2 45: Z=X*Y (P36) 1: 6 -- X Loc [ rnet_1 ] 2: 84 -- Y Loc [ rn_pos_1 ] 3: 6 -- Z Loc [ rnet_1 ] 46: Z=X*Y (P36) 1: 6 -- X Loc [ rnet_1 ] 2: 91 Y Loc [ corr_fac ] 3: 6 -- Z Loc [ rnet_1 ] 47: Else (P94) 48: Do (P86) 1: 3 Call Subroutine 3 49: Z=X*Y (P36) 1: 6 -- X Loc [ rnet_1 ] 2: 86 -- Y Loc [ rn_neg_1 ] 3: 6 -- Z Loc [ rnet_1 ] 50: Z=X*Y (P36) 1: 6 -- X Loc [ rnet_1 ] 2: 91 Y Loc [ corr_fac ] 3: 6 -- Z Loc [ rnet_1 ] 51: End (P95) 52: End (P95) ;**************************************************** ;Read Temp from RH/T sensors (4) ;**************************************************** ;Clock AM416 #1 to Set #5. 53: Do (P86) 1: 74 Pulse Port 4 ;Delay measuring the HMP45Cs to ensure that they have had ;adequate time to stabilize on the true temperature after ;being turned on. ; 54: Delay w/Opt Excitation (P22) 1: 1 Ex Channel 2: 0 Delay W/Ex (units = 0.01 sec) 3: 15 Delay After Ex (units = 0.01 sec) 4: 0 mV Excitation ;Measure HMP45C temperature #1 and #2 (degrees C). 55: Volt (Diff) (P2) 1: 2 Reps 2: 25 2500 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 8 Loc [ temp_1 ] 5: .1 Mult 6: -40 Offset ;Clock AM416 #1 to Set #6. 56: Do (P86) 1: 74 Pulse Port 4 ;Measure HMP45C temperature #3 and #4 (degrees C). 57: Volt (Diff) (P2) 1: 2 Reps 2: 25 2500 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 10 Loc [ temp_3 ] 5: .1 Mult 6: -40 Offset ;**************************************************** ;Read RH from RH/T sensors (4) ;**************************************************** ;Clock AM416 #1 to Set #7. 58: Do (P86) 1: 74 Pulse Port 4 ;Measure HMP45C relative humidity #1 and #2 (fraction RH). 59: Volt (Diff) (P2) 1: 2 Reps 2: 25 2500 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 77 Loc [ frc_rh_1 ] 5: .1 Mult 6: 0 Offset ;Clock AM416 #1 to Set #8. 60: Do (P86) 1: 74 Pulse Port 4 ;Measure HMP45C relative humidity #3 and #4 (fraction RH). 61: Volt (Diff) (P2) 1: 2 Reps 2: 25 2500 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 79 Loc [ frc_rh_3 ] 5: .1 Mult 6: 0 Offset ;Compute the vapor pressure (10 Pa). 62: Beginning of Loop (P87) 1: 0 Delay 2: 4 Loop Count 63: Saturation Vapor Pressure (P56) 1: 8 -- Temperature Loc [ temp_1 ] 2: 16 -- Loc [ esat_1 ] 64: Z=X*Y (P36) 1: 77 -- X Loc [ frc_rh_1 ] 2: 16 -- Y Loc [ esat_1 ] 3: 12 -- Z Loc [ e_1 ] 65: End (P95) ;**************************************************** ;Read Pressure ;**************************************************** ;Clock AM416 #1 to Set #9. 66: Do (P86) 1: 74 Pulse Port 4 ;Delay measuring the CS105 to ensure that it has had ;adequate time to stabilize on the true pressure after ;it is turned on. ; 67: Delay w/Opt Excitation (P22) 1: 1 Ex Channel 2: 0 Delay W/Ex (units = 0.01 sec) 3: 100 Delay After Ex (units = 0.01 sec) 4: 0 mV Excitation ;Measure the CS105 barometer (kPa). ;The CS105 will draw power from the AM416. ;Configure the CS105 in the continuous power ;mode (Section 3); 68: Volt (Diff) (P2) 1: 1 Reps 2: 25 2500 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 20 Loc [ press ] 5: .184 Mult 6: 600 Offset ;**************************************************** ;Measure needle temperature (3) ;**************************************************** ;Clock AM416#1 to Set #10 69: Do (P86) 1: 74 Pulse Port 4 70: Thermocouple Temp (DIFF) (P14) 1: 1 Reps 2: 21 2.5 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 1 Type T (Copper-Constantan) 5: 45 Ref Temp (Deg. C) Loc [ _107_11 ] 6: 92 Loc [ tc_1 ] 7: 1.0 Mult 8: 0.0 Offset ;Clock AM416#1 to Set #11 71: Do (P86) 1: 74 Pulse Port 4 72: Thermocouple Temp (DIFF) (P14) 1: 1 Reps 2: 21 2.5 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 1 Type T (Copper-Constantan) 5: 45 Ref Temp (Deg. C) Loc [ _107_11 ] 6: 93 Loc [ tc_2 ] 7: 1.0 Mult 8: 0.0 Offset ;Clock AM416#1 to Set #12 73: Do (P86) 1: 74 Pulse Port 4 74: Thermocouple Temp (DIFF) (P14) 1: 1 Reps 2: 21 2.5 mV 60 Hz Rejection Range 3: 1 DIFF Channel 4: 1 Type T (Copper-Constantan) 5: 45 Ref Temp (Deg. C) Loc [ _107_11 ] 6: 94 Loc [ tc_3 ] 7: 1.0 Mult 8: 0.0 Offset ;**************************************************** ;Read CO2 from LICOR #1 and #2 ;**************************************************** ;Clock AM416#1 to Set #13 75: Do (P86) 1: 74 Pulse Port 4 76: Volt (Diff) (P2) 1: 2 Reps 2: 5 2500 mV Slow Range 3: 1 DIFF Channel 4: 95 Loc [ co2_1 ] 5: .08 Mult 6: 300 Offset ;**************************************************** ;Read H20 from LICOR #1 and #2 ;**************************************************** ;Clock AM416#1 to Set #14 77: Do (P86) 1: 74 Pulse Port 4 78: Volt (Diff) (P2) 1: 2 Reps 2: 5 2500 mV Slow Range 3: 1 DIFF Channel 4: 97 Loc [ h2o_1 ] 5: .01 Mult 6: 0.0 Offset ;**************************************************** ;Read pressure and temp from LICOR #2 ;**************************************************** ;pressure is stored in variable "eddy_1", temp in "eddy_2" ;due to space limitations I have not set any mult or offset-> ;pressure = .0306 * [READING IN mV] + 59.26 ;temp [deg C] = [reading in mV] * 0.0244 (section 6-14 in mnl) ;Clock AM416#1 to Set #15 79: Do (P86) 1: 74 Pulse Port 4 80: Volt (Diff) (P2) 1: 2 Reps 2: 5 2500 mV Slow Range 3: 1 DIFF Channel 4: 123 Loc [ eddy_1 ] 5: 1 Mult 6: 0 Offset ;calibrate pressure reading and read out in "p_eddy" 81: Z=X*F (P37) 1: 123 X Loc [ eddy_1 ] 2: .0306 F 3: 128 Z Loc [ p_eddy_r ] 82: Z=X+F (P34) 1: 128 X Loc [ p_eddy_r ] 2: 59.26 F 3: 127 Z Loc [ p_eddy ] ;calibrate temp and read out in "t_eddy" 83: Z=X*F (P37) 1: 124 X Loc [ eddy_2 ] 2: 0.0244 F 3: 129 Z Loc [ t_eddy ] ;**************************************************** ;Read slow ozone from Dasibi ;**************************************************** ;set #16 on multiplexer ;stored in variable "pokey" 84: Do (P86) 1: 74 Pulse Port 4 85: Volt (Diff) (P2) 1: 2 Reps 2: 5 2500 mV Slow Range 3: 1 DIFF Channel 4: 125 -- Loc [ slogas_1 ] 5: 1 Mult 6: 0 Offset ;Calibrate slow ozone and save as "pokey" 86: Z=X+F (P34) 1: 125 X Loc [ slogas_1 ] 2: 3 F 3: 142 Z Loc [ pokey ] 87: Z=X*F (P37) 1: 142 X Loc [ pokey ] 2: .03945 F 3: 142 Z Loc [ pokey ] ;**************************************************** ;Read slow ozone from Dasibi : EXTRA INSTRUMENT ;**************************************************** ;set #16 on multiplexer ;stored in variable "gumby" ; NEED TO CHANGE THESE VALUES!! zero and mulitplier (~.04) 88: Z=X+F (P34) 1: 126 X Loc [ slogas_2 ] 2: 0 F 3: 149 Z Loc [ gumby ] 89: Z=X*F (P37) 1: 149 X Loc [ gumby ] 2: .04 F 3: 149 Z Loc [ gumby ] ;**************************************************** ;Set "time" variable to enable CO2/H2O profile averages ;**************************************************** ;Set time=0 at 0,6,12,18,24 minutes------------------- ;this section also sets the profile values to 0 when ;they're not being read 90: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 6 Interval (same units as above) 3: 30 Then Do 91: Beginning of Loop (P87) 1: 0 Delay 2: 13 Loop Count 92: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 99 -- Z Loc [ time ] 93: End (P95) 94: End (P95) ;Set time=1 from 1 to 6 minutes----------------------- 95: If time is (P92) 1: 1 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 96: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 99 Z Loc [ time ] 97: End (P95) ;Set time=2 from 7 to 12 minutes----------------------- 98: If time is (P92) 1: 7 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 99: Z=F (P30) 1: 2 F 2: 0 Exponent of 10 3: 99 Z Loc [ time ] 100: End (P95) ;Set time=3 from 13 to 18 minutes----------------------- 101: If time is (P92) 1: 13 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 102: Z=F (P30) 1: 3 F 2: 0 Exponent of 10 3: 99 Z Loc [ time ] 103: End (P95) ;Set time=4 from 19 to 24 minutes----------------------- 104: If time is (P92) 1: 19 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 105: Z=F (P30) 1: 4 F 2: 0 Exponent of 10 3: 99 Z Loc [ time ] 106: End (P95) ;Set time=5 from 25 to 30 minutes----------------------- 107: If time is (P92) 1: 25 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 108: Z=F (P30) 1: 5 F 2: 0 Exponent of 10 3: 99 Z Loc [ time ] 109: End (P95) ;**************************************************** ;Read CO2, H20 values into 5-min average variables ;**************************************************** 110: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 1 F 4: 30 Then Do 111: Z=X (P31) 1: 95 X Loc [ co2_1 ] 2: 100 Z Loc [ co2_p_1 ] 112: Z=X (P31) 1: 96 X Loc [ co2_2 ] 2: 110 Z Loc [ co2_e_1 ] 113: Z=X (P31) 1: 97 X Loc [ h2o_1 ] 2: 105 Z Loc [ h2o_p_1 ] 114: Z=X (P31) 1: 98 X Loc [ h2o_2 ] 2: 111 Z Loc [ h2o_e_1 ] 115: End (P95) ;Pass 2-------------------------------------------- 116: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 2 F 4: 30 Then Do 117: Z=X (P31) 1: 95 X Loc [ co2_1 ] 2: 101 Z Loc [ co2_p_2 ] 118: Z=X (P31) 1: 97 X Loc [ h2o_1 ] 2: 106 Z Loc [ h2o_p_2 ] 119: End (P95) ;Pass 3--------------------------------------- 120: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 3 F 4: 30 Then Do 121: Z=X (P31) 1: 95 X Loc [ co2_1 ] 2: 102 Z Loc [ co2_p_3 ] 122: Z=X (P31) 1: 97 X Loc [ h2o_1 ] 2: 107 Z Loc [ h2o_p_3 ] 123: End (P95) ;Pass 4 ---------------------------------------- 124: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 4 F 4: 30 Then Do 125: Z=X (P31) 1: 95 X Loc [ co2_1 ] 2: 103 Z Loc [ co2_p_4 ] 126: Z=X (P31) 1: 97 X Loc [ h2o_1 ] 2: 108 Z Loc [ h2o_p_4 ] 127: End (P95) ;Pass 5------------------------------------------- 128: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 5 F 4: 30 Then Do 129: Z=X (P31) 1: 95 X Loc [ co2_1 ] 2: 104 Z Loc [ co2_p_5 ] 130: Z=X (P31) 1: 97 X Loc [ h2o_1 ] 2: 109 Z Loc [ h2o_p_5 ] 131: End (P95) ;**************************************************** ;Turn off AM416 #1. ;**************************************************** ; 132: Do (P86) 1: 55 Set Port 5 Low ;**************************************************** ;Read Soil Moisture sensors (3) ;**************************************************** ;Turn CS615 #1, #2, and #3 on once every half hour. 133: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 10 Interval (same units as above) 3: 30 Then Do 134: Do (P86) 1: 47 Set Port 7 High ;Measure the period (mSec) of the CS615 probes. 135: Period Average (SE) (P27) 1: 3 Reps 2: 4 200 kHz Max Freq @ 500 mV Peak to Peak, Period Output 3: 10 SE Channel 4: 10 No. of Cycles 5: 5 Timeout (units = 0.01 seconds) 6: 81 Loc [ cs615_p_1 ] 7: .001 Mult 8: 0 Offset ;Apply calibration to the CS615 period ;(percent volume water content). 136: Polynomial (P55) 1: 3 Reps 2: 81 X Loc [ cs615_p_1 ] 3: 21 F(X) Loc [ soil_w_1 ] 4: -.187 C0 5: .037 C1 6: .335 C2 7: 0 C3 8: 0 C4 9: 0 C5 137: Do (P86) 1: 57 Set Port 7 Low 138: End (P95) ;**************************************************** ;Send data to final storage every 30 min ;**************************************************** 139: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 10 Set Output Flag High (Flag 0) ;Store time stamp 140: Real Time (P77) 1: 1110 Year,Day,Hour/Minute (midnight = 0000) 141: Resolution (P78) 1: 1 High Resolution ;Store average of par (2), shf (3), rnet (2), and temp (4) 142: Average (P71) 1: 11 Reps 2: 1 Loc [ par_1 ] ;Store average of relative humidity (4) 143: Average (P71) 1: 4 Reps 2: 77 Loc [ frc_rh_1 ] ;Store average of soil moisture (3) 144: Average (P71) 1: 3 Reps 2: 21 Loc [ soil_w_1 ] ;Store average atmospheric pressure 145: Average (P71) 1: 1 Reps 2: 20 Loc [ press ] ;Store wind speed and direction from RMY wind monitor. 146: Wind Vector (P69) 1: 1 Reps 2: 0 Samples per Sub-Interval 3: 01 S, é1 Polar 4: 24 Wind Speed/East Loc [ ws_1 ] 5: 29 Wind Direction/North Loc [ wd_1 ] ;Store average of wind speed from cup anemometers. 147: Average (P71) 1: 3 Reps 2: 25 Loc [ ws_2 ] ;Store sum of precipitation 148: Totalize (P72) 1: 1 Reps 2: 28 Loc [ precip ] ;Store average temps from 107 probes (11) 149: Average (P71) 1: 11 Reps 2: 35 Loc [ _107_1 ] ;Store average temps from leaf thermocouples (3) 150: Average (P71) 1: 3 Reps 2: 92 Loc [ tc_1 ] ;Store 30-min average concentrations of CO2 and H20 (2 each) 151: Average (P71) 1: 4 Reps 2: 95 Loc [ co2_1 ] ;LICOR Store 5-min average concentrations (5x profile CO2, ;5x profile H20, 1 each of eddy CO2 and H20) ;these are 5 min avgages only. ;The Oupt Processing on Instruction 71 is enabled and ;disabled according to the status of Flag 9 (Section 3.7.1). 152: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 1 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 153: Average (P71) 1: 1 Reps 2: 100 Loc [ co2_p_1 ] 154: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 2 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 155: Average (P71) 1: 1 Reps 2: 101 Loc [ co2_p_2 ] 156: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 3 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 157: Average (P71) 1: 1 Reps 2: 102 Loc [ co2_p_3 ] 158: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 4 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 159: Average (P71) 1: 1 Reps 2: 103 Loc [ co2_p_4 ] 160: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 5 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 161: Average (P71) 1: 1 Reps 2: 104 Loc [ co2_p_5 ] 162: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 1 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 163: Average (P71) 1: 1 Reps 2: 105 Loc [ h2o_p_1 ] 164: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 2 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 165: Average (P71) 1: 1 Reps 2: 106 Loc [ h2o_p_2 ] 166: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 3 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 167: Average (P71) 1: 1 Reps 2: 107 Loc [ h2o_p_3 ] 168: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 4 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 169: Average (P71) 1: 1 Reps 2: 108 Loc [ h2o_p_4 ] 170: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 5 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 171: Average (P71) 1: 1 Reps 2: 109 Loc [ h2o_p_5 ] 172: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 1 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 173: Average (P71) 1: 1 Reps 2: 110 Loc [ co2_e_1 ] 174: If (X<=>F) (P89) 1: 99 X Loc [ time ] 2: 1 = 3: 1 F 4: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) 175: Average (P71) 1: 1 Reps 2: 111 Loc [ h2o_e_1 ] 176: Do (P86) 1: 29 Set Intermed. Proc. Disable Flag Low (Flag 9) ;Store the results from the standard calibration. The ;values are sampled every thirty minutes. The first ten ;seconds after the valves switch are omitted. Values are ;updated at 0200 hrs, 1000 hrs, 1800 hrs. 177: Sample (P70) 1: 4 Reps 2: 119 Loc [ c_pc_1_a ] ;Store average pressure from LICOR #2 ;these values are in kPa 178: Average (P71) 1: 1 Reps 2: 127 Loc [ p_eddy ] ;Store average temp from LICOR #2 in deg C 179: Average (P71) 1: 1 Reps 2: 129 Loc [ t_eddy ] ;Store average ozone concentration from Dasibi ;values in ppb 180: Average (P71) 1: 1 Reps 2: 142 Loc [ pokey ] 181: Average (P71) 1: 1 Reps 2: 149 Loc [ gumby ] 182: Average (P71) 1: 1 Reps 2: 149 Loc [ gumby ] ;Store fraction of time wet for leaf wetness sensors 183: Average (P71) 1: 4 Reps 2: 138 Loc [ resist_1 ] ;Store average temp from 107 shed (1) 184: Average (P71) 1: 1 Reps 2: 148 Loc [ _107_shed ] ;**************************************************** ; VALVE CONTROL ;**************************************************** *Table 2 Program 02: 5 Execution Interval (seconds) ;**************************************************** ;Open bleed valve at startup ;**************************************************** ;At startup, all the valves may be closed. To reduce ;strain on the pump, this section opens valve_7 until ;the normal 6-minute cycle can begin. 1: If (X<=>F) (P89) 1: 66 X Loc [ valve_7 ] 2: 1 = 3: 0 F 4: 30 Then Do 2: If (X<=>F) (P89) 1: 67 X Loc [ valve_8 ] 2: 1 = 3: 0.0 F 4: 30 Then Do 3: If (X<=>F) (P89) 1: 68 X Loc [ valve_9 ] 2: 1 = 3: 0.0 F 4: 30 Then Do 4: If (X<=>F) (P89) 1: 69 X Loc [ valve_10 ] 2: 1 = 3: 0.0 F 4: 30 Then Do 5: If (X<=>F) (P89) 1: 70 X Loc [ valve_11 ] 2: 1 = 3: 0.0 F 4: 30 Then Do 6: Z=F (P30) 1: 1 F 2: 00 Exponent of 10 3: 66 Z Loc [ valve_7 ] 7: End (P95) 8: End (P95) 9: End (P95) 10: End (P95) 11: End (P95) ;**************************************************** ;Turn on pump (valve 12) if it's not already on ;**************************************************** 12: If (X<=>F) (P89) 1: 71 X Loc [ valve_12 ] 2: 1 = 3: 0 F 4: 30 Then Do 13: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 71 Z Loc [ valve_12 ] 14: End (P95) 15: Do (P86) 1: 5 Call Subroutine 5 ;**************************************************** ;Call subroutine 4 (close all CO2 gradient valves) ;**************************************************** 16: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 6 Interval (same units as above) 3: 4 Call Subroutine 4 ;**************************************************** ; Inject sample into CO GC ;**************************************************** ; the 12V signal will trigger a contact closure relay for 5 s 17: If time is (P92) 1: 2 Minutes (Seconds --) into a 2: 3 Interval (same units as above) 3: 30 Then Do 18: Z=F (P30) 1: 1 F 2: 00 Exponent of 10 3: 72 Z Loc [ co_inj ] 19: Do (P86) 1: 5 Call Subroutine 5 20: Else (P94) 21: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 72 Z Loc [ co_inj ] 22: Do (P86) 1: 5 Call Subroutine 5 23: End (P95) ;**************************************************** ; Switch between input gradient every three minutes ;**************************************************** 24: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 3 Interval (same units as above) 3: 30 Then Do 25: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 6 Interval (same units as above) 3: 30 Then Do 26: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 64 Z Loc [ valve_5 ] 27: End (P95) 28: If time is (P92) 1: 3 Minutes (Seconds --) into a 2: 6 Interval (same units as above) 3: 30 Then Do 29: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 64 Z Loc [ valve_5 ] 30: End (P95) 31: Do (P86) 1: 5 Call Subroutine 5 32: End (P95) ;**************************************************** ; Turn off CO GC calibration signal ;**************************************************** ;Shut off CO calibration after 12 min 33: If time is (P92) 1: 12 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 34: Z=F (P30) 1: 0.0 F 2: 00 Exponent of 10 3: 73 Z Loc [ co_calib ] 35: Do (P86) 1: 5 Call Subroutine 5 36: End (P95) ;**************************************************** ;Open one gradient valve (sequence of 5) at correct t ;**************************************************** 37: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 6 Interval (same units as above) 3: 30 Then Do 38: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 39: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 66 Z Loc [ valve_7 ] 40: End (P95) 41: If time is (P92) 1: 6 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 42: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 67 Z Loc [ valve_8 ] 43: End (P95) 44: If time is (P92) 1: 12 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 45: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 68 Z Loc [ valve_9 ] 46: End (P95) 47: If time is (P92) 1: 18 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 48: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 69 Z Loc [ valve_10 ] 49: End (P95) 50: If time is (P92) 1: 24 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 51: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 70 Z Loc [ valve_11 ] 52: End (P95) 53: Do (P86) 1: 5 Call Subroutine 5 54: End (P95) ;**************************************************** ;Read standards at 2:00, 10:00, 18:00 ;**************************************************** ;Program sends gas standard to LICOR #1 for thirty second ;intervals at the given times. ;Save the first standard co2_1 and h2o_1 into c_pc_1_a and h_pc_1_a. ;Input Location c_pc_1_a and h_pc_1_a are sampled by Table 1 ;every 30 minutes. 55: If Flag/Port (P91) 1: 12 Do if Flag 2 is High 2: 30 Then Do 56: If (X<=>F) (P89) 1: 112 X Loc [ timer ] 2: 3 >= 3: 25 F 4: 30 Then Do 57: If (X<=>F) (P89) 1: 112 X Loc [ timer ] 2: 1 = 3: 25 F 4: 10 Set Output Flag High (Flag 0) 58: Set Active Storage Area (P80) 1: 3 Input Storage Area 2: 119 Loc [ c_pc_1_a ] 59: Average (P71) 1: 1 Reps 2: 95 Loc [ co2_1 ] 60: Average (P71) 1: 1 Reps 2: 97 Loc [ h2o_1 ] 61: End (P95) 62: End (P95) ;Save the second standard co2_2 and h2o_2 into c_pc_2_a and h_pc_2_a. ;Input Location c_pc_2_a and h_pc_2_a are sampled by Table 1 ;every 30 minutes. 63: If Flag/Port (P91) 1: 13 Do if Flag 3 is High 2: 30 Then Do 64: If (X<=>F) (P89) 1: 112 X Loc [ timer ] 2: 3 >= 3: 55 F 4: 30 Then Do 65: If (X<=>F) (P89) 1: 112 X Loc [ timer ] 2: 1 = 3: 55 F 4: 10 Set Output Flag High (Flag 0) 66: Set Active Storage Area (P80) 1: 3 Input Storage Area 2: 121 Loc [ c_pc_2_a ] 67: Average (P71) 1: 1 Reps 2: 95 Loc [ co2_1 ] 68: Average (P71) 1: 1 Reps 2: 97 Loc [ h2o_1 ] 69: End (P95) 70: End (P95) ;Close valves 1 and 3 at t = 1 min.---------------------- ;Finished with standard; make sure all valves are closed. 71: If Flag/Port (P91) 1: 13 Do if Flag 3 is High 2: 30 Then Do 72: If (X<=>F) (P89) 1: 112 X Loc [ timer ] 2: 1 = 3: 0 F 4: 30 Then Do 73: Do (P86) 1: 23 Set Flag 3 Low 74: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 60 Z Loc [ valve_1 ] 75: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 61 Z Loc [ valve_2 ] 76: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 62 Z Loc [ valve_3 ] 77: Do (P86) 1: 5 Call Subroutine 5 78: End (P95) 79: End (P95) ;Close valve 2 and open valve 3 at t = 30 s-------- ;(Send std #2 to LICOR #1) 80: If Flag/Port (P91) 1: 12 Do if Flag 2 is High 2: 30 Then Do 81: If (X<=>F) (P89) 1: 112 X Loc [ timer ] 2: 1 = 3: 30 F 4: 30 Then Do 82: Do (P86) 1: 22 Set Flag 2 Low 83: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 60 Z Loc [ valve_1 ] 84: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 61 Z Loc [ valve_2 ] 85: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 62 Z Loc [ valve_3 ] 86: Do (P86) 1: 5 Call Subroutine 5 87: Do (P86) 1: 13 Set Flag 3 High 88: End (P95) 89: End (P95) ;Open valves 1 & 2 at t=0---------------------------- ;(Send std #1 to LICOR #1) 90: If time is (P92) 1: 120 Minutes (Seconds --) into a 2: 480 Interval (same units as above) 3: 30 Then Do 91: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 60 Z Loc [ valve_1 ] 92: Z=F (P30) 1: 1 F 2: 0 Exponent of 10 3: 61 Z Loc [ valve_2 ] 93: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 62 Z Loc [ valve_3 ] 94: Do (P86) 1: 5 Call Subroutine 5 95: Do (P86) 1: 12 Set Flag 2 High 96: End (P95) ;**************************************************** ; Signal CO GC for calibration ;**************************************************** ;Voltage applied to the CO calibration valve for first 12 min ;of the three hours each day when CO2 spans occur ;valve switcher output used so 3-way valve is always energized ;except during calibrations 97: If time is (P92) 1: 120 Minutes (Seconds --) into a 2: 480 Interval (same units as above) 3: 30 Then Do 98: If time is (P92) 1: 0 Minutes (Seconds --) into a 2: 30 Interval (same units as above) 3: 30 Then Do 99: Z=F (P30) 1: 1 F 2: 00 Exponent of 10 3: 73 Z Loc [ co_calib ] 100: End (P95) 101: Do (P86) 1: 5 Call Subroutine 5 102: End (P95) ;**************************************************** ; SUBROUTINES ;**************************************************** *Table 3 Subroutines ;**************************************************** ;Subroutine 1: Load in Q7.1 calibration coefficients. ;**************************************************** ; Q7.1 #1 is serial number Q98228 ; Q7.1 #2 is serial number Q98064 1: Beginning of Subroutine (P85) 1: 1 Subroutine 1 2: Do (P86) 1: 11 Set Flag 1 High ;Load in Q7.1 #1 positive calibration. ; 3: Z=F (P30) 1: 8.98 F ; <- unique value 2: 0 Exponent of 10 3: 84 Z Loc [ rn_pos_1 ] ;Load in Q7.1 #2 positive calibration. ; 4: Z=F (P30) 1: 9.65 F ; <- unique value 2: 0 Exponent of 10 3: 85 Z Loc [ rn_pos_2 ] ;Load in Q7.1 #1 negative calibration. ; 5: Z=F (P30) 1: 10.92 F ; <- unique value 2: 0 Exponent of 10 3: 86 Z Loc [ rn_neg_1 ] ;Load in Q7.1 #2 negative calibration. ; 6: Z=F (P30) 1: 11.90 F ; <- unique value 2: 0 Exponent of 10 3: 87 Z Loc [ rn_neg_2 ] 7: End (P95) ;**************************************************** ;Subroutine 2: Compute the positive wind speed correction ;for the measured net radiation. ;**************************************************** 8: Beginning of Subroutine (P85) 1: 2 Subroutine 2 9: Z=X*F (P37) 1: 24 X Loc [ ws_1 ] 2: .2 F 3: 90 Z Loc [ C ] 10: Z=X*F (P37) 1: 90 X Loc [ C ] 2: .066 F 3: 88 Z Loc [ A ] 11: Z=X+F (P34) 1: 90 X Loc [ C ] 2: .066 F 3: 89 Z Loc [ B ] 12: Z=X/Y (P38) 1: 88 X Loc [ A ] 2: 89 Y Loc [ B ] 3: 91 Z Loc [ corr_fac ] 13: Z=Z+1 (P32) 1: 91 Z Loc [ corr_fac ] 14: End (P95) ;**************************************************** ;Subroutine 3: Compute the negative wind speed correction ;for the measured net radiation. ;**************************************************** 15: Beginning of Subroutine (P85) 1: 3 Subroutine 3 16: Z=X*F (P37) 1: 24 X Loc [ ws_1 ] 2: .00174 F 3: 88 Z Loc [ A ] 17: Z=X+F (P34) 1: 88 X Loc [ A ] 2: .99755 F 3: 91 Z Loc [ corr_fac ] 18: End (P95) ;**************************************************** ;Subroutine 4: Close valves 7 through 11. ;**************************************************** ; 19: Beginning of Subroutine (P85) 1: 4 Subroutine 4 20: Beginning of Loop (P87) 1: 0 Delay 2: 5 Loop Count 21: Z=F (P30) 1: 0 F 2: 0 Exponent of 10 3: 66 -- Z Loc [ valve_7 ] 22: End (P95) 23: Do (P86) 1: 5 Call Subroutine 5 24: End (P95) ;**************************************************** ;Subroutine 5: Open/Close valves ;**************************************************** ;Open/Close valves based on value in Input ;Locations 60 through 75. 25: Beginning of Subroutine (P85) 1: 5 Subroutine 5 26: SDM-CD16 / SDM-CD16AC (P104) 1: 1 Reps 2: 1 Address 3: 60 Loc [ valve_1 ] 27: End (P95) End Program -Input Locations- 1 par_1 5 2 1 2 par_2 25 1 1 3 shf_1 5 1 1 4 shf_2 17 1 2 5 shf_3 9 1 2 6 rnet_1 29 7 6 7 rnet_2 25 1 1 8 temp_1 1 1 0 9 temp_2 25 1 1 10 temp_3 13 1 1 11 temp_4 17 1 1 12 e_1 1 0 0 13 e_2 1 0 0 14 e_3 1 0 0 15 e_4 1 0 0 16 esat_1 1 1 1 17 esat_2 1 0 0 18 esat_3 1 0 0 19 esat_4 1 0 0 20 press 1 1 1 21 soil_w_1 5 1 1 22 soil_w_2 9 1 1 23 soil_w_3 17 1 1 24 ws_1 1 3 1 25 ws_2 5 5 5 26 ws_3 9 1 1 27 ws_4 17 1 1 28 precip 1 1 2 29 wd_1 1 1 1 35 _107_1 3 1 2 36 _107_2 3 1 0 37 _107_3 3 1 0 38 _107_4 3 1 0 39 _107_5 3 1 0 40 _107_6 3 1 0 41 _107_7 3 1 0 42 _107_8 3 1 0 43 _107_9 3 1 0 44 _107_10 3 1 0 45 _107_11 3 4 0 59 zero 2 0 0 60 valve_1 1 1 3 61 valve_2 1 1 3 62 valve_3 1 1 3 63 valve_4 1 1 0 64 valve_5 1 1 2 65 valve_6 1 1 0 66 valve_7 1 3 3 67 valve_8 1 2 1 68 valve_9 1 2 1 69 valve_10 1 2 1 70 valve_11 1 2 1 71 valve_12 1 1 1 72 co_inj 1 1 3 73 co_calib 1 1 4 74 nt_used3 1 1 0 75 nt_used4 1 1 0 76 nt_used5 1 1 0 77 frc_rh_1 5 2 1 78 frc_rh_2 17 1 1 79 frc_rh_3 5 1 1 80 frc_rh_4 17 1 1 81 cs615_p_1 5 1 1 82 cs615_p_2 9 1 1 83 cs615_p_3 17 1 1 84 rn_pos_1 1 1 1 85 rn_pos_2 1 0 1 86 rn_neg_1 1 1 1 87 rn_neg_2 1 0 1 88 A 1 2 2 89 B 1 1 1 90 C 1 2 1 91 corr_fac 1 2 3 92 tc_1 1 1 1 93 tc_2 1 1 1 94 tc_3 1 1 1 95 co2_1 5 9 1 96 co2_2 9 3 1 97 h2o_1 9 9 2 98 h2o_2 9 3 2 99 time 1 17 6 100 co2_p_1 5 1 1 101 co2_p_2 1 0 1 102 co2_p_3 1 0 1 103 co2_p_4 1 0 1 104 co2_p_5 1 0 1 105 h2o_p_1 1 0 1 106 h2o_p_2 1 0 1 107 h2o_p_3 1 0 1 108 h2o_p_4 1 0 1 109 h2o_p_5 1 0 1 110 co2_e_1 1 0 1 111 h2o_e_1 1 0 1 112 timer 1 8 1 113 co2pc_1 1 1 2 114 co2pc_2 1 1 2 115 h2opc_1 1 1 2 116 h2opc_2 1 1 2 117 time_std 1 3 4 118 time_int 1 2 3 119 c_pc_1_a 1 1 1 120 h_pc_1_a 1 1 0 121 c_pc_2_a 1 1 1 122 h_pc_2_a 1 1 0 123 eddy_1 1 1 1 124 eddy_2 9 1 1 125 slogas_1 1 1 1 126 slogas_2 13 1 2 127 p_eddy 29 1 3 128 p_eddy_r 9 1 2 129 t_eddy 9 1 2 130 vsvx_1 13 2 3 131 vsvx_2 25 0 3 132 vsvx_3 9 1 2 133 vsvx_4 9 0 2 134 vxvs_1 9 1 2 135 vxvs_2 9 0 1 136 vxvs_3 9 0 1 137 vxvs_4 9 0 1 138 resist_1 9 1 2 139 resist_2 9 1 1 140 resist_3 9 1 1 141 resist_4 9 1 1 142 pokey 9 2 3 143 co 9 3 2 144 cotime 1 4 4 145 co_cal 1 0 1 146 co_data 1 0 1 147 _________ 1 1 0 148 _107_shed 1 1 1 149 gumby 1 3 2 -Program Security- 0000 0000 0000 -Mode 4- -Final Storage Area 2- 0 -CR10X ID- 0 -CR10X Power Up- 3