Dr. Matt Nolan

Water and Environmental Research Center

Institute of Northern Engineering
University of Alaska Fairbanks
matt.nolan@uaf.edu

 

Dr. Matt Nolan Home

McCall Glacier Home

Location and Background

Field Campaigns

Measurements

Analyses

Other ANWR Glaciers

 

 

 

CORE Met Program May 2004-
note: one bug fix was made in August 2004 for 3m RH

;{CR10X}
;

;*************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; McCall Glacier: Core Site Met,
; on upper cirque
;
; Station: CORE
;
; (c) 2003 Matt Nolan
;
; Written:
; 01 May 2004 by Matt Nolan, largely based
; on the AHAB code
;
; Modifications:
; -In field, May 2004, a second mux was added
; by Erin Pettit and several of my instruments
; (net rad and 3 m AT/RH) were shifted around
; to accomodate this.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;*************************************


;*************************************
;
; PROGRAM NOTES
;
; As coded in May 2004, there were three independent
; sampling loops.
; - Table 1
; - Main loop: 5 seconds
; - Wind
; - Rain intensity
; - SR50 and HMP45: 1 minute
; - Output: 15 minutes
;
; - Table 2
; - Main loop: 60 minutes
; - Firn thermistors x 50
; - Output: 60 minutes
;
;
;*************************************


;*************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; 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.
;
;********************************

3: 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

4: If (X<=>F) (P89)
1: 7 X Loc [ WindSpeed ]
2: 1 =
3: .2811 F
4: 30 Then Do

5: Z=F (P30)
1: 0.0 F
2: 00 Exponent of 10
3: 7 Z Loc [ WindSpeed ]

6: End (P95)


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: 8 Loc [ WindDir ]
7: 720 Mult
8: 0.0 Offset


;*******************************
;
; Check Tipping Bucket Rain Gage
;
;*******************************

;millimeters units

8: Pulse (P3)
1: 1 Reps
2: 1 Pulse Channel 1
3: 2 Switch Closure, All Counts
4: 9 Loc [ Rain_mm ]
5: 0.254 Mult
6: 0.0 Offset

;********************************
;
; Check Net Radiometer
;
;********************************


;Measure the net rad and apply wind corrections
;using subroutines
; units: watts per meter squared
9: Volt (Diff) (P2)
1: 1 Reps
2: 24 250 mV 60 Hz Rejection Range
3: 4 DIFF Channel
4: 10 Loc [ NetRad ]
5: 1.0 Mult
6: 0.0 Offset

;apply static wind speed correction
10: If (X<=>F) (P89)
1: 10 X Loc [ NetRad ]
2: 3 >=
3: 0.0 F
4: 30 Then Do

;positive multiplier
11: Z=X*F (P37)
1: 10 X Loc [ NetRad ]
2: 9.42 F
3: 11 Z Loc [ NetRad_W ]


12: Z=X*F (P37)
1: 11 X Loc [ NetRad_W ]
2: 1.045 F
3: 11 Z Loc [ NetRad_W ]

13: Else (P94)

;negative multiplier
14: Z=X*F (P37)
1: 10 X Loc [ NetRad ]
2: 11.74 F
3: 11 Z Loc [ NetRad_W ]

15: End (P95)

;**************************************
;**************************************
;
; LOOP: SR50 and HMP45Cs
;
;**************************************

16: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 1 Interval (same units as above)
3: 30 Then Do

;**************************************
;
; Sonic ranger SR50
;
;**************************************

17: SDI-12 Recorder (P105)
1: 0 SDI-12 Address
2: 0 Start Measurement (aM0!)
3: 5 Port
4: 12 Loc [ Sonic_m ]
5: 1.0 Mult
6: 0.0 Offset


18: Z=F (P30)
1: 273.15 F
2: 00 Exponent of 10
3: 13 Z Loc [ RefTemp_K ]


19: Z=X+Y (P33)
1: 3 X Loc [ AT_3m ]
2: 13 Y Loc [ RefTemp_K ]
3: 14 Z Loc [ AT_3m_K ]


20: Z=X/Y (P38)
1: 14 X Loc [ AT_3m_K ]
2: 13 Y Loc [ RefTemp_K ]
3: 15 Z Loc [ SR_mult ]


21: Z=SQRT(X) (P39)
1: 15 X Loc [ SR_mult ]
2: 15 Z Loc [ SR_mult ]


22: Z=X*Y (P36)
1: 12 X Loc [ Sonic_m ]
2: 15 Y Loc [ SR_mult ]
3: 16 Z Loc [ Sonic_cor ]

;**********************************
;
; Check Air Temp/RH at 1 and 3 meters
;
;**********************************

; Both 1m and 3m are single ended measurements

;Set control port 1 high
23: Do (P86)
1: 44 Set Port 4 High

; Let instrument warm up
24: 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

;reset mux
25: Do (P86)
1: 41 Set Port 1 High

;increment mux by one
26: Do (P86)
1: 72 Pulse Port 2

;let mux relays settled down
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

;Temp at 3m
28: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 5 Loc [ AT_1m ]
5: .1 Mult
6: -40 Offset

;increment mux by one
29: Do (P86)
1: 72 Pulse Port 2

;let mux relays settled down
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

;RH at 3m
31: 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

;increment mux by one
32: Do (P86)
1: 72 Pulse Port 2

;let mux relays settled down
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

;Temp at 1m
34: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 3 Loc [ AT_3m ]
5: .1 Mult
6: -40 Offset

;RH at 1m
35: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 4 Loc [ RH_3m ]
5: .1 Mult
6: 0.0 Offset

;power off HMP45s
36: Do (P86)
1: 54 Set Port 4 Low

;power off mux
37: Do (P86)
1: 51 Set Port 1 Low

;********************************
;
38: End (P95)
;
; END LOOP: SR50 and HMP45s
;
;********************************
;********************************

;********************************
;
; Write out Table 1 instruments
;
;********************************

;Output frequency is once per hour
39: 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)

40: Real Time (P77)^14389
1: 1220 Year,Day,Hour/Minute (midnight = 2400) ;

;Average the past hour's panel temp and battery voltage
41: Average (P71)^25934
1: 2 Reps
2: 1 Loc [ BattVolt ]

;Average both HMP45C readings (AT3m,RH3m)
42: Average (P71)^14203
1: 2 Reps
2: 3 Loc [ AT_3m ]

;Average both HMP45C readings (AT1m,RH1m)
43: Average (P71)^13886
1: 2 Reps
2: 5 Loc [ AT_1m ]

;Use the stock command for 'averaging' wind data
;using speed in meters per second
44: Wind Vector (P69)^13858
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 meters per second
45: Maximum (P73)^20829
1: 1 Reps
2: 00 Time Option
3: 7 Loc [ WindSpeed ]

;output average precip
46: Totalize (P72)^30410
1: 1 Reps
2: 9 Loc [ Rain_mm ]

;output average ned rad
47: Average (P71)^16448
1: 1 Reps
2: 10 Loc [ NetRad ]

;output average ned rad with wind correction
48: Average (P71)^866
1: 1 Reps
2: 11 Loc [ NetRad_W ]

;output average sonic ranger,
; include both corrected and uncorrected
49: Average (P71)^21244
1: 1 Reps
2: 12 Loc [ Sonic_m ]
50: Average (P71)^20633
1: 1 Reps
2: 16 Loc [ Sonic_cor ]


51: Serial Out (P96)
1: 71 SM192/SM716/CSM1

;******************************************
;
; radio switched 12V
;
;******************************************


;52: Set Port(s) (P20)
; 1: 9979 C8..C5 = nc/nc/output/nc
; 2: 9999 C4..C1 = nc/nc/nc/nc
;
;
;53: If time is (P92)
; 1: 0 Minutes (Seconds --) into a
; 2: 60 Interval (same units as above)
; 3: 30 Then Do
;
;
;54: If (X<=>F) (P89)
; 1: 1 X Loc [ BattVolt ]
; 2: 4 <
; 3: 12.20 F
; 4: 21 Set Flag 1 Low
;
;
;55: If (X<=>F) (P89)
; 1: 1 X Loc [ BattVolt ]
; 2: 3 >=
; 3: 12.1 F
; 4: 48 Set Port 8 High
;
;
;56: End (P95)
;
;
;57: If time is (P92)
; 1: 720 Minutes (Seconds --) into a
; 2: 1440 Interval (same units as above)
; 3: 48 Set Port 8 High
;
;
;58: If Flag/Port (P91)
; 1: 21 Do if Flag 1 is Low
; 2: 30 Then Do
;
;
;59: If time is (P92)
; 1: 10 Minutes (Seconds --) into a
; 2: 60 Interval (same units as above)
; 3: 48 Set Port 8 High
;
;
;60: End (P95)

;***************************************
;***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Table 2: Thermistors
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;****************************************
;
;table 2 program control
;
; Instruments here are primarily those below
; the surface that can be measured less frequently
;

*Table 2 Program
02: 300 Execution Interval (seconds)

;*********************************
;
; Read ice thermistors
;
;*********************************
;
; Note: thermistors are arranged as
; three per set, leaving one channel
; per set for other measurement types

;reset mux
1: Do (P86)
1: 41 Set Port 1 High


;loop through thermistors

2: Beginning of Loop (P87)
1: 0000 Delay
2: 16 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: 3 Step


6: Excite-Delay (SE) (P4)
1: 3 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 [ IceT_0 ]
8: .004 Mult
9: 0.0 Offset


7: End (P95)
;end thermistors loop


;power down mux
8: Do (P86)
1: 51 Set Port 1 Low

;calculate thermistor resistance
; assumes a 15 kohm resistor is used
; outputs in kohms
9: BR Transform Rf[X/(1-X)] (P59)
1: 48 Reps
2: 17 Loc [ IceT_0 ]
3: 15 Multiplier (Rf)

;********************************
;
; Second Multiplexor with Firn/Ice deformation instruments
;
; Beginning of Erin's Stuff!
;
;**********************************


;reset mux2

10: Do (P86)
1: 46 Set Port 6 High


; ************************
;
;loop through 16 thermistors
; SE (H2 on the mux)
;
;*************************

11: Beginning of Loop (P87)
1: 0000 Delay
2: 16 Loop Count

;increment mux by one
12: Do (P86)
1: 72 Pulse Port 2

13: 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

14: AC Half Bridge (P5)
1: 1 Reps
2: 14 250 mV Fast Range
3: 9 SE Channel
4: 3 Excite all reps w/Exchan 3
5: 250 mV Excitation
6: 85 -- Loc [ Etherm_1 ]
7: 1 Mult
8: 0 Offset

15: End (P95)


16: Do (P86)
1: 56 Set Port 6 Low

17: BR Transform Rf[X/(1-X)] (P59)
1: 16 Reps
2: 85 Loc [ Etherm_1 ]
3: 350 Multiplier (Rf)


;reset mux2

18: Do (P86)
1: 46 Set Port 6 High


; ************************
;
;loop through 12 strain gauges
; DIFF (H1 L1 on the mux)
;
;*************************

19: Beginning of Loop (P87)
1: 0000 Delay
2: 12 Loop Count

;increment mux by one
20: Do (P86)
1: 72 Pulse Port 2

21: 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

22: Full Bridge (P6)
1: 1 Reps
2: 1 2.5 mV Slow Range
3: 6 DIFF Channel
4: 3 Excite all reps w/Exchan 3
5: 2500 mV Excitation
6: 65 -- Loc [ Strain_11 ]
7: 1.0 Mult
8: 0.0 Offset


23: End (P95)

24: Do (P86)
1: 56 Set Port 6 Low


;reset mux2

25: Do (P86)
1: 46 Set Port 6 High


; ************************
;
;loop through 4 compass and 4 tiltmeters
; SE (L2 on the mux)
;
;*************************

;do 4 compasses first

26: Beginning of Loop (P87)
1: 0000 Delay
2: 4 Loop Count

;increment mux by one
27: Do (P86)
1: 72 Pulse Port 2

28: 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


29: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 10 SE Channel
4: 77 -- Loc [ Compas_11 ]
5: 1.0 Mult
6: 0.0 Offset


30: End (P95)

;turn on switched 12V

31: Do (P86)
1: 48 Set Port 8 High


32: Beginning of Loop (P87)
1: 0000 Delay
2: 4 Loop Count

;increment mux by one
33: Do (P86)
1: 72 Pulse Port 2

;I put a 1 second delay in because the tiltmeters were having trouble
; responding quickly to the switched 12V

34: Excitation with Delay (P22)
1: 1 Ex Channel
2: 100 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation


35: Volt (SE) (P1)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 10 SE Channel
4: 81 -- Loc [ Tilt_11 ]
5: 1.0 Mult
6: 0.0 Offset


36: End (P95)

;turn off switched 12V
37: Do (P86)
1: 58 Set Port 8 Low


;shut down multiplexor


38: Do (P86)
1: 56 Set Port 6 Low


;*********************************
;
; End of Erin's Stuff (except the output)
;
;*********************************

;*********************************
;
; Output Table 2 to Final Storage
;
;*********************************


39: 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)

40: Resolution (P78)
1: 1 High Resolution

41: Real Time (P77)^16955
1: 1220 Year,Day,Hour/Minute (midnight = 2400)

; Matt's Thermistors
42: Average (P71)^7148
1: 48 Reps
2: 17 Loc [ IceT_0 ]

; Erin's Thermistors
43: Average (P71)^7148
1: 16 Reps
2: 85 Loc [ Etherm_1 ]

; Erin's Strain Gauges
44: Average (P71)^7148
1: 12 Reps
2: 65 Loc [ Strain_11 ]

; Erin's Compasses
45: Average (P71)^7148
1: 4 Reps
2: 77 Loc [ Compas_11 ]

; Erin's Tiltmeters

46: Average (P71)^7148
1: 4 Reps
2: 81 Loc [ Tilt_11 ]


47: 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 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 Rain_mm 1 1 1
10 NetRad 1 4 1
11 NetRad_W 1 2 3
12 Sonic_m 1 2 1
13 RefTemp_K 1 2 1
14 AT_3m_K 1 1 1
15 SR_mult 1 2 2
16 Sonic_cor 1 1 1
17 IceT_0 5 2 2
18 IceT_1 9 2 2
19 IceT_2 25 2 2
20 IceT_3 9 2 1
21 IceT_4 9 2 1
22 IceT_5 9 2 1
23 IceT_6 9 2 1
24 IceT_7 9 2 1
25 IceT_8 9 2 1
26 IceT_9 9 2 1
27 IceT_10 9 2 1
28 IceT_11 9 2 1
29 IceT_12 9 2 1
30 IceT_13 9 2 1
31 IceT_14 9 2 1
32 IceT_15 9 2 1
33 IceT_16 9 2 1
34 IceT_17 9 2 1
35 IceT_18 9 2 1
36 IceT_19 9 2 1
37 IceT_20 9 2 1
38 IceT_21 9 2 1
39 IceT_22 9 2 1
40 IceT_23 9 2 1
41 IceT_24 9 2 1
42 IceT_25 9 2 1
43 IceT_26 9 2 1
44 IceT_27 9 2 1
45 IceT_28 9 2 1
46 IceT_29 9 2 1
47 IceT_30 9 2 1
48 IceT_31 9 2 1
49 IceT_32 9 2 1
50 IceT_33 9 2 1
51 IceT_34 9 2 1
52 IceT_35 9 2 1
53 IceT_36 9 2 1
54 IceT_37 9 2 1
55 IceT_38 9 2 1
56 IceT_39 9 2 1
57 IceT_40 9 2 1
58 IceT_41 9 2 1
59 IceT_42 9 2 1
60 IceT_43 9 2 1
61 IceT_44 9 2 1
62 IceT_45 9 2 1
63 IceT_46 9 2 1
64 IceT_47 17 2 1
65 Strain_11 1 1 1
66 Strain_12 1 1 0
67 Strain_13 1 1 0
68 Strain_21 1 1 0
69 Strain_22 1 1 0
70 Strain_23 1 1 0
71 Strain_31 1 1 0
72 Strain_32 1 1 0
73 Strain_33 1 1 0
74 Strain_41 1 1 0
75 Strain_42 1 1 0
76 Strain_43 1 1 0
77 Compas_11 1 1 1
78 Compas_12 1 1 0
79 Compas_21 1 1 0
80 Compas_22 1 1 0
81 Tilt_11 1 1 1
82 Tilt_12 1 1 0
83 Tilt_21 1 1 0
84 Tilt_22 1 1 0
85 Etherm_1 5 2 2
86 Etherm_2 9 2 1
87 Etherm_3 9 2 1
88 Etherm_4 9 2 1
89 Etherm_5 9 2 1
90 Etherm_6 9 2 1
91 Etherm_7 9 2 1
92 Etherm_8 9 2 1
93 Etherm_9 9 2 1
94 Etherm_10 9 2 1
95 Etherm_11 9 2 1
96 Etherm_12 9 2 1
97 Etherm_13 9 2 1
98 Etherm_14 9 2 1
99 Etherm_15 9 2 1
100 Etherm_16 17 2 1
-Program Security-
0000
0000
0000
-Mode 4-
-Final Storage Area 2-
0
-CR10X ID-
0
-CR10X Power Up-
3

(c) 2003 Matt Nolan. If you find any broken links or other errors, please let me know. Thanks.