Graphic: |
When Kate was here on Monday, I was concerned that Rsw.in was significantly
different at times between the sites. Some of this could be snow/ice on the
domes, but it seemed like there were more cases with different radiation than
could be explained just by snow/ice. Now is an example where there are patches
of sun slowly propogating across the surface, which could make differences
(at least instantaneously) of Rsw.in between lake/sage/tower. I'm still not
completely convinced that the 5-min ave values should be as different as the
400 W/m2 that we sometimes get.
P.S. The attached graph shows several problems (that are real!). [The red line
is: 1300*sin(dat("azel.sun")[,2]*pi/180)
1. A semi-stationary cloud pattern (probably orographically influenced) shadows
grass and lake at about noon, but doesn't move over sage until 45min later.
2. When this cloud shifts off at about 14:00, it apparently ducts some of the
sun to have even more than a clear-sky irradiance.
3. At about 16:00, thick clouds built up along the Gore Range cause "sunset" to
occur early, though some light is still present until real sunset.
It is going to be difficult to use these data for QCing snow/ice cases!
It may also indicate that using Rlw.in.sage as a surrogate for Rlw.in.grass may
be a mistake.
171: Radiometers, Site tower, Thu 27-Feb-2003 11:24:25 MST, Boom trolley
Last evening after fixing the fans on the 25m pyrgs the trolley was moved out.
Unfortunately it wasn't moved to the end of the boom
At 10:15 the trolley was moved to the end. Photo's to prove it
168: Radiometers, Site all stns, Wed 26-Feb-2003 15:28:33 MST, Removing radiometer snow doughnuts
The ventilation prevented the fine powdery snow from settling upon the
radiometer domes. Doughnuts of snow formed, up to 7-8cm high, with a central
hole and an annulus extending from the ventilator slot to the edge of the
radiation shield. All upward-looking radiometers as well as the ice detectors
had the same problem. Some downlooking rads had an icicle from their dome.
14:00 Sage, removed doughnuts and cleaned all domes.NB Netrad was already clear.
14:10 Lake, ditto
14:21 Grease, cleaned dome
14:28 Bare, cleaned dome.
14:30 4m scaffold, removed doughnut and cleaned domes
14:32 Ice.a and Ice.b ditto
14:45 - 14:55 Drew in boom. S pyrg already clear, removed doughnut from N pyrg.
The fans were unplugged with the N fan's wires cut.
Left trolley inboard until we fix fan wiring.
16:10 -16:20 Remounted fans and powered up. Fans operated.
Ran out the trolley BUT THE TROLLEY DIDN'T GO ALL THE WAY
151: Radiometers, Site tower, Wed 19-Feb-2003 16:22:40 MST, Cleaned boom pigs
At 14:30 climbed tower to boom level.
The trolley rolled in with only a small glitch when the trolley had to be
reversed and pulled in again. Note that the catch/release worked.
Used handkerchief to polish domes. Ran out again and "catched"
Inspected from the ground and telephotoed.
140: Radiometers, Site all stns, Tue 18-Feb-2003 16:51:56 MST, Radiometer cleaning
Made a tour of the radiometers and cleaned domes and inspected sites.In no case
was there any dirt apparent on cleaning tissue.
14:04 Grass: 10% snow cover only a few cm deep over flat laying long grass
Downlooking LW and SW have housing but no fans
Up looking LW and SW have housings and fans. LW.in fan stopped. I spun it and
it started up.
15:00 Sage: Helped Jielun et al locate TC system
50% snow cover, patches 6-8 cm deep between and among the sage.
Both incoming SW and LW housings and fan operating
Outgoing SW housing, no fan, outgoing LW no housing
All domes cleaned,
Net rad still level
Cleaned Kr, psych fan operating
15:30 Lake 90% snow cover around site.
SW.in fan operating, SW.out housing no fan, LW.out no housing
cleaned all domes, cleaned Kr, psych fan operating
15:40 Scaffold: 50% snow in dappled patches.
4m LW.in fan operating, LW.out no housing
1m LW.out no housing
Cleaned all domes
15:45 Grass (again) SW.in and LW.in fans operating
Only housings, no fan for SW.out and LW.out
Cleaned all domes
15:50 Greasewood: Snow drift 30 -50 cm deep under radiometer
LW.out has no housing.
Cleaned dome without breaking up the snow.
125: Radiometers, Site all stns, Tue 28-Jan-2003 14:57:32 MST, Radiometers Cleaned
7/27/03 25m radiometers cleaned.
7/28/03 All other radiometers cleaned with dry wipe.
Checked inside plenum at Sage and there was no snow packed
inside. All domes looked very good although we did get
some snow showers this morning which left some moisture on
them.
I noticed something like a smudge inside the psp at Lake
on the small dome. I don't know if that's a factor.
92: Radiometers, Site all stns, Tue 31-Dec-2002 13:38:02 MST, logger files
Here are all of the coeffient files loaded into the loggers.
(I got these from the cal-lab PC, so Steve S should verify that they
are the correct files.)
25m:
31975 pi1 06 251.193168
31974 po1 07 257.334020
31979 pi2 08 263.157895
31977 po2 09 261.711594
PI1TC-A0 x 10 2500
A1 x 11 3.355702
A2 x 12 .279378
A3 x 13 3.970700
A4 x 14 200.967000
PI1TD-A0 x 15 2500
A1 x 16 3.054151
A2 x 17 .270750
A3 x 18 3.531936
A4 x 19 172.539000
PO1TC-A0 x 20 2500
A1 x 21 3.354452
A2 x 22 .2795544
A3 x 23 3.870320
A4 x 24 213.662200
PO1TD-A0 x 25 2500
A1 x 26 3.053245
A2 x 27 .2706839
A3 x 28 3.462000
A4 x 29 179.035300
PI2TC-A0 x 30 2500
A1 x 31 3.355302
A2 x 32 .2796132
A3 x 33 3.907393
A4 x 34 205.226200
P12TD-A0 x 35 2500
A1 x 36 3.055463
A2 x 37 .271608
A3 x 38 3.538717
A4 x 39 170.026300
PO2TC-A0 x 40 2500
A1 x 41 3.355048
A2 x 42 .2793915
A3 x 43 3.969477
A4 x 44 201.022200
PO2TD-A0 x 45 2500
A1 x 46 3.052511
A2 x 47 .2706538
A3 x 48 3.516783
A4 x 49 176.020500
2018-A0 level-x 50 1.219419589
A1 x 51 10.90459926
A2 x 52 0.098392445
A3 x 53 -0.007021535
A4 x 54 0.000000
A0 level-y 55 -0.3726148
A1 x 56 10.4045871
A2 x 57 -0.1230141
A3 x 58 0.511059
A4 x 59 0.000000
4m:
31981 pi1 06 267.1653754
31980 po1 07 277.0466824
31976 p01m 08 255.102041
PI1TC-A0 x 10 2500
A1 x 11 3.354002
A2 x 12 .27995
A3 x 13 3.89791
A4 x 14 222.6
PI1TD-A0 x 15 2500
A1 x 16 3.050935
A2 x 17 .271316
A3 x 18 3.382922
A4 x 19 190.3757
PO1TC-A0 x 20 2500
A1 x 21 3.354756
A2 x 22 .279427
A3 x 23 3.948847
A4 x 24 215.9851
PO1TD-A0 x 25 2500
A1 x 26 3.052869
A2 x 27 .271025
A3 x 28 3.449757
A4 x 29 189.982
PO1mTC-A0 x 30 2500
A1 x 31 3.354748
A2 x 32 .279406
A3 x 33 3.926898
A4 x 34 202.8886
PO1mTD-A0 x 35 2500
A1 x 36 3.053435
A2 x 37 .270616
A3 x 38 3.557806
A4 x 39 167.4648
Grass (tower):
Q7-97069 NET(A+) 00 9.27
x A- 01 11.48
P26416 x 02 290.866783
P29260 x 03 308.261406
K940181 x 04 82.3723229
K970379 x 05 45.51661356
H993563 x 06 38.9
H993562 x 07 37.3
H87034 x 08 36.8
Tc-A0 x 10 2500
A1 x 11 3.354472
A2 x 12 .2797812
A3 x 13 3.912974
A4 x 14 215.5208
Tdin-A0 x 15 2500
A1 x 16 3.052399
A2 x 17 .270981
A3 x 18 3.408667
A4 x 19 188.8687
Tcot-A0 x 20 2500
A1 x 21 3.353832
A2 x 22 .278595
A3 x 23 4.02801
A4 x 24 180.4266
Tdot-A0 x 25 2500
A1 x 26 3.053253
A2 x 27 .2706527
A3 x 28 3.530291
A4 x 29 166.282
HUX x 50 180
baud x 99 0
Greasewood:
31978 pygout 00 283.527077
PINTC-A0 x 10 2500
A1 x 11 3.354223
A2 x 12 .27981
A3 x 13 3.963779
A4 x 14 206.898
PINTD-A0 x 15 2500
A1 x 16 3.052301
A2 x 17 .270621
A3 x 18 3.499677
A4 x 19 177.414
Lake:
Q7-94197 NET(A+) 00 9.0
x A- 01 11.22
P29137 x 02 240.211386
P29136 x 03 234.741784
K970377 x 04 43.55400697
K940186 x 05 82.71298594
H983213 x 06 38.2
H983211 x 07 36.4
H943149 x 08 39.7
Tc-A0 x 10 2500
A1 x 11 3.350057
A2 x 12 .279229
A3 x 13 3.147866
A4 x 14 -193.854
Tdin-A0 x 15 2500
A1 x 16 3.354167
A2 x 17 .278817
A3 x 18 3.653292
A4 x 19 222.2646
Tcot-A0 x 20 2500
A1 x 21 3.354344
A2 x 22 .278532
A3 x 23 3.845153
A4 x 24 185.129
Tdot-A0 x 25 2500
A1 x 26 3.354233
A2 x 27 .278537
A3 x 28 3.802989
A4 x 29 184.2122
HUX x 50 180
baud x 99 1
Sage:
Q7-94916 NET(A+) 00 9.21
x A- 01 11.54
P26417 x 02 212.68
P27907 x 03 286.53
K970378 x 04 50.02501251
K940187 x 05 101.4198783
H983212 x 06 38.4
H993560 x 07 37.7
H943147 x 08 42.1
Tc-A0 x 10 2500
A1 x 11 3.355204
A2 x 12 .2795166
A3 x 13 3.950246
A4 x 14 209.3092
Tdin-A0 x 15 2500
A1 x 16 3.354969
A2 x 17 .2793838
A3 x 18 3.85506
A4 x 19 212.913
Tcot-A0 x 20 2500
A1 x 21 3.353713
A2 x 22 .2787871
A3 x 23 3.778048
A4 x 24 177.421
Tdot-A0 x 25 2500
A1 x 26 3.354732
A2 x 27 .2787514
A3 x 28 3.651471
A4 x 29 190.8095
HUX x 50 180
baud x 99 1
83: Radiometers, Site tower, Thu 19-Dec-2002 11:54:00 MST, Checked logger coefs at 25m
We're seeing wrong-looking Tdome-Tcase on in.b.25m and out.a.25m
Displayed the logger coefs at 25m. They all match SteveS's sheet.
He will check his files.
77: Radiometers, Site tower, Wed 18-Dec-2002 10:08:57 MST, Boom PYG mount Modification
When initially we tried to extend the trolly out on the
boom we had the problem that we could not extend it all the way out because
the radiometer housings were too close together for the locking tab to fit
through them at the end. To fix this problem we tried unscrewing all but
one of the four screws holding in the radiometer housings on each of
the top two radiometers. We then rotated them outward and attached the
housings to the trolly using panduit ties going from the unsecured screws
to the braces of the trolly. This held well, but when we tried to extend
the trolly once more, the fan on the left or southern side of the trolly hit
the corresponding guide wire. We left the trolly for the night and tried
again to fix it this morning (12/18/2002). We changed the position of the
problem radiometer by rotating it differently so that it could get by the
guide wire and was also far enough from the center so that the locking
tab could fit through. We also replaced the panduit ties holding the
radiometer down with some wire so that we didn't have to worry about
the panduit ties breaking. When we now attempted to send out the trolly
we were successull in reaching the end of the boom. We are still having
some problems with the locking mechanism grabbing onto the trolly, but that
problem was not one that could be fixed without taking the entire boom
down and readjusting the lock.
72: Radiometers, Site tower, Tue 17-Dec-2002 16:58:14 MST, 4m rads up
~1330? the 4m rads were up and connected. I leveled and cleaned them. Fan
is on to the top housing.
We still haven't plugged in the 1.5m bare due to a lack of a cable.
71: Radiometers, Site tower, Tue 17-Dec-2002 16:37:04 MST, Installation of boom pyrgeometers
From 8:00 - 10:30 hauled up the boom trolley, the big white box and the cabling.
The pyrg leveling platform fitted on the trolley cross-wise. Even so the trolley
could not pass the latching device as the pygs in their housing were too close
together.
From 14:30 - 16:60 modified the mounting of the pyrgs in their housings to yield
a greater separation. The level mounting was also modified. The south pyrg fan
then would not clear the lower stabilizing guy.
An ad hock arrangement will be contrived.
For a later time: Bring a drill and bits, centerpunch and tap to make new
mounting holes.This can be done on the tower.
55: Radiometers, Site lake, Thu 12-Dec-2002 18:12:19 MST, Added dat function to correct Rlw.in at lake
Since Rlw.in at lake has not been correct since the beginning
of the project (due to a bad Tcase.in) a special version of
dat.Rlw.in has been written which just sets Rlw.in at lake equal
to Rlw.in at sage.
Using the corrected Rlw.in, then Rsum compares well with Rnet at lake,
so I don't believe Rnet needs to be replaced.
47: Radiometers, Site lake, Mon 09-Dec-2002 09:15:02 MST, removed uplooking pir sensor
removed uplooking PIR sensor from the lake site
on Wed, Dec 4th
38: Radiometers, Site lake, Sun 01-Dec-2002 07:48:56 MST, Tcase&Tdome.in coefs at lake
Fixing the coefficients for Tcase&Tdome.in at lake (logbook #32)
did not improve the data (perhaps it made it worse - haven't checked).
Tdome-Tcase.in at lake is still about 3 degC at night, whereas
it is usually less than 0.5 degC for all other pyrgeometers, including
the down-looker at lake.
Here are the current coefficients from the logger at lake from doing
an EVE talk with the logger. They agree with logbook entry #14
>
MODE 04:00
00:+9.0000
01:+11.220
02:+240.21
03:+234.74
04:+43.554
05:+82.713
06:+38.200
07:+36.400
08:+39.700
10:+2500.0
11:+3.3542
12:+.27882
13:+3.6533
14:+222.26
15:+2500.0
16:+3.3500
17:+.27923
18:+3.1479
19:-193.85
20:+2500.0
21:+3.3543
22:+.27853
23:+3.8451
24:+185.13
25:+2500.0
26:+3.3542
27:+.27854
28:+3.8030
29:+184.21
50:+180.00
99:+1.0000
MODE 00
LOG 12
*
32: Radiometers, Site lake, Fri 22-Nov-2002 09:41:11 MST, Fix lake coefficients for pygin
A difference plot showed questionable data from the dome and case temperatures
for Lake pygin. It was discovered that the coefficients had been reversed.
Corrections have been made both at the PAM site and the logbook entry 14.
29: Radiometers, Site lake, Thu 21-Nov-2002 12:35:58 MST, Rnet at lake
SteveS checked serial numbers at lake, all OK.
He noticed water droplets inside net radiometer dome, perhaps
that explains the Rnet data?
28: Radiometers, Site sage, Thu 21-Nov-2002 12:31:47 MST, PSPs swapped at sage
The PSPs at sage were actually placed as follows:
940187 is PSPIN,
970378 is PSPOUT
which is the reverse of what the logger program expected.
The logger program was changed.
22: Radiometers, Site tower, Wed 20-Nov-2002 13:24:51 MST, rad stand up
Lynette and I just installed the 4-comp rad on the grass rad stand with its
logger. Data should be coming in now. I'm going back out to install the
rain gauge cable. The soil sensors are not coming in because we don't think
that we have the MUX cable for it here:(
19: Radiometers, Site tower, Fri 15-Nov-2002 14:26:23 MST, Greasewood 1.5m radiation CR10X code
NOTE: comments in this code may not be up to date
;{CR10X}
; CASES99 - 1.5 meter radiation system at greasewood site
; This is a special program for the FLOSS-II project
; The logger handles 1 pygreometer at the 1.5m greasewood site.
;
; CR10 CHANNEL ASSIGNMENTS
; ANALOG CHANNELS
; 1H - comm 1H of AM416
; 1L - comm 1L of AM416
; 2H - comm 2H of AM416
; 2L - comm 2L of AM416
;
; CONTROL PORTS
; C1 - reset signal to AM416
; C2 - clock to AM416
;
; AM416 MULTIPLEXER CHANNELS
; 2-1H + PYGOUT
; 2-1L -
;
; 2-2H + PYGOUT Tcase
; 2-2L -
;
; 3-2H + PYGOUT Tdome
; 3-2L -
;
; OUTPUT MESSAGE FORMAT
; LOGGER ID
; PYGOUT
; PYGOUT Tcase
; PYGOUT Tdome
;
;
; EEROM SPACE USED FOR CALIBRATION COEFFICIENTS
; the coefficients below are examples!
;location value Serial Number description
; 0 255.10 xxxxxF3 Epply pyrgeometer, in_1 W/m^2/mV
; 10 2500 PYGOUT Tcase, Vref mV
; 11 .00335595 A0
; 12 .277486 A1
; 13 4.8993 A2
; 14 10.4799 A3
; 15 2500 PYGOUT Tdome, Vref mV
; 16 .00303674 A0
; 17 .289526 A1
; 18 -3.0453 A2
; 19 841.413 A3
;
*Table 1 Program
01: 1.0 Execution Interval (seconds)
1: Z=F (P30)
1: 1 F
2: 00 Exponent of 10
3: 10 Z Loc [ LoggerID ]
; Start collecting data from the multiplexer
2: Do (P86)
1: 41 Set Port 1 High
; loop thru 416mux to Epply Pile
3: Do (P86)
1: 9 Call Subroutine 9
4: Beginning of Loop (P87)
1: 0 Delay
2: 2 Loop Count
5: Do (P86)
1: 9 Call Subroutine 9
; get pyg and pyr radiation data
6: Volt (Diff) (P2)
1: 1 Reps
2: 3 ñ 25 mV Slow Range
3: 1 DIFF Channel
4: 1 -- Loc [ pygin_raw ]
5: 1.0 Mult
6: 0.0 Offset
; get Epply temperature data
7: Volt (Diff) (P2)
1: 1 Reps
2: 5 ñ 2500 mV Slow Range
3: 2 DIFF Channel
4: 12 -- Loc [ PYGOUT_Tc ]
5: 1.0 Mult
6: 0.0 Offset
8: End (P95)
9: Do (P86)
1: 51 Set Port 1 Low
; Compute some real values, pile first
10: Z=X*F (P37)
1: 1 X Loc [ pygin_raw ]
2: 0.0 F @@0
3: 11 Z Loc [ PYGOUT ]
; now lets do the temperatures
; convert raw PYGOUT Tdome
11: Z=F (P30)
1: 0 F @@10
2: 00 Exponent of 10
3: 20 Z Loc [ V_Vx ]
12: Z=X/Y (P38)
1: 20 X Loc [ V_Vx ]
2: 12 Y Loc [ PYGOUT_Tc ]
3: 20 Z Loc [ V_Vx ]
13: Do (P86)
1: 2 Call Subroutine 2
14: Polynomial (P55)
1: 1 Reps
2: 20 X Loc [ V_Vx ]
3: 20 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@12
6: 0 C2 @@13
7: 0 C3 @@14
8: 0.0 C4
9: 0.0 C5
15: Z=F (P30)
1: 0.0 F @@11
2: -3 Exponent of 10
3: 21 Z Loc [ B0 ]
16: Z=X+Y (P33)
1: 20 X Loc [ V_Vx ]
2: 21 Y Loc [ B0 ]
3: 20 Z Loc [ V_Vx ]
17: Do (P86)
1: 3 Call Subroutine 3
18: Z=X (P31)
1: 20 X Loc [ V_Vx ]
2: 12 Z Loc [ PYGOUT_Tc ]
; convert raw PYGOUT Tdome
19: Z=F (P30)
1: 0 F @@15
2: 00 Exponent of 10
3: 20 Z Loc [ V_Vx ]
20: Z=X/Y (P38)
1: 20 X Loc [ V_Vx ]
2: 13 Y Loc [ PYGOUT_Td ]
3: 20 Z Loc [ V_Vx ]
21: Do (P86)
1: 2 Call Subroutine 2
22: Polynomial (P55)
1: 1 Reps
2: 20 X Loc [ V_Vx ]
3: 20 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@17
6: 0 C2 @@18
7: 0 C3 @@19
8: 0.0 C4
9: 0.0 C5
23: Z=F (P30)
1: 0.0 F @@16
2: -3 Exponent of 10
3: 21 Z Loc [ B0 ]
24: Z=X+Y (P33)
1: 20 X Loc [ V_Vx ]
2: 21 Y Loc [ B0 ]
3: 20 Z Loc [ V_Vx ]
25: Do (P86)
1: 3 Call Subroutine 3
26: Z=X (P31)
1: 20 X Loc [ V_Vx ]
2: 13 Z Loc [ PYGOUT_Td ]
; Is it time to send data out?
27: Time (P18)
1: 0 Seconds into current minute (maximum 60)
2: 5 Mod/By
3: 22 Loc [ TimeHack ]
28: IF (X<=>F) (P89)
1: 22 X Loc [ TimeHack ]
2: 4 <
3: 1 F
4: 10 Set Output Flag High
29: Sample (P70)
1: 1 Reps
2: 10 Loc [ LoggerID ]
30: Resolution (P78)
1: 1 High Resolution
31: Average (P71)
1: 3 Reps
2: 11 Loc [ PYGOUT ]
32: Serial Out (P96)
1: 52 Printer Comma/9600 Baud
*Table 2 Program
02: 0.0000 Execution Interval (seconds)
*Table 3 Subroutines
1: Beginning of Subroutine (P85)
1: 2 Subroutine 2
; compute x = ln[(V/Vx) - 1] / 1000
2: Z=X+F (P34)
1: 20 X Loc [ V_Vx ]
2: -1 F
3: 20 Z Loc [ V_Vx ]
3: Z=LN(X) (P40)
1: 20 X Loc [ V_Vx ]
2: 20 Z Loc [ V_Vx ]
4: Z=X*F (P37)
1: 20 X Loc [ V_Vx ]
2: .001 F
3: 20 Z Loc [ V_Vx ]
5: End (P95)
6: Beginning of Subroutine (P85)
1: 3 Subroutine 3
; finish T (case/dome) computation
7: Z=1/X (P42)
1: 20 X Loc [ V_Vx ]
2: 20 Z Loc [ V_Vx ]
8: Z=X+F (P34)
1: 20 X Loc [ V_Vx ]
2: -273.15 F
3: 20 Z Loc [ V_Vx ]
9: End (P95)
10: Beginning of Subroutine (P85)
1: 9 Subroutine 9
; pulse the AM416 multiplexer to the next bank of channels
11: Do (P86)
1: 72 Pulse Port 2
12: Excitation with Delay (P22)
1: 1 Ex Channel
2: 0 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0 mV Excitation
13: End (P95)
End Program
-Input Locations-
1 pygin_raw 1 1 1
2 _________ 0 0 0
3 _________ 0 0 0
4 _________ 0 0 0
5 _________ 0 0 0
6 _________ 0 0 0
7 _________ 0 0 0
8 _________ 0 0 0
9 _________ 0 0 0
10 LoggerID 1 1 1
11 PYGOUT 5 1 1
12 PYGOUT_Tc 9 1 2
13 PYGOUT_Td 17 2 1
14 _________ 1 0 0
15 _________ 0 0 0
16 _________ 0 0 0
17 _________ 0 0 0
18 _________ 0 0 0
19 _________ 1 0 0
20 V_Vx 1 14 13
21 B0 1 3 2
22 TimeHack 1 2 1
23 _________ 1 1 0
24 _________ 1 1 0
25 _________ 0 0 0
26 _________ 0 0 0
27 _________ 0 0 0
28 _________ 0 0 0
-Program Security-
0000
0000
0000
-Mode 4-
0
10
11
12
13
14
15
16
17
18
19
-Final Storage Area 2-
0
-CR10X ID-
0
-CR10X Power Up-
3
18: Radiometers, Site tower, Fri 15-Nov-2002 14:24:46 MST, 4m radiation CR10X code
NOTE: comments in this code may not be up to date
;{CR10X}
; CASES99 - 4 and 1.5 meter radiation system
; This is a special program for the FLOS-II project
; The logger handles 3 pyrgeometers. 2 are located
; at 4m and the third at 1.5m
;
; CR10 CHANNEL ASSIGNMENTS
; ANALOG CHANNELS
; 1H - comm 1H of AM416
; 1L - comm 1L of AM416
; 2H - comm 2H of AM416
; 2L - comm 2L of AM416
;
; 4H + PYGOUT_1
; 4L -
;
; 5H + PYGOUT_1 Tcase
; 5L -
;
; 6H + PYGOUT_1 Tdome
; 6L -
;
; CONTROL PORTS
; C1 - reset signal to AM416
; C2 - clock to AM416
;
; AM416 MULTIPLEXER CHANNELS
; 2-1H + PYGIN_4
; 2-1L -
;
; 3-1H + PYGOUT_4
; 3-1L -
;
; 2-2H + PYGIN_4 Tcase
; 2-2L -
;
; 3-2H + PYGIN_4 Tdome
; 3-2L -
;
; 4-2H + PYGOUT_4 Tcase
; 4-2L -
;
; 5-2H + PYGOUT_4 Tdome
; 5-2L -
;
; 6-1H + level x
; 6-1L -
;
; 6-2H + level y
; 6-2L -
;
; OUTPUT MESSAGE FORMAT
; LOGGER #
; PYGIN_4
; PYGOUT_4
; PYGOUT_1
; PYGIN_4 Tcase
; PYGIN_4 Tdome
; PYGOUT_4 Tcase
; PYGOUT_4 Tdome
; PYGOUT_1 Tcase
; PYGOUT_1 Tdome
; LEVEL X
; LEVEL Y
;
;
; EEROM SPACE USED FOR CALIBRATION COEFFICIENTS
; the coefficients below are examples!
;location value Serial Number description
; 6 255.10 xxxxxF3 Epply pyrgeometer, in_1 W/m^2/mV
; 7 268.82 xxxxxF3 Epply pyrgeometer, out_1 W/m^2/mV
; 8 255.10 xxxxxF3 Epply pyrgeometer, in_2 W/m^2/mV
; 9 268.82 xxxxxF3 Epply pyrgeometer, out_2 W/m^2/mV
; 10 2500 PYGIN_4m Tcase, Vref mV
; 11 .00335595 A0
; 12 .277486 A1
; 13 4.8993 A2
; 14 10.4799 A3
; 15 2500 PYGIN_4m Tdome, Vref mV
; 16 .00303674 A0
; 17 .289526 A1
; 18 -3.0453 A2
; 19 841.413 A3
; 20 2500 PYGOUT_4m Tcase, Vref mV
; 21 .00335405 A0
; 22 .28145 A1
; 23 3.04961 A2
; 24 289.824 A3
; 25 2500 PYGOUT_4m Tdome, Vref mV
; 26 .0030332 A0
; 27 .291681 A1
; 28 -3.4779 A2
; 29 870.025 A3
; 30 2500 PYGIN_1.5m Tcase, Vref mV
; 31 .00335595 A0
; 32 .277486 A1
; 33 4.8993 A2
; 34 10.4799 A3
; 35 2500 PYGIN_1.5m Tdome, Vref mV
; 36 .00303674 A0
; 37 .289526 A1
; 38 -3.0453 A2
; 39 841.413 A3
; 50 0.0000 xxx LEVEL_X, A0
; 51 11.1289 A1
; 52 0.0000 A2
; 53 11.1299 A3
; 54 0.0000 A4
; 55 11.1289 LEVEL_Y, A0
; 56 0.0000 A1
; 57 11.1299 A2
; 58 0.0000 A3
; 59 11.1289 A4
;
;
*Table 1 Program
01: 1.0 Execution Interval (seconds)
1: Z=F (P30)
1: 1 F
2: 00 Exponent of 10
3: 10 Z Loc [ LoggerId ]
; Start collecting data from the multiplexer
2: Do (P86)
1: 41 Set Port 1 High
; loop thru 416mux to Epply Pile
3: Do (P86)
1: 9 Call Subroutine 9
4: Beginning of Loop (P87)
1: 0 Delay
2: 4 Loop Count
5: Do (P86)
1: 9 Call Subroutine 9
; get pyg and pyr radiation data
6: Volt (Diff) (P2)
1: 1 Reps
2: 3 ñ 25 mV Slow Range
3: 1 DIFF Channel
4: 1 -- Loc [ pygin_raw ]
5: 1.0 Mult
6: 0.0 Offset
; get Epply temperature data
7: Volt (Diff) (P2)
1: 1 Reps
2: 5 ñ 2500 mV Slow Range
3: 2 DIFF Channel
4: 14 -- Loc [ PYGI4_Tc ]
5: 1.0 Mult
6: 0.0 Offset
8: End (P95)
; get the level sensor data
9: Do (P86)
1: 9 Call Subroutine 9
10: Volt (Diff) (P2)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 1 DIFF Channel
4: 20 Loc [ LEVEL_X ]
5: .001 Mult
6: 0.0 Offset
; get Epply temperature data
11: Volt (Diff) (P2)
1: 1 Reps
2: 5 ñ 2500 mV Slow Range
3: 2 DIFF Channel
4: 21 Loc [ LEVEL_Y ]
5: .001 Mult
6: 0.0 Offset
12: Do (P86)
1: 51 Set Port 1 Low
; now get PYGOUT at 1 meter
13: Volt (Diff) (P2)
1: 1 Reps
2: 3 25 mV Slow Range
3: 4 DIFF Channel
4: 13 Loc [ PYGOUT_1 ]
5: 1.0 Mult
6: 0.0 Offset
14: Volt (Diff) (P2)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 5 DIFF Channel
4: 18 Loc [ PYGO1_Tc ]
5: 1.0 Mult
6: 0.0 Offset
15: Volt (Diff) (P2)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 DIFF Channel
4: 19 Loc [ PYGO1_Td ]
5: 1.0 Mult
6: 0.0 Offset
; Compute some real values, piles first
16: Z=X*F (P37)
1: 1 X Loc [ pygin_raw ]
2: 0.0 F @@0
3: 11 Z Loc [ PYGIN_4 ]
17: Z=X*F (P37)
1: 2 X Loc [ pygot_raw ]
2: 0.0 F @@1
3: 12 Z Loc [ PYGOUT_4 ]
18: Z=X*F (P37)
1: 13 X Loc [ PYGOUT_1 ]
2: 0.0 F @@2
3: 13 Z Loc [ PYGOUT_1 ]
; now lets do the temperatures
; convert raw PYG.IN.Tcase at 4m
19: Z=F (P30)
1: 0 F @@10
2: 00 Exponent of 10
3: 31 Z Loc [ V_Vx ]
20: Z=X/Y (P38)
1: 31 X Loc [ V_Vx ]
2: 14 Y Loc [ PYGI4_Tc ]
3: 31 Z Loc [ V_Vx ]
21: Do (P86)
1: 2 Call Subroutine 2
22: Polynomial (P55)
1: 1 Reps
2: 31 X Loc [ V_Vx ]
3: 31 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@12
6: 0 C2 @@13
7: 0 C3 @@14
8: 0.0 C4
9: 0.0 C5
23: Z=F (P30)
1: 0.0 F @@11
2: -3 Exponent of 10
3: 33 Z Loc [ B0 ]
24: Z=X+Y (P33)
1: 31 X Loc [ V_Vx ]
2: 33 Y Loc [ B0 ]
3: 31 Z Loc [ V_Vx ]
25: Do (P86)
1: 3 Call Subroutine 3
26: Z=X (P31)
1: 31 X Loc [ V_Vx ]
2: 14 Z Loc [ PYGI4_Tc ]
; convert raw PYG.IN.Tdome at 4m
27: Z=F (P30)
1: 0 F @@15
2: 00 Exponent of 10
3: 31 Z Loc [ V_Vx ]
28: Z=X/Y (P38)
1: 31 X Loc [ V_Vx ]
2: 15 Y Loc [ PYGI4_Td ]
3: 31 Z Loc [ V_Vx ]
29: Do (P86)
1: 2 Call Subroutine 2
30: Polynomial (P55)
1: 1 Reps
2: 31 X Loc [ V_Vx ]
3: 31 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@17
6: 0 C2 @@18
7: 0 C3 @@19
8: 0.0 C4
9: 0.0 C5
31: Z=F (P30)
1: 0.0 F @@16
2: -3 Exponent of 10
3: 33 Z Loc [ B0 ]
32: Z=X+Y (P33)
1: 31 X Loc [ V_Vx ]
2: 33 Y Loc [ B0 ]
3: 31 Z Loc [ V_Vx ]
33: Do (P86)
1: 3 Call Subroutine 3
34: Z=X (P31)
1: 31 X Loc [ V_Vx ]
2: 15 Z Loc [ PYGI4_Td ]
; convert raw PYG.OUT.Tcase at 4m
35: Z=F (P30)
1: 0 F @@20
2: 00 Exponent of 10
3: 31 Z Loc [ V_Vx ]
36: Z=X/Y (P38)
1: 31 X Loc [ V_Vx ]
2: 16 Y Loc [ PYGO4_Tc ]
3: 31 Z Loc [ V_Vx ]
37: Do (P86)
1: 2 Call Subroutine 2
38: Polynomial (P55)
1: 1 Reps
2: 31 X Loc [ V_Vx ]
3: 31 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@22
6: 0 C2 @@23
7: 0 C3 @@24
8: 0.0 C4
9: 0.0 C5
39: Z=F (P30)
1: 0.0 F @@21
2: -3 Exponent of 10
3: 33 Z Loc [ B0 ]
40: Z=X+Y (P33)
1: 31 X Loc [ V_Vx ]
2: 33 Y Loc [ B0 ]
3: 31 Z Loc [ V_Vx ]
41: Do (P86)
1: 3 Call Subroutine 3
42: Z=X (P31)
1: 31 X Loc [ V_Vx ]
2: 16 Z Loc [ PYGO4_Tc ]
; convert raw PYG.OUT.Tdome at 4m
43: Z=F (P30)
1: 0 F @@25
2: 00 Exponent of 10
3: 31 Z Loc [ V_Vx ]
44: Z=X/Y (P38)
1: 31 X Loc [ V_Vx ]
2: 17 Y Loc [ PYGO4_Td ]
3: 31 Z Loc [ V_Vx ]
45: Do (P86)
1: 2 Call Subroutine 2
46: Polynomial (P55)
1: 1 Reps
2: 31 X Loc [ V_Vx ]
3: 31 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@27
6: 0 C2 @@28
7: 0 C3 @@29
8: 0.0 C4
9: 0.0 C5
47: Z=F (P30)
1: 0.0 F @@26
2: -3 Exponent of 10
3: 33 Z Loc [ B0 ]
48: Z=X+Y (P33)
1: 31 X Loc [ V_Vx ]
2: 33 Y Loc [ B0 ]
3: 31 Z Loc [ V_Vx ]
49: Do (P86)
1: 3 Call Subroutine 3
50: Z=X (P31)
1: 31 X Loc [ V_Vx ]
2: 17 Z Loc [ PYGO4_Td ]
; convert raw PYG.OUT.Tcase at 1.5m
51: Z=F (P30)
1: 0 F @@30
2: 00 Exponent of 10
3: 31 Z Loc [ V_Vx ]
52: Z=X/Y (P38)
1: 31 X Loc [ V_Vx ]
2: 18 Y Loc [ PYGO1_Tc ]
3: 31 Z Loc [ V_Vx ]
53: Do (P86)
1: 2 Call Subroutine 2
54: Polynomial (P55)
1: 1 Reps
2: 31 X Loc [ V_Vx ]
3: 31 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@32
6: 0 C2 @@33
7: 0 C3 @@34
8: 0.0 C4
9: 0.0 C5
55: Z=F (P30)
1: 0.0 F @@31
2: -3 Exponent of 10
3: 33 Z Loc [ B0 ]
56: Z=X+Y (P33)
1: 31 X Loc [ V_Vx ]
2: 33 Y Loc [ B0 ]
3: 31 Z Loc [ V_Vx ]
57: Do (P86)
1: 3 Call Subroutine 3
58: Z=X (P31)
1: 31 X Loc [ V_Vx ]
2: 18 Z Loc [ PYGO1_Tc ]
; convert raw PYG.OUT.Tdome at 1.5m
59: Z=F (P30)
1: 0 F @@35
2: 00 Exponent of 10
3: 31 Z Loc [ V_Vx ]
60: Z=X/Y (P38)
1: 31 X Loc [ V_Vx ]
2: 19 Y Loc [ PYGO1_Td ]
3: 31 Z Loc [ V_Vx ]
61: Do (P86)
1: 2 Call Subroutine 2
62: Polynomial (P55)
1: 1 Reps
2: 31 X Loc [ V_Vx ]
3: 31 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@37
6: 0 C2 @@38
7: 0 C3 @@39
8: 0.0 C4
9: 0.0 C5
63: Z=F (P30)
1: 0.0 F @@36
2: -3 Exponent of 10
3: 33 Z Loc [ B0 ]
64: Z=X+Y (P33)
1: 31 X Loc [ V_Vx ]
2: 33 Y Loc [ B0 ]
3: 31 Z Loc [ V_Vx ]
65: Do (P86)
1: 3 Call Subroutine 3
66: Z=X (P31)
1: 31 X Loc [ V_Vx ]
2: 19 Z Loc [ PYGO1_Td ]
67: Polynomial (P55)
1: 1 Reps
2: 20 X Loc [ LEVEL_X ]
3: 20 F(X) Loc [ LEVEL_X ]
4: 0.0 C0 @@50
5: 0.0 C1 @@51
6: 0.0 C2 @@52
7: 0.0 C3 @@53
8: 0.0 C4 @@54
9: 0.0 C5
68: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ LEVEL_Y ]
3: 21 F(X) Loc [ LEVEL_Y ]
4: 0.0 C0 @@55
5: 0.0 C1 @@56
6: 0.0 C2 @@57
7: 0.0 C3 @@58
8: 0.0 C4 @@59
9: 0.0 C5
; compute level values
; Is it time to send data out?
69: Time (P18)
1: 0 Seconds into current minute (maximum 60)
2: 5 Mod/By
3: 32 Loc [ TimeHack ]
70: IF (X<=>F) (P89)
1: 32 X Loc [ TimeHack ]
2: 4 <
3: 1 F
4: 10 Set Output Flag High
71: Sample (P70)
1: 1 Reps
2: 10 Loc [ LoggerId ]
72: Resolution (P78)
1: 1 High Resolution
73: Average (P71)
1: 11 Reps
2: 11 Loc [ PYGIN_4 ]
74: Serial Out (P96)
1: 52 Printer Comma/9600 Baud
*Table 2 Program
02: 0.0000 Execution Interval (seconds)
*Table 3 Subroutines
1: Beginning of Subroutine (P85)
1: 2 Subroutine 2
; compute x = ln[(V/Vx) - 1] / 1000
2: Z=X+F (P34)
1: 31 X Loc [ V_Vx ]
2: -1 F
3: 31 Z Loc [ V_Vx ]
3: Z=LN(X) (P40)
1: 31 X Loc [ V_Vx ]
2: 31 Z Loc [ V_Vx ]
4: Z=X*F (P37)
1: 31 X Loc [ V_Vx ]
2: .001 F
3: 31 Z Loc [ V_Vx ]
5: End (P95)
6: Beginning of Subroutine (P85)
1: 3 Subroutine 3
; finish T (case/dome) computation
7: Z=1/X (P42)
1: 31 X Loc [ V_Vx ]
2: 31 Z Loc [ V_Vx ]
8: Z=X+F (P34)
1: 31 X Loc [ V_Vx ]
2: -273.15 F
3: 31 Z Loc [ V_Vx ]
9: End (P95)
10: Beginning of Subroutine (P85)
1: 9 Subroutine 9
; pulse the AM416 multiplexer to the next bank of channels
11: Do (P86)
1: 72 Pulse Port 2
12: Excitation with Delay (P22)
1: 1 Ex Channel
2: 0 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0 mV Excitation
13: End (P95)
End Program
-Input Locations-
1 pygin_raw 1 1 1
2 pygot_raw 1 1 0
3 _________ 0 0 0
4 _________ 0 0 0
5 _________ 0 0 0
6 _________ 0 0 0
7 _________ 0 0 0
8 _________ 0 0 0
9 _________ 1 0 0
10 LoggerId 1 1 1
11 PYGIN_4 5 1 1
12 PYGOUT_4 9 1 1
13 PYGOUT_1 9 2 2
14 PYGI4_Tc 9 2 2
15 PYGI4_Td 9 2 1
16 PYGO4_Tc 9 2 1
17 PYGO4_Td 9 2 1
18 PYGO1_Tc 9 2 2
19 PYGO1_Td 17 2 2
20 LEVEL_X 1 1 2
21 LEVEL_Y 1 1 2
22 _________ 1 0 0
23 _________ 1 0 0
24 _________ 1 0 0
25 _________ 1 0 0
26 _________ 0 0 0
27 _________ 0 0 0
28 _________ 0 0 0
29 _________ 0 0 0
30 _________ 0 0 0
31 V_Vx 1 29 29
32 TimeHack 1 1 1
33 B0 1 6 6
34 _________ 0 0 0
35 _________ 0 0 0
36 _________ 0 0 0
37 _________ 0 0 0
38 _________ 0 0 0
39 _________ 0 0 0
40 _________ 0 0 0
41 _________ 0 0 0
42 _________ 1 0 0
-Program Security-
0000
0000
0000
-Mode 4-
0
1
2
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
50
51
52
53
54
55
56
57
58
59
-Final Storage Area 2-
0
-CR10X ID-
0
-CR10X Power Up-
3
17: Radiometers, Site tower, Fri 15-Nov-2002 14:22:45 MST, 25 meter radiation CR10X code
NOTE: comments in this code may not be up to date
;{CR10X}
; CASES99 - 30 meter radiation system
; This is a special program for the FLOS-II project
; The logger handles 4 pyrgeometers and 1 level sensor
;
; CR10 CHANNEL ASSIGNMENTS
; ANALOG CHANNELS
; 1H - comm 1H of AM416
; 1L - comm 1L of AM416
; 2H - comm 2H of AM416
; 2L - comm 2L of AM416
;
; 7 - level_X
; 8 - level_Y
;
; CONTROL PORTS
; C1 - reset signal to AM416
; C2 - clock to AM416
; C3 - control to soil moisture CS-615
;
; AM416 MULTIPLEXER CHANNELS
; 1-1H + PYGIN_1
; 1-1L -
;
; 1-2H + PYGIN_2
; 1-2L -
;
; 2-1H + PYGOUT_1
; 2-1L -
;
; 2-2H + PYGOUT_2
; 2-2L -
;
; 3-1H + PYGIN_1 Tcase
; 3-1L -
;
; 3-2H + PYGIN_1 Tdome
; 3-2L -
;
; 4-1H + PYGOUT_1 Tcase
; 4-1L -
;
; 4-2H + PYGOUT_1 Tdome
; 4-2L -
;
; 5-1H + PYGIN_2 Tcase
; 5-1L -
;
; 5-2H + PYGIN_2 Tdome
; 5-2L -
;
; 6-1H + PYGOUT_2 Tcase
; 6-1L -
;
; 6-2H + PYGOUT_2 Tdome
; 6-2L -
;
; OUTPUT MESSAGE FORMAT
; LOGGER #
; PYGIN_1
; PYGOUT_1
; PYGIN_2
; PYGOUT_2
; PYGIN_1 Tcase
; PYGOUT_1 Tcase
; PYGIN_2 Tcase
; PYGOUT_2 Tcase
; PYGIN_1 Tdome
; PYGOUT_1 Tdome
; PYGIN_2 Tdome
; PYGOUT_2 Tdome
; level_X
; level_Y
;
;
; EEROM SPACE USED FOR CALIBRATION COEFFICIENTS
; the coefficients below are examples!
;location value Serial Number description
; 6 255.10 xxxxxF3 Epply pyrgeometer, in_1 W/m^2/mV
; 7 268.82 xxxxxF3 Epply pyrgeometer, out_1 W/m^2/mV
; 8 255.10 xxxxxF3 Epply pyrgeometer, in_2 W/m^2/mV
; 9 268.82 xxxxxF3 Epply pyrgeometer, out_2 W/m^2/mV
; 10 2500 PYGIN_1 Tcase, Vref mV
; 11 .00335595 A0
; 12 .277486 A1
; 13 4.8993 A2
; 14 10.4799 A3
; 15 2500 PYGIN_1 Tdome, Vref mV
; 16 .00303674 A0
; 17 .289526 A1
; 18 -3.0453 A2
; 19 841.413 A3
; 20 2500 PYGOUT_1 Tcase, Vref mV
; 21 .00335405 A0
; 22 .28145 A1
; 23 3.04961 A2
; 24 289.824 A3
; 25 2500 PYGOUT_1 Tdome, Vref mV
; 26 .0030332 A0
; 27 .291681 A1
; 28 -3.4779 A2
; 29 870.025 A3
; 30 2500 PYGIN_2 Tcase, Vref mV
; 31 .00335595 A0
; 32 .277486 A1
; 33 4.8993 A2
; 34 10.4799 A3
; 35 2500 PYGIN_2 Tdome, Vref mV
; 36 .00303674 A0
; 37 .289526 A1
; 38 -3.0453 A2
; 39 841.413 A3
; 40 2500 PYGOUT_2 Tcase, Vref mV
; 41 .00335405 A0
; 42 .28145 A1
; 43 3.04961 A2
; 44 289.824 A3
; 45 2500 PYGOUT_2 Tdome, Vref mV
; 46 .0030332 A0
; 47 .291681 A1
; 48 -3.4779 A2
; 49 870.025 A3
; 50 0.0000 xxx level_X, A0
; 51 11.1289 A1
; 52 0.0000 A2
; 53 11.1299 A3
; 54 0.0000 A4
; 55 11.1289 level_Y, A0
; 56 0.0000 A1
; 57 11.1299 A2
; 58 0.0000 A3
; 59 11.1289 A4
;
;
*Table 1 Program
01: 1.0 Execution Interval (seconds)
1: Z=F (P30)
1: 1 F
2: 00 Exponent of 10
3: 1 Z Loc [ LoggerId ]
; Start collecting data from the multiplexer
2: Do (P86)
1: 41 Set Port 1 High
; loop thru 416mux to Epply Pile
3: Beginning of Loop (P87)
1: 0000 Delay
2: 2 Count(s)
4: Do (P86)
1: 9 Call Subroutine 9
; get PYGIN data
5: Volt (Diff) (P2)
1: 1 Reps
2: 3 ñ 25 mV Slow Range
3: 1 DIFF Channel
4: 2 -- Loc [ PYGIN_1 ]
5: 1.0 Mult
6: 0.0 Offset
6: Volt (Diff) (P2)
1: 1 Reps
2: 3 ñ 25 mV Slow Range
3: 2 DIFF Channel
4: 4 -- Loc [ PYGIN_2 ]
5: 1.0 Mult
6: 0.0 Offset
7: End (P95)
; now get PYG temperature data
8: Beginning of Loop (P87)
1: 0 Delay
2: 4 Count(s)
9: Do (P86)
1: 9 Call Subroutine 9
10: Volt (Diff) (P2)
1: 1 Reps
2: 5 ñ 2500 mV Slow Range
3: 1 DIFF Channel
4: 6 -- Loc [ PIN_1_TC ]
5: 1.0 Mult
6: 0.0 Offset
11: Volt (Diff) (P2)
1: 1 Reps
2: 5 ñ 2500 mV Slow Range
3: 2 DIFF Channel
4: 10 -- Loc [ PIN_1_TD ]
5: 1.0 Mult
6: 0.0 Offset
12: End (P95)
13: Do (P86)
1: 51 Set Port 1 Low
; Now the level sensors
14: Volts (SE) (P1)
1: 2 Reps
2: 5 ñ 2500 mV Slow Range
3: 7 SE Channel
4: 14 -- Loc [ LEVEL_X ]
5: .001 Mult
6: 0.0 Offset
; Compute some real values, piles first
15: Scaling Array (A*Loc+B) (P53)
1: 2 Start Loc [ PYGIN_1 ]
2: 0.0 A1 @@6
3: 0.0 B1
4: 0.0 A2 @@7
5: 0.0 B2
6: 0.0 A3 @@8
7: 0.0 B3
8: 0.0 A4 @@9
9: 0.0 B4
; now the temperatures
; convert raw PYGIN_1 Tcase to degrees C
16: Z=F (P30)
1: 0 F @@10
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
17: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 6 Y Loc [ PIN_1_TC ]
3: 21 Z Loc [ V_Vx ]
18: Do (P86)
1: 2 Call Subroutine 2
19: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@12
6: 0 C2 @@13
7: 0 C3 @@14
8: 0.0 C4
9: 0.0 C5
20: Z=F (P30)
1: 0.0 F @@11
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
21: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
22: Do (P86)
1: 3 Call Subroutine 3
23: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 6 Z Loc [ PIN_1_TC ]
; convert raw PYGOUT_1 Tcase to degrees C
24: Z=F (P30)
1: 0 F @@15
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
25: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 7 Y Loc [ POT_1_TC ]
3: 21 Z Loc [ V_Vx ]
26: Do (P86)
1: 2 Call Subroutine 2
27: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@17
6: 0 C2 @@18
7: 0 C3 @@19
8: 0.0 C4
9: 0.0 C5
28: Z=F (P30)
1: 0.0 F @@16
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
29: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
30: Do (P86)
1: 3 Call Subroutine 3
31: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 7 Z Loc [ POT_1_TC ]
; convert raw PYGIN_2 Tcase to degrees C
32: Z=F (P30)
1: 0 F @@20
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
33: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 8 Y Loc [ PIN_2_TC ]
3: 21 Z Loc [ V_Vx ]
34: Do (P86)
1: 2 Call Subroutine 2
35: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@22
6: 0 C2 @@23
7: 0 C3 @@24
8: 0.0 C4
9: 0.0 C5
36: Z=F (P30)
1: 0.0 F @@21
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
37: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
38: Do (P86)
1: 3 Call Subroutine 3
39: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 8 Z Loc [ PIN_2_TC ]
; convert raw PYGOUT_2 Tcase to degrees C
40: Z=F (P30)
1: 0 F @@25
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
41: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 9 Y Loc [ POT_2_TC ]
3: 21 Z Loc [ V_Vx ]
42: Do (P86)
1: 2 Call Subroutine 2
43: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@27
6: 0 C2 @@28
7: 0 C3 @@29
8: 0.0 C4
9: 0.0 C5
44: Z=F (P30)
1: 0.0 F @@26
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
45: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
46: Do (P86)
1: 3 Call Subroutine 3
47: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 9 Z Loc [ POT_2_TC ]
; convert raw PYGIN_1 Tdome to degrees C
48: Z=F (P30)
1: 0 F @@30
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
49: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 10 Y Loc [ PIN_1_TD ]
3: 21 Z Loc [ V_Vx ]
50: Do (P86)
1: 2 Call Subroutine 2
51: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@32
6: 0 C2 @@33
7: 0 C3 @@34
8: 0.0 C4
9: 0.0 C5
52: Z=F (P30)
1: 0.0 F @@31
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
53: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
54: Do (P86)
1: 3 Call Subroutine 3
55: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 10 Z Loc [ PIN_1_TD ]
; convert raw PYGOUT_1 Tdome to degrees C
56: Z=F (P30)
1: 0 F @@35
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
57: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 11 Y Loc [ POT_1_TD ]
3: 21 Z Loc [ V_Vx ]
58: Do (P86)
1: 2 Call Subroutine 2
59: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@37
6: 0 C2 @@38
7: 0 C3 @@39
8: 0.0 C4
9: 0.0 C5
60: Z=F (P30)
1: 0.0 F @@36
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
61: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
62: Do (P86)
1: 3 Call Subroutine 3
63: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 11 Z Loc [ POT_1_TD ]
; convert raw PYGIN_2 Tdome to degrees C
64: Z=F (P30)
1: 0 F @@40
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
65: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 12 Y Loc [ PIN_2_TD ]
3: 21 Z Loc [ V_Vx ]
66: Do (P86)
1: 2 Call Subroutine 2
67: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@42
6: 0 C2 @@43
7: 0 C3 @@44
8: 0.0 C4
9: 0.0 C5
68: Z=F (P30)
1: 0.0 F @@41
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
69: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
70: Do (P86)
1: 3 Call Subroutine 3
71: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 12 Z Loc [ PIN_2_TD ]
; convert raw PYGOUT_2 Tdome to degrees C
72: Z=F (P30)
1: 0 F @@45
2: 00 Exponent of 10
3: 21 Z Loc [ V_Vx ]
73: Z=X/Y (P38)
1: 21 X Loc [ V_Vx ]
2: 13 Y Loc [ POT_2_TD ]
3: 21 Z Loc [ V_Vx ]
74: Do (P86)
1: 2 Call Subroutine 2
75: Polynomial (P55)
1: 1 Reps
2: 21 X Loc [ V_Vx ]
3: 21 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@47
6: 0 C2 @@48
7: 0 C3 @@49
8: 0.0 C4
9: 0.0 C5
76: Z=F (P30)
1: 0.0 F @@46
2: -3 Exponent of 10
3: 23 Z Loc [ B0 ]
77: Z=X+Y (P33)
1: 21 X Loc [ V_Vx ]
2: 23 Y Loc [ B0 ]
3: 21 Z Loc [ V_Vx ]
78: Do (P86)
1: 3 Call Subroutine 3
79: Z=X (P31)
1: 21 X Loc [ V_Vx ]
2: 13 Z Loc [ POT_2_TD ]
; Now the level sensors
80: Polynomial (P55)
1: 1 Reps
2: 14 X Loc [ LEVEL_X ]
3: 14 F(X) Loc [ LEVEL_X ]
4: 0.0 C0 @@50
5: 0.0 C1 @@51
6: 0.0 C2 @@52
7: 0.0 C3 @@53
8: 0.0 C4 @@54
9: 0.0 C5
81: Polynomial (P55)
1: 1 Reps
2: 15 X Loc [ LEVEL_Y ]
3: 15 F(X) Loc [ LEVEL_Y ]
4: 0.0 C0 @@55
5: 0.0 C1 @@56
6: 0.0 C2 @@57
7: 0.0 C3 @@58
8: 0.0 C4 @@59
9: 0.0 C5
; Is it time to send data out?
82: Time (P18)
1: 0 Seconds into current minute (maximum 60)
2: 5 Mod/By
3: 22 Loc [ TimeHack ]
83: IF (X<=>F) (P89)
1: 22 X Loc [ TimeHack ]
2: 4 <
3: 1 F
4: 10 Set Output Flag High
84: Sample (P70)
1: 1 Reps
2: 1 Loc [ LoggerId ]
85: Resolution (P78)
1: 1 High Resolution
86: Average (P71)
1: 14 Reps
2: 2 Loc [ PYGIN_1 ]
87: Serial Out (P96)
1: 52 Printer Comma/9600 Baud
*Table 2 Program
02: 0.0000 Execution Interval (seconds)
*Table 3 Subroutines
1: Beginning of Subroutine (P85)
1: 2 Subroutine 2
; compute x = ln[(V/Vx) - 1] / 1000
2: Z=X+F (P34)
1: 21 X Loc [ V_Vx ]
2: -1 F
3: 21 Z Loc [ V_Vx ]
3: Z=LN(X) (P40)
1: 21 X Loc [ V_Vx ]
2: 21 Z Loc [ V_Vx ]
4: Z=X*F (P37)
1: 21 X Loc [ V_Vx ]
2: .001 F
3: 21 Z Loc [ V_Vx ]
5: End (P95)
6: Beginning of Subroutine (P85)
1: 3 Subroutine 3
; finish T (case/dome) computation
7: Z=1/X (P42)
1: 21 X Loc [ V_Vx ]
2: 21 Z Loc [ V_Vx ]
8: Z=X+F (P34)
1: 21 X Loc [ V_Vx ]
2: -273.15 F
3: 21 Z Loc [ V_Vx ]
9: End (P95)
10: Beginning of Subroutine (P85)
1: 9 Subroutine 9
; pulse the AM416 multiplexer to the next bank of channels
11: Do (P86)
1: 72 Pulse Port 2
12: Excitation with Delay (P22)
1: 1 Ex Channel
2: 0 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0 mV Excitation
13: End (P95)
End Program
-Input Locations-
1 LoggerId 1 1 1
2 PYGIN_1 5 2 2
3 PYGOUT_1 9 2 1
4 PYGIN_2 9 2 2
5 PYGOUT_2 25 2 1
6 PIN_1_TC 9 2 2
7 POT_1_TC 9 2 1
8 PIN_2_TC 9 2 1
9 POT_2_TC 9 2 1
10 PIN_1_TD 9 2 2
11 POT_1_TD 9 2 1
12 PIN_2_TD 9 2 1
13 POT_2_TD 9 2 1
14 LEVEL_X 13 2 2
15 LEVEL_Y 17 2 2
16 _________ 0 0 0
17 _________ 0 0 0
18 _________ 0 0 0
19 _________ 0 0 0
20 _________ 1 0 0
21 V_Vx 1 37 37
22 TimeHack 1 1 1
23 B0 1 8 8
24 _________ 0 0 0
25 _________ 0 0 0
26 _________ 0 0 0
27 _________ 0 0 0
28 _________ 0 0 0
-Program Security-
0000
0000
0000
-Mode 4-
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
-Final Storage Area 2-
0
-CR10X ID-
0
-CR10X Power Up-
3
16: Radiometers, Site all stns, Fri 15-Nov-2002 13:49:33 MST, Grass, Lake, and Sage CR10X code
NOTE: comments in this code may not be up to date
;{CR10}
; PROGRAM: FLOSS02 PLATFORM
; This program is specific to the FLOSS02 platforms. Additional
; sensors have been added to the data collection. A soil profile
; consisting of 3 sets of 2 levels with 2 sensors at each level has been added.
; These new data are multiplexed thru a AM16/32 unit.
; Refer to the information below on wiring.
; NOTE: An additional tsoil has been added to each soil profile
; CR10 CHANNEL ASSIGNMENTS
; ANALOG CHANNELS
; 1H - comm 1H of AM416
; 1L - comm 1L of AM416
; 2H - comm 2H of AM416
; 2L - comm 2L of AM416
;
; 3H - comm 1L of AM16/32 profile 1
; 3L - comm 2L of AM16/32 profile 1
;
; 4H + TP01, Hukseflux sensor
; 4L -
;
; 5H + TP01 heater voltage
; 5L -
;
; PULSE CHANNELS
; P1 - tipping bucket rain input
;
; EXCITATION CHANNELS
; E1 - excitation for T107 probes (H1 comm)
; E2 - excitation for ECHO probes (H2 comm)
; E3 - excitation for T soil probe
; NOTE: E1 and E2 get wired to H1 comm and H2 comm of the AM16/32 units
; CONTROL PORTS
; C1 - reset signal to AM416
; C2 - clock to AM416
; C3 - control to soil moisture CS-615
; C4 - reset signal to all AM16/32
;
; AM416 MULTIPLEXER CHANNELS
; 1-1H + Q7 net radiation
; 1-1L -
;
; 1-2H + LICOR 200-SA
; 1-2L -
;
; 2-1H + PYG_IN thermopile
; 2-1L -
;
; 3-1H + PYG_OUT thermopile
; 3-1L -
;
; 4-1H + PYR_IN (KIP)
; 4-1L -
;
; 5-1H + PYR_OUT (KIP)
; 5-1L -
;
; 2-2H + PYG_IN T_case
; 2-2L -
;
; 3-2H + PYG_IN T_dome
; 3-2L -
;
; 4-2H + PYG_OUT T_case
; 4-2L -
;
; 5-2H + PYG_OUT T_dome
; 5-2L -
;
; 6-1H + level sensor, X
; 6-1L -
;
; 6-2H + level sensor, Y
; 6-2L -
;
; 7-1H + HFT
; 7-1L -
;
; 8-1H Tsoil, refer to CR10X manual
; 8-1L
; 8-2H
; 8-2L
; AM16/32 MULTIPLEXER CHANNELS
; 1-1H T107-1 excitation
; 1-1L T107-1 signal
; 1-2H ECHO-1 excitation
; 1-2L ECHO-1 signal
;
; 2-1H T107-2 excitation
; 2-1L T107-2 signal
; 2-2H ECHO-2 excitation
; 2-2L ECHO-2 signal
;
; 3-1H T107-3 excitation
; 3-1L T107-3 signal
; 3-2H ECHO-3 excitation
; 3-2L ECHO-3 signal
;
; 4-1H T107-4 excitation
; 4-1L T107-4 signal
; 4-2H ECHO-4 excitation
; 4-2L ECHO-4 signal
;
; 5-1H T107-5 excitation
; 5-1L T107-5 signal
; 5-2H ECHO-5 excitation
; 5-2L ECHO-5 signal
;
; 6-1H T107-6 excitation
; 6-1L T107-6 signal
; 6-2H ECHO-6 excitation
; 6-2L ECHO-6 signal
;
; 7-1H T107-Tref excitation
; 7-1L T107-Tref signal
;
; 8-1l + HFT 1
; 8-2L -
;
; 9-1L + HFT 2
; 9-2L -
;
; 10-1L + HFT 3
; 10-2L -
;
; 11-1H T107-7 excitation
; 11-1L T107-7 signal
;
; 12-1H T107-8 excitation
; 12-1L T107-8 signal
;
; 13-1H T107-9 excitation
; 13-1L T107-9 signal
; FLOSS-II OUTPUT MESSAGE FORMAT
; LOGGER ID
; rain (tips per 10 second period)
; Q7
; PYG_IN
; PYG_OUT
; PYR_IN
; PYR_OUT
; PYG_IN Tcase
; PYG_IN Tdome
; PYG_OUT Tcase
; PYG_OUT Tdome
; T107 - 1
; T107 - 2
; T107 - 3
; T107 - 4
; T107 - 5
; T107 - 6
; T107 - 7
; T107 - 8
; T107 - 9
; ECHO - 1
; ECHO - 2
; ECHO - 3
; ECHO - 4
; EHCO - 5
; ECHO - 6
; HFT1
; HFT2
; HFT3
; TP01 senosr
; TP01 heater
; TP01 time 63%
;
; EEROM SPACE USED FOR CALIBRATION COEFFICIENTS
;location value Serial Number description
; 0 0.00 xxxxxx Q7 positive output W/m^2/mV
; 1 0.00 negative output
; 2 xxxxxx PYG in
; 3 xxxxxx PYG out
; 4 xxxxxx PSP in
; 5 xxxxxx PSP out
; 6 35.6 Hxxxxx REBS Heat Flux Transducer, W/m^2/mV
; 7 35.6 Hxxxxx REBS Heat Flux Transducer, W/m^2/mV
; 8 35.6 Hxxxxx REBS Heat Flux Transducer, W/m^2/mV
; 9 xxxx xxxxxx LICOR quantum sensor
; 10 A0 pygin_Tc
; 11 A1
; 12 A2
; 13 A3
; 14 A4
; 15 A0 pygin_Td
; 16 A1
; 17 A2
; 18 A3
; 19 A4
; 20 A0 pygout_Tc
; 21 A1
; 22 A2
; 23 A3
; 24 A4
; 25 A0 pygout_Td
; 26 A1
; 27 A2
; 28 A3
; 29 A4
; SUBROUTINES
;
; sub 1 : Q7 calibration
;
; sub 2 : stienhart equation
;
; sub 3 : stienhart equation
;
; sub 8 : step mulitplexer for soil profile array
; NOTE: the calibation for the ECHO probe is embedded in the
; data collection code, instruction # 12
*Table 1 Program
01: 10 Execution Interval (seconds)
1: Z=F (P30)
1: 1 F
2: 00 Exponent of 10
3: 10 Z Loc [ LoggerID ]
2: Pulse (P3)
1: 1 Reps
2: 1 Pulse Input Channel
3: 2 Switch Closure, All Counts
4: 11 Loc [ rain ]
5: 1.0 Mult
6: 0.0 Offset
; loop thru 416mux to get radiation data
3: Do (P86)
1: 41 Set Port 1 High
4: Do (P86)
1: 9 Call Subroutine 9
5: Volt (Diff) (P2)
1: 1 Reps
2: 4 ñ 250 mV Slow Range
3: 1 DIFF Channel
4: 12 Loc [ Q7 ]
5: 1.0 Mult
6: 0.0 Offset
6: Beginning of Loop (P87)
1: 0 Delay
2: 4 Loop Count
7: Do (P86)
1: 9 Call Subroutine 9
; get pyg and pyr radiation data
8: Volt (Diff) (P2)
1: 1 Reps
2: 3 ñ 25 mV Slow Range
3: 1 DIFF Channel
4: 5 -- Loc [ pygi_raw ]
5: 1.0 Mult
6: 0.0 Offset
; get Epply temperature data
9: Volt (Diff) (P2)
1: 1 Reps
2: 5 ñ 2500 mV Slow Range
3: 2 DIFF Channel
4: 17 -- Loc [ pygin_Tc ]
5: 1.0 Mult
6: 0.0 Offset
10: End (P95)
; end mutliplexer data collection
11: Do (P86)
1: 51 Set Port 1 Low
; convert raw data to calibrated information
; Q7 convert
12: Do (P86)
1: 1 Call Subroutine 1
; convert PYG and PYR data
13: Block Move (P54)
1: 4 No. of Values
2: 5 First Source Loc [ pygi_raw ]
3: 1 Source Step
4: 13 First Destination Loc [ pygin ]
5: 1 Destination Step
14: Scaling Array (A*Loc+B) (P53)
1: 13 Start Loc [ pygin ]
2: 0.0 A1 @@2
3: 0.0 B1
4: 0.0 A2 @@3
5: 0.0 B2
6: 0.0 A3 @@4
7: 0.0 B3
8: 0.0 A4 @@5
9: 0.0 B4
; now convert pyg temps
; convert raw PYGIN Tcase
15: Z=F (P30)
1: 0 F @@10
2: 00 Exponent of 10
3: 50 Z Loc [ V_Vx ]
16: Z=X/Y (P38)
1: 50 X Loc [ V_Vx ]
2: 17 Y Loc [ pygin_Tc ]
3: 50 Z Loc [ V_Vx ]
17: Do (P86)
1: 2 Call Subroutine 2
18: Polynomial (P55)
1: 1 Reps
2: 50 X Loc [ V_Vx ]
3: 50 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@12
6: 0 C2 @@13
7: 0 C3 @@14
8: 0.0 C4
9: 0.0 C5
19: Z=F (P30)
1: 0.0 F @@11
2: -3 Exponent of 10
3: 51 Z Loc [ B0 ]
20: Z=X+Y (P33)
1: 50 X Loc [ V_Vx ]
2: 51 Y Loc [ B0 ]
3: 50 Z Loc [ V_Vx ]
21: Do (P86)
1: 3 Call Subroutine 3
22: Z=X (P31)
1: 50 X Loc [ V_Vx ]
2: 17 Z Loc [ pygin_Tc ]
; convert raw PYGIN Tdome
23: Z=F (P30)
1: 0 F @@15
2: 00 Exponent of 10
3: 50 Z Loc [ V_Vx ]
24: Z=X/Y (P38)
1: 50 X Loc [ V_Vx ]
2: 18 Y Loc [ pygin_Td ]
3: 50 Z Loc [ V_Vx ]
25: Do (P86)
1: 2 Call Subroutine 2
26: Polynomial (P55)
1: 1 Reps
2: 50 X Loc [ V_Vx ]
3: 50 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@17
6: 0 C2 @@18
7: 0 C3 @@19
8: 0.0 C4
9: 0.0 C5
27: Z=F (P30)
1: 0.0 F @@16
2: -3 Exponent of 10
3: 51 Z Loc [ B0 ]
28: Z=X+Y (P33)
1: 50 X Loc [ V_Vx ]
2: 51 Y Loc [ B0 ]
3: 50 Z Loc [ V_Vx ]
29: Do (P86)
1: 3 Call Subroutine 3
30: Z=X (P31)
1: 50 X Loc [ V_Vx ]
2: 18 Z Loc [ pygin_Td ]
; convert raw PYGOUT Tcase
31: Z=F (P30)
1: 0 F @@20
2: 00 Exponent of 10
3: 50 Z Loc [ V_Vx ]
32: Z=X/Y (P38)
1: 50 X Loc [ V_Vx ]
2: 19 Y Loc [ pygout_Tc ]
3: 50 Z Loc [ V_Vx ]
33: Do (P86)
1: 2 Call Subroutine 2
34: Polynomial (P55)
1: 1 Reps
2: 50 X Loc [ V_Vx ]
3: 50 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@22
6: 0 C2 @@23
7: 0 C3 @@24
8: 0.0 C4
9: 0.0 C5
35: Z=F (P30)
1: 0.0 F @@21
2: -3 Exponent of 10
3: 51 Z Loc [ B0 ]
36: Z=X+Y (P33)
1: 50 X Loc [ V_Vx ]
2: 51 Y Loc [ B0 ]
3: 50 Z Loc [ V_Vx ]
37: Do (P86)
1: 3 Call Subroutine 3
38: Z=X (P31)
1: 50 X Loc [ V_Vx ]
2: 19 Z Loc [ pygout_Tc ]
; convert raw PYGOUT Tdome
39: Z=F (P30)
1: 0 F @@25
2: 00 Exponent of 10
3: 50 Z Loc [ V_Vx ]
40: Z=X/Y (P38)
1: 50 X Loc [ V_Vx ]
2: 20 Y Loc [ pygout_Td ]
3: 50 Z Loc [ V_Vx ]
41: Do (P86)
1: 2 Call Subroutine 2
42: Polynomial (P55)
1: 1 Reps
2: 50 X Loc [ V_Vx ]
3: 50 F(X) Loc [ V_Vx ]
4: 0.0 C0
5: 0 C1 @@27
6: 0 C2 @@28
7: 0 C3 @@29
8: 0.0 C4
9: 0.0 C5
43: Z=F (P30)
1: 0.0 F @@26
2: -3 Exponent of 10
3: 51 Z Loc [ B0 ]
44: Z=X+Y (P33)
1: 50 X Loc [ V_Vx ]
2: 51 Y Loc [ B0 ]
3: 50 Z Loc [ V_Vx ]
45: Do (P86)
1: 3 Call Subroutine 3
46: Z=X (P31)
1: 50 X Loc [ V_Vx ]
2: 20 Z Loc [ pygout_Td ]
; here is the new code for the profile stuff
47: Do (P86)
1: 44 Set Port 4 High
; Loop to collect T107 and ECH2O
48: Beginning of Loop (P87)
1: 0000 Delay
2: 6 Loop Count
49: Do (P86)
1: 8 Call Subroutine 8
50: Temp (107) (P11)
1: 1 Reps
2: 5 SE Channel
3: 1 Excite all reps w/E1
4: 21 -- Loc [ T107_1 ]
5: 1.0 Mult
6: 0.0 Offset
; Echo calibration is applied at this instruction
51: Excite-Delay (SE) (P4)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 6 SE Channel
4: 2 Excite all reps w/Exchan 2
5: 1 Delay (units 0.01 sec)
6: 2500 mV Excitation
7: 30 -- Loc [ ECHO_1 ]
8: .0695 Mult
9: -29.0 Offset
52: End (P95)
; pulse AM16/32 forward to HFT stuff, skip Tref
53: Do (P86)
1: 8 Call Subroutine 8
; Loop to collect T107 and ECH2O
54: Beginning of Loop (P87)
1: 0000 Delay
2: 3 Loop Count
55: Do (P86)
1: 8 Call Subroutine 8
56: Volt (Diff) (P2)
1: 1 Reps
2: 3 25 mV Slow Range
3: 3 DIFF Channel
4: 36 -- Loc [ HFT1 ]
5: 1.0 Mult
6: 0.0 Offset
57: End (P95)
; Loop to collect 3 more T107 probes
58: Beginning of Loop (P87)
1: 0000 Delay
2: 3 Loop Count
59: Do (P86)
1: 8 Call Subroutine 8
60: Temp (107) (P11)
1: 1 Reps
2: 5 SE Channel
3: 1 Excite all reps w/E1
4: 27 -- Loc [ T107_7 ]
5: 1.0 Mult
6: 0.0 Offset
61: End (P95)
; turn off AM16/32
62: Do (P86)
1: 54 Set Port 4 Low
; convert HFT data to engineering units
; HFT1
63: Z=X*F (P37)
1: 36 X Loc [ HFT1 ]
2: 0.0 F @@6
3: 36 Z Loc [ HFT1 ]
; HFT2
64: Z=X*F (P37)
1: 37 X Loc [ HFT2 ]
2: 0.0 F @@7
3: 37 Z Loc [ HFT2 ]
; HFT3
65: Z=X*F (P37)
1: 38 X Loc [ HFT3 ]
2: 0.0 F @@8
3: 38 Z Loc [ HFT3 ]
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
; now add the code for the Hukseflux TP01 sensor
; Measures the TP01 sensor output, parameter U in manual.
66: Volt (Diff) (P2)
1: 1 Reps
2: 3 25 mV Slow Range
3: 4 DIFF Channel
4: 39 Loc [ U_sen ]
5: 1.0 Mult
6: 0.0 Offset
; Measures the heater voltage, called U_heat in the manual.
; Multiplication by 0.001 to convert to Volts
67: Volt (Diff) (P2)
1: 1 Reps
2: 5 2500 mV Slow Range
3: 5 DIFF Channel
4: 40 Loc [ U_heat ]
5: 0.001 Mult
6: 0.0 Offset
; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
; ENTER the calibration interval
; Recommended: every 180 minutes (= 3 hours) start a measurement
; of thermal conductivity and diffusivity
68: If time is (P92)
1: 0 Minutes (Seconds --) into a
2: 180 Interval (same units as above)
3: 30 Then Do
; Copy the reading of the TP01 differential temperature sensor
69: Z=X (P31)
1: 39 X Loc [ U_sen ]
2: 55 Z Loc [ U_sen0 ]
; Put the heater on, control via port 7 and CR10X 12V switch
70: Do (P86)
1: 47 Set Port 7 High
71: End (P95)
; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
; 3 minutes (180 seconds) after the heating started,
; the sensor output will be stable, and another measurement is taken.
72: If time is (P92)
1: 3 Minutes (Seconds --) into a
2: 180 Interval (same units as above)
3: 30 Then Do
; Take the sensor output.
73: Z=X (P31)
1: 39 X Loc [ U_sen ]
2: 56 Z Loc [ U_senmax ]
74: Z=X (P31)
1: 40 X Loc [ U_heat ]
2: 57 Z Loc [ U_heatmax ]
; Take the voltage over the heater.
75: Z=X*Y (P36)
1: 57 X Loc [ U_heatmax ]
2: 57 Y Loc [ U_heatmax ]
3: 58 Z Loc [ U_heat_sq ]
; Calculate the mV difference caused due to the heater
76: Z=X-Y (P35)
1: 56 X Loc [ U_senmax ]
2: 55 Y Loc [ U_sen0 ]
3: 59 Z Loc [ U_senamp ]
; Determination of 63% of the signal amplitude.
77: Z=X*F (P37)
1: 59 X Loc [ U_senamp ] ;
2: 0.63 F
3: 60 Z Loc [ U_sen90 ]
; The value to compare with is U_comp.
78: Z=X-Y (P35)
1: 56 X Loc [ U_senmax ]
2: 60 Y Loc [ U_sen90 ]
3: 61 Z Loc [ U_comp ]
; The absolute value to avoid problems with polarity
79: Z=ABS(X) (P43)
1: 61 X Loc [ U_comp ]
2: 61 Z Loc [ U_comp ]
; Turn off the heater, the signal now starts settling down.
80: Do (P86)
1: 57 Set Port 7 Low
; Set the timer for the thermal diffusivity measurement to zero
81: Z=F (P30)
1: 1 F
2: 00 Exponent of 10
3: 62 Z Loc [ timer ]
; This activates the table 2 measurement of thermal diffusivity.
82: Do (P86)
1: 12 Set Flag 2 High
83: End (P95)
; check to see if 63% timer data is available
84: If Flag/Port (P91)
1: 23 Do if Flag 3 is Low
2: 30 Then Do
; set timer data to -9999
85: Z=F (P30)
1: -9999 F
2: 00 Exponent of 10
3: 41 Z Loc [ td_time ]
86: Else (P94)
; clear flag 3 and leave timer data alone
87: Do (P86)
1: 23 Set Flag 3 Low
88: End (P95)
; end of Hukseflux code
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
89: Do (P86)
1: 10 Set Output Flag High
90: Sample (P70)
1: 1 Reps
2: 10 Loc [ LoggerID ]
91: Totalize (P72)
1: 1 Reps
2: 11 Loc [ rain ]
92: Resolution (P78)
1: 1 High Resolution
93: Average (P71)
1: 30 Reps
2: 12 Loc [ Q7 ]
94: Z=F (P30)
1: 0.0 F @@99
2: 00 Exponent of 10
3: 52 Z Loc [ BAUD ]
95: If (X<=>F) (P89)
1: 52 X Loc [ BAUD ]
2: 1 =
3: 1 F
4: 30 Then Do
; PAM at 1200 baud
96: Serial Out (P96)
1: 51 Printer Comma/1200 Baud
97: Else (P94)
; ASTER at 9600 baud
98: Serial Out (P96)
1: 52 Printer Comma/9600 Baud
99: End (P95)
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*Table 2 Program
02: 1 Execution Interval (seconds)
; Every 1 second is needed to get sufficient accuracy for the thermal diffusivity
; measurement.
; Only executed when the heater is has just been switched off.
1: If Flag/Port (P91)
1: 12 Do if Flag 2 is High
2: 30 Then Do
; timer one second incremented
2: Z=Z+1 (P32)
1: 62 Z Loc [ timer ]
; Measures the TP01 sensor output .
3: Volt (Diff) (P2)
1: 1 Reps
2: 3 25 mV Slow Range
3: 4 DIFF Channel
4: 63 Loc [ U_sen_ab ]
5: 1.0 Mult
6: 0.0 Offset
4: Z=ABS(X) (P43)
1: 63 X Loc [ U_sen_ab ]
2: 63 Z Loc [ U_sen_ab ]
; Compare the sensor output to the 37% value
5: If (X<=>Y) (P88)
1: 61 X Loc [ U_comp ]
2: 3 >=
3: 63 Y Loc [ U_sen_ab ]
4: 30 Then Do
; The timer information is stored in td_time
; Now we know how much time it took to resettle.
6: Z=X (P31)
1: 62 X Loc [ timer ]
2: 41 Z Loc [ td_time ]
; ready again for new measurement instruction.
7: Do (P86)
1: 22 Set Flag 2 Low
; set flag to trigger output signal in program 1
8: Do (P86)
1: 13 Set Flag 3 High
9: End (P95)
10: If (X<=>F) (P89)
1: 62 X Loc [ timer ]
2: 3 >=
3: 0.0 F @@50
4: 30 Then Do
; The thermal diffusivity is set to zero, because too much time has passed
; before return to the original value.
11: Z=F (P30)
1: 0 F
2: 00 Exponent of 10
3: 41 Z Loc [ td_time ]
; Ready again for new measurement instruction
12: Do (P86)
1: 22 Set Flag 2 Low
; set flag to trigger output signal in program 1
13: Do (P86)
1: 13 Set Flag 3 High
14: End (P95)
15: End (P95)
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*Table 3 Subroutines
1: Beginning of Subroutine (P85)
1: 1 Subroutine 1
; calibrate value of net rad based on sign
2: IF (X<=>F) (P89)
1: 12 X Loc [ Q7 ]
2: 4 <
3: 0 F
4: 30 Then Do
3: Z=X*F (P37)
1: 12 X Loc [ Q7 ]
2: 0 F @@1
3: 12 Z Loc [ Q7 ]
4: Else (P94)
5: Z=X*F (P37)
1: 12 X Loc [ Q7 ]
2: 0 F @@0
3: 12 Z Loc [ Q7 ]
6: End (P95)
7: End (P95)
8: Beginning of Subroutine (P85)
1: 2 Subroutine 2
; compute x = ln[(V/Vx) - 1] / 1000
9: Z=X+F (P34)
1: 50 X Loc [ V_Vx ]
2: -1 F
3: 50 Z Loc [ V_Vx ]
10: Z=LN(X) (P40)
1: 50 X Loc [ V_Vx ]
2: 50 Z Loc [ V_Vx ]
11: Z=X*F (P37)
1: 50 X Loc [ V_Vx ]
2: .001 F
3: 50 Z Loc [ V_Vx ]
12: End (P95)
13: Beginning of Subroutine (P85)
1: 3 Subroutine 3
; finish T (case/dome) computation
14: Z=1/X (P42)
1: 50 X Loc [ V_Vx ]
2: 50 Z Loc [ V_Vx ]
15: Z=X+F (P34)
1: 50 X Loc [ V_Vx ]
2: -273.15 F
3: 50 Z Loc [ V_Vx ]
16: End (P95)
17: Beginning of Subroutine (P85)
1: 8 Subroutine 8
18: Do (P86)
1: 75 Pulse Port 5
19: Excitation with Delay (P22)
1: 1 Ex Channel
2: 0000 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0000 mV Excitation
20: End (P95)
21: Beginning of Subroutine (P85)
1: 9 Subroutine 9
; pulse the AM416 multiplexer to the next bank of channels
22: Do (P86)
1: 72 Pulse Port 2
23: Excitation with Delay (P22)
1: 1 Ex Channel
2: 0 Delay W/Ex (units = 0.01 sec)
3: 1 Delay After Ex (units = 0.01 sec)
4: 0 mV Excitation
24: End (P95)
End Program
-Input Locations-
1 ACTIVE 1 0 0
2 TimeHack 1 0 0
3 Tref 1 0 0
4 _________ 1 0 0
5 pygi_raw 1 6 1
6 pygo_raw 1 5 0
7 pyri_raw 1 5 0
8 pyro_raw 1 5 0
9 _________ 1 0 0
10 LoggerID 1 1 1
11 rain 1 1 1
12 Q7 5 9 6
13 pygin 15 1 2
14 pygout 11 1 2
15 pyrin 11 1 2
16 pyrout 27 1 2
17 pygin_Tc 9 1 2
18 pygin_Td 9 1 1
19 pygout_Tc 9 1 1
20 pygout_Td 9 1 1
21 T107_1 9 2 1
22 T107_2 9 2 0
23 T107_3 9 2 0
24 T107_4 9 2 0
25 T107_5 9 2 0
26 T107_6 9 2 0
27 T107_7 15 1 1
28 T107_8 11 1 0
29 T107_9 27 1 0
30 ECHO_1 25 2 1
31 ECHO_2 9 1 0
32 ECHO_3 9 1 0
33 ECHO_4 9 1 0
34 ECHO_5 9 1 0
35 ECHO_6 31 1 0
36 HFT1 9 1 2
37 HFT2 25 1 1
38 HFT3 9 0 1
39 U_sen 1 2 1
40 U_heat 1 1 1
41 td_time 1 0 3
42 _________ 0 0 0
43 _________ 0 0 0
44 _________ 0 0 0
45 _________ 0 0 0
46 _________ 0 0 0
47 _________ 0 0 0
48 _________ 0 0 0
49 _________ 0 0 0
50 V_Vx 1 21 21
51 B0 1 4 4
52 BAUD 1 1 1
53 _________ 0 0 0
54 _________ 0 0 0
55 U_sen0 1 1 1
56 U_senmax 1 2 1
57 U_heatmax 1 2 1
58 U_heat_sq 1 0 1
59 U_senamp 1 1 1
60 U_sen90 1 1 1
61 U_comp 1 2 2
62 timer 1 2 2
63 U_sen_ab 1 2 2
-Program Security-
0000
0000
0000
-Mode 4-
0
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
50
99
-Final Storage Area 2-
0
15: Radiometers, Site sage, Fri 15-Nov-2002 13:43:53 MST, PAM sage CR10X coffs
PAM sage CR10X coefficients
Q7-94916 NET(A+) 00 9.21
x A- 01 11.54
P26417 x 02 212.68
P27907 x 03 286.53
K940187 x 04 101.4198783
K970378 x 05 50.02501251
H983212 x 06 38.4
H993560 x 07 37.7
H943147 x 08 42.1
Tc-A0 x 10 2500
A1 x 11 3.355204
A2 x 12 .2795166
A3 x 13 3.950246
A4 x 14 209.3092
Tdin-A0 x 15 2500
A1 x 16 3.354969
A2 x 17 .2793838
A3 x 18 3.85506
A4 x 19 212.913
Tcot-A0 x 20 2500
A1 x 21 3.353713
A2 x 22 .2787871
A3 x 23 3.778048
A4 x 24 177.421
Tdot-A0 x 25 2500
A1 x 26 3.354732
A2 x 27 .2787514
A3 x 28 3.651471
A4 x 29 190.8095
HUX x 50 180
baud x 99 1
14: Radiometers, Site lake, Fri 15-Nov-2002 13:42:02 MST, PAM Lake CR10X coffs
PAM Lake Site CR10X coefficients
Q7-94197 NET(A+) 00 9.0
x A- 01 11.22
P29137 x 02 240.211386
P29136 x 03 234.741784
K970377 x 04 43.55400697
K940186 x 05 82.71298594
H983213 x 06 38.2
H983211 x 07 36.4
H943149 x 08 39.7
Tcin-A0 x 10 2500
A1 x 11 3.354167
A2 x 12 .278817
A3 x 13 3.653292
A4 x 14 222.2646
Tdin-A0 x 15 2500
A1 x 16 3.350057
A2 x 17 .279229
A3 x 18 3.147866
A4 x 19 -193.854
Tcot-A0 x 20 2500
A1 x 21 3.354344
A2 x 22 .278532
A3 x 23 3.845153
A4 x 24 185.129
Tdot-A0 x 25 2500
A1 x 26 3.354233
A2 x 27 .278537
A3 x 28 3.802989
A4 x 29 184.2122
HUX x 50 180
baud x 99 1
13: Radiometers, Site tower, Fri 15-Nov-2002 13:01:12 MST, tower-grass CR10X coffs
Tower Grass CR10X coefficients
Q7-97069 NET(A+) 00 9.27
x A- 01 11.48
P26416 x 02 290.866783
P29260 x 03 308.261406
K940181 x 04 82.3723229
K970379 x 05 45.51661356
H993563 x 06 38.9
H993562 x 07 37.3
H87034 x 08 36.8
Tc-A0 x 10 2500
A1 x 11 3.354472
A2 x 12 .2797812
A3 x 13 3.912974
A4 x 14 215.5208
Tdin-A0 x 15 2500
A1 x 16 3.052399
A2 x 17 .270981
A3 x 18 3.408667
A4 x 19 188.8687
Tcot-A0 x 20 2500
A1 x 21 3.353832
A2 x 22 .278595
A3 x 23 4.02801
A4 x 24 180.4266
Tdot-A0 x 25 2500
A1 x 26 3.053253
A2 x 27 .2706527
A3 x 28 3.530291
A4 x 29 166.282
HUX x 50 180
baud x 99 0
|