Code Monkey home page Code Monkey logo

Comments (5)

sruti avatar sruti commented on September 14, 2024

@bitner I believe this is done at the rollup table level. Is there documentation on that, that can be shared?

from openaq-api-v2.

caparker avatar caparker commented on September 14, 2024

I was trying to help out and see if I could figure this one out but I wanted to make sure that I was looking at the right code for the rollups. Do all the averages come from the rollup table that is managed with the code in the following file?
https://github.com/openaq/openaq-db/blob/main/openaqdb/idempotent/update_rollups.sql

from openaq-api-v2.

sruti avatar sruti commented on September 14, 2024

@caparker yes, that's correct. Thanks for looking into it! Feel free to join slack to get community help

from openaq-api-v2.

sruti avatar sruti commented on September 14, 2024

Looked into it a bit more. And all we need to do is add another WHERE statement on line 273 of update_rollups.sql

from openaq-api-v2.

caparker avatar caparker commented on September 14, 2024

One thing that you might run into is that -999 is not the only error code in your measurements, different instruments will have different ways to write their error codes. And its also possible (unlikely though) that -999 is a real value on one instrument type and and error code in another.

So what if you tallied and documented what each instrument reports as its error code, ideally include that in the meta data for the instrument. Then write the where condition to remove the error code from the measurements during rollup, and that where statement may need to be conditional on the instrument type. And then it would be nice if you include a count of errors in the rollup data so you could track it better.

I would also think about the validity of an average that has a lot or errors in it. For example, if one day has 100% valid values and the next day only has 10% valid values, are those two average comparable? I would say no BUT you could pass that decision on to the user so long as they have all the information needed, hence adding the error count to the rollup table.

from openaq-api-v2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.