JJMC program 15 Aug 04 - 24 Sept 04
;{CR10X}
;
;*************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; McCall Glacier: Pole 2.4 met,
; old thermocouple site in ablation area
;
; Station: JJMC
;
; (c) 2003 Matt Nolan
;
; Written:
; 12 May 03 by Matt Nolan, largely based
; on the PCMS code
;
; Modifications:
; August 2003: This program was modified in the field by Ken
; to include Freewave Radio telemetry
; April 2004: Matt added Ken's field programming to this csi file
; hopefully without screwing it up.
; Then he massively monkeyed with the code
; to add a CNR1 and fine wire thermocouples,
; which required a second mux.
; All HMP45Cs were moved to this mux,
; and the SR50 was moved to table one.
; Filename: JJMC04C
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;*************************************
;*************************************
;
; PROGRAM NOTES
;
; As coded in May 2004, there were four independent
; sampling loops.
; - Table 1
; - Main loop: 5 seconds
; - Wind
; - Rain intensity
; - Multiplexor: 10 minutes
; - HMP45C x 3
; - Fine Wire Thermocouple
; - CNR1
; - SR50: 10 minutes
; - Output: 60 minutes
;
; - Table 2
; - Main loop: 60 minutes
; - Firn thermistors x 50
; - Output: 60 minutes
;
; The fine wire thermocouple skips a port
; due to short wires
;
; This program includes a freewave radio
; plugged into control port 8
;
; Both multiplexors share a control port
;
;*************************************
;*************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Table 1: Most above surface instruments
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*Table 1 Program
01: 5 Execution Interval (seconds)
;*********************************
;
; Basic data logger statistics
;
;*********************************
;Battery voltage
1: Batt Voltage (P10)
1: 1 Loc [ BattVolt ]
;Internal logger temp
2: Internal Temperature (P17)
1: 2 Loc [ LogTemp ]
;********************************
;
; Check Wind speed and dir.- 3m
;
;********************************
;
; NOTE: no wind direction at this time;
; bought wrong cable and pot may need
; calibration
3: Pulse (P3)
1: 1 Reps
2: 1 Pulse Channel 1
3: 22 Switch Closure, Output Hz
4: 3 Loc [ WSpeed_3m ]
5: .799 Mult
6: .2811 Offset
4: If (X<=>F) (P89)
1: 3 X Loc [ WSpeed_3m ]
2: 1 =
3: .2811 F
4: 30 Then Do
5: Z=F (P30)
1: 0.0 F
2: 00 Exponent of 10
3: 3 Z Loc [ WSpeed_3m ]
6: End (P95)
;Wind direction -- NOT WORKING
;7: AC Half Bridge (P5)
; 1: 1 Reps
; 2: 25 2500 mV 60 Hz Rejection Range
; 3: 4 SE Channel
; 4: 2 Excite all reps w/Exchan 2
; 5: 2500 mV Excitation
; 6: 4 Loc [ WDir_3m ]
; 7: 720 Mult
; 8: 0.0 Offset
;********************************
;
; Check Wind speed and dir. - 2m
;
;********************************
7: Pulse (P3)
1: 1 Reps
2: 2 Pulse Channel 2
3: 22 Switch Closure, Output Hz
4: 5 Loc [ WSpeed_2m ]
5: .799 Mult
6: .2811 Offset
8: If (X<=>F) (P89)
1: 5 X Loc [ WSpeed_2m ]
2: 1 =
3: .2811 F
4: 30 Then Do
9: Z=F (P30)
1: 0.0 F
2: 00 Exponent of 10
3: 5 Z Loc [ WSpeed_2m ]
10: End (P95)
11: AC Half Bridge (P5)
1: 1 Reps
2: 25 2500 mV 60 Hz Rejection Range
3: 4 SE Channel
4: 2 Excite all reps w/Exchan 2
5: 2500 mV Excitation
6: 6 Loc [ WDir_2m ]
7: 720 Mult
8: 0.0 Offset
;*******************************
;
; Check Tipping Bucket Rain Gage
;
;*******************************
;Note: This was added in May 2004
; A control port is used to save the
; pulse ports for two wind sets.
12: Pulse (P3)
1: 1 Reps
2: 7 Control Port 7 (switch closure only)
3: 2 Switch Closure, All Counts
4: 15 Loc [ Rain_mm ]
5: .254 Mult
6: 0.0 Offset
;**************************************
;
; Sonic ranger SR50
;
;**************************************
13: If time is (P92)
1: 15 Minutes (Seconds --) into a
2: 60 Interval (same units as above)
3: 30 Then Do
14: SDI-12 Recorder (P105)
1: 0 SDI-12 Address
2: 0 Start Measurement (aM0!)
3: 6 Port
4: 34 Loc [ Sonic_m ]
5: 1.0 Mult
6: 0.0 Offset
15: Z=F (P30)
1: 273.15 F
2: 00 Exponent of 10
3: 37 Z Loc [ RefTemp_K ]
16: Z=X+Y (P33)
1: 7 X Loc [ AT_3m ]
2: 37 Y Loc [ RefTemp_K ]
3: 36 Z Loc [ AT_3m_K ]
17: Z=X/Y (P38)
1: 36 X Loc [ AT_3m_K ]
2: 37 Y Loc [ RefTemp_K ]
3: 38 Z Loc [ SR_mult ]
18: Z=SQRT(X) (P39)
1: 38 X Loc [ SR_mult ]
2: 38 Z Loc [ SR_mult ]
19: Z=X*Y (P36)
1: 34 X Loc [ Sonic_m ]
2: 38 Y Loc [ SR_mult ]
3: 35 Z Loc [ SR50_mCor ]
20: End (P95)
; End SR50 loop
;****************************
;*********************************
;*********************************
;
; control second mux
; - CNR1
; - HMP45Cs
; - Fine wire thermocouples
;
;*********************************
;**************************************
;
; Multiplexor One wiring
;
; Reset: C1
; Clock: C2 (shared with mux 2)
; H1: SE5
; L1: SE6
; H2: C5
; L2: empty
;
;**************************************
;*********************************
;
; MUX TIME STEP
;
; mux operation is independent of program time step,
; just be sure it is longer than program time step
21: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 1 Interval (same units as above)
3: 30 Then Do
;turn mux on
;reset mux
22: Do (P86)
1: 44 Set Port 4 High
;**********************************
; CNR1
;**********************************
;increment mux by one to start
23: Do (P86)
1: 72 Pulse Port 2
24: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure CM3 Up (shortwave)
; Don't forget to change multiplier (parameter5)
25: Volt (Diff) (P2)
1: 1 Reps
2: 23 25 mV 60 Hz Rejection Range
3: 3 DIFF Channel
4: 16 Loc [ CM3_UP ]
5: 136.99 Mult
6: 0.0 Offset
;increment mux by one
26: Do (P86)
1: 72 Pulse Port 2
27: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure CM3 Down (shortwave)
; don't forget to change multiplier
28: Volt (Diff) (P2)
1: 1 Reps
2: 23 25 mV 60 Hz Rejection Range
3: 3 DIFF Channel
4: 17 Loc [ CM3_DOWN ]
5: 136.99 Mult
6: 0.0 Offset
;increment mux by one
29: Do (P86)
1: 72 Pulse Port 2
30: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure CG3 UP (Longwave)
; note: don't forget to change multiplier
31: Volt (Diff) (P2)
1: 1 Reps
2: 22 7.5 mV 60 Hz Rejection Range
3: 3 DIFF Channel
4: 18 Loc [ CG3_UP ]
5: 136.99 Mult
6: 0.0 Offset
;increment mux by one
32: Do (P86)
1: 72 Pulse Port 2
33: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure CG3 DOWN (Longwave)
; note: don't forget to change multiplier
34: Volt (Diff) (P2)
1: 1 Reps
2: 22 7.5 mV 60 Hz Rejection Range
3: 3 DIFF Channel
4: 19 Loc [ CG3_DOWN ]
5: 136.99 Mult
6: 0.0 Offset
;measure CNR1 temp
35: Full Bridge w/mv Excit (P9)
1: 1 Reps
2: 23 25 mV 60 Hz Rejection Ex Range
3: 23 25 mV 60 Hz Rejection Br Range
4: 5 DIFF Channel
5: 3 Excite all reps w/Exchan 3
6: 2100 mV Excitation
7: 20 Loc [ CNRTEMP_C ]
8: 1 Mult
9: 0.0 Offset
36: Temperature RTD (P16)
1: 1 Reps
2: 20 R/R0 Loc [ CNRTEMP_C ]
3: 20 Loc [ CNRTEMP_C ]
4: 1.0 Mult
5: 0.0 Offset
37: Z=X+F (P34)
1: 20 X Loc [ CNRTEMP_C ]
2: 273.18 F
3: 21 Z Loc [ CNRTEMP_K ]
;calc net CM3 Shortwave (solar)
38: Z=X-Y (P35)
1: 16 X Loc [ CM3_UP ]
2: 17 Y Loc [ CM3_DOWN ]
3: 22 Z Loc [ Net_Solar ]
;calc net CG3 Longwave
39: Z=X-Y (P35)
1: 18 X Loc [ CG3_UP ]
2: 19 Y Loc [ CG3_DOWN ]
3: 23 Z Loc [ Net_Long ]
;calc albedo
40: Z=X/Y (P38)
1: 17 X Loc [ CM3_DOWN ]
2: 16 Y Loc [ CM3_UP ]
3: 24 Z Loc [ Albedo ]
;Net total radiation
41: Z=X+Y (P33)
1: 16 X Loc [ CM3_UP ]
2: 18 Y Loc [ CG3_UP ]
3: 25 Z Loc [ Up_total ]
42: Z=X+Y (P33)
1: 17 X Loc [ CM3_DOWN ]
2: 19 Y Loc [ CG3_DOWN ]
3: 26 Z Loc [ Down_tot ]
43: Z=X-Y (P35)
1: 25 X Loc [ Up_total ]
2: 26 Y Loc [ Down_tot ]
3: 27 Z Loc [ Net_Total ]
; Correct CG3 UP and CG3 Down for temperature
44: Z=F (P30)
1: 5.67 F
2: -8 Exponent of 10
3: 28 Z Loc [ scratch1 ]
45: Z=F (P30)
1: 4 F
2: 0 Exponent of 10
3: 29 Z Loc [ scratch2 ]
46: Z=X^Y (P47)
1: 21 X Loc [ CNRTEMP_K ]
2: 29 Y Loc [ scratch2 ]
3: 30 Z Loc [ scratch3 ]
47: Z=X*Y (P36)
1: 28 X Loc [ scratch1 ]
2: 30 Y Loc [ scratch3 ]
3: 31 Z Loc [ scratch4 ]
48: Z=X+Y (P33)
1: 18 X Loc [ CG3_UP ]
2: 31 Y Loc [ scratch4 ]
3: 32 Z Loc [ CG3_UPcor ]
49: Z=X+Y (P33)
1: 19 X Loc [ CG3_DOWN ]
2: 31 Y Loc [ scratch4 ]
3: 33 Z Loc [ CG3_DNcor ]
;**********************************
;
; Check Air Temp/RH at 3 meters
;
;**********************************
; All HMP45Cs are single ended measurements
;increment mux by one
50: Do (P86)
1: 72 Pulse Port 2
51: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;Set hmp45c control port high
52: Do (P86)
1: 45 Set Port 5 High
; Let instrument warm up
53: Excitation with Delay (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
;Temp at 3m
54: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 5 SE Channel
4: 7 Loc [ AT_3m ]
5: .1 Mult
6: -40 Offset
;RH at 3m
55: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 8 Loc [ RH_3m ]
5: .1 Mult
6: 0.0 Offset
56: Do (P86)
1: 55 Set Port 5 Low
;**********************************
;
; Check Air Temp/RH at 2 meters
;
;**********************************
;increment mux by one
57: Do (P86)
1: 72 Pulse Port 2
58: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;Set hmp45c control port high
59: Do (P86)
1: 45 Set Port 5 High
; Let instrument warm up
60: Excitation with Delay (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
;Temp at 2m
61: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 5 SE Channel
4: 9 Loc [ AT_2m ]
5: .1 Mult
6: -40 Offset
;RH at 1m
62: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 10 Loc [ RH_2m ]
5: .1 Mult
6: 0.0 Offset
63: Do (P86)
1: 55 Set Port 5 Low
;**********************************
;
; Check Air Temp/RH at 1 meters
;
;**********************************
;increment mux by one
64: Do (P86)
1: 72 Pulse Port 2
65: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;Set hmp45c control port high
66: Do (P86)
1: 45 Set Port 5 High
; Let instrument warm up
67: Excitation with Delay (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
;Temp at 2m
68: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 5 SE Channel
4: 11 Loc [ AT_1m ]
5: .1 Mult
6: -40 Offset
;RH at 1m
69: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 12 Loc [ RH_1m ]
5: .1 Mult
6: 0.0 Offset
70: Do (P86)
1: 55 Set Port 5 Low
;*********************************
;skip mux set 8
;increment mux by one
71: Do (P86)
1: 72 Pulse Port 2
72: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;*********************************
;
; Fine wire thermocouple
;
; Set 9 and 10
;*********************************
;added in May 2004
;increment mux by one
73: Do (P86)
1: 72 Pulse Port 2
74: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure mux panel temp using 107 probe
75: Temp (107) (P11)
1: 1 Reps
2: 5 SE Channel
3: 1 Excite all reps w/E1
4: 14 Loc [ FWT_refT ]
5: 1.0 Mult
6: 0.0 Offset
;This statement was added because the
107 probe
; failed to work when installed in the field.
; NOTE: 16Aug04: This was changed in the field
; in May when T107 was made to work.
76: Z=X (P31)
1: 14 X Loc [ FWT_refT ]
2: 14 Z Loc [ FWT_refT ]
;increment mux by one
77: Do (P86)
1: 72 Pulse Port 2
78: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure fine wire thermocouple Temp
79: Thermocouple Temp (DIFF) (P14)
1: 1 Reps
2: 21 2.5 mV 60 Hz Rejection Range
3: 3 DIFF Channel
4: 2 Type E (Chromel-Constantan)
5: 14 Ref Temp (Deg. C) Loc [ FWT_refT ]
6: 13 Loc [ FWireT_C ]
7: 1.0 Mult
8: 0.0 Offset
;increment mux by one
80: Do (P86)
1: 72 Pulse Port 2
81: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure fine wire thermocouple Temp
#2
82: Thermocouple Temp (DIFF) (P14)
1: 1 Reps
2: 21 2.5 mV 60 Hz Rejection Range
3: 3 DIFF Channel
4: 2 Type E (Chromel-Constantan)
5: 14 Ref Temp (Deg. C) Loc [ FWT_refT ]
6: 73 Loc [ FWireT2_C ]
7: 1.0 Mult
8: 0.0 Offset
;increment mux by one
83: Do (P86)
1: 72 Pulse Port 2
84: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;measure fine wire thermocouple Temp
#3
85: Thermocouple Temp (DIFF) (P14)
1: 1 Reps
2: 21 2.5 mV 60 Hz Rejection Range
3: 3 DIFF Channel
4: 2 Type E (Chromel-Constantan)
5: 14 Ref Temp (Deg. C) Loc [ FWT_refT ]
6: 74 Loc [ FWireT3_C ]
7: 1.0 Mult
8: 0.0 Offset
;
; END MUX LOOP
;
86: Do (P86)
1: 54 Set Port 4 Low
87: End (P95)
;***********************************
;***********************************
;********************************
;
; Write out Table 1 instruments
;
;********************************
;Output frequency is once per hour
88: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 15 Interval (same units as above)
3: 10 Set Output Flag High (Flag 0)
89: Real Time (P77)
1: 1220 Year,Day,Hour/Minute (midnight = 2400) ;
;Average the past hour's panel temp
and battery voltage
90: Average (P71)
1: 2 Reps
2: 1 Loc [ BattVolt ]
;Average both HMP45C readings (AT3m,RH3m)
91: Average (P71)
1: 2 Reps
2: 7 Loc [ AT_3m ]
;Average both HMP45C readings (AT2m,RH2m)
92: Average (P71)
1: 2 Reps
2: 9 Loc [ AT_2m ]
;Average both HMP45C readings (AT1m,RH1m)
93: Average (P71)
1: 2 Reps
2: 11 Loc [ AT_1m ]
;Average FWT 1m
94: Average (P71)
1: 1 Reps
2: 13 Loc [ FWireT_C ]
;Average FWT reference thermistor
95: Average (P71)
1: 1 Reps
2: 14 Loc [ FWT_refT ]
;Use the stock command for 'averaging' wind data
;using speed in meters per second
96: Wind Vector (P69)
1: 1 Reps
2: 60 Samples per Sub-Interval
3: 0 S, é1, & å(é1) Polar
4: 3 Wind Speed/East Loc [ WSpeed_3m ]
5: 4 Wind Direction/North Loc [ WDir_3m ]
;output just maximum wind speed in
meters/second
97: Maximum (P73)
1: 1 Reps
2: 00 Time Option
3: 3 Loc [ WSpeed_3m ]
;Use the stock command for 'averaging'
wind data
;using speed in meters per second
98: Wind Vector (P69)
1: 1 Reps
2: 60 Samples per Sub-Interval
3: 0 S, é1, & å(é1) Polar
4: 5 Wind Speed/East Loc [ WSpeed_2m ]
5: 6 Wind Direction/North Loc [ WDir_2m ]
;output just maximum wind speed in
meters/second
99: Maximum (P73)
1: 1 Reps
2: 00 Time Option
3: 5 Loc [ WSpeed_2m ]
;output sonic ranger (raw and corrected)
100: Average (P71)
1: 2 Reps
2: 34 Loc [ Sonic_m ]
;output total precip
101: Totalize (P72)
1: 1 Reps
2: 15 Loc [ Rain_mm ]
;output max precip in interval
102: Maximum (P73)
1: 1 Reps
2: 10 Value with Hr-Min
3: 15 Loc [ Rain_mm ]
;output most CNR1 variables
; Note: skips 'scratch' variables
103: Average (P71)
1: 12 Reps
2: 16 Loc [ CM3_UP ]
;output corrected longwave
104: Average (P71)
1: 2 Reps
2: 32 Loc [ CG3_UPcor ]
105: Serial Out (P96)
1: 71 SM192/SM716/CSM1
;***********************************
;
; Freewave radio control
;
;***********************************
106: Set Port(s) (P20)
1: 7999 C8..C5 = output/nc/nc/nc
2: 9999 C4..C1 = nc/nc/nc/nc
107: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 60 Interval (same units as above)
3: 30 Then Do
; check battery voltage-- if too low,
then reduce output rate
; Flag 1 controls whether output will occur
; control port 8 controls freewave
108: If (X<=>F) (P89)
1: 1 X Loc [ BattVolt ]
2: 4 <
3: 12.2 F
4: 21 Set Flag 1 Low
109: If (X<=>F) (P89)
1: 1 X Loc [ BattVolt ]
2: 3 >=
3: 12.1 F
4: 48 Set Port 8 High
;how does port 8 get set low again?
by telemetry?
110: End (P95)
;end standard telemetry loop
; start if loop: turn radio on at noon,
regardless of voltage
111: If time is (P92)
1: 720 Minutes (Seconds --) into a
2: 1440 Interval (same units as above)
3: 48 Set Port 8 High
112: If Flag/Port (P91)
1: 21 Do if Flag 1 is Low
2: 30 Then Do
113: If time is (P92)
1: 5 Minutes (Seconds --) into a
2: 60 Interval (same units as above)
3: 58 Set Port 8 Low
114: End (P95)
; end NOONER loop
;***************************************
;***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Table 2: Thermistors and soil moisture
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;****************************************
;
;table 2 program control
;
*Table 2 Program
02: 3600 Execution Interval (seconds)
;**************************************
;
; Multiplexor Two wiring
;
; Reset: C1
; Clock: C2 (shared with mux 1)
; H1: SE1
; L1: SE2
; H2: SE3
; L2: C3
;
;**************************************
;*********************************
;
; Read ice thermistors
;
;*********************************
;reset mux
1: Do (P86)
1: 41 Set Port 1 High
;loop through thermistors
2: Beginning of Loop (P87)
1: 0000 Delay
2: 13 Loop Count
;increment mux by one
3: Do (P86)
1: 72 Pulse Port 2
4: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
5: Step Loop Index (P90)
1: 2 Step
6: Excite-Delay (SE) (P4)
1: 2 Reps
2: 4 250 mV Slow Range
3: 1 SE Channel
4: 1 Excite all reps w/Exchan 1
5: 1 Delay (units 0.01 sec)
6: 250 mV Excitation
7: 39 -- Loc [ SoilT_0 ]
8: .004 Mult
9: 0.0 Offset
7: End (P95)
8: Do (P86)
1: 51 Set Port 1 Low
9: BR Transform Rf[X/(1-X)] (P59)
1: 26 Reps
2: 39 Loc [ SoilT_0 ]
3: 15 Multiplier (Rf)
;************************************
;
; Read soil moisture probes from mux
;
;************************************
;reset mux
10: Do (P86)
1: 41 Set Port 1 High
;enable cs615 control on mux
11: Do (P86)
1: 43 Set Port 3 High
;when setting loop count,
;remember to change count in the
;polynomial (p55) conversion as well
12: Beginning of Loop (P87)
1: 0000 Delay
2: 4 Loop Count
;increment mux relay by one
13: Do (P86)
1: 72 Pulse Port 2
14: Excitation with Delay (P22)
1: 1 Ex Channel
2: 1 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
;make measurement
15: Period Average (SE) (P27)
1: 1 Reps
2: 4 200 kHz Max Freq @ 2 V Peak to Peak, Period Output
3: 3 SE Channel
4: 10 No. of Cycles
5: 5 Timeout (units = 0.01 seconds)
6: 65 -- Loc [ c615per_1 ]
7: .001 Mult
8: 0.0 Offset
;loop back
16: End (P95)
;disable cs615
17: Do (P86)
1: 53 Set Port 3 Low
;convert to volumetric water content
for easy display
18: Polynomial (P55)
1: 4 Reps
2: 65 X Loc [ c615per_1 ]
3: 69 F(X) Loc [ c615h20_1 ]
4: -.187 C0
5: .037 C1
6: .335 C2
7: 0.0 C3
8: 0.0 C4
9: 0.0 C5
;turn off mux
19: Do (P86)
1: 51 Set Port 1 Low
;*********************************
;
; Output Table 2 to Final Storage
;
;*********************************
20: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 60 Interval (same units as above)
3: 10 Set Output Flag High (Flag 0)
21: Real Time (P77)
1: 1220 Year,Day,Hour/Minute (midnight = 2400)
22: Average (P71)
1: 25 Reps
2: 39 Loc [ SoilT_0 ]
23: Average (P71)
1: 4 Reps
2: 65 Loc [ c615per_1 ]
24: Average (P71)
1: 4 Reps
2: 69 Loc [ c615h20_1 ]
25: Serial Out (P96)
1: 71 SM192/SM716/CSM1
*Table 3 Subroutines
End Program
-Input Locations-
1 BattVolt 1 3 1
2 LogTemp 1 1 1
3 WSpeed_3m 1 3 2
4 WDir_3m 1 1 0
5 WSpeed_2m 1 3 2
6 WDir_2m 1 1 1
7 AT_3m 1 2 1
8 RH_3m 1 1 1
9 AT_2m 1 1 1
10 RH_2m 1 1 1
11 AT_1m 1 1 1
12 RH_1m 1 1 1
13 FWireT_C 1 1 1
14 FWT_refT 1 5 2
15 Rain_mm 1 2 1
16 CM3_UP 1 4 1
17 CM3_DOWN 1 4 1
18 CG3_UP 1 4 1
19 CG3_DOWN 1 4 1
20 CNRTEMP_C 1 3 2
21 CNRTEMP_K 1 2 1
22 Net_Solar 1 1 1
23 Net_Long 1 1 1
24 Albedo 1 1 1
25 Up_total 1 2 1
26 Down_tot 1 2 1
27 Net_Total 1 1 1
28 scratch1 1 1 1
29 scratch2 1 1 1
30 scratch3 1 1 1
31 scratch4 1 2 1
32 CG3_UPcor 1 1 1
33 CG3_DNcor 1 1 1
34 Sonic_m 1 2 1
35 SR50_mCor 1 1 1
36 AT_3m_K 1 1 1
37 RefTemp_K 1 2 1
38 SR_mult 1 2 2
39 SoilT_0 5 2 2
40 SoilT_1 25 2 2
41 SoilT_2 9 2 1
42 SoilT_3 9 2 1
43 SoilT_4 9 2 1
44 SoilT_5 9 2 1
45 SoilT_6 9 2 1
46 SoilT_7 9 2 1
47 SoilT_8 9 2 1
48 SoilT_9 9 2 1
49 SoilT_10 9 2 1
50 SoilT_11 9 2 1
51 SoilT_12 9 2 1
52 SoilT_13 9 2 1
53 SoilT_15 9 2 1
54 SoilT_16 9 2 1
55 SoilT_17 9 2 1
56 SoilT_18 9 2 1
57 SoilT_19 9 2 1
58 SoilT_20 9 2 1
59 SoilT_21 9 2 1
60 SoilT_22 9 2 1
61 SoilT_23 9 2 1
62 SoilT_24 9 2 1
63 SoilT_25 9 2 1
64 SoilT_26 17 1 1
65 c615per_1 1 2 1
66 c615per_2 1 2 0
67 c615per_3 1 2 0
68 c615per_4 1 2 0
69 c615h20_1 5 1 1
70 c615h20_2 9 1 1
71 c615h20_3 9 1 1
72 c615h20_4 17 1 1
73 FWireT2_C 1 0 1
74 FWireT3_C 1 0 1
-Program Security-
0000
0000
0000
-Mode 4-
-Final Storage Area 2-
0
-CR10X ID-
0
-CR10X Power Up-
3
|