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

consolidate R script functions #929

Open
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q opened this issue Aug 2, 2022 · 4 comments
Open

consolidate R script functions #929

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q opened this issue Aug 2, 2022 · 4 comments
Assignees
Labels
code cleaning Code that could/should be cleaned up enhancement New feature or request

Comments

@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member

Originated from this discussion initiated by @chroetz.

There seems to be a lot potential for consolidating utility functions in the R scripts used in the REMIND repository. "Choose one item from a list" is already being discussed (see above), /get-?[lL]ine/ is another candidate.

 ag --r --nogroup "<- function" | tr ':' ' ' | awk '{ print $3, $1}' | sort -k 1,1 | column -t
addyrs                               scripts/output/single/notebook_templates/EDGETransportMultiIterationAnalysis.Rmd
.agriculture_costs                   scripts/start/prepare_and_run.R
.agriculture_tradebal                scripts/start/prepare_and_run.R
.bioenergy_costs                     scripts/start/prepare_and_run.R
.bioenergy_price                     scripts/start/prepare_and_run.R
.bioenergy_production                scripts/start/prepare_and_run.R
choose_filename_prefix               output.R
choose_folder                        output.R
chooseFromList                       start.R
choose_mode                          output.R
choose_module                        output.R
choose_slurmConfig                   scripts/start/choose_slurmConfig.R
choose_slurmConfig_priority_standby  output.R
combine_slurmConfig                  scripts/start/choose_slurmConfig.R
compareScenTable                     scripts/output/comparison/multiComparison.R
configure_cfg                        start.R
.copy.fromlist                       scripts/start/prepare_and_run.R
.copy.fromlist                       scripts/start/submit.R
create_fixing_files                  scripts/start/prepare_and_run.R
create_standard_fixings              scripts/start/prepare_and_run.R
datapath                             scripts/iterative/EDGE_transport.R
debug_coupled                        start_coupled.R
didremindfinish                      start.R
.emissions_mac                       scripts/start/prepare_and_run.R
.escape                              scripts/insertheader/insertheader.R
fill_missing_scenarios               scripts/output/comparison/bioenergy_SSP.R
fillyears                            scripts/output/comparison/plot_compare_iterations.R
.findheader                          scripts/insertheader/insertheader.R
get_demand                           scripts/output/single/notebook_templates/EDGETransportMultiIterationAnalysis.Rmd
.getExtension                        scripts/insertheader/insertheader.R
getFilenameKeyword                   scripts/output/comparison/plotRuntime.R
get_fuel_prices                      scripts/output/single/notebook_templates/EDGETransportMultiIterationAnalysis.Rmd
get_line                             output.R
get_line                             scripts/start/choose_slurmConfig.R
get_line                             start.R
getLine                              scripts/output/comparison/plotRuntime.R
getLine                              scripts/output/single/plotIterations.R
getLoadFile                          scripts/start/prepare_and_run.R
getReportData                        scripts/start/prepare_and_run.R
get_trp_shares                       scripts/output/single/notebook_templates/EDGETransportMultiIterationAnalysis.Rmd
insertheader                         scripts/insertheader/insertheader.R
interpolate_first_timesteps          scripts/output/single/notebook_templates/EDGETransportMultiIterationAnalysis.Rmd
loadRunStatistics                    scripts/output/comparison/plotRuntime.R
matchKeyword                         scripts/output/comparison/plotRuntime.R
my_ggplot                            scripts/output/comparison/policyCosts.R
plot_iterations                      scripts/output/comparison/plot_compare_iterations.R
policy_costs_pdf                     scripts/output/comparison/policyCosts.R
prepare                              scripts/start/prepare_and_run.R
price_outliers                       scripts/output/single/reportCEScalib.R
quality                              scripts/output/single/notebook_templates/EDGETransportMultiIterationAnalysis.Rmd
readbioprice                         scripts/output/comparison/plot_compare_iterations.R
readfuelex                           scripts/output/comparison/bioenergy.R
readfuelex                           scripts/output/comparison/plot_compare_iterations.R
readpar                              scripts/output/comparison/bioenergy_SSP.R
readpar                              scripts/output/comparison/plot_compare_iterations.R
readprodPE                           scripts/output/comparison/plot_compare_iterations.R
read.reportEntry                     scripts/output/comparison/bioenergy_SSP.R
readRun                              scripts/output/comparison/plotRuntime.R
readshift                            scripts/output/comparison/plot_compare_iterations.R
readvar                              scripts/output/comparison/bioenergy_SSP.R
readvar                              scripts/output/comparison/plot_compare_iterations.R
REMINDpath                           scripts/iterative/EDGE_transport.R
report_transfers                     scripts/output/comparison/policyCosts.R
rmdChunksForSymbol                   scripts/output/single/plotIterations.R
rm_timestamp                         scripts/output/comparison/policyCosts.R
run                                  scripts/start/prepare_and_run.R
run_compare                          scripts/utils/compareParallel.R
run_compareScenarios2                scripts/utils/run_compareScenarios2.R
select_mif                           scripts/output/comparison/multiComparison.R
select_testOneRegi_region            start.R
.setgdxcopy                          start_bundle_climate.R
.setgdxcopy                          start_bundle_coupled.R
.setgdxcopy                          start_coupled.R
simpleCapitalize                     scripts/output/comparison/plotRuntime.R
start_comp                           scripts/output/comparison/compareScenarios2.R
start_comp                           scripts/output/comparison/compareScenarios.R
start_coupled                        start_coupled.R
submit                               scripts/start/submit.R
.tmp                                 scripts/start/prepare_and_run.R
update_info                          scripts/start/prepare_and_run.R
update_sets                          scripts/start/prepare_and_run.R
wrap_to_have_a_clean_exit            scripts/utils/run_compareScenarios.R
write_new_reporting                  scripts/output/comparison/policyCosts.R
@mikapfl
Copy link
Contributor

mikapfl commented Aug 2, 2022

getLine already exists as gms::getLine, it just needs to be used.

@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q
Copy link
Member Author

getLine already exists as gms::getLine, it just needs to be used.

Except it seems to be the same code as in remind2::getLine().

@mikapfl
Copy link
Contributor

mikapfl commented Aug 2, 2022

getLine already exists as gms::getLine, it just needs to be used.

Except it seems to be the same code as in remind2::getLine().

Nothing beats coordinated development!

I think the better place is gms, simply because magpie also should use the common getLine function (at the moment, magpie also has 3 versions of it). Or is my thinking wrong there?

@orichters
Copy link
Contributor

I already planned to define chooseFromList in gms, so I did it today: pik-piam/gms#32.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code cleaning Code that could/should be cleaned up enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants