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

Develop merge #4

Merged
merged 8 commits into from
Apr 21, 2017
Merged

Develop merge #4

merged 8 commits into from
Apr 21, 2017

Conversation

t-brown
Copy link
Collaborator

@t-brown t-brown commented Apr 21, 2017

Merging in the develop branch, preparing for v0.1.0.

t-brown and others added 8 commits April 18, 2017 22:37
Extending the fields out to 7D.

Also the start of the great re-org and re-name.
- The XML validation suites are now called no-op.
- The test dummy program is now a test check program.

The removal of the need for the cmake "add_sources()" since we
are going to move the schemes to the toplevel and have them as
external projects.
A pretty big clean-up, hopefully getting ready for v0.0.1 release.

Since we re-jigged the source tree (moving the schemes out),
we don't need to use the cmake "add_sources()" function to push
source files up to their parent scope. I'll leave the macro/function
in for now.

Renaming the toplevel tests to be examples.

In moving the schemes up to the toplevel, I've renamed the check
one and made it into it's own library.

Going forward, each scheme should be it's own library. This means
the application has to know where the library is so as to open it
(i.e. LD_LIBRARY_PATH or RPATH).

Since scheme should be it's own library, we don't dlopen() ourself
and so there is no need to add the "-Wl,--export-dynamic" flag
to the linker on Linux.

A simple todo would be to make the library (dlopen() call),
use the absolute path if provided.

Adding the optional "lib" and "ver" attributes to the scheme element
in the XSD (and a few XML files).

Added a ccpp_ipd_init() and ccpp_ipd_fini() subroutines.
- The init will dlopen() the library and dlsym() to find the function.
- The fini closes the library.
This is make sure we are able to call the scheme cap function when needed.

Revamped the ccpp_ipd_run() subroutine to ONLY call the ONE scheme it
was asked to call instead of looping over ALL schemes. We are putting
the scheme  calling logic into the hands of the caller.

TODO:
Possible to use c_funptr's instead of generic c_ptr and therefore expose
the cap routines to Fortran...
Cleaned up the cmake files so the program builds on OS X.
Also changed the return variable from pathconf() to long, as
it's meant to be, to keep gcc happy.
The NO-OP scheme has been rolled into the check scheme.
Changed the SCM physics package/scheme to and external project.

Fixed errors in the doxygen documentation of CCPP routines.
Since the retrieval of a field the units is an optional
parameter. I've changed the adding a field to make the units
an optional parameter too.
@t-brown t-brown merged commit bf519b1 into master Apr 21, 2017
gold2718 pushed a commit that referenced this pull request Apr 23, 2020
climbfuji pushed a commit to climbfuji/ccpp-framework that referenced this pull request Jun 17, 2020
…uctures

gsd/develop: handle blocked data structures in init and finalize routines, remove pset logic
mwaxmonsky added a commit to mwaxmonsky/ccpp-framework that referenced this pull request Aug 24, 2023
Initial removing python 2 and < 3.7 code checks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant