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

cmeps directory refactor #256

Merged
merged 1,300 commits into from
Nov 16, 2021
Merged

Conversation

mvertens
Copy link
Collaborator

@mvertens mvertens commented Nov 14, 2021

Description of changes

CMEPS directory refactor

Specific notes

The following directory changes were made:

  • util/ => ufs/
  • nuopc_cap_share => cesm/nuopc_cap_share/
  • share/src/shr_flux_mod => cesm/flux_atmocn/shr_flux_mod (cesm only)
  • share/cmeps/* => cesm/nuopc_cap_share (cesm only)
    Also shr_constants_mod.F90 is now only used by cesm and the the file util/shr_const_mod.F90 has been moved and renamed to ufs/ufs_constants_mod.F90
    In addition med_aofluxes_mod.F90 now has separate calls to the ufs and cesm atmocn flux computation.

Contributors other than yourself, if any:
CMEPS Issues Fixed: None
Are changes expected to change answers? bit-for-bit
Any User Interface Changes (namelist or namelist defaults changes)? No

Testing performed:
CESM testing: verified that the following tests are bfb with cesm2_3_alpha07a on cheyenne :
IRT_Ld7.f09_g17.BHIST.cheyenne_intel.allactive-defaultio
ERS_Ld3.f45_g37_rx1.A.cheyenne_intel
UFS testing: ufs-weather-model 0cf60348 using CMEPS e703499

cacraigucar and others added 30 commits September 17, 2019 14:29
Add explicit types to literals in COARE ocean surface flux scheme

The COARE ocean surface flux scheme had un-typed literals (including
some in functions that caused a build issue on Summit). This change
adds explicit types - in most cases converting to "_R8" reals. This
shouldn't affect the climate of "out of the box" cases (which use a
different ocean surface flux scheme). But, when using the COARE
scheme (ocn_surface_flux_scheme = 1 in user_nl_cpl), it is non-BFB
with the earlier COARE implementation.

Fixes #3105

[BFB] [FCC]

* jackreeveseyre/cime/sfc_flux_bug_fix:
  Adds explicit types to literals in COARE ocean surface flux scheme.
Update CIME to ESMCI cime5.8.9

Squash merge of jgfouca/branch-for-to-acme-2019-09-24

Features:
* Add support for running Radiative Convective Equilibrium including new aquaplanet mode 11.
* Add support to archive metadata for lens experiment type.
* Make the streams file legitimate xml files so that we can parse them.

Bug fixes:
* Fix script_regression_tests directory cleanup
* fix issue with workflow prior to run on master
* dont call bcast on mpi_comm_null in seq_flux_mct

[BFB]
Minimum wind speed for atmOcn fluxes had been hardwired up until this point. Introduced a namelist variable and changed the default setting only for AQP11.

Test suite: all aux_cam tests, cime_developer tests
Test baseline:
Test namelist changes: Ran the AQP11 test, and it's namelist has the new value of 1
Test status: [bit for bit, roundoff, climate changing] BFB

Fixes [CIME Github issue #]

User interface changes?: Added "seq_flux_atmocn_minwind" namelist. The default for all jobs is 0.5, which is the previous jobs. The only exception is AQP11, which now has the value of 1.0

Update gh-pages html (Y/N)?:n

Code review:
	modified:   src/components/data_comps/docn/cime_config/buildnml
	modified:   src/components/data_comps/docn/cime_config/config_component.xml
	modified:   src/components/data_comps/docn/cime_config/namelist_definition_docn.xml
	modified:   src/components/data_comps/docn/mct/docn_comp_mod.F90
	modified:   src/components/data_comps/docn/mct/docn_shr_mod.F90
	modified:   src/share/util/shr_scam_mod.F90
Change globally uniform SST mode from AQP11 to AQPCONST
* esmci_remote_for_split/master: (1961 commits)
  Update for cime5.8.13
  add a raw xml option to query_config, useful for gui development
  fix potential issue in LIDS
  add --only-job option
  commit to move to cheyenne
  lock and unlock env_batch for changing BATCH_SYSTEM
  unlock batch to change BATCH_SYSTEM and lock when completed
  Update for cime5.8.12
  Fix T5_T5_mg37 grid
  Change globally uniform SST mode from AQP11 to AQPCONST
  Changes for cam testing
  fix nuopc esmf paths
  Update for cime5.8.11
  update esmf libs for nuopc, no longer need external yaml lib
  correct the way esmf is built to avoid library mismatch
  Update for cime5.6.24
  Add namelist for minimum wind speed for atmOcn fluxes
  Fix gnu on cheyenne
  Update for cime5.8.10 tag
  dont call bcast on mpi_comm_null
  ...

# Conflicts:
#	ChangeLog
#	config/cesm/machines/config_machines.xml
#	src/components/data_comps/docn/cime_config/config_component.xml
#	src/components/data_comps/docn/cime_config/namelist_definition_docn.xml
#	src/components/data_comps/docn/mct/docn_comp_mod.F90
#	src/components/data_comps/docn/mct/docn_shr_mod.F90
#	src/drivers/mct/cime_config/namelist_definition_drv.xml
#	src/drivers/mct/main/seq_flux_mct.F90
#	src/share/util/shr_scam_mod.F90
Update CIME to ESMCI cime5.8.13

Squash merge of jgfouca/branch-for-to-acme-2019-10-28

Features:
* Updates to workflow support in CIME.
* Add namelist for minimum wind speed for atmOcn fluxes.
* Change globally uniform SST mode from AQP11 to AQPCONST
* Add --only-job option to case.submit: run only jobname and ignore any defined workflow
* Adds a raw xml option to the query_config interface.
* Refactor how run_cmd handles strings

Bug fixes:
* Fix an issue with Lockedfile error when case.submit is used with the --no-batch flag

[NML]
[BFB]
Two calls to memset in gptl.c in the timing library have their
arguments in the wrong order. The other calls to memset in gptl.c are
correct. In practice this has not caused any problems (due to the
values being swapped), and the result is BFB. To avoid future issues,
it is still important to fix this.

[BFB]
Also, don't estimate memusage in Fortran: rely on C sys-calls
Fix memory highwater and usage reporting

Fixes #3292

[BFB]
This new variable allows the behavior of shr_orb_cosz() in shr_orb_mod
to be overridden globally. By setting constant_zenith_deg with a value
>=0 shr_orb_cosz() will always return the cosine of that value. The
motivation behind this is to allow special idealized cases, like RCE
with a coupled ocean.

	modified:   cime/src/drivers/mct/cime_config/namelist_definition_drv.xml
	modified:   cime/src/drivers/mct/shr/seq_infodata_mod.F90
	modified:   cime/src/share/util/shr_orb_mod.F90
The function shr_sys_irtc can be made thread safe in the current usage
context by adding

!$omp threadprivate(last_count,count_offset)

where last_count and count_offset are the two local saved variables.

With this change, the critical sections around the calls to
shr_sys_irtc in physpkg.F90 are no longer necessary, and are removed
here.

[BFB]
@mvertens mvertens marked this pull request as draft November 14, 2021 03:38
@mvertens mvertens requested a review from cacraigucar November 14, 2021 03:38
@mvertens mvertens requested review from uturuncoglu and jedwards4b and removed request for cacraigucar November 15, 2021 16:42
@mvertens mvertens marked this pull request as ready for review November 15, 2021 16:43
@@ -0,0 +1,2299 @@
module shr_flux_mod
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was this file put into a new directory?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because CAM needs it for physconst mod. And it is its own directory since it relates to atm/ocn fluxes. I thought it would be a good idea to separate that out explicitly.

@mvertens
Copy link
Collaborator Author

@uturuncoglu @DeniseWorthen - could you please test this in your configurations and make sure they work. @jedwards4b and I talked and we are not worried about the Travis test failure.

@DeniseWorthen
Copy link
Collaborator

I tested the compile after the last commit and was able to compile after changing our CMakeLists. I also tested deleting the dtypes.h and genf90.pl. I expect everything to pass but I will test again just to verify.

@mvertens
Copy link
Collaborator Author

mvertens commented Nov 16, 2021 via email

Copy link
Collaborator

@uturuncoglu uturuncoglu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have just run UFS cpld_control_p7 RT (head of develop) with this PR and it compiles and runs without any issue.

@DeniseWorthen
Copy link
Collaborator

The full RT suite passes for ufs-weather for both INTEL and GNU. We can remove dtypes.h and genf90.pl from the CMEPS/ufs directory.

@mvertens mvertens merged commit 8405d2f into ESCOMP:master Nov 16, 2021
@mvertens mvertens deleted the feature/refactor_directories branch June 16, 2023 08:06
@mvertens mvertens restored the feature/refactor_directories branch June 16, 2023 08:06
@mvertens mvertens deleted the feature/refactor_directories branch June 16, 2023 08:06
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.