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

fix of Negative ci in photosynthesis calculation. (#1233) #1271

Closed
wants to merge 59 commits into from

Conversation

jinyuntang
Copy link
Contributor

@jinyuntang jinyuntang commented Feb 15, 2017

This PR fixes a bug in PhotosynthesisMod that is related to the calculation of ci (intracellular CO2) in the photosynthesis solver.

This was originally reported by @jinyuntang

[Non BFB] not- Bit-For-Bit
Land-1233

See confluence for a more detailed description about these tags.

Yinghui and others added 30 commits August 8, 2016 15:43
  Time stamp in components/cice/src/drivers/cpl/ice_history_write.F90
  was not synchronized across processors. This can lead to PIO error
  "File header is inconsistent among processes" on occasions.
  This PR broadcast the time stamp from masterproc to other processors
  to fix the issue. (issue #952)
  [BFB]
Recent versions of the Cray MPI library are causing MPI communication
algorithms in PIO that use MPI_RSEND to hang. This is not the first time
that MPI_RSEND (and MPI_IRSEND) support has been broken in vendor MPI
libraries. Currently, CPP defines in CAM, MCT, and PIO will redefine
MPI_RSEND as MPI_SEND and MPI_IRSEND as MPI_ISEND when the CPP token
_NO_MPI_RSEND is defined during the build process. For improved
reliability, this modification makes this the default, always redefining
MPI_RSEND as MPI_SEND and MPI_IRSEND as MPI_ISEND, unless the CPP
token _USE_MPI_RSEND is defined during the build. Separate PRs have been
submitted for MCT and PIO. This one includes the changes for CAM.
Add -z muldefs to link line for edison.
Remove machine hopper.
This PR addresses an issue which makes the model non-deterministic
(i.e. non-BFB) when run with more than one thread. PR #1147 introduced
a logical variable (cldfsnow_logic) which was declared and assigned at
module level. This kind of declaration automatically sets a variable
with 'SAVE' attribute which in turn makes the variable a shared variable
(to be shared by all the threads). This PR removes this variables and
retain the same functionality.

Fixes #1203

[BFB] - Bit-For-Bit
* Minimal Intel MKL link line to avoid linking with Intel MPI
* Default compiler is Intel (faster)
* Default MPI library is OpenMPI (currently stable)
* Better processor affinities for OpenMPI
* Typical OpenMP settings
This is an obsolete PIO1 module that is no longer used. This
module is also no longer available with PIO2. Removing it.
[BFB] - Bit-For-Bit
Depends.mira has a fix to Linoz that was brought in PR #1025.

[BFB] - Bit-For-Bit
Update PE layouts for edison.
Add -z muldefs to link line for edison.
Remove machine hopper.
    
[BFB]
This is an obsolete PIO1 module that is no longer used. This
module is also no longer available with PIO2. Removing it.

[BFB]
Merge branch 'singhbalwinder/atm/fix-non-BFB-threading-runs' (PR #1219)

This PR addresses an issue which makes the model non-deterministic
(i.e. non-BFB) when run with more than one thread. PR #1147 introduced
a logical variable (cldfsnow_logic) which was declared and assigned at
module level. This kind of declaration automatically sets a variable
with 'SAVE' attribute which in turn makes the variable a shared variable
(to be shared by all the threads). This PR removes this variables and
retain the same functionality.

Fixes #1203

[BFB] - Bit-For-Bit
Disable MPI_RSEND by default

Recent versions of the Cray MPI library are causing MPI communication
algorithms in PIO that use MPI_RSEND to hang. This is not the first time
that MPI_RSEND (and MPI_IRSEND) support has been broken in vendor MPI
libraries. Currently, CPP defines in CAM, MCT, and PIO will redefine
MPI_RSEND as MPI_SEND and MPI_IRSEND as MPI_ISEND when the CPP token
_NO_MPI_RSEND is defined during the build process. For improved
reliability, this modification makes this the default, always redefining
MPI_RSEND as MPI_SEND and MPI_IRSEND as MPI_ISEND, unless the CPP
token _USE_MPI_RSEND is defined during the build. Separate PRs have been
submitted for MCT and PIO. This one includes the changes for CAM.

BFB
Addresses Issue #1157

* worleyph/atm/mpi_rsend_disable-by-default:
  Disable MPI_RSEND by default
* `-pecount S` small layout for 40 nodes
* otherwise, a layout for 77 nodes
…-knl.

Add "module load zlib" and use this library.
Add custom srun flags temporarily
Remove old corip1 config file
* Replace (P)NETCDFROOT with (P)NETCDF_PATH
* Remove unused MPI_PATH
* Remove unused MPI_LIB_NAME
* Remove duplication of common python, cmake modules
* Replace unreadable (P)NETCDF paths with output of shell utils
Changes to allow for the HOMME test to pass for cori-haswell and cori-knl.

Add "module load zlib" and use this library.
Add custom srun flags temporarily
Remove old corip1 config file

[BFB]
A few additional changes to getting Cori (haswell and KNL nodes) to work.
Not all of the tests pass yet.
1) Timing directory in RUNDIR needs to have lid appended
2) Create timing.$LID.saved
3) Do not include full directory hierarchy in tar files
4) Copy all timing files to performance archive
5) Restore support for mach_syslog
6) In the case timing subdirectory, stop compressing the performance summary file and
   start compressing the raw global statistics timing data.
7) For create_test, if save_timing is false, be sure to set SAVE_TIMING to False
Provenance/timing area needs to have open permissions.
This impacts the batch job output on some batch systems
Some tests have to run with 1x1 PE layouts. The number of nodes
requested from qsub was 0. This increases it to 1 when all PEs fit
in one node.
* Update default PEs to 64x16 on 16 nodes for running tests
* Remove duplicate PEs configurations
* Run ERS_Ld5.T62_oQU120.CMPASO-NYF in pure-MPI mode to avoid long
   build time
jonbob and others added 15 commits January 26, 2017 11:15
Fix PIO error in CICE

Time stamp in components/cice/src/drivers/cpl/ice_history_write.F90
was not synchronized across processors. This can lead to PIO error
"File header is inconsistent among processes" on occasions.
This PR broadcast the time stamp from masterproc to other processors
to fix the issue. (issue #952)

Fixes #952
Fixes #1198

[BFB]
Add new MPAS version3 grids

This PR adds support for three new MPAS version3 grids that have removed all
dynamically-locked seaice cells from the earlier versions of ocn/ice meshes. The
three grids are: oEC60to30v3 (and oEC60to30v3_ICG), oRRS30to10v3, and
oRRS18to6v3. All required script changes are included, and the referenced
mapping, runoff, grid, and partition files are all committed to the svn inputdata
repo for the following compsets:
oEC60to30v3: C, G, and A_WCYCL compsets
oEC60to30v3_ICG: A_WCYCL1850S and A_WCYCL2000S
oRS30to10v3: C and G compsets
oRRS18to6v3: C and G compsets

[BFB]
Cleanup config_grids.xml file

This PR will clean up the config_grids.xml file to:
* remove duplicate entries for rof=>ocn maps that had previously been defined
  in two places;
* remove unused rof2ocn_fmapname settings;
* fix discrepancies in file naming (described in issue 1178); and
* fix cut-and-paste error in compset alias name for ne30np4_oEC60to30v3_ICG.

[BFB]
This commit makes necessary modifications to support grizzly, a LANL
internal machine.  It also adds support for the intel compiler.
Fixes incorrect value for node size on grizzly
The TestStatus.log is pretty useless without this info.

[BFB]
)

Add homme.log to TestStatus.log for HOMME test

The TestStatus.log is pretty useless without this info.

[BFB]

* jgfouca/add_to_homme_teststatus_log:
  Add homme.log to TestStatus.log for HOMME test
Fix alias for ne30np4_oEC60to30v3 grid

This PR fixes the alias for the new ne30np4_oEC60to30v3 grid

[BFB]
Update LANL IC machine support

This PR will fix machine support for LANL IC machines grizzly and wolf that had
been broken in the move to CIME5. It also includes the addition of intel support
for grizzly.

[BFB]
Bring in new versions of MPAS framework and components.

This PR will bring in new versions of the MPAS framework and all three MPAS
components.
This PR fulfills the following Pull Requests:
* Enable threaded ocean and ice tests (1038)
* Ensures MPAS AM write/compute startup steps are performed (1191)
* Open streams to redirect per-process stream output to /dev/null (ACME/MPAS 5)
* Fix slow compilation of threaded MPAS-CICE on Mira (ACME/MPAS 6)
* Fix slow compilation of threaded MPAS-O on Mira (ACME/MPAS 7)
This PR fixes the following issues:
* Restore threading tests for MPAS when threading working (828)
* PET_Ln9.T62_oEC60to30.CMPASO-NYF Fails without baseline comparisons (1088)
* write to stderr in MPAS framework file generating redundant output (1105)
* option to build mpas-o without checking that using the correct cvmix (1111)
* issues with MPAS components writing from all ranks (1133)
* water cycle benchmark not deterministic when using threading in MPAS-O (1137)
* Build issue in mpas-o with Intel v17 on cori (1176)

Fixes #828, Fixes #1088, Fixes #1105, Fixes #1111, Fixes #1133, Fixes #1137, Fixes #1176

[BFB]
[NML]
@jgfouca
Copy link
Member

jgfouca commented Feb 15, 2017

The commit summary here does not look correct.

@jinyuntang
Copy link
Contributor Author

@jgfouca How's the commit summary now?

@jgfouca
Copy link
Member

jgfouca commented Feb 15, 2017

@jinyuntang sry, I didn't mean the PR summary. I mean the huge list of commits

@jinyuntang
Copy link
Contributor Author

@jgfouca , Did you mean all the three comments (I used to track the change) should be consolidated into one?

@bishtgautam
Copy link
Contributor

@jinyuntang : Rebase your branch off current master by:

git checkout master
git pull --ff-only
git submodule update --init

git checkout jinyuntang/lnd/cifix
git submodule update --init
git rebase master
git push origin +jinyuntang/lnd/cifix

@jinyuntang
Copy link
Contributor Author

@bishtgautam OK. I will do it.

@rljacob
Copy link
Member

rljacob commented Feb 15, 2017

The direction is wrong. Its going into the branch from master. You'll have to close this and make a new one. Also re-read: https://acme-climate.atlassian.net/wiki/display/Docs/Development+Reference#DevelopmentReference-Submittingapullrequest(PR)

agsalin pushed a commit that referenced this pull request Apr 13, 2017
Merge changes from acme 03292017

Pull back ACME repo changes of CIME since last subtree split (late January?) up to March 29 back into CIME master.

Test suite: scripts_regression_tests on penn pass
Test baseline:
Test namelist changes:
Test status: bit for bit

Fixes #1271

User interface changes?:

Code review: PLEASE!
rljacob pushed a commit that referenced this pull request Apr 16, 2021
Merge changes from acme 03292017

Pull back ACME repo changes of CIME since last subtree split (late January?) up to March 29 back into CIME master.

Test suite: scripts_regression_tests on penn pass
Test baseline:
Test namelist changes:
Test status: bit for bit

Fixes #1271

User interface changes?:

Code review: PLEASE!
rljacob pushed a commit that referenced this pull request May 6, 2021
Merge changes from acme 03292017

Pull back ACME repo changes of CIME since last subtree split (late January?) up to March 29 back into CIME master.

Test suite: scripts_regression_tests on penn pass
Test baseline:
Test namelist changes:
Test status: bit for bit

Fixes #1271

User interface changes?:

Code review: PLEASE!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.