Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Historical Industry Value Added Figures to historical.mif #396

Conversation

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member

Test runs pending …

@fbenke-pik
Copy link
Contributor

Not sure if putting read and convert into one file is a problem (UNIDO.R as opposed to creating two files readUNIDO.R and convertUNIDO.R) @LaviniaBaumstark can you comment on this?

@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member Author

Not sure if putting read and convert into one file is a problem (UNIDO.R as opposed to creating two files readUNIDO.R and convertUNIDO.R) @LaviniaBaumstark can you comment on this?

Thought experiment: pick a random R function (not from within the pik-piam sphere) and tell me the name of the source file it was is.

@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member Author

No unexpected differences in output.

$ diff -I '^\*' -q rev6.52_62eff8f7_remind/ rev6.52-test-UNIDO_62eff8f7_remind/ | column -t
Files  rev6.52_62eff8f7_remind/config.rds       and  rev6.52-test-UNIDO_62eff8f7_remind/config.rds       differ
Files  rev6.52_62eff8f7_remind/diagnostics.log  and  rev6.52-test-UNIDO_62eff8f7_remind/diagnostics.log  differ
Files  rev6.52_62eff8f7_remind/pucFiles         and  rev6.52-test-UNIDO_62eff8f7_remind/pucFiles         differ

$ diff -I '^\*' -q rev6.52_62eff8f7_validationremind/ rev6.52-test-UNIDO_62eff8f7_validationremind/ | column -t
Files  rev6.52_62eff8f7_validationremind/config.rds       and  rev6.52-test-UNIDO_62eff8f7_validationremind/config.rds       differ
Files  rev6.52_62eff8f7_validationremind/diagnostics.log  and  rev6.52-test-UNIDO_62eff8f7_validationremind/diagnostics.log  differ
Files  rev6.52_62eff8f7_validationremind/historical.mif   and  rev6.52-test-UNIDO_62eff8f7_validationremind/historical.mif   differ
Files  rev6.52_62eff8f7_validationremind/pucFiles         and  rev6.52-test-UNIDO_62eff8f7_validationremind/pucFiles         differ

$ diff rev6.52_62eff8f7_validationremind/historical.mif rev6.52-test-UNIDO_62eff8f7_validationremind/historical.mif | cut -c -80
10576a10577,10628
> INDSTAT2;historical;CAZ;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;CHA;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;EUR;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;IND;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;JPN;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;LAM;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;MEA;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;NEU;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;OAS;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;REF;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;SSA;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;USA;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;World;cement;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;CAZ;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;CHA;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;EUR;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;IND;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;JPN;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;LAM;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;MEA;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;NEU;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;OAS;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;REF;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;SSA;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;USA;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;World;chemicals;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/
> INDSTAT2;historical;CAZ;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;CHA;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;EUR;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;IND;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;JPN;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;LAM;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;MEA;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;NEU;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;OAS;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;REF;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;SSA;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;USA;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N
> INDSTAT2;historical;World;otherInd;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A
> INDSTAT2;historical;CAZ;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;CHA;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;EUR;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;IND;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;JPN;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;LAM;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;MEA;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;NEU;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;OAS;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;REF;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;SSA;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;USA;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;
> INDSTAT2;historical;World;steel;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/A;N/

Copy link
Member

@LaviniaBaumstark LaviniaBaumstark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please, split UNIDO.R into readUNIDO.R and ConvertUNIDO.R, otherwise some functionality of madrat functions will get lost

@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member Author

please, split UNIDO.R into readUNIDO.R and ConvertUNIDO.R, otherwise some functionality of madrat functions will get lost

  1. Which madrat functionality would that be, that magically infers information about functions from files it has no access to?
  2. What are the special techniques used in these 128 examples that make this wonderous mardrat functionality work, so I can use it here as well?
    mrcommons/R/calcGDPppp.R: calcGDPppp
    mrcommons/R/calcGDPppp.R: calcGDPpppFuture
    mrcommons/R/calcGDPppp.R: calcGDPpppPast
    mrcommons/R/convertEurostat.R: convertEurostat
    mrcommons/R/convertEurostat.R: convertEurostatSectorEmi
    mrcommons/R/convertEurostat.R: convertEurostatMACCemi
    mrcommons/R/readEurostat.R: readEurostat
    mrcommons/R/readEurostat.R: readEurostatEmissions
    mrcommons/R/readGGCMICropCalendar.R: readGGCMICropCalendar
    mrcommons/R/readGGCMICropCalendar.R: toolReadArea
    mrcommons/R/readGGCMICropCalendar.R: toolReadCal
    mrdrivers/R/calcDriver.R: calcDriver
    mrdrivers/R/calcDriver.R: calcScenarioConstructor
    mrdrivers/R/calcDriver.R: calcHarmonizedData
    mrdrivers/R/calcDriver.R: calcPastData
    mrdrivers/R/calcDriver.R: calcFutureData
    mrdrivers/R/calcGDPFuture.R: calcGDPFuture
    mrdrivers/R/calcGDPFuture.R: calcInternalGDPFuture
    mrdrivers/R/calcGDPFuture.R: calcInternalGDPFutureSSPs
    mrdrivers/R/calcGDPFuture.R: calcInternalGDPFutureSDPs
    mrdrivers/R/calcGDPFuture.R: calcInternalGDPFutureSSP2EU
    mrdrivers/R/calcGDPFuture.R: calcInternalGDPMI
    mrdrivers/R/calcGDPHarmonized.R: calcGDPHarmonized
    mrdrivers/R/calcGDPHarmonized.R: toolMultiplyGDPpcWithPop
    mrdrivers/R/calcGDPHarmonized.R: toolGDPHarmonizeSSP2EU
    mrdrivers/R/calcGDPPast.R: calcGDPPast
    mrdrivers/R/calcGDPPast.R: calcInternalGDPPast
    mrdrivers/R/calcGDPPast.R: calcInternalGDPPastWDI
    mrdrivers/R/calcGDPPast.R: calcInternalGDPPastEurostat
    mrdrivers/R/calcGDPPast.R: calcInternalGDPPastJames
    mrdrivers/R/calcGDPPast.R: fillWithWBFromJames2019
    mrdrivers/R/calcGDPPast.R: calcInternalGDPPastPWT
    mrdrivers/R/calcGDPpcFuture.R: calcGDPpcFuture
    mrdrivers/R/calcGDPpcFuture.R: toolGDPpcFutureSSPsOld
    mrdrivers/R/calcGDPpcFuture.R: toolGDPpcFutureSDPs
    mrdrivers/R/calcGDPpcFuture.R: toolGDPpcMI
    mrdrivers/R/calcGDPpcHarmonized.R: calcGDPpcHarmonized
    mrdrivers/R/calcGDPpcHarmonized.R: toolGDPpcHarmonizeSSP
    mrdrivers/R/calcGDPpcHarmonized.R: toolGDPpcHarmonizeSDP
    mrdrivers/R/calcGDPpcHarmonized.R: toolDivideGDPbyPop
    mrdrivers/R/calcGDPpcHarmonized.R: toolGDPpcHarmonizeShortCovid
    mrdrivers/R/calcGDPpcHarmonized.R: toolGDPpcHarmonizeLongCovid
    mrdrivers/R/calcGDPpcHarmonized.R: convergeSpecial
    mrdrivers/R/calcGDPpcHarmonized.R: computeSHAPEgrowth
    mrdrivers/R/calcGDPpcHarmonized.R: logisticTransition
    mrdrivers/R/calcGDPpcPast.R: calcGDPpcPast
    mrdrivers/R/calcGDPpcPast.R: cGDPpcFromGDPAndPop
    mrdrivers/R/calcLabourFuture.R: calcLabourFuture
    mrdrivers/R/calcLabourFuture.R: calcInternalLabourFuture
    mrdrivers/R/calcLabourFuture.R: calcInternalLabourFutureSSPs
    mrdrivers/R/calcLabourFuture.R: calcInternalLabourFutureSDPs
    mrdrivers/R/calcLabourFuture.R: calcInternalLabourFutureSSP2EU
    mrdrivers/R/calcLabourFuture.R: calcInternalLabourFutureSSPsOld
    mrdrivers/R/calcLabourPast.R: calcLabourPast
    mrdrivers/R/calcLabourPast.R: calcInternalLabourPast
    mrdrivers/R/calcPopulationFuture.R: calcPopulationFuture
    mrdrivers/R/calcPopulationFuture.R: calcInternalPopulationFuture
    mrdrivers/R/calcPopulationFuture.R: calcInternalPopulationFutureSSPs
    mrdrivers/R/calcPopulationFuture.R: calcInternalPopulationFutureSDPs
    mrdrivers/R/calcPopulationFuture.R: calcInternalPopulationFutureSSP2EU
    mrdrivers/R/calcPopulationFuture.R: calcInternalPopulationFutureSSPsOld
    mrdrivers/R/calcPopulationFuture.R: calcInternalPopulationFutureUN_PopDiv
    mrdrivers/R/calcPopulationHarmonized.R: calcPopulationHarmonized
    mrdrivers/R/calcPopulationHarmonized.R: toolHarmonizeWithPEAPandFuture
    mrdrivers/R/calcPopulationHarmonized.R: toolHarmonizeSSP2EU
    mrdrivers/R/calcPopulationHarmonized.R: toolHarmonizeISIMIP
    mrdrivers/R/calcPopulationPast.R: calcPopulationPast
    mrdrivers/R/calcPopulationPast.R: calcInternalPopulationPast
    mrdrivers/R/calcPopulationPast.R: calcInternalPopulationPastEurostat
    mrdrivers/R/calcUrbanFuture.R: calcUrbanFuture
    mrdrivers/R/calcUrbanFuture.R: calcInternalUrbanFutureSSPs
    mrdrivers/R/calcUrbanFuture.R: calcInternalUrbanFutureSDPs
    mrdrivers/R/calcUrbanFuture.R: mapSHAPEurban
    mrdrivers/R/calcUrbanFuture.R: calcInternalUrbanFutureSSP2EU
    mrdrivers/R/readARIADNE.R: readARIADNE
    mrdrivers/R/readARIADNE.R: rARIADNEPopulation
    mrdrivers/R/readARIADNE.R: rARIADNEGDP
    mrdrivers/R/readARIADNE.R: convertARIADNE
    mrdrivers/R/readEurostatPopGDP.R: readEurostatPopGDP
    mrdrivers/R/readEurostatPopGDP.R: convertEurostatPopGDP
    mrdrivers/R/readEurostatPopGDP.R: convEurostatPopulation
    mrdrivers/R/readEurostatPopGDP.R: convEurostatGDP
    mrdrivers/R/readEurostatPopGDP.R: convEurostatGDPgrProjections
    mrdrivers/R/readEurostatPopGDP.R: downloadEurostatPopGDP
    mrdrivers/R/readIMF.R: readIMF
    mrdrivers/R/readIMF.R: convertIMF
    mrdrivers/R/readIMF.R: downloadIMF
    mrdrivers/R/readJames2019.R: readJames2019
    mrdrivers/R/readJames2019.R: convertJames2019
    mrdrivers/R/readJames.R: readJames
    mrdrivers/R/readJames.R: convertJames
    mrdrivers/R/readMissingIslands.R: readMissingIslands
    mrdrivers/R/readMissingIslands.R: convertMissingIslands
    mrdrivers/R/readMissingIslands.R: downloadMissingIslands
    mrdrivers/R/readOECD.R: readOECD
    mrdrivers/R/readOECD.R: convertOECD
    mrdrivers/R/readPEAP.R: readPEAP
    mrdrivers/R/readPEAP.R: convertPEAP
    mrdrivers/R/readPEAP.R: downloadPEAP
    mrdrivers/R/readPWT.R: readPWT
    mrdrivers/R/readPWT.R: convertPWT
    mrdrivers/R/readSSP.R: readSSP
    mrdrivers/R/readSSP.R: convertSSP
    mrdrivers/R/readSSP.R: addTWNpop
    mrdrivers/R/readSSP.R: addTWNlab
    mrdrivers/R/readUN_PopDiv.R: readUN_PopDiv
    mrdrivers/R/readUN_PopDiv.R: convertUN_PopDiv
    mrdrivers/R/readUN_PopDiv.R: downloadUN_PopDiv
    mrdrivers/R/readWDI.R: readWDI
    mrdrivers/R/readWDI.R: convertWDI
    mrdrivers/R/readWDI.R: downloadWDI
    mrdrivers/R/toolExtend2150.R: toolExtend2150
    mrdrivers/R/toolExtend2150.R: bezierExtension
    mrplayground/R/calcNlWasteDistrib.R: calcNlWasteDistrib
    mrplayground/R/calcNlWasteDistrib.R: nlwaste
    mrplayground/R/calcWasteDistrib.R: calcWasteDistrib
    mrplayground/R/calcWasteDistrib.R: distribute
    mrremind/R/calcTheil.R: calcTheil
    mrremind/R/calcTheil.R: TheilT.from.sigma
    mrremind/R/calcTheil.R: sigma.from.Gini
    mrremind/R/EDGE-Industry.R: calcSteel_Projections
    mrremind/R/EDGE-Industry.R: calcIndustry_Value_Added
    mrremind/R/industry_subsectors_specific.R: readindustry_subsectors_specific
    mrremind/R/industry_subsectors_specific.R: calcindustry_subsectors_specific
    mrremind/R/ODYM_RECC.R: readODYM_RECC
    mrremind/R/ODYM_RECC.R: calcODYM_RECC
    mrremind/R/readUSGS.R: readUSGS
    mrremind/R/readUSGS.R: convertUSGS

@LaviniaBaumstark
Copy link
Member

Also if most of the functionality also works for your version, the rule is different and all madrat function rely on this. I cannot guarantee (and also not test) that all madrat functionality is working for your version. If everyone follows the rules, clear interfaces are provided. In addition, following the rules enables other developer to understand your code easier.

@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member Author

Also if most of the functionality also works for your version, the rule is different and all madrat function rely on this. I cannot guarantee (and also not test) that all madrat functionality is working for your version. If everyone follows the rules, clear interfaces are provided. In addition, following the rules enables other developer to understand your code easier.

There is no functionality in madrat that depends on either the name of source code files, or the number of functions defined inside source code files. There can't be, because that information is simply not available to the madrat package.

@LaviniaBaumstark
Copy link
Member

why do you want to make it different?

@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member Author

Because readUNIDO(), convertUNIDO(), calcUNIDO() are a logical unit. Working on any of those functions is easier when one has an understanding what the preceding function does. Thus it is helpful to have them in one file.

@fbenke-pik
Copy link
Contributor

fbenke-pik commented May 15, 2023

We checked back with the rest of the RSE group. Michaja, you are right, there is no technical requirement to write separate functions.

Splitting read and convert into functions with the same name is the recommended way to do it, but not a convention we enforce. We recommend it as a convention, because it helps newcomers with finding specific functionality fast and getting a quick overview of what the R functions of an mr package do.

So if you insist on keeping it that way, this won't block this PR.

R/calcHistorical.R Outdated Show resolved Hide resolved
@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member Author

We recommend it as a convention, because it helps newcomers with finding specific functionality fast and getting a quick overview of what the R functions of an mr package do.

Not sure whether "finding specific functionality fast" is the right term for scrolling through a list of 267 files whose names start all with one of three words …
Honestly, teach newcomers to search for code instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants