Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

Estimating memory requirements


Feliperr Jan 31, 2017 03:02 PM

Hello; I have a 2 GB memory card installed on a Campbell NL115 interface and need to know in advance if this storage will be sufficient for storing 2 Tables (one table with wind speed collected at 1 s and the other with wind speed/direction averaged over a 10-m period). My measurement will extend for about 30 days. 

Could anybody show me how to estimate required memory size based on my particular configuration?

Thanks,

Felipe


jra Jan 31, 2017 03:12 PM

Let the datalogger tell you: http://www.campbellsci.com/videos?tutorial=110#slide=57 

The Table Fill Times tab shows the fill times for each table on the datalogger and on the card. 


kcopeland Jan 31, 2017 03:45 PM

I receive this question often from customers.  How does one estimate before purchasing the equipment?  Many customers purchase the datalogger based on specifications with out having the hardware on hand.  Is there a better way?


jra Jan 31, 2017 05:26 PM

Having a datalogger tell you is the best way. You can do a rough estimate without loading a program to the datalogger, it is rough because there are many factors that contribute to how much final storage memory is available. See the SRAM info in Table 100 of the CR1000 manual. 

Say you have a 4M CR1000, take off 10% for memory requirements other than final storage data. That leaves about 3.6M. You can conservatively calculate how much memory each record stored requires by using 2 bytes for each FP2 values and 4 bytes for each IEEE4 values and the number of characters allocated (1 byte per character) for STRING variables. Add 16 bytes for the timestamp. If you use the DataInterval() instruction, a timestamp is not be stored with each record but only once per 1K of memory used; so, that 16 bytes is very conservative.

Rough example: 

The DataTable below conservatively uses 40 bytes/hour (16 for timestamp, 8*2 for FP2 data, 2*4 for IEEE4 data) = 960 bytes/day. 3.6M/960 = 3750 days until the newest data starts to overwrite the oldest data. If I load that program into a 4M logger on my desk it reports 6469 days. Like I said, a conservative estimate.

Hope this helps.
Janet

DataTable (HOUR,true,-1)
DataInterval (0,60,MIN,10)
Minimum (1,Temp_F,FP2,0,False)
Maximum (1,Temp_F,FP2,0,False)
Average (1,Temp_F,FP2,False)
Sample (1,Wind_MPH,FP2)
Sample (1,Wind_Deg,FP2)
Average (1,Solar_Rad,IEEE4,False)
Totalize(1,Rain_MM,FP2,False)
Minimum (1,batt_volt,FP2,0,False)
Sample (1,BP,IEEE4)
Sample (1,rh,fp2)
EndTable


Feliperr Jan 31, 2017 05:29 PM

Thanks a lot Janet!


kcopeland Jan 31, 2017 05:38 PM

Great information.  Thanks Janet!

Log in or register to post/reply in the forum.