#! /usr/bin/gawk -f

# Reads from standard input a price series, as in {../00-DATA/series}.
# Writes to standard ouput a list of pairs "{DATE} {PRICE}", with 
# a couple of years of zero paddings.
# Caller must specify "{DTFIN}", the last date in the input file.

/^20[0-9][0-9]-/ {
  dt = $1; pm = $16; 
  printf "%s %12.5f\n", dt, pm;
}

END {
  padyr("2019",28);
  padyr("2020",29);
  padyr("2021",28);
  padyr("2022",28);
  #  padyr("2023",28);
  # padyr("2024",29);
}

function padyr(yr,nfeb) {
  padmm((yr "-01"), 31);
  padmm((yr "-02"), nfeb);
  padmm((yr "-03"), 31);
  padmm((yr "-04"), 30);
  padmm((yr "-05"), 31);
  padmm((yr "-06"), 30);
  padmm((yr "-07"), 31);
  padmm((yr "-08"), 31);
  padmm((yr "-09"), 30);
  padmm((yr "-10"), 31);
  padmm((yr "-11"), 30);
  padmm((yr "-12"), 31);
}

function padmm(ym,nd) { 
  for (dd = 1; dd <= nd; dd++) { paddd(sprintf("%s-%02d", ym, dd)); }
}

function paddd(dt) {
  if (dt > dtfin) { printf "%s %12.5f\n", dt, 0; }
}