NCAR / NCAR/ccpp-framework

Add constituent minimum values array interface

Open
#585 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

Add interface to host cap to retrieve constituent minimum values array (for use by host model)

Solution

This should be a straight-forward update to

  1. src/ccpp_constituent_prop_mod.F90: add new procedure field_min_value_ptr that returns a pointer to the minimum values array (vars_minvalue)
  2. scripts/constituents.py: modify write_host_routines() to write a new routine (<hostname>_constituent_min_values).
  3. scripts/host_cap.py: add the new routine name

The final generated code will look something like:

function <hostname>_constituent_min_values() result(min_values_ptr)

   ! Return pointer to minimum values array

   ! Dummy argument
   real(kind_phys), pointer :: min_values_ptr(:)

   min_values_ptr => <hostname>_constituents_obj%field_min_value_ptr()

end function <hostname>_constituent_min_values

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

Read src/ccpp_constituent_prop_mod.F90 and inspect the existing field pointer procedures, then follow write_host_routines() in scripts/constituents.py and the routine names in scripts/host_cap.py. Done means the minimum-values pointer interface and generated _constituent_min_values routine are available and return vars_minvalue as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran, python
Domain
backend, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.