-
Notifications
You must be signed in to change notification settings - Fork 132
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
Moved calculation of sicen and trcrn_bgc to the loop where they are used #507
Conversation
…sed. The current construction did not use the calculated values as they were defined private and overwritten at each i/j
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. I missed this when I added sicen and trcrn_bgc to the OMP PRIVATE statement earlier.
Do we want to do a qc test with bgc? It looks like this could have significant impacts on the initial condition. Does the initial condition change when using a restart file? We should probably check exact restart as well. |
This will impact the initial condition as the value of sicen and trcrn_bgc were undefined in the previous version. |
I ran a full test suite on conrad with this change and all results including the bgc configurations are bit-for-bit. Looking at a bgcz test, the initial condition seems to be "runtype=initial, ice_ic=none". So, just for further clarification, is this what we expect? |
If the BGC is being started from a no-ice condition, then I wouldn't expect the answers to change. It sounds like the modifications here only affect initializations from a state with existing ice, which aren't restarting BGC (restarts should overwrite the modified initialization). I don't think (but we should check) that we have test cases for BGC starting from existing ice, mainly because of the headaches associated with getting the initial conditions correct - @njeffery and I have generally always started from no-ice or from restarts with the BGC-relevant info in them, to let things evolve naturally. @njeffery please correct me if I'm wrong about that... |
There is an option to activate BGC from a spin-up run with no BGC. Set restart_bgc = false and scale_bgc = true. This option assumes that initial concentrations of nutrients in existing sea ice are proportional to the salinity profile and scaled by the ocean SSS divided by the respective ocean nutrient. I'd still disregard the first 10 years or so of the output. |
In preparation for the next release, I will merge this tomorrow morning unless any other concerns are expressed before then. Thanks. |
It would be good to add a test for the case that @njeffery describes above, but that does not have to be done for this PR. Better to get the bug fixed now. |
Moved calculation of sicen and trcrn_bgc to the loop where they are used. The current construction did not use the calculated values as they were defined private and overwritten at each i/j
For detailed information about submitting Pull Requests (PRs) to the CICE-Consortium,
please refer to: https://github.com/CICE-Consortium/About-Us/wiki/Resource-Index#information-for-developers
PR checklist
Resolve warning
tar
@apcraig @dabail10
This is a bug fix of the init_bgc. I have not been running a test with bgc but the code compiles on gfortran, intel and cray. It will change the initialization of bgc.
I hope that @dabail10 will review that the code work as intended. I have one concern this is that the initial calculation was imbedded in a "if (.not. restart_bgc)" clause. This is not the case anymore, however it is only used here.