icecube.offline_filterscripts.icetop_GCDmodification.overwrite_snowheights module

“Snow height” over the IceTop tanks is stored in the “G” frame of a GCD file, in the StationGeo object.

But since snow heights are changing continually over IceTop, each run needs its own customized G-frame storing an appropriate set of snow heights for all the IceTop tanks.

Snow heights are measured in-situ by the winterovers, roughly twice per year, and these measurements should be injected into the DB as they become available. So when gcdserver pulls from the DB to create the G-frame, it can pull the “latest” one. But that might be many months in the past.

This module takes the in-situ measurements from the DB, and performs a simple linear extrapolation (from the first non-zero measurement, to the most recent one), in order to estimate the snow heights on each tank for any given run (or day), and overwrites the snow height fields of the G-frame with these extrapolated numbers. It is meant to be run as part of the Northern Processing, after gcdserver creates the G-frame and all the I3Geometry objects within, but overwriting the snow heights before the finalized GCD file is written to disk.

The module can also be used to overwrite the snow height fields with values interpolated between (rather than extrapolated out from) in-situ measurements. If it sees that the date is in between existing measurements, it will do this automatically. This feature could be used to re-process data after-the-fact (such as in a “pass3” of old data, or if issues are found with the extrapolation procedure and something needs to be re-done later).

A collection of .json files, which were used to populate the DB in early 2023, are stored in this project in the resources/data/snowheight_json/ directory. However, these are just for “local testing” of the code outside of Madison. When run “for realsies”, this code should consult the DB itself, rather than these .json files.

– K. Rawlins

class icecube.offline_filterscripts.icetop_GCDmodification.overwrite_snowheights.ChangeSnowHeights_FromDB(ctx)

Bases: I3ConditionalModule

Configure((I3ConditionalModule)arg1) None :
C++ signature :

void Configure(PythonModule<I3ConditionalModule> {lvalue})

Geometry((I3ConditionalModule)arg1, (I3Frame)arg2) None :
C++ signature :

void Geometry(PythonModule<I3ConditionalModule> {lvalue},boost::shared_ptr<I3Frame>)