Browse Source

Show holes in time distribution

master
Michael Uleysky 1 week ago
parent
commit
3d1d6878c3
  1. 24
      actions/actioninfo.h
  2. 3
      doc.txt

24
actions/actioninfo.h

@ -46,6 +46,7 @@ MString ActionInfo_DoAction(const CLArgs& args, D& data)
// Header
message(titCol, ad.Title(), C());
// All times
{
const auto& times = ad.Times();
@ -61,6 +62,8 @@ MString ActionInfo_DoAction(const CLArgs& args, D& data)
if(uniform) out += ", step is " + timeCol + (times.back() - times.front()).Seconds() / (times.size() - 1) + C() + " s";
message(out);
}
// Selected times
{
const auto times = ad.TimeIndexes() | std::views::transform([&times = ad.Times()](size_t i) { return times[i]; });
@ -75,6 +78,27 @@ MString ActionInfo_DoAction(const CLArgs& args, D& data)
if(!onetime && !uniform) out += ", not uniform";
if(uniform) out += ", step is " + timeCol + (times.back() - times.front()).Seconds() / (times.size() - 1) + C() + " s";
message(out);
// Holes
if(times.size() > 1 && !uniform && args.contains("showholes"))
{
auto delta = times[1] - times[0];
for(size_t i = 1; i < times.size(); i++) delta = std::min(delta, times[i] - times[i - 1]);
out = "Holes:";
auto time = times[0];
size_t i = 0;
while(time + delta <= times.back() || i >= times.size())
{
if(time != times[i])
out += " " + time.ToTString();
else
i++;
time += delta;
}
message(out);
}
}
// Variables

3
doc.txt

@ -1,7 +1,8 @@
color, nocolor - включить/выключить цветной вывод в консоль.
Действия
info - показывает информацию об источнике данных. Собственных параметров нет. Обычно нужен параметр dataset для указания источника данных.
info - показывает информацию об источнике данных. Обычно нужен параметр dataset для указания источника данных.
showholes - при наличии этого параметра дополнительно показывает дырки в равномерной сетке времени, для которых отсутствуют данные. Для источников COPERNICUS и HYCOM.
tsc - получает физические величины на некоторой плоскости из источника данных. Параметры:
var или vars - список разделённых запятыми физических величин. Возможные значения: U, U2, u, v, ugeo, vgeo, temp, ptemp, pdens, sal, chl, mld, ssh, w, NO3, PO4, Si, O2, prprod, Cchl. Доступность тех или иных величин зависит от источника данных. Если источник имеет список переменных по умолчанию, то этот параметр может быть опущен.
time или пара timeb, timee. Параметр time может быть как одним моментом времени, так и регулярным выражением. Также time, timeb и timee могут быть одним из слов BEGIN, BEG, FIRST (соответствуют минимальному времени, для которого доступны данные) или END, LAST (соответствуют максимальному времени, для которого доступны данные). Если time меньше, чем BEGIN, будет использоваться минимальное время, если time больше END - максимальное. Если time регулярное выражение, то из набора данных выбираются моменты времени соответствующие этому выражению, и по ним проводится усреднение. Пара timeb и timee работает по аналогичному принципу, только выбираются моменты времени между timeb и timee включительно.

Loading…
Cancel
Save