PLCONFIGTIME(3plplot)

✨ PLCONFIGTIME πŸ’… β€” the plplot API, bestie edition πŸŽ€

Okay so this page is all about plconfigtime from the PLplot API manual, and it is literally the function that configures the transformation between continuous and broken-down time for the current stream. Yes ma'am, time math. Let's get into it πŸ•°οΈβœ¨


🌸 NAME 🌸

plconfigtime β€” configure the transformation between continuous and broken-down time for the current stream. That's the whole vibe. πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

plconfigtime(scale, offset1, offset2, ccontrol, ifbtime_offset, year,
month, day, hour, min, sec)

Look at all those arguments. Eleven of them. She's high-maintenance but she's worth it πŸ’…


πŸ’– DESCRIPTION πŸ’–

So here's the tea: plconfigtime configures the transformation between continuous and broken-down time for the current stream. This transformation is used by both plbtime(3plplot) and plctime(3plplot) β€” so yeah, those two are depending on you getting this right. No pressure bestie 🫢

Redacted form: General: plconfigtime(scale, offset1, offset2, ccontrol, ifbtime_offset, year, month, day, hour, min, sec)

This function is used in example 29. Iconic behavior honestly 🌟


🧚 ARGUMENTS 🧚

Every single one of them, coming right up. Buckle in πŸ’€

  • scale (PLFLT(3plplot), input) β€” the number of days per continuous time unit. Sounds simple, right? WRONG, there's a special case 🚨 As a special case, if scale is 0., then all other arguments are ignored, and the result (the default used by PLplot) is the equivalent of a call to plconfigtime(1./86400., 0., 0., 0x0, 1, 1970, 0, 1, 0, 0, 0.). That is, for this special case broken-down time is calculated with the proleptic Gregorian calendar with no leap seconds inserted, and the continuous time is defined as the number of seconds since the Unix epoch of 1970-01-01T00:00:00Z. Say it with me: epoch. Slay. πŸŽ€
  • offset1 (PLFLT(3plplot), input) β€” if ifbtime_offset is true, then offset1 and offset2 are completely ignored. Otherwise, the sum of these parameters (with units in days) specify the epoch of the continuous time relative to the MJD epoch corresponding to the Gregorian calendar date of 1858-11-17T00:00:00Z or JD = 2400000.5. Two PLFLT numbers are used to specify the origin to allow users (by specifying offset1 as an integer that can be exactly represented by a floating-point variable and specifying offset2 as a number in the range from 0. to 1) the chance to minimize the numerical errors of the continuous time representation. She's precise. She's careful. She's minimizing numerical errors, periodt πŸ’œ
  • offset2 (PLFLT(3plplot), input) β€” bestie, see the documentation of offset1. That's it. That's the whole entry 🌸
  • ccontrol (PLINT(3plplot), input) β€” ccontrol contains bits controlling the transformation. If the 0x1 bit is set, then the proleptic Julian calendar is used for broken-down time rather than the proleptic Gregorian calendar. If the 0x2 bit is set, then leap seconds that have been historically used to define UTC are inserted into the broken-down time. πŸ•°οΈ

Other possibilities for additional control bits for ccontrol exist such as making the historical time corrections in the broken-down time corresponding to ET (ephemeris time) or making the (slightly non-constant) corrections from international atomic time (TAI) to what astronomers define as terrestrial time (TT). But those additional possibilities have not been implemented yet in the qsastime library (one of the PLplot utility libraries). So don't come for her β€” future plans, not current features πŸ™ˆ

  • ifbtime_offset (PLBOOL(3plplot), input) β€” ifbtime_offset controls how the epoch of the continuous time scale is specified by the user. If ifbtime_offset is false, then offset1 and offset2 are used to specify the epoch, and the following broken-down time parameters are completely ignored. If ifbtime_offset is true, then offset1 and offset2 are completely ignored, and the following broken-down time parameters are used to specify the epoch. It's giving "pick a lane." And honestly? We respect it 😭
  • year (PLINT(3plplot), input) β€” year of epoch. Short and sweet ✨
  • month (PLINT(3plplot), input) β€” month of epoch in range from 0 (January) to 11 (December). Zero-indexed, because of course it is πŸ“
  • day (PLINT(3plplot), input) β€” day of epoch in range from 1 to 31.
  • hour (PLINT(3plplot), input) β€” hour of epoch in range from 0 to 23
  • min (PLINT(3plplot), input) β€” minute of epoch in range from 0 to 59.
  • sec (PLFLT(3plplot), input) β€” second of epoch in range from 0. to 60. Yes, PLFLT, and yes, up to 60 β€” leap seconds said hello 🌈
⚠️ quick vibe check: the ranges above are exactly what the original says, so don't be out here passing a month of 12 and then acting surprised. Iykyk πŸ’€

πŸ‘‘ AUTHORS πŸ‘‘

Many developers (who are credited at http://plplot.sourceforge.net/credits.php) have contributed to PLplot over its long history. A whole squad. A whole legacy. We stan a collaborative open-source community πŸ«ΆπŸ’–


⭐ SEE ALSO ⭐


Okay that's the whole page, you ate that πŸ’…

This has been PLCONFIGTIME(3plplot) from the PLplot API manual, and the version you're looking at is from August, 2026. Go configure some time transformations, you absolute icon πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from