{"action":"created","issue":{"url":"https://api.github.com/repos/mcgibbon/sympl/issues/36","repository_url":"https://api.github.com/repos/mcgibbon/sympl","labels_url":"https://api.github.com/repos/mcgibbon/sympl/issues/36/labels{/name}","comments_url":"https://api.github.com/repos/mcgibbon/sympl/issues/36/comments","events_url":"https://api.github.com/repos/mcgibbon/sympl/issues/36/events","html_url":"https://github.com/mcgibbon/sympl/issues/36","id":345885971,"node_id":"MDU6SXNzdWUzNDU4ODU5NzE=","number":36,"title":"Add support for packing tracers","user":{"login":"mcgibbon","id":12307589,"node_id":"MDQ6VXNlcjEyMzA3NTg5","avatar_url":"https://avatars3.githubusercontent.com/u/12307589?v=4","gravatar_id":"","url":"https://api.github.com/users/mcgibbon","html_url":"https://github.com/mcgibbon","followers_url":"https://api.github.com/users/mcgibbon/followers","following_url":"https://api.github.com/users/mcgibbon/following{/other_user}","gists_url":"https://api.github.com/users/mcgibbon/gists{/gist_id}","starred_url":"https://api.github.com/users/mcgibbon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcgibbon/subscriptions","organizations_url":"https://api.github.com/users/mcgibbon/orgs","repos_url":"https://api.github.com/users/mcgibbon/repos","events_url":"https://api.github.com/users/mcgibbon/events{/privacy}","received_events_url":"https://api.github.com/users/mcgibbon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-07-30T18:44:56Z","updated_at":"2018-07-30T18:49:20Z","closed_at":null,"author_association":"OWNER","body":"We're adding some support for packing tracer quantities into a single array, for example to be used in GFS in CliMT. Originally I was planning to have tracers inserted in the same way as any other input, but came to the issue that there are valid cases where quantities must be present both as their own separate input and as an entry in the tracer array within `input_properties` (but still not within output property dictionaries). For example, when GFS wraps any `TendencyComponent` that requires moisture as an input, such as RRTMG.\r\n\r\nInstead, tracers will not appear in property dictionaries as normal inputs. This information is not actually necessary, since it's contained centrally (accessible via `get_tracer_unit_dict`). Instead, only `uses_tracers` (e.g. `True`), `tracer_dims` (e.g. `['tracer', 'mid_levels', '*']`), and `prepend_tracers` (e.g. `[('specific_humidity', 'kg/kg')]`) attributes will be used to store tracer information on a component."},"comment":{"url":"https://api.github.com/repos/mcgibbon/sympl/issues/comments/408970419","html_url":"https://github.com/mcgibbon/sympl/issues/36#issuecomment-408970419","issue_url":"https://api.github.com/repos/mcgibbon/sympl/issues/36","id":408970419,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODk3MDQxOQ==","user":{"login":"mcgibbon","id":12307589,"node_id":"MDQ6VXNlcjEyMzA3NTg5","avatar_url":"https://avatars3.githubusercontent.com/u/12307589?v=4","gravatar_id":"","url":"https://api.github.com/users/mcgibbon","html_url":"https://github.com/mcgibbon","followers_url":"https://api.github.com/users/mcgibbon/followers","following_url":"https://api.github.com/users/mcgibbon/following{/other_user}","gists_url":"https://api.github.com/users/mcgibbon/gists{/gist_id}","starred_url":"https://api.github.com/users/mcgibbon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcgibbon/subscriptions","organizations_url":"https://api.github.com/users/mcgibbon/orgs","repos_url":"https://api.github.com/users/mcgibbon/repos","events_url":"https://api.github.com/users/mcgibbon/events{/privacy}","received_events_url":"https://api.github.com/users/mcgibbon/received_events","type":"User","site_admin":false},"created_at":"2018-07-30T18:49:20Z","updated_at":"2018-07-30T18:49:20Z","author_association":"OWNER","body":"The downside of the above would be that the component does in fact require those tracer quantities as inputs and produce them as outputs, but this wouldn't be shown by the `properties` dictionaries. The user would need to realize this because of the component having `uses_tracers = True` and the tracer being registered. An alternative would be to have a `'tracers'` entry in the properties dictionaries whose value is another property dict with entries for tracers... but this could also be messy."}}
{"actor":{"display_login":"mcgibbon"}}