adding file cf.py (climate forcing)  it stores 3 classes :

cfData (retrieve data and return a pandas dataframe)

cfPlot (plot a pandas dataframe - timeseries of scattered point with several smoothers)

cfPrint(use a latex template to generate PDF reports )
adding file ecooputil.py (ecoop utility)  it stores 1 class "shareutil" to collect severasl utility methods :

zipdir (generate an archive .zip from a given directory)

uploadfile (use sftp to upload a given file on a remote server, it return a link or qrcode)

gistit (generate a gist from a given txt file and return a link, if the file is a notebook.json file it will return a link to nbviewer)

get_id (generate unic ID and optionally add a new directory on the file system)

ensure_dir (make a directory)

save_notebook (auto save a notebbok, used when publishing a notebook as gist)

which (check if an executable exist)