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

Consistent use of interface and internal types #68

Open
mnlevy1981 opened this issue May 23, 2016 · 2 comments
Open

Consistent use of interface and internal types #68

mnlevy1981 opened this issue May 23, 2016 · 2 comments

Comments

@mnlevy1981
Copy link
Collaborator

I think we want some datatypes used by marbl_interface_class defined in marbl_interface_types.F90 and others defined in marbl_internal_types.F90 with the distinction being:

  • Datatypes that are used by the GCM driver (explicitly via a use statement) should be in marbl_interface_types.F90, all others belong in marbl_internal_types.F90.

This will require some clean-up, as many of the datatypes in marbl_interface_types.F90 are not explicitly used by the driver (rather, the derived types appear as components of marbl_instance).

This will not affect the API at all, but it would be nice to be consistent before the 1.0.0 release.

@mnlevy1981
Copy link
Collaborator Author

Note that the file names have changed:

marbl_interface_types.F90 -> marbl_interface_public_types.F90
marbl_internal_types.F90 -> marbl_interface_private_types.F90

This ticket still stands, though: we need to come up with clear criteria for when to put derived types in each of these files (vs defining them in a separate module). I think this fits nicely in the "freeze development" column because it may result in some massive refactoring.

@mnlevy1981
Copy link
Collaborator Author

#311 and #314 should be kept in mind while addressing this ticket

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant