NCAR / NCAR/ccpp-framework

Add "number of instances" dimension to module-level variables to support multi-instance usage

Open
#561 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

capgen-unification enhancement
Dominant language
Python
Stars
25
Forks
67
Avg merge
3d 8h
Merged PRs (30d)
2

Description

Description

In order to enable multiple instances, we'll need a new dimension on all module-level (host caps and suite caps) variables. This includes: _dynamic_constituents (host cap), _constituents_obj? (host cap)

Solution

Add/update the following:

  • New ccpp variables (standard names not set in stone): "number_of_ccpp_instances" (integer) and "ccpp_instance" (integer, index)
  • Add an extra dimension to module variable declarations
  • Update allocate statements (in the init phase) to allocate the new dimension to the # of instances
User Interface Changes

Optional - host can now supply instance number to the cap routines (if not supplied, defaults to 1)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the module-level host and suite cap declarations and the init-phase allocate statements; done means adding the instance dimensions, allocating them for the requested number of instances, and supporting the optional instance number in cap routines.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.