Resource Planning Model (RPM)

The reV to RPM pipeline can be run from the command line using the reV-RPM command line interface (CLI), or using the rpm sub-package.

reV-RPM CLI

The reV-RPM command line tools can be used to run the reV to RPM pipeline using the default clustering and representative profile options.

There are 3 steps to the reV to RPM pipeline:

  1. Clustering of the capacity factor (CF) profiles within each RPM region

  2. Applying geo-spatial exclusions to the CF profiles (optional)

  3. Extracting representative profiles from each region

The entire pipeline can be run using the following CLI call:

reV-RPM --name="Job_name" --cf-profile="../cf_profiles.h5" --out-dir="../output_directory" -p cluster --rpm_meta="../rpm_meta.csv" and_profiles --exclusions="../exclusions.tiff" --techmap="../techmap.h5" --techmap_dset="wtk_conus"

This will cluster the RPM profiles using the regions and number of clusters given in rpm_meta.csv and then return a representative profile for each region. NOTE: that the and_profiles options are all optional. If they are not given than exclusions will not be applied. Also NOTE that -p is an optional flag to run the clustering and profiles in parallel.

If you only want to create the clusters you can drop the and_profiles part of the command:

reV-RPM --name="Job_name" --cf-profile="../cf_profiles.h5" --out-dir="../output_directory" -p cluster --rpm_meta="../rpm_meta.csv"

This will write a .csv with the cluster results to out_dir

If representative profiles are desired for an existing set of clusters (rpm_clusters.csv) the rep-profies sub-command can be used:

reV-RPM --name="Job_name" --cf-profile="../cf_profiles.h5" --out-dir="../output_directory" -p and_profiles --rpm-clusters="../rpm_clusters.csv" --exclusions="../exclusions.tiff" --techmap="../techmap.h5" --techmap_dset="wtk_conus"

Again –exclusions, –techmap, and –techmap-dset are optional if exclusions should be applied.

If additional representative profiles are desired use the following call:

reV-RPM --name="Job_name" --cf-profile="../cf_profiles.h5" --out-dir="../output_directory" -p and_profiles --rpm-clusters="../rpm_clusters.csv" extra_profiles --profiles="5"

This will extract 5 additional profiles. NOTE: extra-profiles can only be run after rep-profiles`.

RPM sub-package

The reV-RPM pipeline can also be run using the rpm sub-package of reVX. The two main classes are RPMClusterManager and RPMOutput.

RPMClusterManager manages the clustering of RPM regions and if desired can run RPMOutput to extract representative profiles.

Extracting clusters:

RPMClusterManager.run_clusters(cf_fpath, rpm_meta, out_dir, job_tag=name,
                               rpm_region_col=region_col, parallel=parallel)

Extracting clusters and profiles:

RPMClusterManager.run_clusters_and_profiles(cf_fpath, rpm_meta, exclusions,
                                            techmap, techmap_dset, out_dir,
                                            job_tag=name, rpm_region_col=region_col,
                                            parallel=parallel)

RPMOutput handles the application of exclusions and extraction of representative profiles from an existing set of clusters.

Apply exclusions and extract profiles:

RPMOutput.process_outputs(rpm_clusters, cf_fpath, exclusions,
                          techmap, techmap_dset, out_dir,
                          job_tag=name, parallel=parallel)

As above NOTE that exclusions, techmap, and techmap_dset can be set to None if representative profiles without exclusions are desired.

Extra profiles can be extracted with:

RPMOutput.extract_profiles(rpm_clusters, cf_fpath, out_dir,
                           n_profiles=profiles, job_tag=name,
                           parallel=parallel)

Again extra_profiles can only be run after process_outputs has been run.