Jump to content


Photo

dealing with calibration periods

calibration FLightR geolocator GLS

Best Answer jeremyross , 29 March 2017 - 03:15 AM

Luke,

 

Looks like your calibration point was in the wrong hemisphere (positive longitude puts you in far east Russia). Your position should be listed as: CapLocs=c(-127.9704, 50.4475)

 

Jeremy

Go to the full post


  • Please log in to reply
7 replies to this topic

#1 L Halpin

L Halpin
  • Society Members
  • 10 posts
  • Vancouver, Canada,
  • Canada

Posted 07 March 2017 - 12:01 PM

I am using FLightR (ver.0.4.5) to process light-level data from Migrate Technology GLS deployed on burrow nesting seabirds.  Most GLS were deployed directly on the birds with no calibration period on the island where they nest.
 
However, I kept a subset of different GLS near to the location where GLS were deployed on birds (i.e. within 20 km) in an open location, without artificial light and without any foliage shading, for 1 week.

Of course, we know the location of the burrows, and those coordinates could be used as a calibration location, but the problem is that these birds go long distances (up to several hundred km) between attending their burrow and they only come and go from their burrows during dark hours of the night. The birds are long distance travelers and can be a long way from the colony by the time the sun rises.
 
Therefore, as I see it, light-levels of the device would not correspond well with the actual light levels at the calibration location if I used the colony site as the calibration location.
 
I would appreciate any advice on how best to deal with calibration in FLightR based on this scenario.
 
Cheers,
Luke


#2 Hendrik

Hendrik
  • General Members
  • 14 posts
  • Auckland,
  • New Zealand

Posted 13 March 2017 - 03:57 PM

Dear Luke,

 

I am also using FlightR to analyze Light Data from Migrate Technology, however I used them on skua and not on burrow nesting seabirds. I am not a modelling expert, but let me share my experience with you. For calibration, I have put all retrieved loggers post deployment in an open space for rooftop calibration. Ideally you have pre and post deployment calibrations, but the post calibration only seems to work fine for me. Ideally, you perform the calibration on each logger that was actually on the bird. However, I have tried using other logger's for calibration where only few or poor calibration data from the actual logger was available. The results do not differ much in most instances. The way I understand it, it does not really matter where you perform your calibration as long as you enter the correct calibration location into FlightR. The way I understand it, the calibration is used to compare the actual light curves measured by the logger with theoretical light curves for that specific location. So it should not matter at all where your birds were at the time of calibration, since you know where your calibration loggers were at the time. Please let me know if I got something wrong. I hope I could help you, but lets see what Eldar says! :)

 

PS: Maybe just try and create a calibration object with one of your calibration loggers. then load the light data of one of your birds (create a Proc.data object), and subsequently create a pre-run object with those. Run the model and see whether the results make sense! From my experience (skuas data is very shady during breeding) it is best to exclude very shady data and only use actual migration periods (i.e, times the birds were pelagic) for analysis.

 

Hendrik



#3 Eldar

Eldar
  • General Members
  • 48 posts
  • Netherlands,
  • Netherlands

Posted 14 March 2017 - 03:46 AM

  Hi Luke, 
I totally agree with Hendrik,

 You can try calibration from one tag with the other and it will likely work.

   Eldar



#4 L Halpin

L Halpin
  • Society Members
  • 10 posts
  • Vancouver, Canada,
  • Canada

Posted 16 March 2017 - 04:57 PM

Hi Hendrik, Eldar,

 

Thank you very much for your responses.

I am going to try your suggestion. I only have 6 twilight events on each calibrator tag, but I'll give it a go - hopefully it is enough calibration data.

 

I have previously analyzed this data in GeoLight and position of birds are as expected.  Unfortunately now I am experiencing errors with the make.calibration function.  It may be something that I have done incorrectly, but I can't tell.  First I defined twilights using GeoLight and then transform the twilights using GeoLight2TAGS function.  After that my code looks like this.  The error I experience is at the end. 

 

> X894.data<-get.tags.data("Twilight_tags/X894.tags.csv")
 
Detected Intigeo_Mode_4 tag
tag saved data every 300 seconds, and is assumed to measure data every 60 seconds, and write down max 
 
> CapLocs=c(127.9704, 50.4475)
 
> Calibration.periods<-data.frame(calibration.start = as.POSIXct(c(NA, "2016-06-05")),
+ calibration.stop = as.POSIXct(c("2016-06-28", NA)),
+ lon = CapLocs[1],
+ lat = CapLocs[2])
 
> Calibration.periods
  calibration.start calibration.stop      lon      lat
1              <NA>       2016-06-28 127.9704 50.44757
2        2016-06-05             <NA> 127.9704 50.44757
 
> Calibration <- make.calibration(X894.data, Calibration.periods, model.ageing = FALSE,
+ plot.each = FALSE, plot.final = TRUE, likelihood.correction = "auto",
+ suggest.irrad.borders = FALSE)
 
 dusk 21 was excluded from the calibration
Error in `$<-.data.frame`(`*tmp*`, "type", value = "Dusk") : 
  replacement has 1 row, data has 0
In addition: Warning messages:
1: In is.na(First.LogIrrad) :
  is.na() applied to non-(list or vector) of type 'NULL'
2: In is.na(Last.LogIrrad) :
  is.na() applied to non-(list or vector) of type 'NULL'
3: In is.na(First.LogIrrad) :
  is.na() applied to non-(list or vector) of type 'NULL'
4: In is.na(Last.LogIrrad) :
  is.na() applied to non-(list or vector) of type 'NULL'
 
Thanks,
Luke


#5 Eldar

Eldar
  • General Members
  • 48 posts
  • Netherlands,
  • Netherlands

Posted 17 March 2017 - 02:46 AM

  Hi Luke,

 Here is your problem:

Calibration.periods<-data.frame(calibration.start = as.POSIXct(c(NA, "2016-06-05")),
+ calibration.stop = as.POSIXct(c("2016-06-28", NA)),
+ lon = CapLocs[1],
+ lat = CapLocs[2])

Should be

Calibration.periods<-data.frame(calibration.start = as.POSIXct("2016-06-05"),
 calibration.stop = as.POSIXct("2016-06-28"),
 lon = CapLocs[1],
 lat = CapLocs[2])

  Eldar



#6 L Halpin

L Halpin
  • Society Members
  • 10 posts
  • Vancouver, Canada,
  • Canada

Posted 17 March 2017 - 07:46 PM

Hi Eldar,

 

Thanks for your response.  I reran the make.calibration function as suggested.

I still get the first part of the error about dawn/dusk exclusion from calibration:

 

 dusk 11 was excluded from the calibration
Error in `$<-.data.frame`(`*tmp*`, "type", value = "Dusk") : 
  replacement has 1 row, data has 0
 
 
The error is similar to the error reported in this post:
 
However, changing model.ageing command does not help.  
 
Luke


#7 jeremyross

jeremyross
  • Society Members
  • 2 posts
  • Norman, Oklahoma,
  • United States

Posted 29 March 2017 - 03:15 AM   Best Answer

Luke,

 

Looks like your calibration point was in the wrong hemisphere (positive longitude puts you in far east Russia). Your position should be listed as: CapLocs=c(-127.9704, 50.4475)

 

Jeremy



#8 L Halpin

L Halpin
  • Society Members
  • 10 posts
  • Vancouver, Canada,
  • Canada

Posted 29 March 2017 - 04:53 PM

Thanks, Jeremy.  Of course, this was user error on my part.

 

Luke







Also tagged with one or more of these keywords: calibration, FLightR, geolocator, GLS

0 user(s) are reading this topic

0 members(s), 0 guests(s) and 0 anonymous member(s)