Reef Central Online Community

Go Back   Reef Central Online Community > Sponsor Forums > Neptune Systems
Blogs FAQ Calendar

Notices

User Tag List

Reply
Thread Tools
Unread 12/05/2007, 06:07 PM   #1
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
AC3 Best practices

After reading some recent threads I thought that this may be appropriate; a collection of best practices to ensure a health and happy tank.

I'll start with a few that I use:

Rule: Program with failure in mind - You should avoid code with open ended conditions

Bad:
If Temp > 80 Then COL ON
If Temp < 77 Then COL OFF

Better:
If Temp > 80 Then COL ON
If Temp > 84 Then COL OFF // Something may be wrong
If Temp > 83 Then ALM ON // Notify me
If Temp < 77 Then COL OFF

Reason and Fix: When a condition is open ended then the sky is the limit on the damage that can be caused. Since, under most conditions a tank should not get so out-of-wack that readings are off-the-scale of what would be reasonable add code to handle the unexpected (e.g., if you keep your tank between 75-77 then it would be VERY unlikley that the temp would ever reach < 72 or > 80 so code as such. Add code to handle the unexpected; (using the above example) if the temp > 80 then it may be more likley that something has failed, shutting down things may be the best solution and let the human figure it out.



Rule: Adjust heaters/chillers (if adjustment is possible) to have a threshold slightly more/less than the AC3.

Reason and Fix: If a timer gets stuck in the ON state then the device may be able to assist in keping the tank under critical conditions. A stuck heater, set slightly above AC3 setpoint is less likley to cause a problem than a heater set to 90 and stuck on.



Rule: Use an alarm timer

Reason: An alarm is active notification; something gets turned on (a buzzer, a light, email, pager, etc). An alarm gives that tank an ability to yelling when something may not be quite right.


Please add the things that you do to protect from tank meltdown!


kenargo is offline   Reply With Quote
Unread 12/06/2007, 12:45 PM   #2
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
greenhut had this idea...

Use a Feed cycles as a method for temporary override a timer's state. For example; if you want to turn on the VHOs for 15 minutes after lights out, say for late feeding or some tank maintenance. You could use a FEEDx timer to do that; after the feed timer expires the lights should revert back to whatever state they should be.

Example:

If FeedB 000 Then VHO ON


kenargo is offline   Reply With Quote
Unread 12/06/2007, 02:02 PM   #3
spreston
Registered Member
 
spreston's Avatar
 
Join Date: Jul 2007
Location: Edmond, OK
Posts: 373
Kenargo-If/when I decide to hook my chiller & heater to the AC the program statements you list are what I intend to use. I may add a max change statement, if the temp probe goes bad it can and will bounce around within a few degrees, ie 78-83-85-79.....then all the sudden up to 120. Thanks for posting the program.


spreston is offline   Reply With Quote
Unread 12/06/2007, 05:16 PM   #4
bmwardo
Registered Member
 
bmwardo's Avatar
 
Join Date: Sep 2003
Location: Sydney, AUS
Posts: 2,316
Very interesting, and certainly worth incorporating. Thanks!


__________________
~Brandon W.
bmwardo is offline   Reply With Quote
Unread 12/06/2007, 08:29 PM   #5
Tech Diver
Registered Member
 
Join Date: Nov 2003
Location: Concord, MA
Posts: 310
Excellent thread Ken!


Tech Diver is offline   Reply With Quote
Unread 12/09/2007, 09:13 AM   #6
scolley
ARKSC Founding Member
 
scolley's Avatar
 
Join Date: Dec 2004
Location: CT
Posts: 2,823
I am not a reefer, but use an AC III to drive a very high tech f/w planted tank. While my code may be different (controlling different systems to different parameters), the principals for coding an AC III should be the same.

I find it helpful to distinguish between something that needs my attention, but is not immediately critical, and those things that indicated a massive problem. So I use both the standard ALM& timer and an additional BAD% timer.

This is just a small sample of code showing how I would use that:

If pH < 06.00 Then ALM ON \\ Small problem that needs attention
If pH < 05.80 Then BAD ON \\ Something has gone very, very wrong!
If Temp < 80.0 Then ALM ON \\ Small problem that needs attention
If Temp > 85.0 Then ALM ON \\ Small problem that needs attention
If Temp > 90.0 Then BAD ON \\ Something has gone very, very wrong!


If Timer BAD = ON Then AIR ON \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then LT1 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then PM1 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then PM2 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then CO2 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then HT1 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then UV_ OFF \\Something very wrong, revert to minimal systems

The idea here is that there are some things that need attention - use the ALM for that, and intervene as needed. But other parameters values can indicate that something has gone WAY beyond anywhere they should ever go - indicating that the unexpected (and unknown) has happened, in all likelihood an equipment malfunction of some form. In which case the best course of action is assume the worst, and revert back to the absolute minimal life support until you can assess the situation and take remedial action.

I'm happy to say, my BAD timer has never kicked in. But it's nice to know it's there.


scolley is offline   Reply With Quote
Unread 12/28/2007, 11:49 PM   #7
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
Following a thread on this issue I thought it good to add here....

Be sure to use "If Time > 00:00 Then XXX ON/OFF" correctly.

It is very easy to get carried away and use the "If Time" statement to rid your display of "U"s but this may not always produce the output you expect. The following example is a case when you should NOT use the "If Time" statement:

If PH > 7.0 Then CO2 ON // CO2 ON when PH > 7.0
If PH < 6.5 Then CO2 OFF // CO2 stays ON until PH < 6.5

Or

If Temp > 79.0 Then COL ON // COL ON when Temp > 79.0
If Temp < 78.0 Then COL OFF // COL stays ON until Temp < 78.0

Or

If ORP < 300 Then OZN ON
If ORP > 350 Then OZN OFF

(I think you should get the idea by now).

You may be thinking, why can't you use the "If Timer" to initialize CO2, COL and OZN, after all you will get a "U" if the AC3 is updated and the values fall in the middle of the ranges and the timer might be ON or OFF and I won't know.

To understand this we need to walk through the logic, placing the initializer there to see why it causes problems...

Let's take one:

If Time > 00:00 Then COL OFF // Init COL to OFF
If Temp > 79.0 Then COL ON // COL ON when Temp > 79
If Temp < 78.0 Then COL OFF // COL OFF when Temp < 78

Hmm, looks like it will work, right.....

What will happen in the above is that the COL will turn on when Temp > 79.0 but it will turn off when the Temp drops to 79.0; it wil not stay on until Temp < 78.0. Do you see why, I'll explain...

The "If Time" initializes COL to "OFF" and this happens for each evaluation cycle. Next the Temp is tested and if it is 79.1 (which is greater than 79.0) the COL os turned ON (great, just what I wanted). Next evaluation the COL if initialized to "OFF" and the Temp has dropped to 79.0 and since 79.0 is not > 79.0 COL state remains unchanged (OFF, set by the "If Time") and since no other statement affects COL it will be turned off.

But what state is my timer in when "U" is displayed. The real answer is that it can be ON or it can be OFF; the "U" says that the AC3 does not if it should turn it ON or OFF (so it does nothing). Wow, that means my heater could be on and I don't know it. The short answer is yes, but if the heater is ON then the tank temp will raise and you should hit the "If Temp" which will turn the heater OFF and remove the "U" until the next time you reset the AC3.

A good rule of thumb...

* Never use "If Timer > 00:00" to initialize a timer when you have ON and OFF statements for a timer, sooner or later the "U" will go away and the timer state will be known.

* Use "If Timer" when a timer can be initialized once, and changed by many conditions (it saves program lines). For example, turn a pump on by default and program feed cycles to turn it off.

Hope this makes sense...

Enjoy.


__________________
Click on my name to visit my homepage and access a collection of AquaController and Apex software, tips, trick and other Q&A including a link to the 'unofficial Apex new users guide' with loads of helpful information and don't forget to put a pin in my location map.

Current Tank Info: 225G, BK 300 Deluxe, Deltec PF601, Precision Marine Kalkreactor, 2-LMIII+6 pumps, SpectraPure UHE, Apex, LunarSim, Tunze 6305s. Mixed reef, clam, fish, etc.
kenargo is offline   Reply With Quote
Unread 04/23/2008, 12:38 PM   #8
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
I think this might help some people so I'm bumping it to the top.

Maybe we can get this pinned and add to it over time with more ideas and some code examples for the more challenging operations (e.g., the ones that require dummy timers)?


__________________
Click on my name to visit my homepage and access a collection of AquaController and Apex software, tips, trick and other Q&A including a link to the 'unofficial Apex new users guide' with loads of helpful information and don't forget to put a pin in my location map.

Current Tank Info: 225G, BK 300 Deluxe, Deltec PF601, Precision Marine Kalkreactor, 2-LMIII+6 pumps, SpectraPure UHE, Apex, LunarSim, Tunze 6305s. Mixed reef, clam, fish, etc.
kenargo is offline   Reply With Quote
Unread 04/23/2008, 01:02 PM   #9
JRaquatics
Awaiting Email Confirmation
 
Join Date: Sep 2005
Location: On RC
Posts: 3,609
Couldn't these codes also be used on a ACjr?


JRaquatics is offline   Reply With Quote
Unread 04/23/2008, 01:03 PM   #10
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
Yes, they are also allicable for the Jr


__________________
Click on my name to visit my homepage and access a collection of AquaController and Apex software, tips, trick and other Q&A including a link to the 'unofficial Apex new users guide' with loads of helpful information and don't forget to put a pin in my location map.

Current Tank Info: 225G, BK 300 Deluxe, Deltec PF601, Precision Marine Kalkreactor, 2-LMIII+6 pumps, SpectraPure UHE, Apex, LunarSim, Tunze 6305s. Mixed reef, clam, fish, etc.
kenargo is offline   Reply With Quote
Unread 04/23/2008, 01:12 PM   #11
JRaquatics
Awaiting Email Confirmation
 
Join Date: Sep 2005
Location: On RC
Posts: 3,609
Ken, as much as you help out Neptunes customers you really should be employed by Neptune. Thanks again for helping Mike and I the other week with the AC3.

Now back to the coding. I am trying to figure out, and how it can be programed into the ACjr
If Timer BAD = ON Then AIR ON \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then LT1 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then PM1 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then PM2 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then CO2 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then HT1 OFF \\Something very wrong, revert to minimal systems
If Timer BAD = ON Then UV_ OFF \\Something very wrong, revert to minimal systems


JRaquatics is offline   Reply With Quote
Unread 04/23/2008, 01:32 PM   #12
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
'Bad', represents a dummy timer; it is the same as ALM (alarm).

In the example above scolley is suggesting that there are multiple levels of bad. Scolley suggests separating them into 2 categories, 1 turning on the 'ALM' timer and the other turning on the 'BAD' timer. Scolley further describes how you could use the state of these timers to do 'something' which could preempt a full melt down.

A tank example might be to have ALM turn on when the temp > 80 but turn BAD on when the temp is over 90. The ALM might only need to send an email but BAD being on you may want to shut down all the lights on the tank and turn on the backup fans.

Does this help?


__________________
Click on my name to visit my homepage and access a collection of AquaController and Apex software, tips, trick and other Q&A including a link to the 'unofficial Apex new users guide' with loads of helpful information and don't forget to put a pin in my location map.

Current Tank Info: 225G, BK 300 Deluxe, Deltec PF601, Precision Marine Kalkreactor, 2-LMIII+6 pumps, SpectraPure UHE, Apex, LunarSim, Tunze 6305s. Mixed reef, clam, fish, etc.
kenargo is offline   Reply With Quote
Unread 04/23/2008, 02:25 PM   #13
JRaquatics
Awaiting Email Confirmation
 
Join Date: Sep 2005
Location: On RC
Posts: 3,609
Yup. For now, until I get in front of the controller.


JRaquatics is offline   Reply With Quote
Unread 05/31/2008, 08:55 PM   #14
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
Bringing to the top so it can be more easily found....


__________________
Click on my name to visit my homepage and access a collection of AquaController and Apex software, tips, trick and other Q&A including a link to the 'unofficial Apex new users guide' with loads of helpful information and don't forget to put a pin in my location map.

Current Tank Info: 225G, BK 300 Deluxe, Deltec PF601, Precision Marine Kalkreactor, 2-LMIII+6 pumps, SpectraPure UHE, Apex, LunarSim, Tunze 6305s. Mixed reef, clam, fish, etc.
kenargo is offline   Reply With Quote
Unread 06/15/2008, 04:35 PM   #15
TellyFish
Registered Member
 
TellyFish's Avatar
 
Join Date: Feb 2006
Location: Chicago 60607
Posts: 1,130
Someone should sticky this thread...


__________________
...and life spirals into astonishing diversity.

Current Tank Info: Hawaiian inspired 109g Miracles Rimless - 100g Prop Tank - 300g total system volume
TellyFish is offline   Reply With Quote
Unread 06/15/2008, 05:52 PM   #16
goldpony75
Registered Member
 
Join Date: May 2005
Location: Forest Lake, Minnesota
Posts: 17
Great ideas


goldpony75 is offline   Reply With Quote
Unread 06/21/2008, 03:51 PM   #17
Red Sea Purple Tang
Registered Member
 
Red Sea Purple Tang's Avatar
 
Join Date: Mar 2002
Location: Oak Creek, Wisconsin
Posts: 2,878
Great thread Ken!


__________________
E Malama O Ke Kai
><))))">
60g Deep Blue Professional Rimless Cube (24x24x24)
Trigger Systems Ruby 36S sump; 2-Vortech MP10wes; Reef Octopus 6 skimmer; Radion LED Fixture; Apex Controller.
Red Sea Purple Tang is offline   Reply With Quote
Unread 06/23/2008, 12:19 PM   #18
kenargo
Premium Member
 
kenargo's Avatar
 
Join Date: Jan 2007
Location: Redmond, WA
Posts: 8,151
Program which uses 2 float switches to fill RO/DI reserve:


If Time > 00:00 Then DM1 OFF // Init dummy timer to off
If Switch1 Closed Then DM1 ON // If lower switch closes then turn on dummy timer
Max Change 030 M Then DM1 ON // Allow the timer to stay on long enough to fill holding tank

If Time > 00:00 Then ROD OFF // RO/DI defaults to OFF
If Timer DM1 = ON Then ROD ON // If dummy timer is on (because low water level hit) then turn on RO/DI
If Switch2 Closed Then ROD OFF // If high water float hit then turn off RO/DI

In short the Max Change should be large enough to allow the holding tank to fill + a little. The Max Change gives you a backup in case Switch2 fails. If the holding tank fills before Max Change time then switch2 will float and turn off RO/DI


__________________
Click on my name to visit my homepage and access a collection of AquaController and Apex software, tips, trick and other Q&A including a link to the 'unofficial Apex new users guide' with loads of helpful information and don't forget to put a pin in my location map.

Current Tank Info: 225G, BK 300 Deluxe, Deltec PF601, Precision Marine Kalkreactor, 2-LMIII+6 pumps, SpectraPure UHE, Apex, LunarSim, Tunze 6305s. Mixed reef, clam, fish, etc.
kenargo is offline   Reply With Quote
Unread 07/20/2008, 11:20 AM   #19
Kengar
Registered Member
 
Kengar's Avatar
 
Join Date: Sep 2000
Location: Gaithersburg, MD (D.C. Metro Area)
Posts: 1,970
Picking up on Kenargos excellent comments for much the same reason, here is the temp control portion of my program:

If Temp < 78.8 Then HTR ON
If Temp > 78.9 Then HTR OFF
If Temp > 79.1 Then FAN ON
If Temp < 79.0 Then FAN OFF
If Temp > 81.0 Then MH1 OFF
Max Change 060 M Then MH1 OFF
If Temp > 82.0 Then MH2 OFF
Max Change 060 M Then MH2 OFF
If Temp > 82.5 Then ACT OFF
Max Change 060 M Then ACT OFF
If Temp < 77.5 Then ALM ON
If Temp < 77.5 Then HTR OFF
If Temp > 82.5 Then ALM ON

I just added the the last three lines the other day. Came home early on Friday and found the tank lights all off and the temp reading 115. Called Neptune and they confirmed that temp probe is bad. (It was a sudden failure; temp was reading steady steady steady on the data log, then all of a sudden it went haywire.) Had it failed "low" and stayed low, the heater would have come on and cooked the tank. By adding the last three lines (second to last one in particular), a failed temp probe should not cause tank to boil. (Note that I only have cooling fans on open top tank, which are not able to "freeze out" the whole tank. If you use a chiller, you should have an analogous statement (a la Kenargo's) to shut off the chiller (and lights, to be on the safe side) in the event temp exceeds some crazy number, e.g., 87, that would not be reached in ordinary real life situation.)


Kengar is offline   Reply With Quote
Unread 07/20/2008, 11:38 AM   #20
Kengar
Registered Member
 
Kengar's Avatar
 
Join Date: Sep 2000
Location: Gaithersburg, MD (D.C. Metro Area)
Posts: 1,970
Picking up on Kenargos excellent comments for much the same reason, here is the temp control portion of my program:

If Temp < 78.8 Then HTR ON
If Temp > 78.9 Then HTR OFF
If Temp > 79.1 Then FAN ON
If Temp < 79.0 Then FAN OFF
If Temp > 81.0 Then MH1 OFF
Max Change 060 M Then MH1 OFF
If Temp > 82.0 Then MH2 OFF
Max Change 060 M Then MH2 OFF
If Temp > 82.5 Then ACT OFF
Max Change 060 M Then ACT OFF
If Temp < 77.5 Then ALM ON
If Temp < 77.5 Then HTR OFF
If Temp > 82.5 Then ALM ON

I just added the the last three lines the other day. Came home early on Friday and found the tank lights all off and the temp reading 115. Called Neptune and they confirmed that temp probe is bad. (It was a sudden failure; temp was reading steady steady steady on the data log, then all of a sudden it went haywire.) Had it failed "low" and stayed low, the heater would have come on and cooked the tank. By adding the last three lines (second to last one in particular), a failed temp probe should not cause tank to boil. (Note that I only have cooling fans on open top tank, which are not able to "freeze out" the whole tank. If you use a chiller, you should have an analogous statement (a la Kenargo's) to shut off the chiller (and lights, to be on the safe side) in the event temp exceeds some crazy number, e.g., 87, that would not be reached in ordinary real life situation.)


Kengar is offline   Reply With Quote
Unread 08/07/2008, 10:34 AM   #21
gogatsbj
Registered Member
 
Join Date: Aug 2005
Location: Springfield, VA
Posts: 71
Here is the worst thing that has happened to me with my AC3. I have all the over protective statements as mentioned....but a human in the loop can always screw things up...

The heater was on and someone went into my basement to get a bottle of Rum and accidentally pulled out a DC4 plug...unfortunately this was the first DC in a line of many and with no power when the AC3 tried to the heater, plugged into a separate DC8 to shut off it could not...well the tank went up to 88 before I realized the lights had not come back on in the morning and went down to the basement to figure out what was going on..i was very confused as everything was still running until i noticed the heater was in off mode on the AC3 but was still emitting heat and my Refugium powerhead and salt storage pump were off and traced it back to the DC4 being unplugged, well I plugged in an bam, everything started working, lights turned on, which I turned off to keep the heat down as my sump fans worked there asses off to cool the temp down 9 degrees....anyway moral of the story is that a human in the loop can always break good equipment, by the way the alarm did not sound because it was plugged into the same DC8 as the heater and the AC3 could not talk to the DC8. I have the AC3 set up to email my pager now....everything survived and looks good (actually all my soft corals open a lot more know strangely enough) I took temp readings by three different means and determined my AC3 was off by about 5.5 degrees so the tank was running around 75ish when i though it was running around 80. With that fixed the tank is actually in better looking condition than ever.


gogatsbj is offline   Reply With Quote
Unread 08/07/2008, 05:00 PM   #22
anothermineral
Registered Member
 
anothermineral's Avatar
 
Join Date: Apr 2004
Location: NJ
Posts: 232
So would that be an RUI? Reefing Under the Influence.


__________________
Live and Learn
anothermineral is offline   Reply With Quote
Unread 08/09/2008, 09:16 AM   #23
Los
Registered Member
 
Los's Avatar
 
Join Date: Jun 2003
Location: Salisbury, MD - 2 hrs from DC
Posts: 819
Any other best practices? These are great. Also, is there a website where people post their Aquacontroller programs?


__________________
~~~~~
/ ^ ^\
| 0 0 |
.\ ~ / The Big Mo' - in honor of Trey and Matt

Current Tank Info: 360 reef / 700 system with 4xSfiligoi XR6s, Sfiligoi XR4, BubbleKing 300 Deluxe Internal, Deltec PF601s, PM Kalk, Deltec FR616, Deltec FR509, AquaController APEX, Tunze 6305, 2x6205, 2x6101, 6100, 3xDart Golds, Barracuda, Snapper, 2xOceans Motions
Los is offline   Reply With Quote
Unread 08/30/2008, 01:56 PM   #24
scolley
ARKSC Founding Member
 
scolley's Avatar
 
Join Date: Dec 2004
Location: CT
Posts: 2,823
How about this?


Max Change 015 M Then LT1 OFF


I've got restrike problems with my MH HQI ballast. They will NOT turn back on anytime within 12-15 minutes after having been turned off. And if you try to turn them on, that 12-15 minute clock just seems to start all over.

Having the above statement just keeps me from frustrating myself. If I foolishly try to turn them on too soon, I won't reset the clock. And if I turn them off manually for a few minutes, but have got a timer that will turn them back on soon, this prevents that problem too. They'll stay off as long as needed for the restrike to reset, but no longer.


scolley is offline   Reply With Quote
Unread 08/30/2008, 02:48 PM   #25
Los
Registered Member
 
Los's Avatar
 
Join Date: Jun 2003
Location: Salisbury, MD - 2 hrs from DC
Posts: 819
I'm not sure if this qualifies as a "best practices" pointer, but if you need to extend the distance between your PX-1000 and the main unit beyond the 15' max OR if you need to extend your DC4 or DC8 beyond the 10' max distance, I have detailed instructions on how to do it on my build thread on page 8. Just click on the little red house on top of my post and go to page 8 of the thread. I extended my DC8 to 100 feet with no problem and my PX-1000 to 45 feet. I'm not sure how much further I could go, since I didn't try, but at least to these lengths the solution works. Cheers and great thread.


__________________
~~~~~
/ ^ ^\
| 0 0 |
.\ ~ / The Big Mo' - in honor of Trey and Matt

Current Tank Info: 360 reef / 700 system with 4xSfiligoi XR6s, Sfiligoi XR4, BubbleKing 300 Deluxe Internal, Deltec PF601s, PM Kalk, Deltec FR616, Deltec FR509, AquaController APEX, Tunze 6305, 2x6205, 2x6101, 6100, 3xDart Golds, Barracuda, Snapper, 2xOceans Motions
Los is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On



All times are GMT -6. The time now is 03:42 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by Searchlight © 2024 Axivo Inc.
Use of this web site is subject to the terms and conditions described in the user agreement.
Reef CentralTM Reef Central, LLC. Copyright ©1999-2022
User Alert System provided by Advanced User Tagging v3.3.0 (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.