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

Update feature/capgen from main 2021/08.18 #398

Merged

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Aug 18, 2021

This PR merges main into feature/capgen, following the recent merge iin the other direction (#391), in order to synchronize the two branches now, facilitate future synchronization efforts and eventually the transition from ccpp_prebuild.py to capgen.py for the UFS and SCM models.

List of changes

Files shared with capgen that are merged as-is (in main):

  • add templates for github issues (bug reports, feature requests) and pull requests
  • README.md: updated README.md in main was contributed by @gold2718 two years ago
  • scripts/convert_metadata.py: deleted in main, no longer required (there are no more models using the old metadata format)
  • delete empty .gitmodules file
  • CODEOWNERS: just a new line at the end of the file

Files shared with capgen that are merged with minor changes (compared to main):

  • scripts/parse_tools/parse_checkers.py: I removed the temporary workaround to convert unit 'none' to '1'; we should settle on the correct units, then update feature/capgen, then update main from feature/capgen and remove the workaround
  • scripts/parse_tools/parse_checkers.py: I did not remove the additional function registered_fortran_ddt_names(), I am not sure if it should be removed or should stay. It's needed for ccpp_prebuild.py, but unlike the workaround to convert units there is no "solution" other than removing ccpp_prebuild.py. Since we will be doing more of these branch synchronizations in the near future, it would be good to keep this function in the file - maybe add a comment that reminds us to remove it after the transition to capgen.py?

Files exclusively used by ccpp_prebuild / UFS / SCM and of no interest for this PR (but part of the merge to minimize differences and simplify future PRs):

  • .github/workflows/python.yaml: add github workflow test using Python 3.7 (currently only testing selected ccpp_prebuild.py features, see below)
  • CMakeLists.txt
  • doc/CMakeLists.txt
  • doc/DevelopersGuide and everything underneath (currently CCPP technical documentation for ccpp_prebuild.py, this will need to be updated when we transition from ccpp_prebuild.py to capgen.py - DTC will be doing this)
  • pytest.ini (currently only testing selected ccpp_prebuild.py features, see below)
  • requirements.txt (same as pytest.ini)
  • schemes and everything underneath: old testing framework for dynamic CCPP, no longer in use (replaced by pytest.ini and stuff in tests)
  • scripts/ccpp_prebuild.py
  • scripts/common.py
  • scripts/conversion_tools and evereything underneath: original unit conversion system, currrently only used by ccpp_prebuild.py, to be integrated and possibly modified for use in capgen.py
  • scripts/metadata2html.py
  • scripts/metadata_parser.py
  • scripts/mkcap.py
  • scripts/mkdoc.py
  • scripts/mkstatic.py
  • src and everything underneath
  • tests/test_metadata_parser.py: current unit tests developed by @JulieSchramm for ccpp_prebuild.py, to be updated or replaced for capgen.py
  • tests/test_mkstatic.py: current unit tests developed by @JulieSchramm for ccpp_prebuild.py, to be updated or replaced for capgen.py

Testing

We do have automatic checks for ccpp_prebuild's metadata parsing and static cap creation (contributed by @JulieSchramm ) - will check if they passed. Can @JulieSchramm or @gold2718 please tell me which tests I should run and how for capgen.py?

Steve Goldhaber and others added 30 commits July 31, 2019 15:43
…20190725

Migrate to new metadata format step 1
…pment work for generating html table from metadata table
…table plus 'argument table', i.e. 'ozphys_run argument table'
First version of metadata2html converter
…to reflect:

a) The gmtb-scm code repository is now public.
b) The EMC NEMS repository is no longer in VLab as it has been moved to GitHub in August 2019. GMTB is forking this repository and no longer mirrorring it.
c) Given that the CCPP-enabling capabilities in the FV3, NEMS, and NEMSfv3gfs repositories were committed to EMC's master in July 2019, the primary branch for CCPP development in the github.com/NCAR fork or mirrors is no longer a special GMTB area (gmtb/ccpp) but is now the primary code (master for NEMSfv3gfs and FV3 and develop for NEMS). The difference in terminogy (master versus develop) is due to the transition of EMC's codes to GitHub and use of GitFlow (NEMS is now on GitHub using GitFlow, so develop is the proper origin/upstream).
d) A clarification on Section 7.4.1 (Creating a PR) asking developers to, when relevant, note in the PR message the existence of associated PRs in separate repositories.
… reflect changes in the NEMSfv3gfs regression tests implemented when the CCPP-enabling changes to FV3, NEMS, and NEMSfv3gfs were committed to EMC master in July 2019.
- Fix typo and comma use
- Make a few sentences more clear
- Fix bug in git clone command
…rmat (.meta XML file).

Note that while the changes to the files committed here are complete, changes are still needed
in other files. Those are in progress.
… generated by a unit conversion failure for user-friendliness
… from gwdps_pre to GFS_GWD_generic_pre, remove trailing whitespaces
…duced

does not refer to a specific release number.
Documentation updates for UGWP Version 0
… metadata tables

in HTML format that are used for inclusion in the Scientific Documentation. Also, changes
in the TechDoc to update the instructions to generate the Scientific Documentation using the
new metadata format.
climbfuji and others added 13 commits May 18, 2021 13:05
…ve_sfc_emis_alb_calculation_to_its_own_scheme_and_z0_composite_consistent
…xtent and vice versa disabled, this is now an error
…ion_to_its_own_scheme_and_z0_composite_consistent

Remove overly restrictive testing of doxygen comments when looking for scheme tables from scripts/metadata_parser.py
…d buffer writing subcycle block to auto-generated caps (NCAR#379)
…ckers.py based on code review: remove old code in main, add missing code from feature/capgen
…main_20210812

Merge feature/capgen into main 2021/08/12
@climbfuji climbfuji changed the title Update feature/capgen from main 2021/08.18 - WORK IN PROGRESS Update feature/capgen from main 2021/08.18 Aug 18, 2021
@climbfuji climbfuji marked this pull request as ready for review August 18, 2021 20:46
@climbfuji climbfuji requested a review from gold2718 as a code owner August 18, 2021 20:46
@grantfirl grantfirl removed their request for review August 19, 2021 15:02
@llpcarson llpcarson removed their request for review August 19, 2021 16:15
@climbfuji climbfuji merged commit e34ff66 into NCAR:feature/capgen Aug 19, 2021
@climbfuji climbfuji deleted the update_feature_capgen_from_main_20210818 branch June 27, 2022 03:08
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.

8 participants