moja-global / FLINT

Full Lands INtegration Tool: a modular system to estimate greenhouse gas emissions and removals by the land sector
https://moja.global/
Other
57 stars 81 forks source link

extendable land unit area concept. #56

Open leitchy opened 4 years ago

leitchy commented 4 years ago

Is your feature request related to a problem? Please describe. Currently the system calculates the Land UNit area using a method on the provider (area)

inline double ProviderSpatialRasterTiled::area(const CellIdx& cell) const {
   auto lat = _indexer->getLatFromIndex(cell);
   auto x = _indexer->cellDesc.latSize * DiameterOfEarthInMetersPerDeg;
   return x * x * cos(lat * DegToRadMultiplier) * 0.0001;
}

This can be overridden by having a variable called landUnitArea.

_landUnitController.initialiseData(true);
_spatiallocationinfo->_landUnitArea = _provider->area(cell);
_landUnitController.getVariable("landUnitArea")->set_value(_spatiallocationinfo->_landUnitArea);

This is clumsy and obscure.

Describe the solution you'd like

This should be definable in the system settings, in a similar fashion to Localdomain - simulateLandUnit. But perhaps in the Landscape object. Allowing the user to dwefine a variable that is the Area to use.

This way the variable can be used as a transform for eaxample. Either doing a SQL query or spatial layer lookup. Or just a differnt method to calculate the area.

Perhaps like: landUnitAreaVariable below:

{
    "LocalDomain": {
        "type": "spatial_tiled",
        "start_date": "2000/01/01",
        "end_date": "2020/12/31",
        "sequencer_library": "internal.flint",
        "sequencer": "CalendarAndEventFlintDataSequencer",
        "simulateLandUnit": "simulateLandUnit",
        "landUnitBuildSuccess": "landUnitBuildSuccess",
        "landUnitAreaVariable": "spatial_layer_area",
               ...
kartikeysaran commented 3 years ago

Can i work on this issue ?

gmajan commented 3 years ago

Of course. That would be great. You can join our Slack to connect with other developers.

kartikeysaran commented 3 years ago

@gmajan I have filled a PR #84 Can you please review it !

mavneeK commented 3 years ago

Hi @gmajan @leitchy! Can I work on this issue?

kartikeysaran commented 3 years ago

Hi @gmajan @leitchy! Can I work on this issue?

Hey @mavneeK , I am already working on this you can work on other issues 😉

vidhya001 commented 3 years ago

I am an Outreachy applicant .I found this issue interesting and I discussed with @kartikeysaran who is working on it. Can You assign this issue I would like to contribute to it @leitchy @gmajan

gmajan commented 3 years ago

@aornugent