This program was initially installed
into the AHAB weather station on McCall Glacier, in May 2003.
MC2150F.CSI
Listing:
;{CR10X}
;
;*************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; McCall Glacier Main Met Station,
; located at about 2150 m near camp
;
; Station: MC2150
;
; (c) 2003 Matt Nolan
;
; Written:
; 12 May 03
;
; Modifications:
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;*************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Table 1:Instruments on CR10x directly
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*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 Air Temp/RH at 3 meters
;
;**********************************
; Both 1m and 3m are single ended measurements,
; to leave room for Net Rad and Barometer
;Set control port 1 high
3: Do (P86)
1: 44 Set Port 4 High
; Let instrument warm up
4: 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
5: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 5 SE Channel
4: 5 Loc [ AT_1m ]
5: .1 Mult
6: -40 Offset
;RH at 3m
6: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 6 Loc [ RH_1m ]
5: .1 Mult
6: 0.0 Offset
7: Do (P86)
1: 54 Set Port 4 Low
;**********************************
;
; Check Air Temp/RH at 1 meters
;
;**********************************
;Set control port 4 high
8: Do (P86)
1: 44 Set Port 4 High
; Let instrument warm up
9: 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 1m
10: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 7 SE Channel
4: 3 Loc [ AT_3m ]
5: .1 Mult
6: -40 Offset
;RH at 1m
11: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 8 SE Channel
4: 4 Loc [ RH_3m ]
5: .1 Mult
6: 0.0 Offset
12: Do (P86)
1: 54 Set Port 4 Low
;********************************
;
; Check Wind speed and dir.
;
;********************************
13: Pulse (P3)
1: 1 Reps
2: 2 Pulse Channel 2
3: 22 Switch Closure, Output Hz
4: 7 Loc [ WindSpeed ]
5: .799 Mult
6: .2811 Offset
14: If (X<=>F) (P89)
1: 7 X Loc [ WindSpeed ]
2: 1 =
3: .2811 F
4: 30 Then Do
15: Z=F (P30)
1: 0.0 F
2: 00 Exponent of 10
3: 7 Z Loc [ WindSpeed ]
16: End (P95)
17: 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: 8 Loc [ WindDir ]
7: 720 Mult
8: 0.0 Offset
;*******************************
;
; Check Tipping Bucket Rain Gage
;
;*******************************
18: Pulse (P3)
1: 1 Reps
2: 1 Pulse Channel 1
3: 2 Switch Closure, All Counts
4: 9 Loc [ TipBucket ]
5: 1 Mult
6: 0.0 Offset
;********************************
;
; Check Net Radiometer
;
;********************************
;Measure the net rad and apply wind corrections
;using subroutines
; units: watts per meter squared
19: Volt (Diff) (P2)
1: 1 Reps
2: 24 250 mV 60 Hz Rejection Range
3: 5 DIFF Channel
4: 10 Loc [ NetRad ]
5: 1.0 Mult
6: 0.0 Offset
;apply static wind speed correction
20: If (X<=>F) (P89)
1: 10 X Loc [ NetRad ]
2: 3 >=
3: 0.0 F
4: 30 Then Do
;positive multiplier
21: Z=X*F (P37)
1: 10 X Loc [ NetRad ]
2: 9.42 F
3: 11 Z Loc [ NetRad_W ]
22: Z=X*F (P37)
1: 11 X Loc [ NetRad_W ]
2: 1.045 F
3: 11 Z Loc [ NetRad_W ]
23: Else (P94)
;negative multiplier
24: Z=X*F (P37)
1: 10 X Loc [ NetRad ]
2: 11.74 F
3: 11 Z Loc [ NetRad_W ]
25: End (P95)
;************************************
;
; Check Barometric pressure
;
;************************************
;warm up barometer 1 minute before measure
26: If time is (P92)
1: 59 Minutes (Seconds --) into a
2: 60 Interval (same units as above)
3: 46 Set Port 6 High
;measure at top of hour
27: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 60 Interval (same units as above)
3: 30 Then Do
;measure pressure in mb
28: Volt (SE) (P1)
1: 1 Reps
2: 25 2500 mV 60 Hz Rejection Range
3: 11 SE Channel
4: 12 Loc [ BaroPress ]
5: .184 Mult
6: 600 Offset
;disable barometer
29: Do (P86)
1: 56 Set Port 6 Low
30: End (P95)
;********************************
;
; Write out Table 1 instruments
;
;********************************
;Output frequency is once per hour
31: 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)
32: Real Time (P77)
1: 1220 Year,Day,Hour/Minute (midnight = 2400) ;
;Average the past hour's panel temp
and battery voltage
33: Average (P71)
1: 2 Reps
2: 1 Loc [ BattVolt ]
;Average both HMP45C readings (AT3m,RH3m,AT1m,RH1m)
34: Average (P71)
1: 4 Reps
2: 3 Loc [ AT_3m ]
;Use the stock command for 'averaging'
wind data
;using speed in meters per second
35: Wind Vector (P69)
1: 1 Reps
2: 60 Samples per Sub-Interval
3: 0 S, é1, & å(é1) Polar
4: 7 Wind Speed/East Loc [ WindSpeed ]
5: 8 Wind Direction/North Loc [ WindDir ]
;output just maximum wind speed in
miles per hour
36: Maximum (P73)
1: 1 Reps
2: 00 Time Option
3: 7 Loc [ WindSpeed ]
;output average precip
37: Totalize (P72)
1: 1 Reps
2: 9 Loc [ TipBucket ]
;output average ned rad
38: Average (P71)
1: 1 Reps
2: 10 Loc [ NetRad ]
;output average ned rad with wind correction
39: Average (P71)
1: 1 Reps
2: 11 Loc [ NetRad_W ]
;output average barometric pressure
40: Average (P71)
1: 1 Reps
2: 12 Loc [ BaroPress ]
41: Serial Out (P96)
1: 71 SM192/SM716/CSM1
;***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Table 2: Multiplexor & sonic ranger
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;****************************************
;
;table 2 program control
;
;Rather than use table execution interval,
;all measurements are controled with the P92
; statement, which can be set to once per
;day if needed
;NOTE: dont forget to change final storage
;loop to match this program control loop
;
;Note: this table is turned off, as none
; of these instruments were initially attached.
;
*Table 2 Program
02: 0 Execution Interval (seconds)
1: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 0 Interval (same units as above)
3: 30 Then Do
;**************************************
;
; Sonic ranger
;
;**************************************
2: SDI-12 Recorder (P105)
1: 0 SDI-12 Address
2: 0 Start Measurement (aM0!)
3: 5 Port
4: 13 Loc [ Sonic_m ]
5: 1.0 Mult
6: 0.0 Offset
3: Z=F (P30)
1: 273.15 F
2: 00 Exponent of 10
3: 15 Z Loc [ RefTemp_K ]
4: Z=X+Y (P33)
1: 3 X Loc [ AT_3m ]
2: 15 Y Loc [ RefTemp_K ]
3: 14 Z Loc [ AT_3m_K ]
5: Z=X/Y (P38)
1: 14 X Loc [ AT_3m_K ]
2: 15 Y Loc [ RefTemp_K ]
3: 16 Z Loc [ SR_mult ]
6: Z=SQRT(X) (P39)
1: 16 X Loc [ SR_mult ]
2: 16 Z Loc [ SR_mult ]
7: Z=X*Y (P36)
1: 13 X Loc [ Sonic_m ]
2: 16 Y Loc [ SR_mult ]
3: 13 Z Loc [ Sonic_m ]
;*********************************
;
; Read soil thermistors
;
;*********************************
;reset mux
8: Do (P86)
1: 41 Set Port 1 High
;loop through thermistors
9: Beginning of Loop (P87)
1: 0000 Delay
2: 13 Loop Count
;increment mux by one
10: Do (P86)
1: 72 Pulse Port 2
11: 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
12: Step Loop Index (P90)
1: 2 Step
13: 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: 17 -- Loc [ SoilT_0 ]
8: .004 Mult
9: 0.0 Offset
14: End (P95)
15: Do (P86)
1: 51 Set Port 1 Low
16: BR Transform Rf[X/(1-X)] (P59)
1: 26 Reps
2: 17 Loc [ SoilT_0 ]
3: 15 Multiplier (Rf)
;************************************
;
; Read soil moisture probes from mux
;
;************************************
;reset mux
17: Do (P86)
1: 41 Set Port 1 High
;enable cs615 control on mux
18: Do (P86)
1: 43 Set Port 3 High
;when setting loop count,
;remember to change count in the
;polynomial (p55) conversion as well
19: Beginning of Loop (P87)
1: 0000 Delay
2: 4 Loop Count
;increment mux relay by one
20: Do (P86)
1: 72 Pulse Port 2
;make measurement
21: 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: 43 -- Loc [ c615per_1 ]
7: .001 Mult
8: 0.0 Offset
;loop back
22: End (P95)
;disable cs615
23: Do (P86)
1: 53 Set Port 3 Low
;convert to volumetric water content
for easy display
24: Polynomial (P55)
1: 4 Reps
2: 43 X Loc [ c615per_1 ]
3: 47 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
25: Do (P86)
1: 51 Set Port 1 Low
;********************************
;end major loop for entire table (p92)
26: End (P95)
;*********************************
;
; Output Table 2 to Final Storage
;
;*********************************
27: 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)
28: Real Time (P77)
1: 1220 Year,Day,Hour/Minute (midnight = 2400)
29: Average (P71)
1: 1 Reps
2: 13 Loc [ Sonic_m ]
30: Average (P71)
1: 25 Reps
2: 17 Loc [ SoilT_0 ]
31: Average (P71)
1: 4 Reps
2: 43 Loc [ c615per_1 ]
32: Average (P71)
1: 4 Reps
2: 47 Loc [ c615h20_1 ]
33: Serial Out (P96)
1: 71 SM192/SM716/CSM1
*Table 3 Subroutines
End Program
-Input Locations-
1 BattVolt 1 1 1
2 LogTemp 1 1 1
3 AT_3m 1 2 1
4 RH_3m 1 1 1
5 AT_1m 1 1 1
6 RH_1m 1 1 1
7 WindSpeed 1 3 2
8 WindDir 1 1 1
9 TipBucket 1 1 1
10 NetRad 1 4 1
11 NetRad_W 1 2 3
12 BaroPress 1 1 1
13 Sonic_m 1 2 2
14 AT_3m_K 1 1 1
15 RefTemp_K 1 2 1
16 SR_mult 1 2 2
17 SoilT_0 5 2 2
18 SoilT_1 25 2 2
19 SoilT_2 9 2 1
20 SoilT_3 9 2 1
21 SoilT_4 9 2 1
22 SoilT_5 9 2 1
23 SoilT_6 9 2 1
24 SoilT_7 9 2 1
25 SoilT_8 9 2 1
26 SoilT_9 9 2 1
27 SoilT_10 9 2 1
28 SoilT_11 9 2 1
29 SoilT_12 9 2 1
30 SoilT_13 9 2 1
31 SoilT_15 9 2 1
32 SoilT_16 9 2 1
33 SoilT_17 9 2 1
34 SoilT_18 9 2 1
35 SoilT_19 9 2 1
36 SoilT_20 9 2 1
37 SoilT_21 9 2 1
38 SoilT_22 9 2 1
39 SoilT_23 9 2 1
40 SoilT_24 9 2 1
41 SoilT_25 9 2 1
42 SoilT_26 17 1 1
43 c615per_1 1 2 1
44 _________ 0 0 0
45 _________ 0 0 0
46 _________ 0 0 0
47 c615h20_1 5 2 1
48 c615h20_2 9 2 1
49 c615h20_3 9 2 1
50 c615h20_4 17 1 1
-Program Security-
0000
0000
0000
-Mode 4-
-Final Storage Area 2-
0
-CR10X ID-
0
-CR10X Power Up-
3
|